@aztec/stdlib 0.0.1-commit.f2ce05ee → 0.0.1-commit.f8ca9b2f3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dest/contract/interfaces/node-info.d.ts +3 -1
  2. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  3. package/dest/contract/interfaces/node-info.js +2 -1
  4. package/dest/interfaces/aztec-node-admin.d.ts +7 -1
  5. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  6. package/dest/interfaces/slasher.d.ts +5 -1
  7. package/dest/interfaces/slasher.d.ts.map +1 -1
  8. package/dest/interfaces/slasher.js +1 -0
  9. package/dest/interfaces/validator.d.ts +13 -2
  10. package/dest/interfaces/validator.d.ts.map +1 -1
  11. package/dest/interfaces/validator.js +3 -1
  12. package/dest/p2p/constants.d.ts +3 -1
  13. package/dest/p2p/constants.d.ts.map +1 -1
  14. package/dest/p2p/constants.js +1 -0
  15. package/dest/slashing/empire.d.ts +1 -1
  16. package/dest/slashing/empire.d.ts.map +1 -1
  17. package/dest/slashing/empire.js +1 -0
  18. package/dest/slashing/helpers.d.ts +2 -2
  19. package/dest/slashing/helpers.d.ts.map +1 -1
  20. package/dest/slashing/helpers.js +3 -0
  21. package/dest/slashing/types.d.ts +5 -3
  22. package/dest/slashing/types.d.ts.map +1 -1
  23. package/dest/slashing/types.js +7 -1
  24. package/dest/trees/public_data_leaf.d.ts +2 -1
  25. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  26. package/dest/trees/public_data_leaf.js +7 -6
  27. package/dest/tx/validator/empty_validator.d.ts +2 -2
  28. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  29. package/dest/tx/validator/tx_validator.d.ts +2 -2
  30. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  31. package/package.json +9 -9
  32. package/src/contract/interfaces/node-info.ts +3 -0
  33. package/src/interfaces/slasher.ts +2 -0
  34. package/src/interfaces/validator.ts +9 -1
  35. package/src/p2p/constants.ts +3 -0
  36. package/src/slashing/empire.ts +2 -1
  37. package/src/slashing/helpers.ts +4 -0
  38. package/src/slashing/types.ts +7 -0
  39. package/src/trees/public_data_leaf.ts +11 -5
  40. package/src/tx/validator/empty_validator.ts +1 -1
  41. package/src/tx/validator/tx_validator.ts +1 -1
@@ -15,6 +15,8 @@ export interface NodeInfo {
15
15
  l1ContractAddresses: L1ContractAddresses;
16
16
  /** Protocol contract addresses */
17
17
  protocolContractAddresses: ProtocolContractAddresses;
18
+ /** Whether the node requires real proofs for transaction submission. */
19
+ realProofs: boolean;
18
20
  }
19
21
  export declare const NodeInfoSchema: ZodFor<NodeInfo>;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1pbmZvLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3QvaW50ZXJmYWNlcy9ub2RlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQTZCLE1BQU0sdUNBQXVDLENBQUM7QUFDNUcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJeEQsT0FBTyxFQUFFLEtBQUsseUJBQXlCLEVBQW1DLE1BQU0sa0NBQWtDLENBQUM7QUFFbkgseURBQXlEO0FBQ3pELE1BQU0sV0FBVyxRQUFRO0lBQ3ZCLDJEQUEyRDtJQUMzRCxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLG1CQUFtQjtJQUNuQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLHNCQUFzQjtJQUN0QixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHNCQUFzQjtJQUN0QixHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN4Qix5Q0FBeUM7SUFDekMsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7SUFDekMsa0NBQWtDO0lBQ2xDLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO0NBQ3REO0FBRUQsZUFBTyxNQUFNLGNBQWMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQVNLLENBQUMifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1pbmZvLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3QvaW50ZXJmYWNlcy9ub2RlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQTZCLE1BQU0sdUNBQXVDLENBQUM7QUFDNUcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJeEQsT0FBTyxFQUFFLEtBQUsseUJBQXlCLEVBQW1DLE1BQU0sa0NBQWtDLENBQUM7QUFFbkgseURBQXlEO0FBQ3pELE1BQU0sV0FBVyxRQUFRO0lBQ3ZCLDJEQUEyRDtJQUMzRCxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLG1CQUFtQjtJQUNuQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLHNCQUFzQjtJQUN0QixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHNCQUFzQjtJQUN0QixHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN4Qix5Q0FBeUM7SUFDekMsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7SUFDekMsa0NBQWtDO0lBQ2xDLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO0lBQ3JELHdFQUF3RTtJQUN4RSxVQUFVLEVBQUUsT0FBTyxDQUFDO0NBQ3JCO0FBRUQsZUFBTyxNQUFNLGNBQWMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQVVLLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"node-info.d.ts","sourceRoot":"","sources":["../../../src/contract/interfaces/node-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,uCAAuC,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,EAAE,KAAK,yBAAyB,EAAmC,MAAM,kCAAkC,CAAC;AAEnH,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,yCAAyC;IACzC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kCAAkC;IAClC,yBAAyB,EAAE,yBAAyB,CAAC;CACtD;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,CASK,CAAC"}
1
+ {"version":3,"file":"node-info.d.ts","sourceRoot":"","sources":["../../../src/contract/interfaces/node-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,uCAAuC,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,EAAE,KAAK,yBAAyB,EAAmC,MAAM,kCAAkC,CAAC;AAEnH,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,yCAAyC;IACzC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kCAAkC;IAClC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,CAUK,CAAC"}
@@ -7,7 +7,8 @@ export const NodeInfoSchema = z.object({
7
7
  rollupVersion: z.number().int().nonnegative(),
8
8
  enr: z.string().optional(),
9
9
  l1ContractAddresses: L1ContractAddressesSchema,
10
- protocolContractAddresses: ProtocolContractAddressesSchema
10
+ protocolContractAddresses: ProtocolContractAddressesSchema,
11
+ realProofs: z.boolean()
11
12
  }).transform((obj)=>({
12
13
  enr: undefined,
13
14
  ...obj
@@ -120,6 +120,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
120
120
  fishermanMode: z.ZodOptional<z.ZodBoolean>;
121
121
  skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
122
122
  skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
123
+ attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
123
124
  txPublicSetupAllowList: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
124
125
  address: import("../schemas/schemas.js").ZodFor<import("../aztec-address/index.js").AztecAddress>;
125
126
  selector: import("../schemas/schemas.js").ZodFor<import("../abi/function_selector.js").FunctionSelector>;
@@ -154,6 +155,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
154
155
  broadcastInvalidBlockProposal: z.ZodOptional<z.ZodBoolean>;
155
156
  slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
156
157
  slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
158
+ slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
157
159
  disableTransactions: z.ZodOptional<z.ZodBoolean>;
158
160
  } & Pick<{
159
161
  archiverPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
@@ -244,6 +246,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
244
246
  fishermanMode?: boolean | undefined;
245
247
  skipCheckpointProposalValidation?: boolean | undefined;
246
248
  skipPushProposedBlocksToArchiver?: boolean | undefined;
249
+ attestToEquivocatedProposals?: boolean | undefined;
247
250
  txPublicSetupAllowList?: ({
248
251
  address: import("../aztec-address/index.js").AztecAddress;
249
252
  selector: import("../abi/function_selector.js").FunctionSelector;
@@ -258,6 +261,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
258
261
  broadcastInvalidBlockProposal?: boolean | undefined;
259
262
  slashBroadcastedInvalidBlockPenalty: bigint;
260
263
  slashDuplicateProposalPenalty: bigint;
264
+ slashDuplicateAttestationPenalty: bigint;
261
265
  disableTransactions?: boolean | undefined;
262
266
  maxPendingTxCount: number;
263
267
  }, {
@@ -338,6 +342,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
338
342
  fishermanMode?: boolean | undefined;
339
343
  skipCheckpointProposalValidation?: boolean | undefined;
340
344
  skipPushProposedBlocksToArchiver?: boolean | undefined;
345
+ attestToEquivocatedProposals?: boolean | undefined;
341
346
  txPublicSetupAllowList?: ({
342
347
  address?: any;
343
348
  selector?: any;
@@ -352,9 +357,10 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
352
357
  broadcastInvalidBlockProposal?: boolean | undefined;
353
358
  slashBroadcastedInvalidBlockPenalty: string | number | bigint;
354
359
  slashDuplicateProposalPenalty: string | number | bigint;
360
+ slashDuplicateAttestationPenalty: string | number | bigint;
355
361
  disableTransactions?: boolean | undefined;
356
362
  maxPendingTxCount: number;
357
363
  }>;
358
364
  export declare const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin>;
359
365
  export declare function createAztecNodeAdminClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch): AztecNodeAdmin;
360
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWMtbm9kZS1hZG1pbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYXp0ZWMtbm9kZS1hZG1pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssT0FBTyxFQUFpQixLQUFLLGlCQUFpQixFQUEyQixNQUFNLHNCQUFzQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFnQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLHNCQUFzQixFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBc0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0I7O09BRUc7SUFDSCxTQUFTLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0M7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEU7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0RSwrQ0FBK0M7SUFDL0MsU0FBUyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzQixnREFBZ0Q7SUFDaEQsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QiwyRUFBMkU7SUFDM0UsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUVqRCwyREFBMkQ7SUFDM0QsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3pFO0FBR0QsTUFBTSxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLENBQUMsR0FDL0UsZUFBZSxHQUNmLFlBQVksR0FDWixhQUFhLEdBQ2IsSUFBSSxDQUNGLHNCQUFzQixFQUN0QiwyQkFBMkIsR0FBRyxtQkFBbUIsR0FBRyxvQ0FBb0MsQ0FDekYsR0FBRztJQUNGLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztDQUMzQixDQUFDO0FBRUosZUFBTyxNQUFNLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVVjLENBQUM7QUFFdEQsZUFBTyxNQUFNLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxjQUFjLENBWWhFLENBQUM7QUFFRix3QkFBZ0IsMEJBQTBCLENBQ3hDLEdBQUcsRUFBRSxNQUFNLEVBQ1gsUUFBUSxHQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBTSxFQUMxQyxLQUFLLHNCQUFlLEdBQ25CLGNBQWMsQ0FNaEIifQ==
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWMtbm9kZS1hZG1pbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYXp0ZWMtbm9kZS1hZG1pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssT0FBTyxFQUFpQixLQUFLLGlCQUFpQixFQUEyQixNQUFNLHNCQUFzQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFnQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLHNCQUFzQixFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBc0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0I7O09BRUc7SUFDSCxTQUFTLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0M7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEU7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0RSwrQ0FBK0M7SUFDL0MsU0FBUyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzQixnREFBZ0Q7SUFDaEQsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QiwyRUFBMkU7SUFDM0UsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUVqRCwyREFBMkQ7SUFDM0QsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3pFO0FBR0QsTUFBTSxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLENBQUMsR0FDL0UsZUFBZSxHQUNmLFlBQVksR0FDWixhQUFhLEdBQ2IsSUFBSSxDQUNGLHNCQUFzQixFQUN0QiwyQkFBMkIsR0FBRyxtQkFBbUIsR0FBRyxvQ0FBb0MsQ0FDekYsR0FBRztJQUNGLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztDQUMzQixDQUFDO0FBRUosZUFBTyxNQUFNLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVVjLENBQUM7QUFFdEQsZUFBTyxNQUFNLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxjQUFjLENBWWhFLENBQUM7QUFFRix3QkFBZ0IsMEJBQTBCLENBQ3hDLEdBQUcsRUFBRSxNQUFNLEVBQ1gsUUFBUSxHQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBTSxFQUMxQyxLQUFLLHNCQUFlLEdBQ25CLGNBQWMsQ0FNaEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,yBAAyB,EAAmC,MAAM,gBAAgB,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACzE;AAGD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,GAC/E,eAAe,GACf,YAAY,GACZ,aAAa,GACb,IAAI,CACF,sBAAsB,EACtB,2BAA2B,GAAG,mBAAmB,GAAG,oCAAoC,CACzF,GAAG;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUc,CAAC;AAEtD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAYhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
1
+ {"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,yBAAyB,EAAmC,MAAM,gBAAgB,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACzE;AAGD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,GAC/E,eAAe,GACf,YAAY,GACZ,aAAa,GACb,IAAI,CACF,sBAAsB,EACtB,2BAA2B,GAAG,mBAAmB,GAAG,oCAAoC,CACzF,GAAG;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUc,CAAC;AAEtD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAYhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
@@ -15,6 +15,7 @@ export interface SlasherConfig {
15
15
  slashInactivityPenalty: bigint;
16
16
  slashBroadcastedInvalidBlockPenalty: bigint;
17
17
  slashDuplicateProposalPenalty: bigint;
18
+ slashDuplicateAttestationPenalty: bigint;
18
19
  slashProposeInvalidAttestationsPenalty: bigint;
19
20
  slashAttestDescendantOfInvalidPenalty: bigint;
20
21
  slashUnknownPenalty: bigint;
@@ -36,6 +37,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
36
37
  slashInactivityPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
37
38
  slashProposeInvalidAttestationsPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
38
39
  slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
40
+ slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
39
41
  slashAttestDescendantOfInvalidPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
40
42
  slashUnknownPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
41
43
  slashOffenseExpirationRounds: z.ZodNumber;
@@ -57,6 +59,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
57
59
  slashInactivityPenalty: bigint;
58
60
  slashProposeInvalidAttestationsPenalty: bigint;
59
61
  slashDuplicateProposalPenalty: bigint;
62
+ slashDuplicateAttestationPenalty: bigint;
60
63
  slashAttestDescendantOfInvalidPenalty: bigint;
61
64
  slashUnknownPenalty: bigint;
62
65
  slashOffenseExpirationRounds: number;
@@ -78,6 +81,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
78
81
  slashInactivityPenalty: string | number | bigint;
79
82
  slashProposeInvalidAttestationsPenalty: string | number | bigint;
80
83
  slashDuplicateProposalPenalty: string | number | bigint;
84
+ slashDuplicateAttestationPenalty: string | number | bigint;
81
85
  slashAttestDescendantOfInvalidPenalty: string | number | bigint;
82
86
  slashUnknownPenalty: string | number | bigint;
83
87
  slashOffenseExpirationRounds: number;
@@ -87,4 +91,4 @@ export declare const SlasherConfigSchema: z.ZodObject<{
87
91
  slashExecuteRoundsLookBack: number;
88
92
  slashSelfAllowed?: boolean | undefined;
89
93
  }>;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRW5ELE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUNsQyx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IscUJBQXFCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBQ3hDLHdDQUF3QyxFQUFFLE1BQU0sQ0FBQztJQUNqRCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLHNDQUFzQyxFQUFFLE1BQU0sQ0FBQztJQUMvQyxxQ0FBcUMsRUFBRSxNQUFNLENBQUM7SUFDOUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUNyQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsdUJBQXVCLEVBQUUsTUFBTSxDQUFDO0lBQ2hDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztDQUNwQztBQUVELGVBQU8sTUFBTSxtQkFBbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVCL0IsQ0FBQyJ9
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRW5ELE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUNsQyx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IscUJBQXFCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBQ3hDLHdDQUF3QyxFQUFFLE1BQU0sQ0FBQztJQUNqRCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQztJQUN6QyxzQ0FBc0MsRUFBRSxNQUFNLENBQUM7SUFDL0MscUNBQXFDLEVBQUUsTUFBTSxDQUFDO0lBQzlDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qiw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDckMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7Q0FDcEM7QUFFRCxlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3Qi9CLENBQUMifQ==
@@ -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,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB/B,CAAC"}
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,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB/B,CAAC"}
@@ -13,6 +13,7 @@ export const SlasherConfigSchema = zodFor()(z.object({
13
13
  slashInactivityPenalty: schemas.BigInt,
14
14
  slashProposeInvalidAttestationsPenalty: schemas.BigInt,
15
15
  slashDuplicateProposalPenalty: schemas.BigInt,
16
+ slashDuplicateAttestationPenalty: schemas.BigInt,
16
17
  slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
17
18
  slashUnknownPenalty: schemas.BigInt,
18
19
  slashOffenseExpirationRounds: z.number(),
@@ -35,8 +35,10 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & {
35
35
  skipCheckpointProposalValidation?: boolean;
36
36
  /** Skip pushing re-executed blocks to archiver (default: false) */
37
37
  skipPushProposedBlocksToArchiver?: boolean;
38
+ /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
39
+ attestToEquivocatedProposals?: boolean;
38
40
  };
39
- export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty'> & {
41
+ export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'> & {
40
42
  /**
41
43
  * Whether transactions are disabled for this node
42
44
  * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
@@ -72,6 +74,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
72
74
  fishermanMode: z.ZodOptional<z.ZodBoolean>;
73
75
  skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
74
76
  skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
77
+ attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
75
78
  }, "strip", z.ZodTypeAny, {
76
79
  haSigningEnabled: boolean;
77
80
  l1Contracts: {
@@ -96,6 +99,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
96
99
  fishermanMode?: boolean | undefined;
97
100
  skipCheckpointProposalValidation?: boolean | undefined;
98
101
  skipPushProposedBlocksToArchiver?: boolean | undefined;
102
+ attestToEquivocatedProposals?: boolean | undefined;
99
103
  }, {
100
104
  haSigningEnabled: boolean;
101
105
  l1Contracts: {
@@ -120,6 +124,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
120
124
  fishermanMode?: boolean | undefined;
121
125
  skipCheckpointProposalValidation?: boolean | undefined;
122
126
  skipPushProposedBlocksToArchiver?: boolean | undefined;
127
+ attestToEquivocatedProposals?: boolean | undefined;
123
128
  }>;
124
129
  export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
125
130
  haSigningEnabled: z.ZodBoolean;
@@ -150,6 +155,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
150
155
  fishermanMode: z.ZodOptional<z.ZodBoolean>;
151
156
  skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
152
157
  skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
158
+ attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
153
159
  } & {
154
160
  txPublicSetupAllowList: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
155
161
  address: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
@@ -185,6 +191,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
185
191
  broadcastInvalidBlockProposal: z.ZodOptional<z.ZodBoolean>;
186
192
  slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
187
193
  slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
194
+ slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
188
195
  disableTransactions: z.ZodOptional<z.ZodBoolean>;
189
196
  }, "strip", z.ZodTypeAny, {
190
197
  haSigningEnabled: boolean;
@@ -210,6 +217,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
210
217
  fishermanMode?: boolean | undefined;
211
218
  skipCheckpointProposalValidation?: boolean | undefined;
212
219
  skipPushProposedBlocksToArchiver?: boolean | undefined;
220
+ attestToEquivocatedProposals?: boolean | undefined;
213
221
  txPublicSetupAllowList?: ({
214
222
  address: import("../aztec-address/index.js").AztecAddress;
215
223
  selector: import("../abi/function_selector.js").FunctionSelector;
@@ -224,6 +232,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
224
232
  broadcastInvalidBlockProposal?: boolean | undefined;
225
233
  slashBroadcastedInvalidBlockPenalty: bigint;
226
234
  slashDuplicateProposalPenalty: bigint;
235
+ slashDuplicateAttestationPenalty: bigint;
227
236
  disableTransactions?: boolean | undefined;
228
237
  }, {
229
238
  haSigningEnabled: boolean;
@@ -249,6 +258,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
249
258
  fishermanMode?: boolean | undefined;
250
259
  skipCheckpointProposalValidation?: boolean | undefined;
251
260
  skipPushProposedBlocksToArchiver?: boolean | undefined;
261
+ attestToEquivocatedProposals?: boolean | undefined;
252
262
  txPublicSetupAllowList?: ({
253
263
  address?: any;
254
264
  selector?: any;
@@ -263,6 +273,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
263
273
  broadcastInvalidBlockProposal?: boolean | undefined;
264
274
  slashBroadcastedInvalidBlockPenalty: string | number | bigint;
265
275
  slashDuplicateProposalPenalty: string | number | bigint;
276
+ slashDuplicateAttestationPenalty: string | number | bigint;
266
277
  disableTransactions?: boolean | undefined;
267
278
  }>;
268
279
  export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & {
@@ -292,4 +303,4 @@ export interface Validator {
292
303
  collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
293
304
  signAttestationsAndSigners(attestationsAndSigners: CommitteeAttestationsAndSigners, proposer: EthAddress, slot: SlotNumber, blockNumber: BlockNumber | CheckpointNumber): Promise<Signature>;
294
305
  }
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyx1QkFBdUIsRUFBaUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoSCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHekU7O0dBRUc7QUFDSCxNQUFNLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLEdBQUc7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
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyx1QkFBdUIsRUFBaUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoSCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHekU7O0dBRUc7QUFDSCxNQUFNLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLEdBQUc7SUFDNUQsNkVBQTZFO0lBQzdFLG9CQUFvQixDQUFDLEVBQUUsV0FBVyxDQUFDLEtBQUssTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXBELGlFQUFpRTtJQUNqRSxrQkFBa0IsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBRWxDLCtCQUErQjtJQUMvQixnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFFMUIsNkRBQTZEO0lBQzdELGtCQUFrQixFQUFFLFVBQVUsRUFBRSxDQUFDO0lBRWpDLCtEQUErRDtJQUMvRCw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFFckMsOEVBQThFO0lBQzlFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUU1QixxSEFBcUg7SUFDckgsNkJBQTZCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFFeEMsaUpBQWlKO0lBQ2pKLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUV4Qiw2RUFBNkU7SUFDN0UsZ0NBQWdDLENBQUMsRUFBRSxPQUFPLENBQUM7SUFFM0MsbUVBQW1FO0lBQ25FLGdDQUFnQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRTNDLHNGQUFzRjtJQUN0Riw0QkFBNEIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUN4QyxDQUFDO0FBRUYsTUFBTSxNQUFNLHlCQUF5QixHQUFHLHFCQUFxQixHQUMzRCxJQUFJLENBQUMsZUFBZSxFQUFFLHdCQUF3QixHQUFHLCtCQUErQixDQUFDLEdBQ2pGLElBQUksQ0FDRixhQUFhLEVBQ2IscUNBQXFDLEdBQUcsK0JBQStCLEdBQUcsa0NBQWtDLENBQzdHLEdBQUc7SUFDRjs7O09BR0c7SUFDSCxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMvQixDQUFDO0FBRUosZUFBTyxNQUFNLDJCQUEyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFhdkMsQ0FBQztBQUVGLGVBQU8sTUFBTSwrQkFBK0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBUzNDLENBQUM7QUFFRixNQUFNLE1BQU0scUNBQXFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFVBQVUsQ0FBQyxHQUFHO0lBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFBO0NBQUUsQ0FBQztBQUU5RyxNQUFNLFdBQVcsU0FBUztJQUN4QixLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBRy9ELG1CQUFtQixDQUNqQixXQUFXLEVBQUUsV0FBVyxFQUN4QixxQkFBcUIsRUFBRSxNQUFNLEVBQzdCLE1BQU0sRUFBRSxFQUFFLEVBQ1YsT0FBTyxFQUFFLEVBQUUsRUFDWCxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQ1QsZUFBZSxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsR0FDNUIsT0FBTyxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV0Qyx1RUFBdUU7SUFDdkUsd0JBQXdCLENBQ3RCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxPQUFPLEVBQUUsRUFBRSxFQUNYLGFBQWEsRUFBRSxxQ0FBcUMsR0FBRyxTQUFTLEVBQ2hFLGVBQWUsRUFBRSxVQUFVLEdBQUcsU0FBUyxFQUN2QyxPQUFPLEVBQUUseUJBQXlCLEdBQ2pDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRS9COzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpGOzs7T0FHRztJQUNILDBCQUEwQixDQUN4QixRQUFRLEVBQUUsa0JBQWtCLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFaEQsc0JBQXNCLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0QseUdBQXlHO0lBQ3pHLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBRXZGLDBFQUEwRTtJQUMxRSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFFdEgsMEJBQTBCLENBQ3hCLHNCQUFzQixFQUFFLCtCQUErQixFQUN2RCxRQUFRLEVBQUUsVUFBVSxFQUNwQixJQUFJLEVBQUUsVUFBVSxFQUNoQixXQUFXLEVBQUUsV0FBVyxHQUFHLGdCQUFnQixHQUMxQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDdkIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,14 @@ export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchem
11
11
  alwaysReexecuteBlockProposals: z.boolean().optional(),
12
12
  fishermanMode: z.boolean().optional(),
13
13
  skipCheckpointProposalValidation: z.boolean().optional(),
14
- skipPushProposedBlocksToArchiver: z.boolean().optional()
14
+ skipPushProposedBlocksToArchiver: z.boolean().optional(),
15
+ attestToEquivocatedProposals: z.boolean().optional()
15
16
  }));
16
17
  export const ValidatorClientFullConfigSchema = zodFor()(ValidatorClientConfigSchema.extend({
17
18
  txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
18
19
  broadcastInvalidBlockProposal: z.boolean().optional(),
19
20
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
20
21
  slashDuplicateProposalPenalty: schemas.BigInt,
22
+ slashDuplicateAttestationPenalty: schemas.BigInt,
21
23
  disableTransactions: z.boolean().optional()
22
24
  }));
@@ -1,3 +1,5 @@
1
1
  export declare const MAX_TX_SIZE_KB: number;
2
2
  export declare const MAX_MESSAGE_SIZE_KB: number;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcDJwL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFPLE1BQU0sY0FBYyxFQUFFLE1BQVksQ0FBQztBQUUxQyxlQUFPLE1BQU0sbUJBQW1CLEVBQUUsTUFBa0IsQ0FBQyJ9
3
+ /** Maximum size for L2Block response (contains TxEffects, not full Txs with proofs) */
4
+ export declare const MAX_L2_BLOCK_SIZE_KB: number;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcDJwL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFPLE1BQU0sY0FBYyxFQUFFLE1BQVksQ0FBQztBQUUxQyxlQUFPLE1BQU0sbUJBQW1CLEVBQUUsTUFBa0IsQ0FBQztBQUVyRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQWlCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/p2p/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAE,MAAY,CAAC;AAE1C,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/p2p/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAE,MAAY,CAAC;AAE1C,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC;AAErD,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,MAAiB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export const MAX_TX_SIZE_KB = 512;
2
2
  export const MAX_MESSAGE_SIZE_KB = 10 * 1024;
3
+ /** Maximum size for L2Block response (contains TxEffects, not full Txs with proofs) */ export const MAX_L2_BLOCK_SIZE_KB = 3 * 1024; // 3 MB
@@ -28,4 +28,4 @@ export declare function getFirstEligibleRoundForOffense(offense: OffenseIdentifi
28
28
  epochDuration: number;
29
29
  proofSubmissionEpochs: number;
30
30
  }): bigint;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBc0NSIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBdUNSIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"empire.d.ts","sourceRoot":"","sources":["../../src/slashing/empire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAMtE;AAED,sGAAsG;AACtG,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAQ/G;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,GAC7F,MAAM,CAsCR"}
1
+ {"version":3,"file":"empire.d.ts","sourceRoot":"","sources":["../../src/slashing/empire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAMtE;AAED,sGAAsG;AACtG,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAQ/G;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,GAC7F,MAAM,CAuCR"}
@@ -65,6 +65,7 @@ import { OffenseType } from './types.js';
65
65
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
66
66
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
67
67
  case OffenseType.DUPLICATE_PROPOSAL:
68
+ case OffenseType.DUPLICATE_ATTESTATION:
68
69
  {
69
70
  const slot = offense.epochOrSlot;
70
71
  const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
@@ -20,7 +20,7 @@ export declare function getEpochsForRound(round: bigint, constants: {
20
20
  epochDuration: number;
21
21
  }): EpochNumber[];
22
22
  /** Reads the configured penalty for a given offense type from a slasher config struct */
23
- export declare function getPenaltyForOffense(offense: OffenseType, config: Pick<SlasherConfig, 'slashAttestDescendantOfInvalidPenalty' | 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashPrunePenalty' | 'slashDataWithholdingPenalty' | 'slashUnknownPenalty' | 'slashInactivityPenalty' | 'slashProposeInvalidAttestationsPenalty'>): bigint;
23
+ export declare function getPenaltyForOffense(offense: OffenseType, config: Pick<SlasherConfig, 'slashAttestDescendantOfInvalidPenalty' | 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty' | 'slashPrunePenalty' | 'slashDataWithholdingPenalty' | 'slashUnknownPenalty' | 'slashInactivityPenalty' | 'slashProposeInvalidAttestationsPenalty'>): bigint;
24
24
  /** Returns whether the `epochOrSlot` field for an offense references an epoch or a slot */
25
25
  export declare function getTimeUnitForOffense(offense: OffenseType): 'epoch' | 'slot';
26
26
  /** Returns the slot for a given offense. If the offense references an epoch, returns the first slot of the epoch. */
@@ -33,4 +33,4 @@ export declare function getRoundForOffense(offense: Pick<Offense, 'epochOrSlot'
33
33
  slashingRoundSize: number;
34
34
  epochDuration: number;
35
35
  }): bigint;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBd0MsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZELDRGQUE0RjtBQUM1Rix3QkFBZ0IsZUFBZSxDQUM3QixJQUFJLEVBQUUsVUFBVSxFQUNoQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN2QztJQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0NBQUUsQ0FNM0M7QUFFRCxnR0FBZ0c7QUFDaEcsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsV0FBVyxFQUNsQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBS2xCO0FBRUQsK0RBQStEO0FBQy9ELHdCQUFnQixpQkFBaUIsQ0FDL0IsS0FBSyxFQUFFLE1BQU0sRUFDYixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsV0FBVyxFQUFFLENBVWY7QUFFRCx5RkFBeUY7QUFDekYsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUNwQixNQUFNLEVBQUUsSUFBSSxDQUNWLGFBQWEsRUFDWCx1Q0FBdUMsR0FDdkMscUNBQXFDLEdBQ3JDLCtCQUErQixHQUMvQixtQkFBbUIsR0FDbkIsNkJBQTZCLEdBQzdCLHFCQUFxQixHQUNyQix3QkFBd0IsR0FDeEIsd0NBQXdDLENBQzNDLFVBeUJGO0FBRUQsMkZBQTJGO0FBQzNGLHdCQUFnQixxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBa0I1RTtBQUVELHFIQUFxSDtBQUNySCx3QkFBZ0IsaUJBQWlCLENBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsVUFBVSxDQUtaO0FBRUQsNkdBQTZHO0FBQzdHLHdCQUFnQixrQkFBa0IsQ0FDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUNyRCxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUNsRCxNQUFNLENBQUM7QUFDVix3QkFBZ0Isa0JBQWtCLENBQ2hDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFDOUQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQVl0QixvRUFBb0U7QUFDcEUsd0JBQWdCLGtCQUFrQixDQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLEVBQ3JELFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM5RCxNQUFNLENBR1IifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBd0MsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZELDRGQUE0RjtBQUM1Rix3QkFBZ0IsZUFBZSxDQUM3QixJQUFJLEVBQUUsVUFBVSxFQUNoQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN2QztJQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0NBQUUsQ0FNM0M7QUFFRCxnR0FBZ0c7QUFDaEcsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsV0FBVyxFQUNsQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBS2xCO0FBRUQsK0RBQStEO0FBQy9ELHdCQUFnQixpQkFBaUIsQ0FDL0IsS0FBSyxFQUFFLE1BQU0sRUFDYixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsV0FBVyxFQUFFLENBVWY7QUFFRCx5RkFBeUY7QUFDekYsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUNwQixNQUFNLEVBQUUsSUFBSSxDQUNWLGFBQWEsRUFDWCx1Q0FBdUMsR0FDdkMscUNBQXFDLEdBQ3JDLCtCQUErQixHQUMvQixrQ0FBa0MsR0FDbEMsbUJBQW1CLEdBQ25CLDZCQUE2QixHQUM3QixxQkFBcUIsR0FDckIsd0JBQXdCLEdBQ3hCLHdDQUF3QyxDQUMzQyxVQTJCRjtBQUVELDJGQUEyRjtBQUMzRix3QkFBZ0IscUJBQXFCLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQW1CNUU7QUFFRCxxSEFBcUg7QUFDckgsd0JBQWdCLGlCQUFpQixDQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLEVBQ3JELFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQ2xELFVBQVUsQ0FLWjtBQUVELDZHQUE2RztBQUM3Ryx3QkFBZ0Isa0JBQWtCLENBQ2hDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsTUFBTSxDQUFDO0FBQ1Ysd0JBQWdCLGtCQUFrQixDQUNoQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQzlELFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQ2xELE1BQU0sR0FBRyxTQUFTLENBQUM7QUFZdEIsb0VBQW9FO0FBQ3BFLHdCQUFnQixrQkFBa0IsQ0FDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUNyRCxTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsTUFBTSxDQUdSIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/slashing/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,KAAK,iBAAiB,EAAwC,MAAM,2BAA2B,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAM3C;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlB;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,WAAW,EAAE,CAUf;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,IAAI,CACV,aAAa,EACX,uCAAuC,GACvC,qCAAqC,GACrC,+BAA+B,GAC/B,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,wBAAwB,GACxB,wCAAwC,CAC3C,UAyBF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAkB5E;AAED,qHAAqH;AACrH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,UAAU,CAKZ;AAED,6GAA6G;AAC7G,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,CAAC;AACV,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,EAC9D,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,GAAG,SAAS,CAAC;AAYtB,oEAAoE;AACpE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAGR"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/slashing/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,KAAK,iBAAiB,EAAwC,MAAM,2BAA2B,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAM3C;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlB;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,WAAW,EAAE,CAUf;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,IAAI,CACV,aAAa,EACX,uCAAuC,GACvC,qCAAqC,GACrC,+BAA+B,GAC/B,kCAAkC,GAClC,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,wBAAwB,GACxB,wCAAwC,CAC3C,UA2BF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAmB5E;AAED,qHAAqH;AACrH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,UAAU,CAKZ;AAED,6GAA6G;AAC7G,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,CAAC;AACV,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,EAC9D,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,GAAG,SAAS,CAAC;AAYtB,oEAAoE;AACpE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAGR"}
@@ -48,6 +48,8 @@ import { OffenseType } from './types.js';
48
48
  return config.slashBroadcastedInvalidBlockPenalty;
49
49
  case OffenseType.DUPLICATE_PROPOSAL:
50
50
  return config.slashDuplicateProposalPenalty;
51
+ case OffenseType.DUPLICATE_ATTESTATION:
52
+ return config.slashDuplicateAttestationPenalty;
51
53
  case OffenseType.UNKNOWN:
52
54
  return config.slashUnknownPenalty;
53
55
  default:
@@ -62,6 +64,7 @@ import { OffenseType } from './types.js';
62
64
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
63
65
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
64
66
  case OffenseType.DUPLICATE_PROPOSAL:
67
+ case OffenseType.DUPLICATE_ATTESTATION:
65
68
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
66
69
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
67
70
  return 'slot';
@@ -17,9 +17,11 @@ export declare enum OffenseType {
17
17
  /** A committee member attested to a block that was built as a descendent of an invalid block (as in a block with invalid attestations) */
18
18
  ATTESTED_DESCENDANT_OF_INVALID = 7,
19
19
  /** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */
20
- DUPLICATE_PROPOSAL = 8
20
+ DUPLICATE_PROPOSAL = 8,
21
+ /** A validator signed attestations for different proposals at the same slot (equivocation) */
22
+ DUPLICATE_ATTESTATION = 9
21
23
  }
22
- export declare function getOffenseTypeName(offense: OffenseType): "attested_descendant_of_invalid" | "broadcasted_invalid_block_proposal" | "data_withholding" | "duplicate_proposal" | "inactivity" | "proposed_incorrect_attestations" | "proposed_insufficient_attestations" | "unknown" | "valid_epoch_pruned";
24
+ export declare function getOffenseTypeName(offense: OffenseType): "attested_descendant_of_invalid" | "broadcasted_invalid_block_proposal" | "data_withholding" | "duplicate_attestation" | "duplicate_proposal" | "inactivity" | "proposed_incorrect_attestations" | "proposed_insufficient_attestations" | "unknown" | "valid_epoch_pruned";
23
25
  export declare const OffenseTypeSchema: z.ZodNativeEnum<typeof OffenseType>;
24
26
  export declare const OffenseToBigInt: Record<OffenseType, bigint>;
25
27
  export declare function bigIntToOffense(offense: bigint): OffenseType;
@@ -160,4 +162,4 @@ export type ProposerSlashAction =
160
162
  round: bigint;
161
163
  };
162
164
  export type ProposerSlashActionType = ProposerSlashAction['type'];
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixvQkFBWSxXQUFXO0lBQ3JCLE9BQU8sSUFBSTtJQUNYLHVGQUF1RjtJQUN2RixnQkFBZ0IsSUFBSTtJQUNwQiwyRUFBMkU7SUFDM0Usa0JBQWtCLElBQUk7SUFDdEIsdUZBQXVGO0lBQ3ZGLFVBQVUsSUFBSTtJQUNkLHNGQUFzRjtJQUN0RixrQ0FBa0MsSUFBSTtJQUN0QywrRUFBK0U7SUFDL0Usa0NBQWtDLElBQUk7SUFDdEMsdUhBQXVIO0lBQ3ZILCtCQUErQixJQUFJO0lBQ25DLDBJQUEwSTtJQUMxSSw4QkFBOEIsSUFBSTtJQUNsQyxpSUFBaUk7SUFDakksa0JBQWtCLElBQUk7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFdBQVcsb1BBdUJ0RDtBQUVELGVBQU8sTUFBTSxpQkFBaUIscUNBQTRCLENBQUM7QUFFM0QsZUFBTyxNQUFNLGVBQWUsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FVdkQsQ0FBQztBQUVGLHdCQUFnQixlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBdUI1RDtBQUVELE1BQU0sTUFBTSxPQUFPLEdBQUc7SUFDcEIsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFDO0NBQ3JCLENBQUM7QUFFRixNQUFNLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBRTNGLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7RUFPekIsQ0FBQztBQUVGLCtEQUErRDtBQUMvRCxNQUFNLE1BQU0scUJBQXFCLEdBQUc7SUFDbEMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixXQUFXLEVBQUUsV0FBVyxDQUFDO0NBQzFCLENBQUM7QUFFRix5RkFBeUY7QUFDekYsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztDQUNuQyxDQUFDO0FBRUYsOERBQThEO0FBQzlELE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDMUIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQixDQUFDO0FBRUYsc0VBQXNFO0FBQ3RFLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxZQUFZLEdBQUc7SUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFaEYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFjbkMsQ0FBQztBQUVGLGtFQUFrRTtBQUNsRSxNQUFNLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBRXhDLE1BQU0sTUFBTSxtQkFBbUI7QUFDN0IsbUVBQW1FO0FBQ2pFO0lBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDO0lBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFBO0NBQUU7QUFDM0Qsb0VBQW9FO0dBQ2xFO0lBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDO0lBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQTtDQUFFO0FBQ3RELG1FQUFtRTtHQUNqRTtJQUFFLElBQUksRUFBRSx3QkFBd0IsQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FBRTtBQUNuRCx5REFBeUQ7R0FDdkQ7SUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDO0lBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FBRTtBQUNuRyxnRUFBZ0U7R0FDOUQ7SUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDO0lBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQztBQUV6RSxNQUFNLE1BQU0sdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMifQ==
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixvQkFBWSxXQUFXO0lBQ3JCLE9BQU8sSUFBSTtJQUNYLHVGQUF1RjtJQUN2RixnQkFBZ0IsSUFBSTtJQUNwQiwyRUFBMkU7SUFDM0Usa0JBQWtCLElBQUk7SUFDdEIsdUZBQXVGO0lBQ3ZGLFVBQVUsSUFBSTtJQUNkLHNGQUFzRjtJQUN0RixrQ0FBa0MsSUFBSTtJQUN0QywrRUFBK0U7SUFDL0Usa0NBQWtDLElBQUk7SUFDdEMsdUhBQXVIO0lBQ3ZILCtCQUErQixJQUFJO0lBQ25DLDBJQUEwSTtJQUMxSSw4QkFBOEIsSUFBSTtJQUNsQyxpSUFBaUk7SUFDakksa0JBQWtCLElBQUk7SUFDdEIsOEZBQThGO0lBQzlGLHFCQUFxQixJQUFJO0NBQzFCO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxXQUFXLDhRQXlCdEQ7QUFFRCxlQUFPLE1BQU0saUJBQWlCLHFDQUE0QixDQUFDO0FBRTNELGVBQU8sTUFBTSxlQUFlLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBV3ZELENBQUM7QUFFRix3QkFBZ0IsZUFBZSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsV0FBVyxDQXlCNUQ7QUFFRCxNQUFNLE1BQU0sT0FBTyxHQUFHO0lBQ3BCLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDdEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDekIsV0FBVyxFQUFFLE1BQU0sQ0FBQztDQUNyQixDQUFDO0FBRUYsTUFBTSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUMsQ0FBQztBQUUzRixlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7O0VBT3pCLENBQUM7QUFFRiwrREFBK0Q7QUFDL0QsTUFBTSxNQUFNLHFCQUFxQixHQUFHO0lBQ2xDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsV0FBVyxFQUFFLFdBQVcsQ0FBQztDQUMxQixDQUFDO0FBRUYseUZBQXlGO0FBQ3pGLE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7Q0FDbkMsQ0FBQztBQUVGLDhEQUE4RDtBQUM5RCxNQUFNLE1BQU0sWUFBWSxHQUFHO0lBQ3pCLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQzFCLFNBQVMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsQ0FBQztBQUVGLHNFQUFzRTtBQUN0RSxNQUFNLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxHQUFHO0lBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBRWhGLGVBQU8sTUFBTSx1QkFBdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBY25DLENBQUM7QUFFRixrRUFBa0U7QUFDbEUsTUFBTSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUV4QyxNQUFNLE1BQU0sbUJBQW1CO0FBQzdCLG1FQUFtRTtBQUNqRTtJQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQztJQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQTtDQUFFO0FBQzNELG9FQUFvRTtHQUNsRTtJQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQztJQUFDLE9BQU8sRUFBRSxVQUFVLENBQUE7Q0FBRTtBQUN0RCxtRUFBbUU7R0FDakU7SUFBRSxJQUFJLEVBQUUsd0JBQXdCLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUU7QUFDbkQseURBQXlEO0dBQ3ZEO0lBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztJQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUU7QUFDbkcsZ0VBQWdFO0dBQzlEO0lBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztJQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFekUsTUFBTSxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/slashing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/slashing/types.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export var OffenseType = /*#__PURE__*/ function(OffenseType) {
10
10
  /** A proposer pushed to L1 a block with incorrect committee attestations (ie signature from a non-committee member) */ OffenseType[OffenseType["PROPOSED_INCORRECT_ATTESTATIONS"] = 6] = "PROPOSED_INCORRECT_ATTESTATIONS";
11
11
  /** A committee member attested to a block that was built as a descendent of an invalid block (as in a block with invalid attestations) */ OffenseType[OffenseType["ATTESTED_DESCENDANT_OF_INVALID"] = 7] = "ATTESTED_DESCENDANT_OF_INVALID";
12
12
  /** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */ OffenseType[OffenseType["DUPLICATE_PROPOSAL"] = 8] = "DUPLICATE_PROPOSAL";
13
+ /** A validator signed attestations for different proposals at the same slot (equivocation) */ OffenseType[OffenseType["DUPLICATE_ATTESTATION"] = 9] = "DUPLICATE_ATTESTATION";
13
14
  return OffenseType;
14
15
  }({});
15
16
  export function getOffenseTypeName(offense) {
@@ -32,6 +33,8 @@ export function getOffenseTypeName(offense) {
32
33
  return 'attested_descendant_of_invalid';
33
34
  case 8:
34
35
  return 'duplicate_proposal';
36
+ case 9:
37
+ return 'duplicate_attestation';
35
38
  default:
36
39
  throw new Error(`Unknown offense type: ${offense}`);
37
40
  }
@@ -46,7 +49,8 @@ export const OffenseToBigInt = {
46
49
  [5]: 5n,
47
50
  [6]: 6n,
48
51
  [7]: 7n,
49
- [8]: 8n
52
+ [8]: 8n,
53
+ [9]: 9n
50
54
  };
51
55
  export function bigIntToOffense(offense) {
52
56
  switch(offense){
@@ -68,6 +72,8 @@ export function bigIntToOffense(offense) {
68
72
  return 7;
69
73
  case 8n:
70
74
  return 8;
75
+ case 9n:
76
+ return 9;
71
77
  default:
72
78
  throw new Error(`Unknown offense: ${offense}`);
73
79
  }
@@ -94,6 +94,7 @@ export declare class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreima
94
94
  asLeaf(): PublicDataTreeLeaf;
95
95
  toBuffer(): Buffer;
96
96
  toHashInputs(): Buffer[];
97
+ hash(): Promise<Fr>;
97
98
  clone(): PublicDataTreeLeafPreimage;
98
99
  static random(): PublicDataTreeLeafPreimage;
99
100
  static empty(): PublicDataTreeLeafPreimage;
@@ -155,4 +156,4 @@ export declare class PublicDataTreeLeaf implements IndexedTreeLeaf {
155
156
  */
156
157
  static fromPlainObject(obj: any): PublicDataTreeLeaf;
157
158
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfbGVhZi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX2xlYWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7O0dBR0c7QUFDSCxxQkFBYSwwQkFBMkIsWUFBVyx1QkFBdUI7SUFFdEU7O09BRUc7SUFDSSxJQUFJLEVBQUUsa0JBQWtCO0lBQy9COztPQUVHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEI7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTTtJQVoxQjtJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGtCQUFrQjtJQUMvQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRywwQkFBMEIsQ0FTM0Q7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7Ozs7O09BRXBCO0lBRUQsTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsWUFBWSxJQUFJLE1BQU0sQ0FFckI7SUFFRCxNQUFNLElBQUksa0JBQWtCLENBRTNCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsS0FBSyxJQUFJLDBCQUEwQixDQUVsQztJQUVELE1BQU0sQ0FBQyxNQUFNLCtCQU1aO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSwwQkFBMEIsQ0FFekM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLDBCQUEwQixDQU0zRTtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRywwQkFBMEIsQ0FFeEc7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsR0FBRywwQkFBMEIsQ0FFN0U7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsa0JBQW1CLFlBQVcsZUFBZTtJQUV0RDs7T0FFRztJQUNJLElBQUksRUFBRSxFQUFFO0lBQ2Y7O09BRUc7SUFDSSxLQUFLLEVBQUUsRUFBRTtJQVJsQjtJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7T0FFRztJQUNJLEtBQUssRUFBRSxFQUFFLEVBQ2Q7SUFFSixNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsUUFBUSw0QkFFUDtJQUVELEtBQUssSUFBSSxrQkFBa0IsQ0FFMUI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBRXZCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksc0JBRzlDO0lBRUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBRTNDO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxPQUFPLElBQUksT0FBTyxDQUVqQjtJQUVELFFBQVEsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsa0JBQWtCLENBS3hEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGtCQUFrQixDQUVqRDtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksa0JBQWtCLENBRWpDO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7OztPQU9oQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxrQkFBa0IsQ0FLbkQ7Q0FDRiJ9
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfbGVhZi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX2xlYWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7O0dBR0c7QUFDSCxxQkFBYSwwQkFBMkIsWUFBVyx1QkFBdUI7SUFFdEU7O09BRUc7SUFDSSxJQUFJLEVBQUUsa0JBQWtCO0lBQy9COztPQUVHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEI7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTTtJQVoxQjtJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGtCQUFrQjtJQUMvQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRywwQkFBMEIsQ0FTM0Q7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7Ozs7O09BRXBCO0lBRUQsTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsWUFBWSxJQUFJLE1BQU0sQ0FFckI7SUFFRCxNQUFNLElBQUksa0JBQWtCLENBRTNCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFbEI7SUFFRCxLQUFLLElBQUksMEJBQTBCLENBRWxDO0lBRUQsTUFBTSxDQUFDLE1BQU0sK0JBTVo7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLDBCQUEwQixDQUV6QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsMEJBQTBCLENBTzNFO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLDBCQUEwQixDQUV4RztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLDBCQUEwQixHQUFHLDBCQUEwQixDQUU3RTtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxrQkFBbUIsWUFBVyxlQUFlO0lBRXREOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7T0FFRztJQUNJLEtBQUssRUFBRSxFQUFFO0lBUmxCO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsRUFBRTtJQUNmOztPQUVHO0lBQ0ksS0FBSyxFQUFFLEVBQUUsRUFDZDtJQUVKLE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxRQUFRLDRCQUVQO0lBRUQsS0FBSyxJQUFJLGtCQUFrQixDQUUxQjtJQUVELFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FFdkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxzQkFHOUM7SUFFRCxNQUFNLENBQUMsT0FBTyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FFM0M7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FLeEQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsa0JBQWtCLENBRWpEO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxrQkFBa0IsQ0FFakM7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLGtCQUFrQixDQUtuRDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"public_data_leaf.d.ts","sourceRoot":"","sources":["../../src/trees/public_data_leaf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,uBAAuB;IAEtE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM;IAZ1B;IACE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,0BAA0B,CAS3D;IAED,MAAM,KAAK,UAAU;;;;;;;;;;;;OAEpB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,kBAAkB,CAE3B;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,YAAY,IAAI,MAAM,EAAE,CAMvB;IAED,KAAK,IAAI,0BAA0B,CAElC;IAED,MAAM,CAAC,MAAM,+BAMZ;IAED,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAEzC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAM3E;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAExG;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,GAAG,0BAA0B,CAE7E;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAEtD;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE;IARlB;IACE;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,IAAI,MAAM,CAEf;IAED,QAAQ,4BAEP;IAED,KAAK,IAAI,kBAAkB,CAE1B;IAED,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,sBAG9C;IAED,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAE3C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAKxD;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAEjD;IAED,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAEjC;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,kBAAkB,CAKnD;CACF"}
1
+ {"version":3,"file":"public_data_leaf.d.ts","sourceRoot":"","sources":["../../src/trees/public_data_leaf.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,uBAAuB;IAEtE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM;IAZ1B;IACE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,0BAA0B,CAS3D;IAED,MAAM,KAAK,UAAU;;;;;;;;;;;;OAEpB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,kBAAkB,CAE3B;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,YAAY,IAAI,MAAM,EAAE,CAMvB;IAED,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAElB;IAED,KAAK,IAAI,0BAA0B,CAElC;IAED,MAAM,CAAC,MAAM,+BAMZ;IAED,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAEzC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAO3E;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAExG;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,GAAG,0BAA0B,CAE7E;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAEtD;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE;IARlB;IACE;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,IAAI,MAAM,CAEf;IAED,QAAQ,4BAEP;IAED,KAAK,IAAI,kBAAkB,CAE1B;IAED,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,sBAG9C;IAED,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAE3C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAKxD;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAEjD;IAED,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAEjC;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,kBAAkB,CAKnD;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
2
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { schemas } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -61,10 +62,13 @@ import { z } from 'zod';
61
62
  toHashInputs() {
62
63
  return [
63
64
  ...this.leaf.toHashInputs(),
64
- Buffer.from(toBufferBE(this.nextIndex, 32)),
65
- Buffer.from(this.nextKey.toBuffer())
65
+ Buffer.from(this.nextKey.toBuffer()),
66
+ Buffer.from(toBufferBE(this.nextIndex, 32))
66
67
  ];
67
68
  }
69
+ hash() {
70
+ return poseidon2Hash(this.toHashInputs());
71
+ }
68
72
  clone() {
69
73
  return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
70
74
  }
@@ -76,10 +80,7 @@ import { z } from 'zod';
76
80
  }
77
81
  static fromBuffer(buffer) {
78
82
  const reader = BufferReader.asReader(buffer);
79
- const value = PublicDataTreeLeaf.fromBuffer(reader);
80
- const nextIndex = toBigIntBE(reader.readBytes(32));
81
- const nextSlot = Fr.fromBuffer(reader);
82
- return new PublicDataTreeLeafPreimage(value, nextSlot, nextIndex);
83
+ return new PublicDataTreeLeafPreimage(PublicDataTreeLeaf.fromBuffer(reader), Fr.fromBuffer(reader), toBigIntBE(reader.readBytes(32)));
83
84
  }
84
85
  static fromLeaf(leaf, nextKey, nextIndex) {
85
86
  return new PublicDataTreeLeafPreimage(leaf, new Fr(nextKey), nextIndex);
@@ -1,5 +1,5 @@
1
1
  import type { AnyTx, TxValidationResult, TxValidator } from './tx_validator.js';
2
- export declare class EmptyTxValidator<T extends AnyTx = AnyTx> implements TxValidator<T> {
2
+ export declare class EmptyTxValidator<T = AnyTx> implements TxValidator<T> {
3
3
  validateTx(_tx: T): Promise<TxValidationResult>;
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHlfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHgvdmFsaWRhdG9yL2VtcHR5X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEYscUJBQWEsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUVyRDtDQUNGIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHlfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHgvdmFsaWRhdG9yL2VtcHR5X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEYscUJBQWEsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDekQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBRXJEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"empty_validator.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/empty_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhF,qBAAa,gBAAgB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACvE,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAErD;CACF"}
1
+ {"version":3,"file":"empty_validator.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/empty_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhF,qBAAa,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACzD,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAErD;CACF"}
@@ -14,7 +14,7 @@ export type TxValidationResult = {
14
14
  result: 'skipped';
15
15
  reason: string[];
16
16
  };
17
- export interface TxValidator<T extends AnyTx = AnyTx> {
17
+ export interface TxValidator<T = AnyTx> {
18
18
  validateTx(tx: T): Promise<TxValidationResult>;
19
19
  }
20
20
  export declare const TxValidationResultSchema: z.ZodDiscriminatedUnion<"result", [z.ZodObject<{
@@ -42,4 +42,4 @@ export declare const TxValidationResultSchema: z.ZodDiscriminatedUnion<"result",
42
42
  result: "skipped";
43
43
  reason: string[];
44
44
  }>]>;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHgvdmFsaWRhdG9yL3R4X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDO0FBRXJDLHdCQUFnQixTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssR0FBRyxNQUFNLENBRTNDO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FFakQ7QUFFRCxNQUFNLE1BQU0sa0JBQWtCLEdBQzFCO0lBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQTtDQUFFLEdBQ25CO0lBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQTtDQUFFLEdBQ3ZDO0lBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQTtDQUFFLENBQUM7QUFFNUMsTUFBTSxXQUFXLFdBQVcsQ0FBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLEtBQUs7SUFDbEQsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Q0FDaEQ7QUFFRCxlQUFPLE1BQU0sd0JBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFNcEMsQ0FBQyJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHgvdmFsaWRhdG9yL3R4X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDO0FBRXJDLHdCQUFnQixTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssR0FBRyxNQUFNLENBRTNDO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FFakQ7QUFFRCxNQUFNLE1BQU0sa0JBQWtCLEdBQzFCO0lBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQTtDQUFFLEdBQ25CO0lBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQTtDQUFFLEdBQ3ZDO0lBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQTtDQUFFLENBQUM7QUFFNUMsTUFBTSxXQUFXLFdBQVcsQ0FBQyxDQUFDLEdBQUcsS0FBSztJQUNwQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztDQUNoRDtBQUVELGVBQU8sTUFBTSx3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQU1wQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"tx_validator.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,KAAK,GAAG,EAAE,GAAG,WAAW,CAAC;AAErC,wBAAgB,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAE3C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAEjD;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK;IAClD,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;IAMpC,CAAC"}
1
+ {"version":3,"file":"tx_validator.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,KAAK,GAAG,EAAE,GAAG,WAAW,CAAC;AAErC,wBAAgB,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAE3C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAEjD;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,KAAK;IACpC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;IAMpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "0.0.1-commit.f2ce05ee",
3
+ "version": "0.0.1-commit.f8ca9b2f3",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -90,14 +90,14 @@
90
90
  },
91
91
  "dependencies": {
92
92
  "@aws-sdk/client-s3": "^3.892.0",
93
- "@aztec/bb.js": "0.0.1-commit.f2ce05ee",
94
- "@aztec/blob-lib": "0.0.1-commit.f2ce05ee",
95
- "@aztec/constants": "0.0.1-commit.f2ce05ee",
96
- "@aztec/ethereum": "0.0.1-commit.f2ce05ee",
97
- "@aztec/foundation": "0.0.1-commit.f2ce05ee",
98
- "@aztec/l1-artifacts": "0.0.1-commit.f2ce05ee",
99
- "@aztec/noir-noirc_abi": "0.0.1-commit.f2ce05ee",
100
- "@aztec/validator-ha-signer": "0.0.1-commit.f2ce05ee",
93
+ "@aztec/bb.js": "0.0.1-commit.f8ca9b2f3",
94
+ "@aztec/blob-lib": "0.0.1-commit.f8ca9b2f3",
95
+ "@aztec/constants": "0.0.1-commit.f8ca9b2f3",
96
+ "@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
97
+ "@aztec/foundation": "0.0.1-commit.f8ca9b2f3",
98
+ "@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
99
+ "@aztec/noir-noirc_abi": "0.0.1-commit.f8ca9b2f3",
100
+ "@aztec/validator-ha-signer": "0.0.1-commit.f8ca9b2f3",
101
101
  "@google-cloud/storage": "^7.15.0",
102
102
  "axios": "^1.12.0",
103
103
  "json-stringify-deterministic": "1.0.12",
@@ -19,6 +19,8 @@ export interface NodeInfo {
19
19
  l1ContractAddresses: L1ContractAddresses;
20
20
  /** Protocol contract addresses */
21
21
  protocolContractAddresses: ProtocolContractAddresses;
22
+ /** Whether the node requires real proofs for transaction submission. */
23
+ realProofs: boolean;
22
24
  }
23
25
 
24
26
  export const NodeInfoSchema: ZodFor<NodeInfo> = z
@@ -29,5 +31,6 @@ export const NodeInfoSchema: ZodFor<NodeInfo> = z
29
31
  enr: z.string().optional(),
30
32
  l1ContractAddresses: L1ContractAddressesSchema,
31
33
  protocolContractAddresses: ProtocolContractAddressesSchema,
34
+ realProofs: z.boolean(),
32
35
  })
33
36
  .transform(obj => ({ enr: undefined, ...obj }));
@@ -19,6 +19,7 @@ export interface SlasherConfig {
19
19
  slashInactivityPenalty: bigint;
20
20
  slashBroadcastedInvalidBlockPenalty: bigint;
21
21
  slashDuplicateProposalPenalty: bigint;
22
+ slashDuplicateAttestationPenalty: bigint;
22
23
  slashProposeInvalidAttestationsPenalty: bigint;
23
24
  slashAttestDescendantOfInvalidPenalty: bigint;
24
25
  slashUnknownPenalty: bigint;
@@ -42,6 +43,7 @@ export const SlasherConfigSchema = zodFor<SlasherConfig>()(
42
43
  slashInactivityPenalty: schemas.BigInt,
43
44
  slashProposeInvalidAttestationsPenalty: schemas.BigInt,
44
45
  slashDuplicateProposalPenalty: schemas.BigInt,
46
+ slashDuplicateAttestationPenalty: schemas.BigInt,
45
47
  slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
46
48
  slashUnknownPenalty: schemas.BigInt,
47
49
  slashOffenseExpirationRounds: z.number(),
@@ -56,11 +56,17 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & {
56
56
 
57
57
  /** Skip pushing re-executed blocks to archiver (default: false) */
58
58
  skipPushProposedBlocksToArchiver?: boolean;
59
+
60
+ /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
61
+ attestToEquivocatedProposals?: boolean;
59
62
  };
60
63
 
61
64
  export type ValidatorClientFullConfig = ValidatorClientConfig &
62
65
  Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
63
- Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty'> & {
66
+ Pick<
67
+ SlasherConfig,
68
+ 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'
69
+ > & {
64
70
  /**
65
71
  * Whether transactions are disabled for this node
66
72
  * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
@@ -79,6 +85,7 @@ export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'v
79
85
  fishermanMode: z.boolean().optional(),
80
86
  skipCheckpointProposalValidation: z.boolean().optional(),
81
87
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
88
+ attestToEquivocatedProposals: z.boolean().optional(),
82
89
  }),
83
90
  );
84
91
 
@@ -88,6 +95,7 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
88
95
  broadcastInvalidBlockProposal: z.boolean().optional(),
89
96
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
90
97
  slashDuplicateProposalPenalty: schemas.BigInt,
98
+ slashDuplicateAttestationPenalty: schemas.BigInt,
91
99
  disableTransactions: z.boolean().optional(),
92
100
  }),
93
101
  );
@@ -1,3 +1,6 @@
1
1
  export const MAX_TX_SIZE_KB: number = 512;
2
2
 
3
3
  export const MAX_MESSAGE_SIZE_KB: number = 10 * 1024;
4
+
5
+ /** Maximum size for L2Block response (contains TxEffects, not full Txs with proofs) */
6
+ export const MAX_L2_BLOCK_SIZE_KB: number = 3 * 1024; // 3 MB
@@ -84,7 +84,8 @@ export function getFirstEligibleRoundForOffense(
84
84
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
85
85
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
86
86
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
87
- case OffenseType.DUPLICATE_PROPOSAL: {
87
+ case OffenseType.DUPLICATE_PROPOSAL:
88
+ case OffenseType.DUPLICATE_ATTESTATION: {
88
89
  const slot = offense.epochOrSlot;
89
90
  const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
90
91
  return getRoundForSlot(detectedSlot, constants).round + 1n;
@@ -51,6 +51,7 @@ export function getPenaltyForOffense(
51
51
  | 'slashAttestDescendantOfInvalidPenalty'
52
52
  | 'slashBroadcastedInvalidBlockPenalty'
53
53
  | 'slashDuplicateProposalPenalty'
54
+ | 'slashDuplicateAttestationPenalty'
54
55
  | 'slashPrunePenalty'
55
56
  | 'slashDataWithholdingPenalty'
56
57
  | 'slashUnknownPenalty'
@@ -74,6 +75,8 @@ export function getPenaltyForOffense(
74
75
  return config.slashBroadcastedInvalidBlockPenalty;
75
76
  case OffenseType.DUPLICATE_PROPOSAL:
76
77
  return config.slashDuplicateProposalPenalty;
78
+ case OffenseType.DUPLICATE_ATTESTATION:
79
+ return config.slashDuplicateAttestationPenalty;
77
80
  case OffenseType.UNKNOWN:
78
81
  return config.slashUnknownPenalty;
79
82
  default: {
@@ -89,6 +92,7 @@ export function getTimeUnitForOffense(offense: OffenseType): 'epoch' | 'slot' {
89
92
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
90
93
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
91
94
  case OffenseType.DUPLICATE_PROPOSAL:
95
+ case OffenseType.DUPLICATE_ATTESTATION:
92
96
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
93
97
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
94
98
  return 'slot';
@@ -22,6 +22,8 @@ export enum OffenseType {
22
22
  ATTESTED_DESCENDANT_OF_INVALID = 7,
23
23
  /** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */
24
24
  DUPLICATE_PROPOSAL = 8,
25
+ /** A validator signed attestations for different proposals at the same slot (equivocation) */
26
+ DUPLICATE_ATTESTATION = 9,
25
27
  }
26
28
 
27
29
  export function getOffenseTypeName(offense: OffenseType) {
@@ -44,6 +46,8 @@ export function getOffenseTypeName(offense: OffenseType) {
44
46
  return 'attested_descendant_of_invalid';
45
47
  case OffenseType.DUPLICATE_PROPOSAL:
46
48
  return 'duplicate_proposal';
49
+ case OffenseType.DUPLICATE_ATTESTATION:
50
+ return 'duplicate_attestation';
47
51
  default:
48
52
  throw new Error(`Unknown offense type: ${offense}`);
49
53
  }
@@ -61,6 +65,7 @@ export const OffenseToBigInt: Record<OffenseType, bigint> = {
61
65
  [OffenseType.PROPOSED_INCORRECT_ATTESTATIONS]: 6n,
62
66
  [OffenseType.ATTESTED_DESCENDANT_OF_INVALID]: 7n,
63
67
  [OffenseType.DUPLICATE_PROPOSAL]: 8n,
68
+ [OffenseType.DUPLICATE_ATTESTATION]: 9n,
64
69
  };
65
70
 
66
71
  export function bigIntToOffense(offense: bigint): OffenseType {
@@ -83,6 +88,8 @@ export function bigIntToOffense(offense: bigint): OffenseType {
83
88
  return OffenseType.ATTESTED_DESCENDANT_OF_INVALID;
84
89
  case 8n:
85
90
  return OffenseType.DUPLICATE_PROPOSAL;
91
+ case 9n:
92
+ return OffenseType.DUPLICATE_ATTESTATION;
86
93
  default:
87
94
  throw new Error(`Unknown offense: ${offense}`);
88
95
  }
@@ -1,4 +1,5 @@
1
1
  import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
2
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { schemas } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -81,11 +82,15 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
81
82
  toHashInputs(): Buffer[] {
82
83
  return [
83
84
  ...this.leaf.toHashInputs(),
84
- Buffer.from(toBufferBE(this.nextIndex, 32)),
85
85
  Buffer.from(this.nextKey.toBuffer()),
86
+ Buffer.from(toBufferBE(this.nextIndex, 32)),
86
87
  ];
87
88
  }
88
89
 
90
+ hash(): Promise<Fr> {
91
+ return poseidon2Hash(this.toHashInputs());
92
+ }
93
+
89
94
  clone(): PublicDataTreeLeafPreimage {
90
95
  return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
91
96
  }
@@ -104,10 +109,11 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
104
109
 
105
110
  static fromBuffer(buffer: Buffer | BufferReader): PublicDataTreeLeafPreimage {
106
111
  const reader = BufferReader.asReader(buffer);
107
- const value = PublicDataTreeLeaf.fromBuffer(reader);
108
- const nextIndex = toBigIntBE(reader.readBytes(32));
109
- const nextSlot = Fr.fromBuffer(reader);
110
- return new PublicDataTreeLeafPreimage(value, nextSlot, nextIndex);
112
+ return new PublicDataTreeLeafPreimage(
113
+ PublicDataTreeLeaf.fromBuffer(reader),
114
+ Fr.fromBuffer(reader),
115
+ toBigIntBE(reader.readBytes(32)),
116
+ );
111
117
  }
112
118
 
113
119
  static fromLeaf(leaf: PublicDataTreeLeaf, nextKey: bigint, nextIndex: bigint): PublicDataTreeLeafPreimage {
@@ -1,6 +1,6 @@
1
1
  import type { AnyTx, TxValidationResult, TxValidator } from './tx_validator.js';
2
2
 
3
- export class EmptyTxValidator<T extends AnyTx = AnyTx> implements TxValidator<T> {
3
+ export class EmptyTxValidator<T = AnyTx> implements TxValidator<T> {
4
4
  public validateTx(_tx: T): Promise<TxValidationResult> {
5
5
  return Promise.resolve({ result: 'valid' });
6
6
  }
@@ -20,7 +20,7 @@ export type TxValidationResult =
20
20
  | { result: 'invalid'; reason: string[] }
21
21
  | { result: 'skipped'; reason: string[] };
22
22
 
23
- export interface TxValidator<T extends AnyTx = AnyTx> {
23
+ export interface TxValidator<T = AnyTx> {
24
24
  validateTx(tx: T): Promise<TxValidationResult>;
25
25
  }
26
26