@aztec/stdlib 2.0.0-nightly.20250827 → 2.0.0-nightly.20250829
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/interfaces/aztec-node-admin.d.ts +0 -3
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +0 -4
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +0 -1
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +6 -1
- package/package.json +8 -8
- package/src/interfaces/slasher.ts +0 -2
- package/src/slashing/tally.ts +6 -1
|
@@ -115,7 +115,6 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
115
115
|
slashInactivitySignalTargetPercentage: z.ZodNumber;
|
|
116
116
|
slashInactivityCreatePenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
117
117
|
slashInactivityMaxPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
118
|
-
slashProposerRoundPollingIntervalSeconds: z.ZodNumber;
|
|
119
118
|
slashProposeInvalidAttestationsPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
120
119
|
slashProposeInvalidAttestationsMaxPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
121
120
|
slashAttestDescendantOfInvalidPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
@@ -147,7 +146,6 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
147
146
|
slashInactivitySignalTargetPercentage: number;
|
|
148
147
|
slashInactivityCreatePenalty: bigint;
|
|
149
148
|
slashInactivityMaxPenalty: bigint;
|
|
150
|
-
slashProposerRoundPollingIntervalSeconds: number;
|
|
151
149
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
152
150
|
slashProposeInvalidAttestationsMaxPenalty: bigint;
|
|
153
151
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
@@ -209,7 +207,6 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
209
207
|
slashInactivitySignalTargetPercentage: number;
|
|
210
208
|
slashInactivityCreatePenalty: string | number | bigint;
|
|
211
209
|
slashInactivityMaxPenalty: string | number | bigint;
|
|
212
|
-
slashProposerRoundPollingIntervalSeconds: number;
|
|
213
210
|
slashProposeInvalidAttestationsPenalty: string | number | bigint;
|
|
214
211
|
slashProposeInvalidAttestationsMaxPenalty: string | number | bigint;
|
|
215
212
|
slashAttestDescendantOfInvalidPenalty: string | number | bigint;
|
|
@@ -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,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AAEvE;;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;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9G,eAAO,MAAM,0BAA0B
|
|
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,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AAEvE;;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;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9G,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEU,CAAC;AAElD,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,7 +15,6 @@ export interface SlasherConfig {
|
|
|
15
15
|
slashInactivitySignalTargetPercentage: number;
|
|
16
16
|
slashInactivityCreatePenalty: bigint;
|
|
17
17
|
slashInactivityMaxPenalty: bigint;
|
|
18
|
-
slashProposerRoundPollingIntervalSeconds: number;
|
|
19
18
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
20
19
|
slashProposeInvalidAttestationsMaxPenalty: bigint;
|
|
21
20
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
@@ -40,7 +39,6 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
40
39
|
slashInactivitySignalTargetPercentage: z.ZodNumber;
|
|
41
40
|
slashInactivityCreatePenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
42
41
|
slashInactivityMaxPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
43
|
-
slashProposerRoundPollingIntervalSeconds: z.ZodNumber;
|
|
44
42
|
slashProposeInvalidAttestationsPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
45
43
|
slashProposeInvalidAttestationsMaxPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
46
44
|
slashAttestDescendantOfInvalidPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
@@ -63,7 +61,6 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
63
61
|
slashInactivitySignalTargetPercentage: number;
|
|
64
62
|
slashInactivityCreatePenalty: bigint;
|
|
65
63
|
slashInactivityMaxPenalty: bigint;
|
|
66
|
-
slashProposerRoundPollingIntervalSeconds: number;
|
|
67
64
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
68
65
|
slashProposeInvalidAttestationsMaxPenalty: bigint;
|
|
69
66
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
@@ -87,7 +84,6 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
87
84
|
slashInactivitySignalTargetPercentage: number;
|
|
88
85
|
slashInactivityCreatePenalty: string | number | bigint;
|
|
89
86
|
slashInactivityMaxPenalty: string | number | bigint;
|
|
90
|
-
slashProposerRoundPollingIntervalSeconds: number;
|
|
91
87
|
slashProposeInvalidAttestationsPenalty: string | number | bigint;
|
|
92
88
|
slashProposeInvalidAttestationsMaxPenalty: string | number | bigint;
|
|
93
89
|
slashAttestDescendantOfInvalidPenalty: string | number | bigint;
|
|
@@ -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,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mCAAmC,EAAE,OAAO,CAAC;IAC7C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,sCAAsC,EAAE,MAAM,CAAC;IAC/C,sBAAsB,EAAE,OAAO,CAAC;IAChC,qCAAqC,EAAE,MAAM,CAAC;IAC9C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,EAAE,MAAM,CAAC;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,
|
|
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,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mCAAmC,EAAE,OAAO,CAAC;IAC7C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,sCAAsC,EAAE,MAAM,CAAC;IAC/C,sBAAsB,EAAE,OAAO,CAAC;IAChC,qCAAqC,EAAE,MAAM,CAAC;IAC9C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,EAAE,MAAM,CAAC;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,yCAAyC,EAAE,MAAM,CAAC;IAClD,qCAAqC,EAAE,MAAM,CAAC;IAC9C,wCAAwC,EAAE,MAAM,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBE,CAAC"}
|
|
@@ -14,7 +14,6 @@ export const SlasherConfigSchema = z.object({
|
|
|
14
14
|
slashInactivitySignalTargetPercentage: z.number(),
|
|
15
15
|
slashInactivityCreatePenalty: schemas.BigInt,
|
|
16
16
|
slashInactivityMaxPenalty: schemas.BigInt,
|
|
17
|
-
slashProposerRoundPollingIntervalSeconds: z.number(),
|
|
18
17
|
slashProposeInvalidAttestationsPenalty: schemas.BigInt,
|
|
19
18
|
slashProposeInvalidAttestationsMaxPenalty: schemas.BigInt,
|
|
20
19
|
slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../../src/slashing/tally.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAK9D;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,UAAU,EAAE,EAAE,EAC1B,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACjC,kBAAkB,EAAE,CAgBtB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../../src/slashing/tally.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAK9D;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,UAAU,EAAE,EAAE,EAC1B,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACjC,kBAAkB,EAAE,CAgBtB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAe7E"}
|
package/dest/slashing/tally.js
CHANGED
|
@@ -29,7 +29,12 @@ import { minBigint, sumBigint } from '@aztec/foundation/bigint';
|
|
|
29
29
|
}
|
|
30
30
|
const buffer = Buffer.alloc(votes.length / 4);
|
|
31
31
|
for(let i = 0; i < votes.length; i += 4){
|
|
32
|
-
|
|
32
|
+
// Encode votes to match Solidity's bit order (LSB to MSB)
|
|
33
|
+
// Bits 0-1: validator at index i
|
|
34
|
+
// Bits 2-3: validator at index i+1
|
|
35
|
+
// Bits 4-5: validator at index i+2
|
|
36
|
+
// Bits 6-7: validator at index i+3
|
|
37
|
+
const voteByte = votes[i] | votes[i + 1] << 2 | votes[i + 2] << 4 | votes[i + 3] << 6;
|
|
33
38
|
buffer.writeUInt8(voteByte, i / 4);
|
|
34
39
|
}
|
|
35
40
|
return buffer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "2.0.0-nightly.
|
|
3
|
+
"version": "2.0.0-nightly.20250829",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -69,13 +69,13 @@
|
|
|
69
69
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@aztec/bb.js": "2.0.0-nightly.
|
|
73
|
-
"@aztec/blob-lib": "2.0.0-nightly.
|
|
74
|
-
"@aztec/constants": "2.0.0-nightly.
|
|
75
|
-
"@aztec/ethereum": "2.0.0-nightly.
|
|
76
|
-
"@aztec/foundation": "2.0.0-nightly.
|
|
77
|
-
"@aztec/l1-artifacts": "2.0.0-nightly.
|
|
78
|
-
"@aztec/noir-noirc_abi": "2.0.0-nightly.
|
|
72
|
+
"@aztec/bb.js": "2.0.0-nightly.20250829",
|
|
73
|
+
"@aztec/blob-lib": "2.0.0-nightly.20250829",
|
|
74
|
+
"@aztec/constants": "2.0.0-nightly.20250829",
|
|
75
|
+
"@aztec/ethereum": "2.0.0-nightly.20250829",
|
|
76
|
+
"@aztec/foundation": "2.0.0-nightly.20250829",
|
|
77
|
+
"@aztec/l1-artifacts": "2.0.0-nightly.20250829",
|
|
78
|
+
"@aztec/noir-noirc_abi": "2.0.0-nightly.20250829",
|
|
79
79
|
"@google-cloud/storage": "^7.15.0",
|
|
80
80
|
"axios": "^1.9.0",
|
|
81
81
|
"json-stringify-deterministic": "1.0.12",
|
|
@@ -19,7 +19,6 @@ export interface SlasherConfig {
|
|
|
19
19
|
slashInactivitySignalTargetPercentage: number; // 0-1, 0.6 means 60%. Must be greater than 0
|
|
20
20
|
slashInactivityCreatePenalty: bigint;
|
|
21
21
|
slashInactivityMaxPenalty: bigint;
|
|
22
|
-
slashProposerRoundPollingIntervalSeconds: number;
|
|
23
22
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
24
23
|
slashProposeInvalidAttestationsMaxPenalty: bigint;
|
|
25
24
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
@@ -45,7 +44,6 @@ export const SlasherConfigSchema = z.object({
|
|
|
45
44
|
slashInactivitySignalTargetPercentage: z.number(),
|
|
46
45
|
slashInactivityCreatePenalty: schemas.BigInt,
|
|
47
46
|
slashInactivityMaxPenalty: schemas.BigInt,
|
|
48
|
-
slashProposerRoundPollingIntervalSeconds: z.number(),
|
|
49
47
|
slashProposeInvalidAttestationsPenalty: schemas.BigInt,
|
|
50
48
|
slashProposeInvalidAttestationsMaxPenalty: schemas.BigInt,
|
|
51
49
|
slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
|
package/src/slashing/tally.ts
CHANGED
|
@@ -44,7 +44,12 @@ export function encodeSlashConsensusVotes(votes: ValidatorSlashVote[]): Buffer {
|
|
|
44
44
|
}
|
|
45
45
|
const buffer = Buffer.alloc(votes.length / 4);
|
|
46
46
|
for (let i = 0; i < votes.length; i += 4) {
|
|
47
|
-
|
|
47
|
+
// Encode votes to match Solidity's bit order (LSB to MSB)
|
|
48
|
+
// Bits 0-1: validator at index i
|
|
49
|
+
// Bits 2-3: validator at index i+1
|
|
50
|
+
// Bits 4-5: validator at index i+2
|
|
51
|
+
// Bits 6-7: validator at index i+3
|
|
52
|
+
const voteByte = votes[i] | (votes[i + 1] << 2) | (votes[i + 2] << 4) | (votes[i + 3] << 6);
|
|
48
53
|
buffer.writeUInt8(voteByte, i / 4);
|
|
49
54
|
}
|
|
50
55
|
return buffer;
|