@aztec/stdlib 0.0.1-commit.f5d02921e → 0.0.1-commit.f650c0a5c
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/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/avm/revert_code.d.ts +8 -18
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -30
- package/dest/gas/gas_settings.d.ts +40 -3
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +50 -6
- package/dest/interfaces/aztec-node-admin.d.ts +4 -11
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +3 -3
- package/dest/interfaces/proving-job.d.ts +166 -166
- package/dest/interfaces/slasher.d.ts +1 -10
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +0 -2
- package/dest/interfaces/validator.d.ts +3 -6
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +4 -4
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
- package/dest/p2p/checkpoint_proposal.d.ts +2 -2
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +3 -15
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +4 -90
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +0 -14
- package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
- package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
- package/dest/slashing/{tally.js → votes.js} +1 -1
- package/dest/tests/factories.js +1 -1
- package/dest/tests/mocks.d.ts +1 -1
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +13 -18
- package/dest/timetable/index.d.ts +2 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +6 -2
- package/dest/tx/simulated_tx.d.ts +3 -3
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +2 -2
- package/dest/tx/tx_receipt.d.ts +8 -4
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +8 -15
- package/dest/world-state/genesis_data.d.ts +11 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +4 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/package.json +8 -8
- package/src/abi/selector.ts +1 -1
- package/src/avm/revert_code.ts +25 -39
- package/src/gas/gas_settings.ts +65 -12
- package/src/interfaces/aztec-node-admin.ts +5 -7
- package/src/interfaces/slasher.ts +0 -6
- package/src/interfaces/validator.ts +1 -4
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
- package/src/p2p/checkpoint_proposal.ts +10 -26
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +3 -35
- package/src/slashing/{tally.ts → votes.ts} +1 -1
- package/src/tests/factories.ts +1 -1
- package/src/tests/mocks.ts +14 -12
- package/src/timetable/index.ts +7 -2
- package/src/tx/simulated_tx.ts +5 -1
- package/src/tx/tx_receipt.ts +11 -14
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/slashing/empire.ts +0 -104
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
export type SlasherClientType = 'empire' | 'tally';
|
|
4
3
|
export interface SlasherConfig {
|
|
5
4
|
slashOverridePayload?: EthAddress;
|
|
6
|
-
slashMinPenaltyPercentage: number;
|
|
7
|
-
slashMaxPenaltyPercentage: number;
|
|
8
5
|
slashSelfAllowed?: boolean;
|
|
9
6
|
slashValidatorsAlways: EthAddress[];
|
|
10
7
|
slashValidatorsNever: EthAddress[];
|
|
@@ -26,8 +23,6 @@ export interface SlasherConfig {
|
|
|
26
23
|
}
|
|
27
24
|
export declare const SlasherConfigSchema: z.ZodObject<{
|
|
28
25
|
slashOverridePayload: z.ZodOptional<z.ZodType<EthAddress, any, string>>;
|
|
29
|
-
slashMinPenaltyPercentage: z.ZodNumber;
|
|
30
|
-
slashMaxPenaltyPercentage: z.ZodNumber;
|
|
31
26
|
slashValidatorsAlways: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
32
27
|
slashValidatorsNever: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
33
28
|
slashPrunePenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
@@ -48,8 +43,6 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
48
43
|
slashSelfAllowed: z.ZodOptional<z.ZodBoolean>;
|
|
49
44
|
}, "strip", z.ZodTypeAny, {
|
|
50
45
|
slashOverridePayload?: EthAddress | undefined;
|
|
51
|
-
slashMinPenaltyPercentage: number;
|
|
52
|
-
slashMaxPenaltyPercentage: number;
|
|
53
46
|
slashValidatorsAlways: EthAddress[];
|
|
54
47
|
slashValidatorsNever: EthAddress[];
|
|
55
48
|
slashPrunePenalty: bigint;
|
|
@@ -70,8 +63,6 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
70
63
|
slashSelfAllowed?: boolean | undefined;
|
|
71
64
|
}, {
|
|
72
65
|
slashOverridePayload?: string | undefined;
|
|
73
|
-
slashMinPenaltyPercentage: number;
|
|
74
|
-
slashMaxPenaltyPercentage: number;
|
|
75
66
|
slashValidatorsAlways: string[];
|
|
76
67
|
slashValidatorsNever: string[];
|
|
77
68
|
slashPrunePenalty: string | number | bigint;
|
|
@@ -91,4 +82,4 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
91
82
|
slashExecuteRoundsLookBack: number;
|
|
92
83
|
slashSelfAllowed?: boolean | undefined;
|
|
93
84
|
}>;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzNCLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ25DLCtCQUErQixFQUFFLE1BQU0sQ0FBQztJQUN4Qyx3Q0FBd0MsRUFBRSxNQUFNLENBQUM7SUFDakQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLDJCQUEyQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IsbUNBQW1DLEVBQUUsTUFBTSxDQUFDO0lBQzVDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQztJQUN0QyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUM7SUFDekMsc0NBQXNDLEVBQUUsTUFBTSxDQUFDO0lBQy9DLHFDQUFxQyxFQUFFLE1BQU0sQ0FBQztJQUM5QyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsNEJBQTRCLEVBQUUsTUFBTSxDQUFDO0lBQ3JDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qix1QkFBdUIsRUFBRSxNQUFNLENBQUM7SUFDaEMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0NBQ3BDO0FBRUQsZUFBTyxNQUFNLG1CQUFtQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBc0IvQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,
|
|
1
|
+
{"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,6BAA6B,EAAE,MAAM,CAAC;IACtC,gCAAgC,EAAE,MAAM,CAAC;IACzC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB/B,CAAC"}
|
|
@@ -2,8 +2,6 @@ import { schemas, zodFor } from '@aztec/foundation/schemas';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export const SlasherConfigSchema = zodFor()(z.object({
|
|
4
4
|
slashOverridePayload: schemas.EthAddress.optional(),
|
|
5
|
-
slashMinPenaltyPercentage: z.number(),
|
|
6
|
-
slashMaxPenaltyPercentage: z.number(),
|
|
7
5
|
slashValidatorsAlways: z.array(schemas.EthAddress),
|
|
8
6
|
slashValidatorsNever: z.array(schemas.EthAddress),
|
|
9
7
|
slashPrunePenalty: schemas.BigInt,
|
|
@@ -4,7 +4,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import type { Signature } from '@aztec/foundation/eth-signature';
|
|
6
6
|
import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
|
|
7
|
-
import type { BlockProposal, BlockProposalOptions, CheckpointAttestation,
|
|
7
|
+
import type { BlockProposal, BlockProposalOptions, CheckpointAttestation, CheckpointProposal, CheckpointProposalOptions } from '@aztec/stdlib/p2p';
|
|
8
8
|
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
9
9
|
import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
|
|
10
10
|
import type { PeerId } from '@libp2p/interface';
|
|
@@ -330,15 +330,12 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
|
330
330
|
slashDuplicateAttestationPenalty: string | number | bigint;
|
|
331
331
|
disableTransactions?: boolean | undefined;
|
|
332
332
|
}>;
|
|
333
|
-
export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & {
|
|
334
|
-
txs: Tx[];
|
|
335
|
-
};
|
|
336
333
|
export interface Validator {
|
|
337
334
|
start(): Promise<void>;
|
|
338
335
|
updateConfig(config: Partial<ValidatorClientFullConfig>): void;
|
|
339
336
|
createBlockProposal(blockHeader: BlockHeader, indexWithinCheckpoint: number, inHash: Fr, archive: Fr, txs: Tx[], proposerAddress: EthAddress | undefined, options: BlockProposalOptions): Promise<BlockProposal | undefined>;
|
|
340
337
|
/** Creates a checkpoint proposal for the last block in a checkpoint */
|
|
341
|
-
createCheckpointProposal(checkpointHeader: CheckpointHeader, archive: Fr, feeAssetPriceModifier: bigint,
|
|
338
|
+
createCheckpointProposal(checkpointHeader: CheckpointHeader, archive: Fr, feeAssetPriceModifier: bigint, lastBlockProposal: BlockProposal | undefined, proposerAddress: EthAddress | undefined, options: CheckpointProposalOptions): Promise<CheckpointProposal>;
|
|
342
339
|
/**
|
|
343
340
|
* Validate a block proposal from a peer.
|
|
344
341
|
* Note: Validators do NOT attest to individual blocks - attestations are only for checkpoint proposals.
|
|
@@ -357,4 +354,4 @@ export interface Validator {
|
|
|
357
354
|
collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
|
|
358
355
|
signAttestationsAndSigners(attestationsAndSigners: CommitteeAttestationsAndSigners, proposer: EthAddress, slot: SlotNumber, blockNumber: BlockNumber | CheckpointNumber): Promise<Signature>;
|
|
359
356
|
}
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
357
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUMxQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsS0FBSyxpQkFBaUIsRUFFdEIsS0FBSyx1QkFBdUIsRUFFN0IsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQzs7R0FFRztBQUNILE1BQU0sTUFBTSxxQkFBcUIsR0FBRyx1QkFBdUIs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMS1jb250cmFjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/l1-contracts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/l1-contracts/index.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
// No exports.
|
|
@@ -18,10 +18,10 @@ import type { CompleteAddress } from '../contract/complete_address.js';
|
|
|
18
18
|
export declare class ExtendedDirectionalAppTaggingSecret {
|
|
19
19
|
readonly secret: Fr;
|
|
20
20
|
readonly app: AztecAddress;
|
|
21
|
-
|
|
21
|
+
constructor(secret: Fr, app: AztecAddress);
|
|
22
22
|
/**
|
|
23
23
|
* Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
|
|
24
|
-
* secret.
|
|
24
|
+
* secret. Returns undefined if `externalAddress` is an invalid address.
|
|
25
25
|
*
|
|
26
26
|
* @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
|
|
27
27
|
* @param localIvsk - The incoming viewing secret key of entity A
|
|
@@ -30,7 +30,7 @@ export declare class ExtendedDirectionalAppTaggingSecret {
|
|
|
30
30
|
* @param recipient - Recipient of the log. Defines the "direction of the secret".
|
|
31
31
|
* @returns The secret that can be used along with an index to compute a tag to be included in a log.
|
|
32
32
|
*/
|
|
33
|
-
static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<ExtendedDirectionalAppTaggingSecret>;
|
|
33
|
+
static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<ExtendedDirectionalAppTaggingSecret | undefined>;
|
|
34
34
|
toString(): string;
|
|
35
35
|
static fromString(str: string): ExtendedDirectionalAppTaggingSecret;
|
|
36
36
|
}
|
|
@@ -44,4 +44,4 @@ export declare const ExtendedDirectionalAppTaggingSecretSchema: z.ZodObject<{
|
|
|
44
44
|
secret: string;
|
|
45
45
|
app?: any;
|
|
46
46
|
}>;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRfZGlyZWN0aW9uYWxfYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9leHRlbmRlZF9kaXJlY3Rpb25hbF9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHFCQUFhLG1DQUFtQzthQUU1QixNQUFNLEVBQUUsRUFBRTthQUNWLEdBQUcsRUFBRSxZQUFZO0lBRm5DLFlBQ2tCLE1BQU0sRUFBRSxFQUFFLEVBQ1YsR0FBRyxFQUFFLFlBQVksRUFDL0I7SUFFSjs7Ozs7Ozs7OztPQVVHO0lBQ0gsT0FBYSxPQUFPLENBQ2xCLFlBQVksRUFBRSxlQUFlLEVBQzdCLFNBQVMsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLFlBQVksRUFDN0IsR0FBRyxFQUFFLFlBQVksRUFDakIsU0FBUyxFQUFFLFlBQVksR0FDdEIsT0FBTyxDQUFDLG1DQUFtQyxHQUFHLFNBQVMsQ0FBQyxDQVUxRDtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLG1DQUFtQyxDQUdsRTtDQUNGO0FBMkJELGVBQU8sTUFBTSx5Q0FBeUM7Ozs7Ozs7OztFQUdwRCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended_directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/extended_directional_app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;aAE5B,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;IAFnC,
|
|
1
|
+
{"version":3,"file":"extended_directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/extended_directional_app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;aAE5B,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;IAFnC,YACkB,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,YAAY,EAC/B;IAEJ;;;;;;;;;;OAUG;IACH,OAAa,OAAO,CAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAU1D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,mCAAmC,CAGlE;CACF;AA2BD,eAAO,MAAM,yCAAyC;;;;;;;;;EAGpD,CAAC"}
|
|
@@ -25,7 +25,7 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
|
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
|
|
28
|
-
* secret.
|
|
28
|
+
* secret. Returns undefined if `externalAddress` is an invalid address.
|
|
29
29
|
*
|
|
30
30
|
* @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
|
|
31
31
|
* @param localIvsk - The incoming viewing secret key of entity A
|
|
@@ -35,6 +35,9 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
|
|
|
35
35
|
* @returns The secret that can be used along with an index to compute a tag to be included in a log.
|
|
36
36
|
*/ static async compute(localAddress, localIvsk, externalAddress, app, recipient) {
|
|
37
37
|
const taggingSecretPoint = await computeSharedTaggingSecret(localAddress, localIvsk, externalAddress);
|
|
38
|
+
if (!taggingSecretPoint) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
38
41
|
const appTaggingSecret = await poseidon2Hash([
|
|
39
42
|
taggingSecretPoint.x,
|
|
40
43
|
taggingSecretPoint.y,
|
|
@@ -54,13 +57,17 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
|
|
|
54
57
|
return new ExtendedDirectionalAppTaggingSecret(Fr.fromString(secretStr), AztecAddress.fromString(appStr));
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
|
-
// Returns shared tagging secret computed with Diffie-Hellman key exchange
|
|
60
|
+
// Returns shared tagging secret computed with Diffie-Hellman key exchange, or undefined if `externalAddress` is an
|
|
61
|
+
// invalid address.
|
|
58
62
|
async function computeSharedTaggingSecret(localAddress, localIvsk, externalAddress) {
|
|
59
|
-
const knownPreaddress = await computePreaddress(await localAddress.publicKeys.hash(), localAddress.partialAddress);
|
|
60
|
-
// TODO: #8970 - Computation of address point from x coordinate might fail
|
|
61
|
-
const externalAddressPoint = await externalAddress.toAddressPoint();
|
|
62
63
|
// Given A (local complete address) -> B (external address) and h == preaddress
|
|
63
64
|
// Compute shared secret as S = (h_A + local_ivsk_A) * Addr_Point_B
|
|
65
|
+
const knownPreaddress = await computePreaddress(await localAddress.publicKeys.hash(), localAddress.partialAddress);
|
|
66
|
+
// An invalid address has no corresponding address point
|
|
67
|
+
if (!await externalAddress.isValid()) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const externalAddressPoint = await externalAddress.toAddressPoint();
|
|
64
71
|
// Beware! h_a + local_ivsk_a (also known as the address secret) can lead to an address point with a negative
|
|
65
72
|
// y-coordinate, since there's two possible candidates computeAddressSecret takes care of selecting the one that
|
|
66
73
|
// leads to a positive y-coordinate, which is the only valid address point
|
|
@@ -97,7 +97,7 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
97
97
|
* The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
|
|
98
98
|
*/
|
|
99
99
|
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
100
|
-
static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, feeAssetPriceModifier: bigint,
|
|
100
|
+
static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, feeAssetPriceModifier: bigint, lastBlockProposal: BlockProposal | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
|
|
101
101
|
/**
|
|
102
102
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
103
103
|
* If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
|
|
@@ -171,4 +171,4 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
171
171
|
* This type makes it clear that lastBlock and getBlockProposal() are not available.
|
|
172
172
|
*/
|
|
173
173
|
export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,29 +83,17 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
83
83
|
serializeSignedBigInt(this.feeAssetPriceModifier)
|
|
84
84
|
]);
|
|
85
85
|
}
|
|
86
|
-
static async createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier,
|
|
86
|
+
static async createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier, lastBlockProposal, payloadSigner) {
|
|
87
87
|
// Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
|
|
88
88
|
const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
|
|
89
89
|
const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
|
|
90
90
|
const checkpointContext = {
|
|
91
91
|
slot: checkpointHeader.slotNumber,
|
|
92
|
-
blockNumber:
|
|
92
|
+
blockNumber: lastBlockProposal?.blockNumber ?? BlockNumber(0),
|
|
93
93
|
dutyType: DutyType.CHECKPOINT_PROPOSAL
|
|
94
94
|
};
|
|
95
|
-
if (lastBlockInfo) {
|
|
96
|
-
// Sign block proposal before signing checkpoint proposal to ensure HA protection
|
|
97
|
-
const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
|
|
98
|
-
const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
|
|
99
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
|
|
100
|
-
blockHeader: lastBlockInfo.blockHeader,
|
|
101
|
-
indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
|
|
102
|
-
txHashes: lastBlockInfo.txHashes,
|
|
103
|
-
signature: lastBlockProposal.signature,
|
|
104
|
-
signedTxs: lastBlockProposal.signedTxs
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
95
|
const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
|
|
108
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature);
|
|
96
|
+
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, lastBlockProposal);
|
|
109
97
|
}
|
|
110
98
|
/**
|
|
111
99
|
* Lazily evaluate the sender of the proposal; result is cached.
|
package/dest/slashing/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
2
|
export * from './interfaces.js';
|
|
3
3
|
export * from './helpers.js';
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './tally.js';
|
|
4
|
+
export * from './votes.js';
|
|
6
5
|
export * from './serialization.js';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slashing/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slashing/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
|
package/dest/slashing/index.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import type { Offense
|
|
1
|
+
import type { Offense } from './types.js';
|
|
2
2
|
export declare function serializeOffense(offense: Offense): Buffer;
|
|
3
3
|
export declare function deserializeOffense(buffer: Buffer): Offense;
|
|
4
|
-
|
|
5
|
-
export declare function deserializeSlashPayload(buffer: Buffer): SlashPayload;
|
|
6
|
-
export declare function serializeSlashPayloadRound(payload: SlashPayloadRound): Buffer;
|
|
7
|
-
export declare function deserializeSlashPayloadRound(buffer: Buffer): SlashPayloadRound;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXphdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL3NlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxLQUFLLEVBQ1YsT0FBTyxFQUVQLFlBQVksRUFDWixpQkFBaUIsRUFHbEIsTUFBTSxZQUFZLENBQUM7QUFFcEIsd0JBQWdCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsTUFBTSxDQU96RDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FRMUQ7QUFpQ0Qsd0JBQWdCLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsTUFBTSxDQU9uRTtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksQ0FPcEU7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsT0FBTyxFQUFFLGlCQUFpQixHQUFHLE1BQU0sQ0FTN0U7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxpQkFBaUIsQ0FVOUUifQ==
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXphdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL3NlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFlLE1BQU0sWUFBWSxDQUFDO0FBRXZELHdCQUFnQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FPekQ7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBUTFEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/slashing/serialization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/slashing/serialization.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAEvD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAOzD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQ1D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { times } from '@aztec/foundation/collection';
|
|
2
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
2
|
import { BufferReader, bigintToUInt64BE, bigintToUInt128BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
3
|
export function serializeOffense(offense) {
|
|
@@ -17,62 +16,3 @@ export function deserializeOffense(buffer) {
|
|
|
17
16
|
epochOrSlot
|
|
18
17
|
};
|
|
19
18
|
}
|
|
20
|
-
function serializeValidatorSlashOffense(offense) {
|
|
21
|
-
return serializeToBuffer(bigintToUInt64BE(offense.epochOrSlot), offense.offenseType);
|
|
22
|
-
}
|
|
23
|
-
function deserializeValidatorSlashOffense(buffer) {
|
|
24
|
-
const reader = BufferReader.asReader(buffer);
|
|
25
|
-
return {
|
|
26
|
-
epochOrSlot: reader.readUInt64(),
|
|
27
|
-
offenseType: reader.readNumber()
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function serializeValidatorSlash(slash) {
|
|
31
|
-
return serializeToBuffer(slash.validator, bigintToUInt128BE(slash.amount), slash.offenses.length, slash.offenses.map(serializeValidatorSlashOffense));
|
|
32
|
-
}
|
|
33
|
-
function deserializeValidatorSlash(buffer) {
|
|
34
|
-
const reader = BufferReader.asReader(buffer);
|
|
35
|
-
const validator = reader.readObject(EthAddress);
|
|
36
|
-
const amount = reader.readUInt128();
|
|
37
|
-
const offensesCount = reader.readNumber();
|
|
38
|
-
const offenses = times(offensesCount, ()=>deserializeValidatorSlashOffense(reader));
|
|
39
|
-
return {
|
|
40
|
-
validator,
|
|
41
|
-
amount,
|
|
42
|
-
offenses
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export function serializeSlashPayload(payload) {
|
|
46
|
-
return serializeToBuffer(payload.address, payload.slashes.length, payload.slashes.map(serializeValidatorSlash), bigintToUInt64BE(payload.timestamp));
|
|
47
|
-
}
|
|
48
|
-
export function deserializeSlashPayload(buffer) {
|
|
49
|
-
const reader = BufferReader.asReader(buffer);
|
|
50
|
-
const address = reader.readObject(EthAddress);
|
|
51
|
-
const slashesCount = reader.readNumber();
|
|
52
|
-
const slashes = times(slashesCount, ()=>deserializeValidatorSlash(reader));
|
|
53
|
-
const timestamp = reader.readUInt64();
|
|
54
|
-
return {
|
|
55
|
-
address,
|
|
56
|
-
slashes,
|
|
57
|
-
timestamp
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export function serializeSlashPayloadRound(payload) {
|
|
61
|
-
return serializeToBuffer(payload.address, payload.slashes.length, payload.slashes.map(serializeValidatorSlash), bigintToUInt64BE(payload.timestamp), Number(payload.votes), bigintToUInt64BE(payload.round));
|
|
62
|
-
}
|
|
63
|
-
export function deserializeSlashPayloadRound(buffer) {
|
|
64
|
-
const reader = BufferReader.asReader(buffer);
|
|
65
|
-
const address = reader.readObject(EthAddress);
|
|
66
|
-
const slashesCount = reader.readNumber();
|
|
67
|
-
const slashes = times(slashesCount, ()=>deserializeValidatorSlash(reader));
|
|
68
|
-
const timestamp = reader.readUInt64();
|
|
69
|
-
const votes = BigInt(reader.readNumber());
|
|
70
|
-
const round = reader.readUInt64();
|
|
71
|
-
return {
|
|
72
|
-
address,
|
|
73
|
-
slashes,
|
|
74
|
-
timestamp,
|
|
75
|
-
votes,
|
|
76
|
-
round
|
|
77
|
-
};
|
|
78
|
-
}
|
package/dest/slashing/types.d.ts
CHANGED
|
@@ -59,107 +59,21 @@ export type ValidatorSlash = {
|
|
|
59
59
|
amount: bigint;
|
|
60
60
|
offenses: ValidatorSlashOffense[];
|
|
61
61
|
};
|
|
62
|
-
/**
|
|
63
|
-
export type SlashPayload = {
|
|
64
|
-
address: EthAddress;
|
|
65
|
-
slashes: ValidatorSlash[];
|
|
66
|
-
timestamp: bigint;
|
|
67
|
-
};
|
|
68
|
-
/** Slash payload with round information from empire slash proposer */
|
|
69
|
-
export type SlashPayloadRound = SlashPayload & {
|
|
70
|
-
votes: bigint;
|
|
71
|
-
round: bigint;
|
|
72
|
-
};
|
|
73
|
-
export declare const SlashPayloadRoundSchema: z.ZodObject<{
|
|
74
|
-
address: import("../schemas/index.js").ZodFor<EthAddress>;
|
|
75
|
-
timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
76
|
-
votes: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
77
|
-
round: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
78
|
-
slashes: z.ZodArray<z.ZodObject<{
|
|
79
|
-
validator: import("../schemas/index.js").ZodFor<EthAddress>;
|
|
80
|
-
amount: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
81
|
-
offenses: z.ZodArray<z.ZodObject<{
|
|
82
|
-
offenseType: z.ZodNativeEnum<typeof OffenseType>;
|
|
83
|
-
epochOrSlot: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
84
|
-
}, "strip", z.ZodTypeAny, {
|
|
85
|
-
offenseType: OffenseType;
|
|
86
|
-
epochOrSlot: bigint;
|
|
87
|
-
}, {
|
|
88
|
-
offenseType: OffenseType;
|
|
89
|
-
epochOrSlot: string | number | bigint;
|
|
90
|
-
}>, "many">;
|
|
91
|
-
}, "strip", z.ZodTypeAny, {
|
|
92
|
-
validator: EthAddress;
|
|
93
|
-
amount: bigint;
|
|
94
|
-
offenses: {
|
|
95
|
-
offenseType: OffenseType;
|
|
96
|
-
epochOrSlot: bigint;
|
|
97
|
-
}[];
|
|
98
|
-
}, {
|
|
99
|
-
validator?: any;
|
|
100
|
-
amount: string | number | bigint;
|
|
101
|
-
offenses: {
|
|
102
|
-
offenseType: OffenseType;
|
|
103
|
-
epochOrSlot: string | number | bigint;
|
|
104
|
-
}[];
|
|
105
|
-
}>, "many">;
|
|
106
|
-
}, "strip", z.ZodTypeAny, {
|
|
107
|
-
address: EthAddress;
|
|
108
|
-
timestamp: bigint;
|
|
109
|
-
votes: bigint;
|
|
110
|
-
round: bigint;
|
|
111
|
-
slashes: {
|
|
112
|
-
validator: EthAddress;
|
|
113
|
-
amount: bigint;
|
|
114
|
-
offenses: {
|
|
115
|
-
offenseType: OffenseType;
|
|
116
|
-
epochOrSlot: bigint;
|
|
117
|
-
}[];
|
|
118
|
-
}[];
|
|
119
|
-
}, {
|
|
120
|
-
address?: any;
|
|
121
|
-
timestamp: string | number | bigint;
|
|
122
|
-
votes: string | number | bigint;
|
|
123
|
-
round: string | number | bigint;
|
|
124
|
-
slashes: {
|
|
125
|
-
validator?: any;
|
|
126
|
-
amount: string | number | bigint;
|
|
127
|
-
offenses: {
|
|
128
|
-
offenseType: OffenseType;
|
|
129
|
-
epochOrSlot: string | number | bigint;
|
|
130
|
-
}[];
|
|
131
|
-
}[];
|
|
132
|
-
}>;
|
|
133
|
-
/** Votes for a validator slash in the consensus slash proposer */
|
|
62
|
+
/** Votes for a validator slash in the slashing proposer */
|
|
134
63
|
export type ValidatorSlashVote = number;
|
|
135
64
|
export type ProposerSlashAction =
|
|
136
|
-
/**
|
|
65
|
+
/** Vote for offenses on the slashing proposer */
|
|
137
66
|
{
|
|
138
|
-
type: 'create-empire-payload';
|
|
139
|
-
data: ValidatorSlash[];
|
|
140
|
-
}
|
|
141
|
-
/** Vote for a slashing payload on an empire-based slash proposer */
|
|
142
|
-
| {
|
|
143
|
-
type: 'vote-empire-payload';
|
|
144
|
-
payload: EthAddress;
|
|
145
|
-
}
|
|
146
|
-
/** Execute a slashing payload on an empire-based slash proposer */
|
|
147
|
-
| {
|
|
148
|
-
type: 'execute-empire-payload';
|
|
149
|
-
round: bigint;
|
|
150
|
-
}
|
|
151
|
-
/** Vote for offenses on a consensus slashing proposer */
|
|
152
|
-
| {
|
|
153
67
|
type: 'vote-offenses';
|
|
154
68
|
votes: ValidatorSlashVote[];
|
|
155
69
|
committees: EthAddress[][];
|
|
156
70
|
round: bigint;
|
|
157
71
|
}
|
|
158
|
-
/** Execute a slashing round on
|
|
72
|
+
/** Execute a slashing round on the slashing proposer */
|
|
159
73
|
| {
|
|
160
74
|
type: 'execute-slash';
|
|
161
75
|
committees: EthAddress[][];
|
|
162
76
|
round: bigint;
|
|
163
77
|
};
|
|
164
78
|
export type ProposerSlashActionType = ProposerSlashAction['type'];
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixvQkFBWSxXQUFXO0lBQ3JCLE9BQU8sSUFBSTtJQUNYLHVGQUF1RjtJQUN2RixnQkFBZ0IsSUFBSTtJQUNwQiwyRUFBMkU7SUFDM0Usa0JBQWtCLElBQUk7SUFDdEIsdUZBQXVGO0lBQ3ZGLFVBQVUsSUFBSTtJQUNkLHNGQUFzRjtJQUN0RixrQ0FBa0MsSUFBSTtJQUN0QywrRUFBK0U7SUFDL0Usa0NBQWtDLElBQUk7SUFDdEMsdUhBQXVIO0lBQ3ZILCtCQUErQixJQUFJO0lBQ25DLDBJQUEwSTtJQUMxSSw4QkFBOEIsSUFBSTtJQUNsQyxpSUFBaUk7SUFDakksa0JBQWtCLElBQUk7SUFDdEIsOEZBQThGO0lBQzlGLHFCQUFxQixJQUFJO0NBQzFCO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxXQUFXLDhRQXlCdEQ7QUFFRCxlQUFPLE1BQU0saUJBQWlCLHFDQUE0QixDQUFDO0FBRTNELGVBQU8sTUFBTSxlQUFlLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBV3ZELENBQUM7QUFFRix3QkFBZ0IsZUFBZSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsV0FBVyxDQXlCNUQ7QUFFRCxNQUFNLE1BQU0sT0FBTyxHQUFHO0lBQ3BCLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDdEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDekIsV0FBVyxFQUFFLE1BQU0sQ0FBQztDQUNyQixDQUFDO0FBRUYsTUFBTSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUMsQ0FBQztBQUUzRixlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7O0VBT3pCLENBQUM7QUFFRiwrREFBK0Q7QUFDL0QsTUFBTSxNQUFNLHFCQUFxQixHQUFHO0lBQ2xDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsV0FBVyxFQUFFLFdBQVcsQ0FBQztDQUMxQixDQUFDO0FBRUYseUZBQXlGO0FBQ3pGLE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7Q0FDbkMsQ0FBQztBQUVGLDJEQUEyRDtBQUMzRCxNQUFNLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBRXhDLE1BQU0sTUFBTSxtQkFBbUI7QUFDN0IsaURBQWlEO0FBQy9DO0lBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztJQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUU7QUFDbkcsd0RBQXdEO0dBQ3REO0lBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztJQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFekUsTUFBTSxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/slashing/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oBAAY,WAAW;IACrB,OAAO,IAAI;IACX,uFAAuF;IACvF,gBAAgB,IAAI;IACpB,2EAA2E;IAC3E,kBAAkB,IAAI;IACtB,uFAAuF;IACvF,UAAU,IAAI;IACd,sFAAsF;IACtF,kCAAkC,IAAI;IACtC,+EAA+E;IAC/E,kCAAkC,IAAI;IACtC,uHAAuH;IACvH,+BAA+B,IAAI;IACnC,0IAA0I;IAC1I,8BAA8B,IAAI;IAClC,iIAAiI;IACjI,kBAAkB,IAAI;IACtB,8FAA8F;IAC9F,qBAAqB,IAAI;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,8QAyBtD;AAED,eAAO,MAAM,iBAAiB,qCAA4B,CAAC;AAE3D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAWvD,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAyB5D;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC;AAE3F,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAOzB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/slashing/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oBAAY,WAAW;IACrB,OAAO,IAAI;IACX,uFAAuF;IACvF,gBAAgB,IAAI;IACpB,2EAA2E;IAC3E,kBAAkB,IAAI;IACtB,uFAAuF;IACvF,UAAU,IAAI;IACd,sFAAsF;IACtF,kCAAkC,IAAI;IACtC,+EAA+E;IAC/E,kCAAkC,IAAI;IACtC,uHAAuH;IACvH,+BAA+B,IAAI;IACnC,0IAA0I;IAC1I,8BAA8B,IAAI;IAClC,iIAAiI;IACjI,kBAAkB,IAAI;IACtB,8FAA8F;IAC9F,qBAAqB,IAAI;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,8QAyBtD;AAED,eAAO,MAAM,iBAAiB,qCAA4B,CAAC;AAE3D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAWvD,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAyB5D;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC;AAE3F,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAOzB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,mBAAmB;AAC7B,iDAAiD;AAC/C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACnG,wDAAwD;GACtD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC"}
|
package/dest/slashing/types.js
CHANGED
|
@@ -84,17 +84,3 @@ export const OffenseSchema = zodFor()(z.object({
|
|
|
84
84
|
offenseType: OffenseTypeSchema,
|
|
85
85
|
epochOrSlot: schemas.BigInt
|
|
86
86
|
}));
|
|
87
|
-
export const SlashPayloadRoundSchema = zodFor()(z.object({
|
|
88
|
-
address: schemas.EthAddress,
|
|
89
|
-
timestamp: schemas.BigInt,
|
|
90
|
-
votes: schemas.BigInt,
|
|
91
|
-
round: schemas.BigInt,
|
|
92
|
-
slashes: z.array(z.object({
|
|
93
|
-
validator: schemas.EthAddress,
|
|
94
|
-
amount: schemas.BigInt,
|
|
95
|
-
offenses: z.array(z.object({
|
|
96
|
-
offenseType: OffenseTypeSchema,
|
|
97
|
-
epochOrSlot: schemas.BigInt
|
|
98
|
-
}))
|
|
99
|
-
}))
|
|
100
|
-
}));
|
|
@@ -26,4 +26,4 @@ export declare function getSlashConsensusVotesFromOffenses(offenses: PartialBy<O
|
|
|
26
26
|
* @returns A Buffer containing the encoded slash votes
|
|
27
27
|
*/
|
|
28
28
|
export declare function encodeSlashConsensusVotes(votes: ValidatorSlashVote[]): Buffer;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy92b3Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQWdCLGtDQUFrQyxDQUNoRCxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxFQUM3QyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFDMUIsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEVBQzdCLFFBQVEsRUFBRTtJQUNSLGVBQWUsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsb0JBQW9CLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDL0IsRUFDRCxNQUFNLEdBQUUsTUFBc0MsR0FDN0Msa0JBQWtCLEVBQUUsQ0EwRHRCO0FBZUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IseUJBQXlCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxDQWU3RSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"votes.d.ts","sourceRoot":"","sources":["../../src/slashing/votes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAC7C,UAAU,EAAE,UAAU,EAAE,EAAE,EAC1B,mBAAmB,EAAE,MAAM,EAAE,EAC7B,QAAQ,EAAE;IACR,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,EACD,MAAM,GAAE,MAAsC,GAC7C,kBAAkB,EAAE,CA0DtB;AAeD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAe7E"}
|
|
@@ -12,7 +12,7 @@ import { getEpochForOffense } from './helpers.js';
|
|
|
12
12
|
* with non-zero votes. The lowest-vote pairs are zeroed out to stay within the limit.
|
|
13
13
|
* @param logger - Logger, logs which validators were dropped.
|
|
14
14
|
* @returns Array of ValidatorSlashVote, where each vote is how many slash units the validator in that position should be slashed
|
|
15
|
-
*/ export function getSlashConsensusVotesFromOffenses(offenses, committees, epochsForCommittees, settings, logger = createLogger('slasher:
|
|
15
|
+
*/ export function getSlashConsensusVotesFromOffenses(offenses, committees, epochsForCommittees, settings, logger = createLogger('slasher:votes')) {
|
|
16
16
|
const { slashingAmounts, targetCommitteeSize, maxSlashedValidators } = settings;
|
|
17
17
|
if (committees.length !== epochsForCommittees.length) {
|
|
18
18
|
throw new Error('committees and epochsForCommittees must have the same length');
|