@aztec/stdlib 0.0.1-commit.86469d5 → 0.0.1-commit.87a0206
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/block/in_block.js +1 -1
- package/dest/interfaces/aztec-node-admin.d.ts +10 -1
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +8 -1
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +2 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +6 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +5 -0
- package/dest/interfaces/proving-job.d.ts +34 -34
- package/dest/interfaces/slasher.d.ts +5 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +1 -0
- package/dest/interfaces/validator.d.ts +11 -2
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +1 -0
- package/dest/logs/extended_public_log.d.ts +7 -1
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/log_id.d.ts +10 -7
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +15 -13
- package/dest/messaging/l2_to_l1_membership.d.ts +2 -2
- package/dest/messaging/l2_to_l1_membership.js +3 -3
- package/dest/p2p/checkpoint_proposal.d.ts +8 -1
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +9 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +1 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +3 -0
- package/dest/slashing/tally.d.ts +2 -1
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +6 -2
- package/dest/slashing/types.d.ts +5 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +7 -1
- package/dest/tests/factories.js +3 -3
- package/package.json +20 -10
- package/src/abi/function_call.ts +25 -3
- package/src/block/in_block.ts +1 -1
- package/src/interfaces/p2p.ts +1 -1
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +7 -0
- package/src/interfaces/slasher.ts +2 -0
- package/src/interfaces/validator.ts +2 -1
- package/src/logs/log_id.ts +15 -12
- package/src/messaging/l2_to_l1_membership.ts +3 -3
- package/src/p2p/checkpoint_proposal.ts +10 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/slashing/empire.ts +2 -1
- package/src/slashing/helpers.ts +4 -0
- package/src/slashing/tally.ts +8 -2
- package/src/slashing/types.ts +7 -0
- package/src/tests/factories.ts +5 -5
|
@@ -30,10 +30,10 @@ import { SiblingPath, UnbalancedMerkleTreeCalculator, computeUnbalancedShaRoot }
|
|
|
30
30
|
* - Compression: If a block has no messages (out hash = 0), that branch is ignored
|
|
31
31
|
*
|
|
32
32
|
* 4. **Epoch Tree**
|
|
33
|
-
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to
|
|
33
|
+
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to OUT_HASH_TREE_LEAF_COUNT)
|
|
34
34
|
* - Root: Epoch out hash (set in the root rollup's public inputs and inserted into the Outbox on L1 when the epoch is proven)
|
|
35
35
|
* - Type: Unbalanced, non-compressed
|
|
36
|
-
* - **Important**: Padded with zeros up to
|
|
36
|
+
* - **Important**: Padded with zeros up to OUT_HASH_TREE_LEAF_COUNT to allow for proofs of partial epochs
|
|
37
37
|
*
|
|
38
38
|
* ## Combined Membership Proof
|
|
39
39
|
* To prove a message exists in an epoch, we combine the sibling paths from all 4 trees:
|
|
@@ -131,7 +131,7 @@ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoc
|
|
|
131
131
|
}
|
|
132
132
|
return buildCheckpointTree(messagesInCheckpoint).getRoot();
|
|
133
133
|
});
|
|
134
|
-
// Pad to
|
|
134
|
+
// Pad to OUT_HASH_TREE_LEAF_COUNT with zeros.
|
|
135
135
|
checkpointOutHashes = checkpointOutHashes.concat(Array.from({
|
|
136
136
|
length: OUT_HASH_TREE_LEAF_COUNT - messagesInEpoch.length
|
|
137
137
|
}, ()=>Buffer.alloc(32)));
|
|
@@ -86,6 +86,13 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
86
86
|
*/
|
|
87
87
|
getBlockProposal(): BlockProposal | undefined;
|
|
88
88
|
toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
|
|
89
|
+
toCheckpointInfo(): {
|
|
90
|
+
slotNumber: SlotNumber;
|
|
91
|
+
archive: Fr;
|
|
92
|
+
lastBlockNumber: BlockNumber | undefined;
|
|
93
|
+
lastBlockIndex: IndexWithinCheckpoint | undefined;
|
|
94
|
+
blockHeadersHash: Fr;
|
|
95
|
+
};
|
|
89
96
|
/**
|
|
90
97
|
* Get the payload to sign for this checkpoint proposal.
|
|
91
98
|
* The signature is over the checkpoint header + archive root (for consensus).
|
|
@@ -164,4 +171,4 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
164
171
|
* This type makes it clear that lastBlock and getBlockProposal() are not available.
|
|
165
172
|
*/
|
|
166
173
|
export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,wBAAwB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,uBAAuB,GAAG;IACpC,gEAAgE;IAChE,WAAW,EAAE,WAAW,CAAC;IACzB,gGAAgG;IAChG,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,qDAAqD;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG;IACvE,wFAAwF;IACxF,SAAS,EAAE,SAAS,CAAC;IACrB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAM9C,qDAAqD;aACrC,gBAAgB,EAAE,gBAAgB;IAElD,oDAAoD;aACpC,OAAO,EAAE,EAAE;IAE3B,wFAAwF;aACxE,SAAS,EAAE,SAAS;IAEpC,yFAAyF;aACzE,SAAS,CAAC;IAf5B,OAAgB,QAAQ,YAAiC;IAEzD,OAAO,CAAC,MAAM,CAAyB;IAEvC;IACE,qDAAqD;IACrC,gBAAgB,EAAE,gBAAgB;IAElD,oDAAoD;IACpC,OAAO,EAAE,EAAE;IAE3B,wFAAwF;IACxE,SAAS,EAAE,SAAS;IAEpC,yFAAyF;IACzE,SAAS,CAAC,iCAAqB,EAGhD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,WAAW,IAAI,WAAW,CAK7B;IAED,qDAAqD;IACrD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;IAED,gDAAgD;IAChD,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,SAAS,CAE1B;IAED;;;OAGG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAc5C;IAED,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAW9C;IAED,gBAAgB;;;;;;MAQf;IAED;;;OAGG;IACH,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAElE;IAED,OAAa,wBAAwB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,EAAE,EACf,aAAa,EAAE,uBAAuB,GAAG,SAAS,EAClD,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,GAChF,OAAO,CAAC,kBAAkB,CAAC,CAiC7B;IAED;;;;OAIG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAmBlC;IAED,UAAU,4BAET;IAED,QAAQ,IAAI,MAAM,CAqBjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB,CAqChE;IAED,OAAO,IAAI,MAAM,CAmBhB;IAED,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAEjC;IAED,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAOlC;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcR;IAED;;;OAGG;IACH,MAAM,IAAI,sBAAsB,CAE/B;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC"}
|
|
@@ -74,6 +74,15 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
74
74
|
txCount: this.lastBlock.txHashes.length
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
+
toCheckpointInfo() {
|
|
78
|
+
return {
|
|
79
|
+
slotNumber: this.slotNumber,
|
|
80
|
+
archive: this.archive,
|
|
81
|
+
lastBlockNumber: this.lastBlock?.blockHeader.getBlockNumber(),
|
|
82
|
+
lastBlockIndex: this.lastBlock?.indexWithinCheckpoint,
|
|
83
|
+
blockHeadersHash: this.checkpointHeader.blockHeadersHash
|
|
84
|
+
};
|
|
85
|
+
}
|
|
77
86
|
/**
|
|
78
87
|
* Get the payload to sign for this checkpoint proposal.
|
|
79
88
|
* The signature is over the checkpoint header + archive root (for consensus).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
|
|
2
|
-
import {
|
|
2
|
+
import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
@@ -33,11 +33,11 @@ export declare class CheckpointRollupPublicInputs {
|
|
|
33
33
|
/**
|
|
34
34
|
* The hashes of the headers of the constituent checkpoints.
|
|
35
35
|
*/
|
|
36
|
-
checkpointHeaderHashes: Tuple<Fr, typeof
|
|
36
|
+
checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>;
|
|
37
37
|
/**
|
|
38
38
|
* The summed transaction fees and recipients of the constituent checkpoints.
|
|
39
39
|
*/
|
|
40
|
-
fees: Tuple<FeeRecipient, typeof
|
|
40
|
+
fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>;
|
|
41
41
|
/**
|
|
42
42
|
* Accumulated opening proofs for all blobs before this checkpoint range.
|
|
43
43
|
*/
|
|
@@ -74,11 +74,11 @@ export declare class CheckpointRollupPublicInputs {
|
|
|
74
74
|
/**
|
|
75
75
|
* The hashes of the headers of the constituent checkpoints.
|
|
76
76
|
*/
|
|
77
|
-
checkpointHeaderHashes: Tuple<Fr, typeof
|
|
77
|
+
checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>,
|
|
78
78
|
/**
|
|
79
79
|
* The summed transaction fees and recipients of the constituent checkpoints.
|
|
80
80
|
*/
|
|
81
|
-
fees: Tuple<FeeRecipient, typeof
|
|
81
|
+
fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>,
|
|
82
82
|
/**
|
|
83
83
|
* Accumulated opening proofs for all blobs before this checkpoint range.
|
|
84
84
|
*/
|
|
@@ -119,4 +119,4 @@ export declare class FeeRecipient {
|
|
|
119
119
|
};
|
|
120
120
|
static random(): FeeRecipient;
|
|
121
121
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yb2xsdXBfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvbGx1cC9jaGVja3BvaW50X3JvbGx1cF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxLQUFLLEVBQXdDLE1BQU0sNkJBQTZCLENBQUM7QUFFN0csT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxxQkFBYSw0QkFBNEI7SUFFckM7O09BRUc7SUFDSSxTQUFTLEVBQUUsaUJBQWlCO0lBQ25DOztPQUVHO0lBQ0ksZUFBZSxFQUFFLHNCQUFzQjtJQUM5Qzs7T0FFRztJQUNJLFVBQVUsRUFBRSxzQkFBc0I7SUFDekM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUMxRTs7T0FFRztJQUNJLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8seUJBQXlCLENBQUM7SUFDbEU7O09BRUc7SUFDSSxvQkFBb0IsRUFBRSxlQUFlO0lBQzVDOztPQUVHO0lBQ0ksa0JBQWtCLEVBQUUsZUFBZTtJQUMxQzs7T0FFRztJQUNJLG1CQUFtQixFQUFFLDJCQUEyQjtJQXhDekQ7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxpQkFBaUI7SUFDbkM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLGVBQWUsRUFBRSxzQkFBc0I7SUFDOUM7O09BRUc7SUFDSSxVQUFVLEVBQUUsc0JBQXNCO0lBQ3pDOztPQUVHO0lBQ0ksc0JBQXNCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLHlCQUF5QixDQUFDO0lBQzFFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUNsRTs7T0FFRztJQUNJLG9CQUFvQixFQUFFLGVBQWU7SUFDNUM7O09BRUc7SUFDSSxrQkFBa0IsRUFBRSxlQUFlO0lBQzFDOztPQUVHO0lBQ0ksbUJBQW1CLEVBQUUsMkJBQTJCLEVBQ3JEO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0NBYzlDO0lBRUQsUUFBUSw0QkFhUDtJQUVELFFBQVEsa0JBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLGdDQUU1QjtJQUVELDhEQUE4RDtJQUM5RCxNQUFNLDRCQUVMO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sS0FBSyxNQUFNLHFFQUVoQjtDQUNGO0FBRUQscUJBQWEsWUFBWTtJQUVkLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLEtBQUssRUFBRSxFQUFFO0lBRmxCLFlBQ1MsU0FBUyxFQUFFLFVBQVUsRUFDckIsS0FBSyxFQUFFLEVBQUUsRUFDZDtJQUVKLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsWUFBWSxDQUc3RDtJQUVELFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLDZCQUU5QztJQUVELFFBQVEsU0FFUDtJQUVELE1BQU0sQ0FBQyxLQUFLLGlCQUVYO0lBRUQsT0FBTyxZQUVOO0lBRUQsY0FBYzs7Ozs7O01BS2I7SUFFRCxNQUFNLENBQUMsTUFBTSxpQkFFWjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,4BAA4B;IAErC;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IAxCzD;IACE;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B,EACrD;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gCAc9C;IAED,QAAQ,4BAaP;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gCAE5B;IAED,8DAA8D;IAC9D,MAAM,4BAEL;IAED,6CAA6C;IAC7C,MAAM,KAAK,MAAM,qEAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;IAFlB,YACS,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAG7D;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,6BAE9C;IAED,QAAQ,SAEP;IAED,MAAM,CAAC,KAAK,iBAEX;IAED,OAAO,YAEN;IAED,cAAc;;;;;;MAKb;IAED,MAAM,CAAC,MAAM,iBAEZ;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
|
|
2
|
-
import {
|
|
2
|
+
import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
@@ -54,7 +54,7 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
54
54
|
}
|
|
55
55
|
static fromBuffer(buffer) {
|
|
56
56
|
const reader = BufferReader.asReader(buffer);
|
|
57
|
-
return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readArray(
|
|
57
|
+
return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient), reader.readObject(BlobAccumulator), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges));
|
|
58
58
|
}
|
|
59
59
|
toBuffer() {
|
|
60
60
|
return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.previousOutHash, this.newOutHash, this.checkpointHeaderHashes, this.fees, this.startBlobAccumulator, this.endBlobAccumulator, this.finalBlobChallenges);
|
|
@@ -89,7 +89,7 @@ export declare class CheckpointRootRollupHints {
|
|
|
89
89
|
*/
|
|
90
90
|
blobsHash: Fr);
|
|
91
91
|
static from(fields: FieldsOf<CheckpointRootRollupHints>): CheckpointRootRollupHints;
|
|
92
|
-
static getFields(fields: FieldsOf<CheckpointRootRollupHints>): readonly [BlockHeader, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], AppendOnlyTreeSnapshot, [Fr, Fr, Fr, Fr, Fr
|
|
92
|
+
static getFields(fields: FieldsOf<CheckpointRootRollupHints>): readonly [BlockHeader, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], AppendOnlyTreeSnapshot, [Fr, Fr, Fr, Fr, Fr], BlobAccumulator, FinalBlobBatchingChallenges, Fr[], [BLS12Point, BLS12Point, BLS12Point, BLS12Point, BLS12Point, BLS12Point], Fr];
|
|
93
93
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
94
94
|
static fromBuffer(buffer: Buffer | BufferReader): CheckpointRootRollupHints;
|
|
95
95
|
toString(): `0x${string}`;
|
|
@@ -138,4 +138,4 @@ export declare class CheckpointPaddingRollupPrivateInputs {
|
|
|
138
138
|
toJSON(): Buffer<ArrayBuffer>;
|
|
139
139
|
static get schema(): import("zod").ZodType<CheckpointPaddingRollupPrivateInputs, any, string>;
|
|
140
140
|
}
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yb290X3JvbGx1cF9wcml2YXRlX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvbGx1cC9jaGVja3BvaW50X3Jvb3Rfcm9sbHVwX3ByaXZhdGVfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFtQixvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEtBQUssRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQWEsS0FBSyxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxxQkFBYSx5QkFBeUI7SUFFbEM7O09BRUc7SUFDSSxtQkFBbUIsRUFBRSxXQUFXO0lBQ3ZDOztPQUVHO0lBQ0ksMEJBQTBCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLGNBQWMsQ0FBQztJQUNuRTs7T0FFRztJQUNJLGVBQWUsRUFBRSxzQkFBc0I7SUFDOUM7O09BRUc7SUFDSSxxQkFBcUIsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sb0JBQW9CLENBQUM7SUFDcEU7O09B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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_root_rollup_private_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_root_rollup_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAE1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,qBAAa,yBAAyB;IAElC;;OAEG;IACI,mBAAmB,EAAE,WAAW;IACvC;;OAEG;IACI,0BAA0B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;IACnE;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,qBAAqB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,oBAAoB,CAAC;IACpE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IACvD;;;;OAIG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,oBAAoB,CAAC;IACtE;;;OAGG;IACI,SAAS,EAAE,EAAE;IAvCtB;IACE;;OAEG;IACI,mBAAmB,EAAE,WAAW;IACvC;;OAEG;IACI,0BAA0B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;IACnE;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,qBAAqB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,oBAAoB,CAAC;IACpE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IACvD;;;;OAIG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,oBAAoB,CAAC;IACtE;;;OAGG;IACI,SAAS,EAAE,EAAE,EAClB;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC,6BAEtD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC,
|
|
1
|
+
{"version":3,"file":"checkpoint_root_rollup_private_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_root_rollup_private_inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FinalBlobAccumulator } from '@aztec/blob-lib/types';
|
|
2
|
-
import {
|
|
2
|
+
import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
5
5
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
@@ -21,8 +21,8 @@ export declare class RootRollupPublicInputs {
|
|
|
21
21
|
*/
|
|
22
22
|
outHash: Fr;
|
|
23
23
|
/** Hashes of checkpoint headers for this rollup. */
|
|
24
|
-
checkpointHeaderHashes: Tuple<Fr, typeof
|
|
25
|
-
fees: Tuple<FeeRecipient, typeof
|
|
24
|
+
checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>;
|
|
25
|
+
fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>;
|
|
26
26
|
constants: EpochConstantData;
|
|
27
27
|
blobPublicInputs: FinalBlobAccumulator;
|
|
28
28
|
constructor(
|
|
@@ -36,8 +36,8 @@ export declare class RootRollupPublicInputs {
|
|
|
36
36
|
*/
|
|
37
37
|
outHash: Fr,
|
|
38
38
|
/** Hashes of checkpoint headers for this rollup. */
|
|
39
|
-
checkpointHeaderHashes: Tuple<Fr, typeof
|
|
40
|
-
static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr
|
|
39
|
+
checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>, fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>, constants: EpochConstantData, blobPublicInputs: FinalBlobAccumulator);
|
|
40
|
+
static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient], EpochConstantData, FinalBlobAccumulator];
|
|
41
41
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
42
42
|
toFields(): Fr[];
|
|
43
43
|
static from(fields: FieldsOf<RootRollupPublicInputs>): RootRollupPublicInputs;
|
|
@@ -56,4 +56,4 @@ export declare class RootRollupPublicInputs {
|
|
|
56
56
|
/** Creates a random instance. Used for testing only - will not prove/verify. */
|
|
57
57
|
static random(): RootRollupPublicInputs;
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdF9yb2xsdXBfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvbGx1cC9yb290X3JvbGx1cF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssS0FBSyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTdHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7OztHQUlHO0FBQ0gscUJBQWEsc0JBQXNCO0lBRS9CLCtEQUErRDtJQUN4RCxtQkFBbUIsRUFBRSxFQUFFO0lBQzlCLDhEQUE4RDtJQUN2RCxjQUFjLEVBQUUsRUFBRTtJQUN6Qjs7O09BR0c7SUFDSSxPQUFPLEVBQUUsRUFBRTtJQUNsQixvREFBb0Q7SUFDN0Msc0JBQXNCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLHlCQUF5QixDQUFDO0lBQ25FLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8seUJBQXlCLENBQUM7SUFDM0QsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixnQkFBZ0IsRUFBRSxvQkFBb0I7SUFkL0M7SUFDRSwrREFBK0Q7SUFDeEQsbUJBQW1CLEVBQUUsRUFBRTtJQUM5Qiw4REFBOEQ7SUFDdkQsY0FBYyxFQUFFLEVBQUU7SUFDekI7OztPQUdHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEIsb0RBQW9EO0lBQzdDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQyxFQUNuRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLHlCQUF5QixDQUFDLEVBQzNELFNBQVMsRUFBRSxpQkFBaUIsRUFDNUIsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQzNDO0lBRUosTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHNCQUFzQixDQUFDLHNvQkFVeEQ7SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsc0JBQXNCLENBRTVFO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHNCQUFzQixDQVc5RTtJQUVELFFBQVEsa0JBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLDBCQUU1QjtJQUVELHVEQUF1RDtJQUN2RCxNQUFNLDRCQUVMO0lBRUQseUNBQXlDO0lBQ3pDLE1BQU0sS0FBSyxNQUFNLCtEQUVoQjtJQUVELGdGQUFnRjtJQUNoRixNQUFNLENBQUMsTUFBTSwyQkFVWjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"root_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,sBAAsB;IAE/B,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE;IACzB;;;OAGG;IACI,OAAO,EAAE,EAAE;IAClB,oDAAoD;IAC7C,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IACnE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAC3D,SAAS,EAAE,iBAAiB;IAC5B,gBAAgB,EAAE,oBAAoB;IAd/C;IACE,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE;IACzB;;;OAGG;IACI,OAAO,EAAE,EAAE;IAClB,oDAAoD;IAC7C,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC,EACnE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC,EAC3D,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,oBAAoB,EAC3C;IAEJ,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,soBAUxD;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,sBAAsB,CAE5E;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAW9E;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,0BAE5B;IAED,uDAAuD;IACvD,MAAM,4BAEL;IAED,yCAAyC;IACzC,MAAM,KAAK,MAAM,+DAEhB;IAED,gFAAgF;IAChF,MAAM,CAAC,MAAM,2BAUZ;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FinalBlobAccumulator } from '@aztec/blob-lib/types';
|
|
2
|
-
import {
|
|
2
|
+
import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
5
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
@@ -57,7 +57,7 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
57
57
|
* @returns The deserialized `RootRollupPublicInputs` object.
|
|
58
58
|
*/ static fromBuffer(buffer) {
|
|
59
59
|
const reader = BufferReader.asReader(buffer);
|
|
60
|
-
return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(
|
|
60
|
+
return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient), EpochConstantData.fromBuffer(reader), reader.readObject(FinalBlobAccumulator));
|
|
61
61
|
}
|
|
62
62
|
toString() {
|
|
63
63
|
return bufferToHex(this.toBuffer());
|
|
@@ -72,6 +72,6 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
72
72
|
return bufferSchemaFor(RootRollupPublicInputs);
|
|
73
73
|
}
|
|
74
74
|
/** Creates a random instance. Used for testing only - will not prove/verify. */ static random() {
|
|
75
|
-
return new RootRollupPublicInputs(Fr.random(), Fr.random(), Fr.random(), makeTuple(
|
|
75
|
+
return new RootRollupPublicInputs(Fr.random(), Fr.random(), Fr.random(), makeTuple(MAX_CHECKPOINTS_PER_EPOCH, Fr.random), makeTuple(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient.random), new EpochConstantData(Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random()), FinalBlobAccumulator.random());
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -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,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBc0NSIn0=
|
|
@@ -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,
|
|
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"}
|
package/dest/slashing/empire.js
CHANGED
|
@@ -64,6 +64,7 @@ import { OffenseType } from './types.js';
|
|
|
64
64
|
case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
|
|
65
65
|
case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
|
|
66
66
|
case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
|
|
67
|
+
case OffenseType.DUPLICATE_PROPOSAL:
|
|
67
68
|
{
|
|
68
69
|
const slot = offense.epochOrSlot;
|
|
69
70
|
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' | 'slashPrunePenalty' | 'slashDataWithholdingPenalty' | 'slashUnknownPenalty' | 'slashInactivityPenalty' | 'slashProposeInvalidAttestationsPenalty'>): bigint;
|
|
23
|
+
export declare function getPenaltyForOffense(offense: OffenseType, config: Pick<SlasherConfig, 'slashAttestDescendantOfInvalidPenalty' | 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | '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,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBd0MsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZELDRGQUE0RjtBQUM1Rix3QkFBZ0IsZUFBZSxDQUM3QixJQUFJLEVBQUUsVUFBVSxFQUNoQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN2QztJQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0NBQUUsQ0FNM0M7QUFFRCxnR0FBZ0c7QUFDaEcsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsV0FBVyxFQUNsQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBS2xCO0FBRUQsK0RBQStEO0FBQy9ELHdCQUFnQixpQkFBaUIsQ0FDL0IsS0FBSyxFQUFFLE1BQU0sRUFDYixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsV0FBVyxFQUFFLENBVWY7QUFFRCx5RkFBeUY7QUFDekYsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUNwQixNQUFNLEVBQUUsSUFBSSxDQUNWLGFBQWEsRUFDWCx1Q0FBdUMsR0FDdkMscUNBQXFDLEdBQ3JDLCtCQUErQixHQUMvQixtQkFBbUIsR0FDbkIsNkJBQTZCLEdBQzdCLHFCQUFxQixHQUNyQix3QkFBd0IsR0FDeEIsd0NBQXdDLENBQzNDLFVBeUJGO0FBRUQsMkZBQTJGO0FBQzNGLHdCQUFnQixxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBa0I1RTtBQUVELHFIQUFxSDtBQUNySCx3QkFBZ0IsaUJBQWlCLENBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsVUFBVSxDQUtaO0FBRUQsNkdBQTZHO0FBQzdHLHdCQUFnQixrQkFBa0IsQ0FDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUNyRCxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUNsRCxNQUFNLENBQUM7QUFDVix3QkFBZ0Isa0JBQWtCLENBQ2hDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFDOUQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQVl0QixvRUFBb0U7QUFDcEUsd0JBQWdCLGtCQUFrQixDQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLEVBQ3JELFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM5RCxNQUFNLENBR1IifQ==
|
|
@@ -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,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,wBAAwB,GACxB,wCAAwC,CAC3C,
|
|
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"}
|
package/dest/slashing/helpers.js
CHANGED
|
@@ -46,6 +46,8 @@ import { OffenseType } from './types.js';
|
|
|
46
46
|
return config.slashAttestDescendantOfInvalidPenalty;
|
|
47
47
|
case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
|
|
48
48
|
return config.slashBroadcastedInvalidBlockPenalty;
|
|
49
|
+
case OffenseType.DUPLICATE_PROPOSAL:
|
|
50
|
+
return config.slashDuplicateProposalPenalty;
|
|
49
51
|
case OffenseType.UNKNOWN:
|
|
50
52
|
return config.slashUnknownPenalty;
|
|
51
53
|
default:
|
|
@@ -59,6 +61,7 @@ import { OffenseType } from './types.js';
|
|
|
59
61
|
switch(offense){
|
|
60
62
|
case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
|
|
61
63
|
case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
|
|
64
|
+
case OffenseType.DUPLICATE_PROPOSAL:
|
|
62
65
|
case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
|
|
63
66
|
case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
|
|
64
67
|
return 'slot';
|
package/dest/slashing/tally.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type { Offense, ValidatorSlashVote } from './types.js';
|
|
|
12
12
|
export declare function getSlashConsensusVotesFromOffenses(offenses: PartialBy<Offense, 'epochOrSlot'>[], committees: EthAddress[][], epochsForCommittees: bigint[], settings: {
|
|
13
13
|
slashingAmounts: [bigint, bigint, bigint];
|
|
14
14
|
epochDuration: number;
|
|
15
|
+
targetCommitteeSize: number;
|
|
15
16
|
}): ValidatorSlashVote[];
|
|
16
17
|
/**
|
|
17
18
|
* Encodes a set of slash votes into a Buffer for use in a consensus slashing vote transaction.
|
|
@@ -20,4 +21,4 @@ export declare function getSlashConsensusVotesFromOffenses(offenses: PartialBy<O
|
|
|
20
21
|
* @returns A Buffer containing the encoded slash votes
|
|
21
22
|
*/
|
|
22
23
|
export declare function encodeSlashConsensusVotes(votes: ValidatorSlashVote[]): Buffer;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFsbHkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy90YWxseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTlEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0Isa0NBQWtDLENBQ2hELFFBQVEsRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQzdDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUMxQixtQkFBbUIsRUFBRSxNQUFNLEVBQUUsRUFDN0IsUUFBUSxFQUFFO0lBQ1IsZUFBZSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztDQUM3QixHQUNBLGtCQUFrQixFQUFFLENBK0J0QjtBQWVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLHlCQUF5QixDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sQ0FlN0UifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../../src/slashing/tally.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../../src/slashing/tally.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAC7C,UAAU,EAAE,UAAU,EAAE,EAAE,EAC1B,mBAAmB,EAAE,MAAM,EAAE,EAC7B,QAAQ,EAAE;IACR,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACA,kBAAkB,EAAE,CA+BtB;AAeD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAe7E"}
|
package/dest/slashing/tally.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { sumBigint } from '@aztec/foundation/bigint';
|
|
2
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
2
3
|
import { getEpochForOffense } from './helpers.js';
|
|
3
4
|
/**
|
|
4
5
|
* Creates a consensus-slash vote for a given set of committees based on a set of Offenses
|
|
@@ -8,13 +9,15 @@ import { getEpochForOffense } from './helpers.js';
|
|
|
8
9
|
* @param settings - Settings including slashingAmounts and optional validator override lists
|
|
9
10
|
* @returns Array of ValidatorSlashVote, where each vote is how many slash units the validator in that position should be slashed
|
|
10
11
|
*/ export function getSlashConsensusVotesFromOffenses(offenses, committees, epochsForCommittees, settings) {
|
|
11
|
-
const { slashingAmounts } = settings;
|
|
12
|
+
const { slashingAmounts, targetCommitteeSize } = settings;
|
|
12
13
|
if (committees.length !== epochsForCommittees.length) {
|
|
13
14
|
throw new Error('committees and epochsForCommittees must have the same length');
|
|
14
15
|
}
|
|
15
16
|
const votes = committees.flatMap((committee, committeeIndex)=>{
|
|
16
17
|
const committeeEpoch = epochsForCommittees[committeeIndex];
|
|
17
|
-
|
|
18
|
+
// Map over actual committee members, then pad to targetCommitteeSize.
|
|
19
|
+
// Padding handles cases where committees may be empty (e.g., when there aren't enough validators to fill the committee size during network startup).
|
|
20
|
+
const votes = committee.map((validator)=>{
|
|
18
21
|
// Find offenses for this validator in this specific epoch.
|
|
19
22
|
// If an offense has no epoch, it is considered for all epochs due to a slashAlways setting.
|
|
20
23
|
const validatorOffenses = offenses.filter((o)=>o.validator.equals(validator) && (o.epochOrSlot === undefined || getEpochForOffense(o, settings) === committeeEpoch));
|
|
@@ -23,6 +26,7 @@ import { getEpochForOffense } from './helpers.js';
|
|
|
23
26
|
const slashUnits = getSlashUnitsForAmount(slashAmount, slashingAmounts);
|
|
24
27
|
return Number(slashUnits);
|
|
25
28
|
});
|
|
29
|
+
return padArrayEnd(votes, 0, targetCommitteeSize);
|
|
26
30
|
});
|
|
27
31
|
return votes;
|
|
28
32
|
}
|
package/dest/slashing/types.d.ts
CHANGED
|
@@ -15,9 +15,11 @@ export declare enum OffenseType {
|
|
|
15
15
|
/** A proposer pushed to L1 a block with incorrect committee attestations (ie signature from a non-committee member) */
|
|
16
16
|
PROPOSED_INCORRECT_ATTESTATIONS = 6,
|
|
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
|
-
ATTESTED_DESCENDANT_OF_INVALID = 7
|
|
18
|
+
ATTESTED_DESCENDANT_OF_INVALID = 7,
|
|
19
|
+
/** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */
|
|
20
|
+
DUPLICATE_PROPOSAL = 8
|
|
19
21
|
}
|
|
20
|
-
export declare function getOffenseTypeName(offense: OffenseType): "attested_descendant_of_invalid" | "broadcasted_invalid_block_proposal" | "data_withholding" | "inactivity" | "proposed_incorrect_attestations" | "proposed_insufficient_attestations" | "unknown" | "valid_epoch_pruned";
|
|
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";
|
|
21
23
|
export declare const OffenseTypeSchema: z.ZodNativeEnum<typeof OffenseType>;
|
|
22
24
|
export declare const OffenseToBigInt: Record<OffenseType, bigint>;
|
|
23
25
|
export declare function bigIntToOffense(offense: bigint): OffenseType;
|
|
@@ -158,4 +160,4 @@ export type ProposerSlashAction =
|
|
|
158
160
|
round: bigint;
|
|
159
161
|
};
|
|
160
162
|
export type ProposerSlashActionType = ProposerSlashAction['type'];
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixvQkFBWSxXQUFXO0lBQ3JCLE9BQU8sSUFBSTtJQUNYLHVGQUF1RjtJQUN2RixnQkFBZ0IsSUFBSTtJQUNwQiwyRUFBMkU7SUFDM0Usa0JBQWtCLElBQUk7SUFDdEIsdUZBQXVGO0lBQ3ZGLFVBQVUsSUFBSTtJQUNkLHNGQUFzRjtJQUN0RixrQ0FBa0MsSUFBSTtJQUN0QywrRUFBK0U7SUFDL0Usa0NBQWtDLElBQUk7SUFDdEMsdUhBQXVIO0lBQ3ZILCtCQUErQixJQUFJO0lBQ25DLDBJQUEwSTtJQUMxSSw4QkFBOEIsSUFBSTtJQUNsQyxpSUFBaUk7SUFDakksa0JBQWtCLElBQUk7Q0FDdkI7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLFdBQVcsb1BBdUJ0RDtBQUVELGVBQU8sTUFBTSxpQkFBaUIscUNBQTRCLENBQUM7QUFFM0QsZUFBTyxNQUFNLGVBQWUsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FVdkQsQ0FBQztBQUVGLHdCQUFnQixlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBdUI1RDtBQUVELE1BQU0sTUFBTSxPQUFPLEdBQUc7SUFDcEIsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFDO0NBQ3JCLENBQUM7QUFFRixNQUFNLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBRTNGLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7RUFPekIsQ0FBQztBQUVGLCtEQUErRDtBQUMvRCxNQUFNLE1BQU0scUJBQXFCLEdBQUc7SUFDbEMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixXQUFXLEVBQUUsV0FBVyxDQUFDO0NBQzFCLENBQUM7QUFFRix5RkFBeUY7QUFDekYsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztDQUNuQyxDQUFDO0FBRUYsOERBQThEO0FBQzlELE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDMUIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQixDQUFDO0FBRUYsc0VBQXNFO0FBQ3RFLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxZQUFZLEdBQUc7SUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFaEYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFjbkMsQ0FBQztBQUVGLGtFQUFrRTtBQUNsRSxNQUFNLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBRXhDLE1BQU0sTUFBTSxtQkFBbUI7QUFDN0IsbUVBQW1FO0FBQ2pFO0lBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDO0lBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFBO0NBQUU7QUFDM0Qsb0VBQW9FO0dBQ2xFO0lBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDO0lBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQTtDQUFFO0FBQ3RELG1FQUFtRTtHQUNqRTtJQUFFLElBQUksRUFBRSx3QkFBd0IsQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FBRTtBQUNuRCx5REFBeUQ7R0FDdkQ7SUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDO0lBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FBRTtBQUNuRyxnRUFBZ0U7R0FDOUQ7SUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDO0lBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQztBQUV6RSxNQUFNLE1BQU0sdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/slashing/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oBAAY,WAAW;IACrB,OAAO,IAAI;IACX,uFAAuF;IACvF,gBAAgB,IAAI;IACpB,2EAA2E;IAC3E,kBAAkB,IAAI;IACtB,uFAAuF;IACvF,UAAU,IAAI;IACd,sFAAsF;IACtF,kCAAkC,IAAI;IACtC,+EAA+E;IAC/E,kCAAkC,IAAI;IACtC,uHAAuH;IACvH,+BAA+B,IAAI;IACnC,0IAA0I;IAC1I,8BAA8B,IAAI;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/slashing/types.ts"],"names":[],"mappings":"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"}
|
package/dest/slashing/types.js
CHANGED
|
@@ -9,6 +9,7 @@ export var OffenseType = /*#__PURE__*/ function(OffenseType) {
|
|
|
9
9
|
/** A proposer pushed to L1 a block with insufficient committee attestations */ OffenseType[OffenseType["PROPOSED_INSUFFICIENT_ATTESTATIONS"] = 5] = "PROPOSED_INSUFFICIENT_ATTESTATIONS";
|
|
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
|
+
/** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */ OffenseType[OffenseType["DUPLICATE_PROPOSAL"] = 8] = "DUPLICATE_PROPOSAL";
|
|
12
13
|
return OffenseType;
|
|
13
14
|
}({});
|
|
14
15
|
export function getOffenseTypeName(offense) {
|
|
@@ -29,6 +30,8 @@ export function getOffenseTypeName(offense) {
|
|
|
29
30
|
return 'proposed_incorrect_attestations';
|
|
30
31
|
case 7:
|
|
31
32
|
return 'attested_descendant_of_invalid';
|
|
33
|
+
case 8:
|
|
34
|
+
return 'duplicate_proposal';
|
|
32
35
|
default:
|
|
33
36
|
throw new Error(`Unknown offense type: ${offense}`);
|
|
34
37
|
}
|
|
@@ -42,7 +45,8 @@ export const OffenseToBigInt = {
|
|
|
42
45
|
[4]: 4n,
|
|
43
46
|
[5]: 5n,
|
|
44
47
|
[6]: 6n,
|
|
45
|
-
[7]: 7n
|
|
48
|
+
[7]: 7n,
|
|
49
|
+
[8]: 8n
|
|
46
50
|
};
|
|
47
51
|
export function bigIntToOffense(offense) {
|
|
48
52
|
switch(offense){
|
|
@@ -62,6 +66,8 @@ export function bigIntToOffense(offense) {
|
|
|
62
66
|
return 6;
|
|
63
67
|
case 7n:
|
|
64
68
|
return 7;
|
|
69
|
+
case 8n:
|
|
70
|
+
return 8;
|
|
65
71
|
default:
|
|
66
72
|
throw new Error(`Unknown offense: ${offense}`);
|
|
67
73
|
}
|
package/dest/tests/factories.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeBlobAccumulator, makeFinalBlobAccumulator, makeFinalBlobBatchingChallenges, makeSpongeBlob } from '@aztec/blob-lib/testing';
|
|
2
|
-
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
|
|
2
|
+
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, CHONK_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, GeneratorIndex, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, MAX_CHECKPOINTS_PER_EPOCH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PROTOCOL_CONTRACTS, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
4
|
import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
5
5
|
import { compact } from '@aztec/foundation/collection';
|
|
@@ -441,7 +441,7 @@ function makeEpochConstantData(seed = 1) {
|
|
|
441
441
|
return new BlockRollupPublicInputs(makeCheckpointConstantData(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeStateReference(seed + 0x400), makeStateReference(seed + 0x500), makeSpongeBlob(seed + 0x600), makeSpongeBlob(seed + 0x700), BigInt(seed + 0x800), fr(seed + 0x820), fr(seed + 0x830), fr(seed + 0x840), fr(seed + 0x850), fr(seed + 0x860));
|
|
442
442
|
}
|
|
443
443
|
export function makeCheckpointRollupPublicInputs(seed = 0) {
|
|
444
|
-
return new CheckpointRollupPublicInputs(makeEpochConstantData(seed), makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeAppendOnlyTreeSnapshot(seed + 0x350), makeTuple(
|
|
444
|
+
return new CheckpointRollupPublicInputs(makeEpochConstantData(seed), makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeAppendOnlyTreeSnapshot(seed + 0x350), makeTuple(MAX_CHECKPOINTS_PER_EPOCH, ()=>fr(seed), 0x400), makeTuple(MAX_CHECKPOINTS_PER_EPOCH, ()=>makeFeeRecipient(seed), 0x500), makeBlobAccumulator(seed + 0x600), makeBlobAccumulator(seed + 0x700), makeFinalBlobBatchingChallenges(seed + 0x800));
|
|
445
445
|
}
|
|
446
446
|
export function makeParityPublicInputs(seed = 0) {
|
|
447
447
|
return new ParityPublicInputs(new Fr(BigInt(seed + 0x200)), new Fr(BigInt(seed + 0x300)), new Fr(BigInt(seed + 0x400)));
|
|
@@ -458,7 +458,7 @@ export function makeParityRootPrivateInputs(seed = 0) {
|
|
|
458
458
|
* @param blockNumber - The block number to use in the global variables of a header.
|
|
459
459
|
* @returns A root rollup public inputs.
|
|
460
460
|
*/ export function makeRootRollupPublicInputs(seed = 0) {
|
|
461
|
-
return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), fr(seed + 0x300), makeTuple(
|
|
461
|
+
return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), fr(seed + 0x300), makeTuple(MAX_CHECKPOINTS_PER_EPOCH, ()=>fr(seed), 0x400), makeTuple(MAX_CHECKPOINTS_PER_EPOCH, ()=>makeFeeRecipient(seed), 0x500), makeEpochConstantData(seed + 0x600), makeFinalBlobAccumulator(seed + 0x700));
|
|
462
462
|
}
|
|
463
463
|
export function makeBlockHeader(seed = 0, overrides = {}) {
|
|
464
464
|
return BlockHeader.from({
|