@aztec-labs/stdlib 6.0.0-rc.1 → 6.0.0-rc.3
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/avm/avm.d.ts +210 -210
- package/dest/avm/message_pack.d.ts +1 -1
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +10 -0
- package/dest/block/block_parameter.d.ts +10 -1
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +8 -3
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +11 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +12 -0
- package/dest/checkpoint/validate.d.ts +2 -1
- package/dest/checkpoint/validate.d.ts.map +1 -1
- package/dest/checkpoint/validate.js +9 -0
- package/dest/config/network-consensus-config.d.ts +17 -5
- package/dest/config/network-consensus-config.d.ts.map +1 -1
- package/dest/config/network-consensus-config.js +54 -8
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_address.js +1 -1
- package/dest/gas/fee_math.d.ts +2 -2
- package/dest/gas/fee_math.js +2 -2
- package/dest/gas/gas_fees.d.ts +27 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +3 -0
- package/dest/interfaces/aztec-node-admin.d.ts +2 -1
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +27 -5
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +8 -1
- package/dest/interfaces/configs.d.ts +9 -1
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +2 -1
- package/dest/interfaces/prover-broker.d.ts +3 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +70 -70
- package/dest/interfaces/server_circuit_prover.d.ts +4 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/keys/derivation.js +2 -2
- package/dest/messaging/l1_to_l2_message.d.ts +20 -1
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +30 -8
- package/dest/p2p/block_proposal.d.ts +1 -1
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +5 -0
- package/dest/p2p/checkpoint_proposal.d.ts +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +5 -0
- package/dest/p2p/gossipable.d.ts +1 -1
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +6 -0
- package/package.json +7 -7
- package/src/avm/message_pack.ts +10 -0
- package/src/block/block_parameter.ts +13 -1
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +14 -0
- package/src/checkpoint/validate.ts +14 -0
- package/src/config/network-consensus-config.ts +70 -11
- package/src/contract/contract_address.ts +1 -1
- package/src/gas/README.md +2 -2
- package/src/gas/fee_math.ts +2 -2
- package/src/gas/gas_fees.ts +35 -0
- package/src/interfaces/aztec-node.ts +41 -4
- package/src/interfaces/configs.ts +8 -0
- package/src/interfaces/prover-broker.ts +2 -0
- package/src/interfaces/server_circuit_prover.ts +3 -2
- package/src/keys/derivation.ts +2 -2
- package/src/messaging/l1_to_l2_message.ts +39 -11
- package/src/p2p/block_proposal.ts +6 -0
- package/src/p2p/checkpoint_proposal.ts +6 -0
- package/src/p2p/gossipable.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_circuit_prover.d.ts","sourceRoot":"","sources":["../../src/interfaces/server_circuit_prover.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server_circuit_prover.d.ts","sourceRoot":"","sources":["../../src/interfaces/server_circuit_prover.ts"],"names":[],"mappings":"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"}
|
package/dest/keys/derivation.js
CHANGED
|
@@ -59,11 +59,11 @@ export function computePreaddress(publicKeysHash, partialAddress) {
|
|
|
59
59
|
return poseidon2HashWithSeparator([
|
|
60
60
|
publicKeysHash,
|
|
61
61
|
partialAddress
|
|
62
|
-
], DomainSeparator.
|
|
62
|
+
], DomainSeparator.CONTRACT_ADDRESS_V3);
|
|
63
63
|
}
|
|
64
64
|
export async function computeAddress(publicKeys, partialAddress) {
|
|
65
65
|
// Given public keys and a partial address, we can compute our address in the following steps.
|
|
66
|
-
// 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.
|
|
66
|
+
// 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V3);
|
|
67
67
|
// 2. addressPoint = (preaddress * G) + ivpk_m
|
|
68
68
|
// 3. address = addressPoint.x
|
|
69
69
|
const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
|
|
@@ -61,10 +61,29 @@ export interface UnsiloedMessageNullifier {
|
|
|
61
61
|
* in the nullifier tree.
|
|
62
62
|
*/
|
|
63
63
|
export declare function computeFeeJuiceMessageNullifier(messageHash: Fr, secret: Fr): Promise<Fr>;
|
|
64
|
+
/** The outcome of {@link lookUpL1ToL2MessageWitness}. */
|
|
65
|
+
export type L1ToL2MessageWitnessLookup =
|
|
66
|
+
/** The message is in the tree and, if a nullifier was given, has not been consumed. */
|
|
67
|
+
{
|
|
68
|
+
type: 'found';
|
|
69
|
+
witness: [bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>];
|
|
70
|
+
}
|
|
71
|
+
/** The message is not in the tree. */
|
|
72
|
+
| {
|
|
73
|
+
type: 'missing';
|
|
74
|
+
}
|
|
75
|
+
/** A nullifier was given and the message has been consumed. */
|
|
76
|
+
| {
|
|
77
|
+
type: 'nullified';
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Looks up the membership witness of an L1 to L2 message in the L1 to L2 message tree at `referenceBlock`.
|
|
81
|
+
*/
|
|
82
|
+
export declare function lookUpL1ToL2MessageWitness(node: AztecNode, messageHash: Fr, unsiloedNullifier: UnsiloedMessageNullifier | undefined, referenceBlock: BlockParameter): Promise<L1ToL2MessageWitnessLookup>;
|
|
64
83
|
/**
|
|
65
84
|
* Fetches the membership witness of an L1 to L2 message. When `unsiloedNullifier` is provided, the message is
|
|
66
85
|
* additionally required to be un-nullified.
|
|
67
86
|
*/
|
|
68
87
|
export declare function getL1ToL2MessageWitness(node: AztecNode, messageHash: Fr, unsiloedNullifier?: UnsiloedMessageNullifier, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
|
|
69
88
|
export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsS0FBSyx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3ZGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLGtDQUFrQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxxQkFBYSxhQUFhO0lBRXRCLHVDQUF1QzthQUN2QixNQUFNLEVBQUUsT0FBTztJQUMvQiwwQ0FBMEM7YUFDMUIsU0FBUyxFQUFFLE9BQU87SUFDbEMsMkJBQTJCO2FBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDM0IsdUNBQXVDO2FBQ3ZCLFVBQVUsRUFBRSxFQUFFO0lBQzlCLGdEQUFnRDthQUNoQyxLQUFLLEVBQUUsRUFBRTtJQVYzQjtJQUNFLHVDQUF1QztJQUN2QixNQUFNLEVBQUUsT0FBTztJQUMvQiwwQ0FBMEM7SUFDMUIsU0FBUyxFQUFFLE9BQU87SUFDbEMsMkJBQTJCO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDM0IsdUNBQXVDO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFO0lBQzlCLGdEQUFnRDtJQUNoQyxLQUFLLEVBQUUsRUFBRSxFQUN2QjtJQUVKOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsSUFBSSxJQUFJLEVBQUUsQ0FFVDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsYUFBYSxDQVE5RDtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FHN0M7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FFNUI7SUFFRCxPQUFhLE1BQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLENBRTVDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5QixTQUFTLEVBQUUsRUFBRSxDQUFDO0NBQ2Y7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLCtCQUErQixDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBRXhGO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sTUFBTSwwQkFBMEI7QUFDcEMsdUZBQXVGO0FBQ3JGO0lBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLENBQUE7Q0FBRTtBQUNwRixzQ0FBc0M7R0FDcEM7SUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFBO0NBQUU7QUFDckIsK0RBQStEO0dBQzdEO0lBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQTtDQUFFLENBQUM7QUFFMUI7O0dBRUc7QUFDSCx3QkFBc0IsMEJBQTBCLENBQzlDLElBQUksRUFBRSxTQUFTLEVBQ2YsV0FBVyxFQUFFLEVBQUUsRUFDZixpQkFBaUIsRUFBRSx3QkFBd0IsR0FBRyxTQUFTLEVBQ3ZELGNBQWMsRUFBRSxjQUFjLEdBQzdCLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQW1CckM7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0IsdUJBQXVCLENBQzNDLElBQUksRUFBRSxTQUFTLEVBQ2YsV0FBVyxFQUFFLEVBQUUsRUFDZixpQkFBaUIsQ0FBQyxFQUFFLHdCQUF3QixFQUM1QyxjQUFjLEdBQUUsY0FBeUIsR0FDeEMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQVVqRTtBQUdELHdCQUFzQixtQ0FBbUMsQ0FDdkQsSUFBSSxFQUFFLFNBQVMsRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEVBQ1YsY0FBYyxHQUFFLGNBQXlCLEdBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FHakUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGvF,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAqB,MAAM,kCAAkC,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAEtB,uCAAuC;aACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;aAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;aACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;aACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;aAChC,KAAK,EAAE,EAAE;IAV3B;IACE,uCAAuC;IACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;IAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;IACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;IACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;IAChC,KAAK,EAAE,EAAE,EACvB;IAEJ;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAQ9D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAG7C;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5C;CACF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,EAAE,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAExF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,EAAE,EACf,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,cAAc,GAAE,cAAyB,GACxC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,23 +78,45 @@ import { L2Actor } from './l2_actor.js';
|
|
|
78
78
|
], DomainSeparator.MESSAGE_NULLIFIER);
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
82
|
-
|
|
83
|
-
*/ export async function getL1ToL2MessageWitness(node, messageHash, unsiloedNullifier, referenceBlock = 'latest') {
|
|
81
|
+
* Looks up the membership witness of an L1 to L2 message in the L1 to L2 message tree at `referenceBlock`.
|
|
82
|
+
*/ export async function lookUpL1ToL2MessageWitness(node, messageHash, unsiloedNullifier, referenceBlock) {
|
|
84
83
|
// Both requests are dispatched before awaiting so they run concurrently.
|
|
85
84
|
const l1ToL2ResponsePromise = node.getL1ToL2MessageMembershipWitness(referenceBlock, messageHash);
|
|
86
85
|
const nullifierResponsePromise = unsiloedNullifier ? siloNullifier(unsiloedNullifier.contractAddress, unsiloedNullifier.nullifier).then((siloed)=>node.findLeavesIndexes(referenceBlock, MerkleTreeId.NULLIFIER_TREE, [
|
|
87
86
|
siloed
|
|
88
87
|
])) : undefined;
|
|
89
|
-
const l1ToL2Response = await
|
|
88
|
+
const [l1ToL2Response, nullifierResponse] = await Promise.all([
|
|
89
|
+
l1ToL2ResponsePromise,
|
|
90
|
+
nullifierResponsePromise
|
|
91
|
+
]);
|
|
90
92
|
if (!l1ToL2Response) {
|
|
91
|
-
|
|
93
|
+
return {
|
|
94
|
+
type: 'missing'
|
|
95
|
+
};
|
|
92
96
|
}
|
|
93
|
-
const nullifierResponse = await nullifierResponsePromise;
|
|
94
97
|
if (nullifierResponse?.[0] !== undefined) {
|
|
95
|
-
|
|
98
|
+
return {
|
|
99
|
+
type: 'nullified'
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
type: 'found',
|
|
104
|
+
witness: l1ToL2Response
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Fetches the membership witness of an L1 to L2 message. When `unsiloedNullifier` is provided, the message is
|
|
109
|
+
* additionally required to be un-nullified.
|
|
110
|
+
*/ export async function getL1ToL2MessageWitness(node, messageHash, unsiloedNullifier, referenceBlock = 'latest') {
|
|
111
|
+
const lookup = await lookUpL1ToL2MessageWitness(node, messageHash, unsiloedNullifier, referenceBlock);
|
|
112
|
+
switch(lookup.type){
|
|
113
|
+
case 'missing':
|
|
114
|
+
throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
115
|
+
case 'nullified':
|
|
116
|
+
throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
117
|
+
case 'found':
|
|
118
|
+
return lookup.witness;
|
|
96
119
|
}
|
|
97
|
-
return l1ToL2Response;
|
|
98
120
|
}
|
|
99
121
|
// This functionality is not on the node because we do not want to pass the node the secret, and give the node the ability to derive a valid nullifer for an L1 to L2 message.
|
|
100
122
|
export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret, referenceBlock = 'latest') {
|
|
@@ -177,4 +177,4 @@ export declare class BlockProposal extends Gossipable implements Signable {
|
|
|
177
177
|
*/
|
|
178
178
|
withoutSignedTxs(): BlockProposal;
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsS0FBSyxnQkFBZ0IsRUFDckIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUss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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,qBAAqB,EACrB,UAAU,EACX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,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,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,UAAW,YAAW,QAAQ;IAQ7D,uEAAuE;aACvD,WAAW,EAAE,WAAW;IAExC,4DAA4D;aAC5C,qBAAqB,EAAE,qBAAqB;IAE5D,+CAA+C;aAC/B,WAAW,EAAE,EAAE;IAE/B,gDAAgD;aAChC,QAAQ,EAAE,MAAM,EAAE;IAElC,mDAAmD;aACnC,SAAS,EAAE,SAAS;IAEpC,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAE9D;;;;;;;;;;OAUG;aACa,cAAc,EAAE,qBAAqB;IAErD,yEAAyE;aACzD,SAAS,CAAC;IAvC5B,OAAgB,QAAQ,YAA4B;IAEpD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAmB;IAElE,OAAO,CAAC,YAAY,CAA4C;IAEhE;IACE,uEAAuE;IACvD,WAAW,EAAE,WAAW;IAExC,4DAA4D;IAC5C,qBAAqB,EAAE,qBAAqB;IAE5D,+CAA+C;IAC/B,WAAW,EAAE,EAAE;IAE/B,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAAE;IAElC,mDAAmD;IACnC,SAAS,EAAE,SAAS;IAEpC,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B;IAE9D;;;;;;;;;;OAUG;IACa,cAAc,EAAE,qBAAqB;IAErD,yEAAyE;IACzD,SAAS,CAAC,uBAAW,EAGtC;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,gDAAgD;IAChD,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,SAAS,CAE1B;IAED,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAQ9C;IAED;;;;;OAKG;IACH,gBAAgB,IAAI,MAAM,CASzB;IAED,OAAO,CAAC,oBAAoB;IAI5B;;;;;;OAMG;IACH,cAAc,IAAI,iBAAiB,CAElC;IAED,OAAa,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,WAAW,EAAE,EAAE,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,EAAE,EAAE,EAAE,GAAG,SAAS,EACrB,gBAAgB,EAAE,4BAA4B,EAC9C,cAAc,EAAE,qBAAqB,EACrC,cAAc,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,EAC/F,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,GAC1F,OAAO,CAAC,aAAa,CAAC,CA8CxB;IAED;;;;;;OAMG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAoBlC;IAED,UAAU,4BAET;IAED,QAAQ,IAAI,MAAM,CAoBjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,6 +169,11 @@ import { TopicType } from './topic_type.js';
|
|
|
169
169
|
}
|
|
170
170
|
static fromBuffer(buf) {
|
|
171
171
|
const reader = BufferReader.asReader(buf);
|
|
172
|
+
// Decoding is lenient on purpose, for forward compatibility: trailing bytes are ignored and any non-zero
|
|
173
|
+
// presence flag reads as present, so a newer version can append fields that older nodes skip over. Rejecting
|
|
174
|
+
// them would make every wire extension a coordinated upgrade. Lenient decoding does not let one proposal take
|
|
175
|
+
// several identities, since the P2P message identifier and the signature both cover the signed payload rather
|
|
176
|
+
// than the raw bytes.
|
|
172
177
|
const blockHeader = reader.readObject(BlockHeader);
|
|
173
178
|
const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
|
|
174
179
|
const archiveRoot = reader.readObject(Fr);
|
|
@@ -202,4 +202,4 @@ export declare class CheckpointProposal extends Gossipable implements Signable {
|
|
|
202
202
|
* This type makes it clear that lastBlock and getBlockProposal() are not available.
|
|
203
203
|
*/
|
|
204
204
|
export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,YAAY,EAA4C,MAAM,kCAAkC,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,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,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF,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;IACtB;;;;;OAKG;IACH,cAAc,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,UAAW,YAAW,QAAQ;IAQlE,qDAAqD;aACrC,gBAAgB,EAAE,gBAAgB;IAElD,oDAAoD;aACpC,OAAO,EAAE,EAAE;IAE3B,iEAAiE;aACjD,qBAAqB,EAAE,MAAM;IAE7C,gHAAgH;aAChG,SAAS,EAAE,SAAS;IAEpC,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAE9D,yFAAyF;aACzE,SAAS,CAAC;IAvB5B,OAAgB,QAAQ,YAAiC;IAEzD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAwB;IAEvE,OAAO,CAAC,YAAY,CAA4C;IAEhE;IACE,qDAAqD;IACrC,gBAAgB,EAAE,gBAAgB;IAElD,oDAAoD;IACpC,OAAO,EAAE,EAAE;IAE3B,iEAAiE;IACjD,qBAAqB,EAAE,MAAM;IAE7C,gHAAgH;IAChG,SAAS,EAAE,SAAS;IAEpC,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B;IAE9D,yFAAyF;IACzE,SAAS,CAAC,iDAAqC,EAwBhE;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAe5C;IAED,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAW9C;IAED,gBAAgB;;;;;;MAQf;IAED;;;OAGG;IACH,gBAAgB,IAAI,MAAM,CAEzB;IAED;;;;;;;;OAQG;IACH,cAAc,IAAI,sBAAsB,CAEvC;IAED,kFAAkF;IAClF,kBAAkB,IAAI,gBAAgB,CAErC;IAED,OAAa,wBAAwB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,EAAE,EACf,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,MAAM,EAC7B,iBAAiB,EAAE,aAAa,GAAG,SAAS,EAC5C,gBAAgB,EAAE,4BAA4B,EAC9C,aAAa,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,GAC7F,OAAO,CAAC,kBAAkB,CAAC,CA0B7B;IAED;;;;OAIG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAiBlC;IAED,UAAU,4BAET;IAED,QAAQ,IAAI,MAAM,CA6BjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,YAAY,EAA4C,MAAM,kCAAkC,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,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,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF,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;IACtB;;;;;OAKG;IACH,cAAc,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,UAAW,YAAW,QAAQ;IAQlE,qDAAqD;aACrC,gBAAgB,EAAE,gBAAgB;IAElD,oDAAoD;aACpC,OAAO,EAAE,EAAE;IAE3B,iEAAiE;aACjD,qBAAqB,EAAE,MAAM;IAE7C,gHAAgH;aAChG,SAAS,EAAE,SAAS;IAEpC,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAE9D,yFAAyF;aACzE,SAAS,CAAC;IAvB5B,OAAgB,QAAQ,YAAiC;IAEzD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAwB;IAEvE,OAAO,CAAC,YAAY,CAA4C;IAEhE;IACE,qDAAqD;IACrC,gBAAgB,EAAE,gBAAgB;IAElD,oDAAoD;IACpC,OAAO,EAAE,EAAE;IAE3B,iEAAiE;IACjD,qBAAqB,EAAE,MAAM;IAE7C,gHAAgH;IAChG,SAAS,EAAE,SAAS;IAEpC,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B;IAE9D,yFAAyF;IACzE,SAAS,CAAC,iDAAqC,EAwBhE;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAe5C;IAED,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAW9C;IAED,gBAAgB;;;;;;MAQf;IAED;;;OAGG;IACH,gBAAgB,IAAI,MAAM,CAEzB;IAED;;;;;;;;OAQG;IACH,cAAc,IAAI,sBAAsB,CAEvC;IAED,kFAAkF;IAClF,kBAAkB,IAAI,gBAAgB,CAErC;IAED,OAAa,wBAAwB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,EAAE,EACf,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,MAAM,EAC7B,iBAAiB,EAAE,aAAa,GAAG,SAAS,EAC5C,gBAAgB,EAAE,4BAA4B,EAC9C,aAAa,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,GAC7F,OAAO,CAAC,kBAAkB,CAAC,CA0B7B;IAED;;;;OAIG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAiBlC;IAED,UAAU,4BAET;IAED,QAAQ,IAAI,MAAM,CA6BjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB,CA6ChE;IAED,OAAO,IAAI,MAAM,CAuBhB;IAED,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAQjC;IAED,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAgBlC;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkBR;IAED;;;OAGG;IACH,MAAM,IAAI,sBAAsB,CAQ/B;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC"}
|
|
@@ -167,6 +167,11 @@ import { TopicType } from './topic_type.js';
|
|
|
167
167
|
}
|
|
168
168
|
static fromBuffer(buf) {
|
|
169
169
|
const reader = BufferReader.asReader(buf);
|
|
170
|
+
// Decoding is lenient on purpose, for forward compatibility: trailing bytes are ignored and any non-zero
|
|
171
|
+
// presence flag reads as present, so a newer version can append fields that older nodes skip over. Rejecting
|
|
172
|
+
// them would make every wire extension a coordinated upgrade. Lenient decoding does not let one proposal take
|
|
173
|
+
// several identities, since the P2P message identifier and the signature both cover the signed payload rather
|
|
174
|
+
// than the raw bytes.
|
|
170
175
|
const checkpointHeader = reader.readObject(CheckpointHeader);
|
|
171
176
|
const archive = reader.readObject(Fr);
|
|
172
177
|
const feeAssetPriceModifier = reader.readInt256();
|
package/dest/p2p/gossipable.d.ts
CHANGED
|
@@ -32,4 +32,4 @@ export declare abstract class Gossipable {
|
|
|
32
32
|
*/
|
|
33
33
|
abstract getSize(): number;
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29zc2lwYWJsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9nb3NzaXBhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUc3RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxxQkFBYSxVQUFVO2FBRUgsT0FBTyxFQUFFLE1BQU07YUFDZixTQUFTLENBQUM7YUFDVixZQUFZLENBQUM7SUFIL0IsWUFDa0IsT0FBTyxFQUFFLE1BQU0sRUFDZixTQUFTLENBQUMsa0JBQU0sRUFDaEIsWUFBWSxDQUFDLG9CQUFRLEVBQ25DO0lBRUosTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixVQUFRLEVBQUUsWUFBWSxDQUFDLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FLeEc7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLFVBQVEsR0FBRyxVQUFVLENBZ0JsRjtJQUVELGFBQWEsSUFBSSxNQUFNLENBUXRCO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsOEJBQXNCLFVBQVU7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBMkI7SUFDM0MsMkVBQTJFO0lBQzNFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBRTNCOzs7T0FHRztJQUNHLDJCQUEyQixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FNekQ7SUFFRCxRQUFRLENBQUMsNEJBQTRCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRS9ELFFBQVEsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDO0lBRTVCLFNBQVMsSUFBSSxNQUFNLENBRWxCO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7Q0FDNUIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipable.d.ts","sourceRoot":"","sources":["../../src/p2p/gossipable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;aAEH,OAAO,EAAE,MAAM;aACf,SAAS,CAAC;aACV,YAAY,CAAC;IAH/B,YACkB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,kBAAM,EAChB,YAAY,CAAC,oBAAQ,EACnC;IAEJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,UAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAKxG;IAED,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,UAAQ,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"gossipable.d.ts","sourceRoot":"","sources":["../../src/p2p/gossipable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;aAEH,OAAO,EAAE,MAAM;aACf,SAAS,CAAC;aACV,YAAY,CAAC;IAH/B,YACkB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,kBAAM,EAChB,YAAY,CAAC,oBAAQ,EACnC;IAEJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,UAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAKxG;IAED,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,UAAQ,GAAG,UAAU,CAgBlF;IAED,aAAa,IAAI,MAAM,CAQtB;CACF;AAED;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAA2B;IAC3C,2EAA2E;IAC3E,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE3B;;;OAGG;IACG,2BAA2B,IAAI,OAAO,CAAC,YAAY,CAAC,CAMzD;IAED,QAAQ,CAAC,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/D,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC;IAE5B,SAAS,IAAI,MAAM,CAElB;IAED;;;OAGG;IACH,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;CAC5B"}
|
package/dest/p2p/gossipable.js
CHANGED
|
@@ -23,6 +23,12 @@ export class P2PMessage {
|
|
|
23
23
|
traceContext = reader.readString();
|
|
24
24
|
}
|
|
25
25
|
const payload = reader.readBuffer();
|
|
26
|
+
// Reject trailing bytes: padding leaves the same payload but a new message id, so a copy evades
|
|
27
|
+
// both the seen-message dedup and the duplicate-delivery peer scoring, letting a peer replay one
|
|
28
|
+
// valid message (e.g. a proposal it cannot forge) as fresh deliveries.
|
|
29
|
+
if (!reader.isEmpty()) {
|
|
30
|
+
throw new Error('P2PMessage has trailing bytes after its payload');
|
|
31
|
+
}
|
|
26
32
|
return new P2PMessage(payload, timestamp, traceContext);
|
|
27
33
|
}
|
|
28
34
|
toMessageData() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec-labs/stdlib",
|
|
3
|
-
"version": "6.0.0-rc.
|
|
3
|
+
"version": "6.0.0-rc.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -92,12 +92,12 @@
|
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
94
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
95
|
-
"@aztec-foundation/bb.js": "6.0.0-rc.
|
|
96
|
-
"@aztec-foundation/noir-noirc_abi": "6.0.0-rc.
|
|
97
|
-
"@aztec-labs/blob-lib": "6.0.0-rc.
|
|
98
|
-
"@aztec-labs/constants": "6.0.0-rc.
|
|
99
|
-
"@aztec-labs/ethereum": "6.0.0-rc.
|
|
100
|
-
"@aztec-labs/foundation": "6.0.0-rc.
|
|
95
|
+
"@aztec-foundation/bb.js": "6.0.0-rc.6",
|
|
96
|
+
"@aztec-foundation/noir-noirc_abi": "6.0.0-rc.6",
|
|
97
|
+
"@aztec-labs/blob-lib": "6.0.0-rc.3",
|
|
98
|
+
"@aztec-labs/constants": "6.0.0-rc.3",
|
|
99
|
+
"@aztec-labs/ethereum": "6.0.0-rc.3",
|
|
100
|
+
"@aztec-labs/foundation": "6.0.0-rc.3",
|
|
101
101
|
"@google-cloud/storage": "^7.15.0",
|
|
102
102
|
"axios": "^1.15.1",
|
|
103
103
|
"json-stringify-deterministic": "1.0.12",
|
package/src/avm/message_pack.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { strict as assert } from 'assert';
|
|
|
5
5
|
import { Decoder, Encoder, addExtension } from 'msgpackr';
|
|
6
6
|
|
|
7
7
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
8
9
|
|
|
9
10
|
export function serializeWithMessagePack(obj: any): Buffer {
|
|
10
11
|
setUpMessagePackExtensions();
|
|
@@ -87,5 +88,14 @@ function setUpMessagePackExtensions() {
|
|
|
87
88
|
write: (addr: EthAddress) => addr.toField().toBuffer(),
|
|
88
89
|
read: (data: Buffer) => EthAddress.fromField(Fr.fromBuffer(data)),
|
|
89
90
|
});
|
|
91
|
+
// The leaf index is a uint64_t in C++, but a number in TS, and msgpackr encodes any number above 0xffffffff as a
|
|
92
|
+
// float64, which the C++ decoder rejects for an unsigned field. Widen it here, as toBuffer does with writeUInt64.
|
|
93
|
+
addExtension({
|
|
94
|
+
Class: AppendOnlyTreeSnapshot,
|
|
95
|
+
write: (snapshot: AppendOnlyTreeSnapshot) => ({
|
|
96
|
+
...snapshot,
|
|
97
|
+
nextAvailableLeafIndex: BigInt(snapshot.nextAvailableLeafIndex),
|
|
98
|
+
}),
|
|
99
|
+
});
|
|
90
100
|
messagePackWasSetUp = true;
|
|
91
101
|
}
|
|
@@ -42,16 +42,28 @@ const normalizedBlockParameterObjectSchema = z.object({
|
|
|
42
42
|
tag: z.unknown().optional(),
|
|
43
43
|
});
|
|
44
44
|
|
|
45
|
+
const archiveBlockParameterObjectSchema = z.object({ archive: schemas.Fr }).strict();
|
|
46
|
+
|
|
45
47
|
const normalizedBlockParameterVariants = z.union([
|
|
46
48
|
z.object({ number: BlockNumberSchema }).strict(),
|
|
47
49
|
z.object({ hash: BlockHash.schema }).strict(),
|
|
48
|
-
|
|
50
|
+
archiveBlockParameterObjectSchema,
|
|
49
51
|
z.object({ tag: BlockTagWithoutLatestSchema }).strict(),
|
|
50
52
|
]);
|
|
51
53
|
|
|
52
54
|
export const NormalizedBlockParameterSchema: z.ZodType<NormalizedBlockParameter, unknown> =
|
|
53
55
|
normalizedBlockParameterObjectSchema.pipe(normalizedBlockParameterVariants);
|
|
54
56
|
|
|
57
|
+
/** Selector naming a block by its archive tree root: the root after the block's own hash was appended. */
|
|
58
|
+
export type ArchiveBlockParameter = { archive: Fr };
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Accepts only `{ archive }`, rejecting every other {@link BlockParameter} form, including an object that names another
|
|
62
|
+
* selector alongside the archive. Keys that are not selectors are dropped, as for {@link BlockParameterSchema}.
|
|
63
|
+
*/
|
|
64
|
+
export const ArchiveBlockParameterSchema: z.ZodType<ArchiveBlockParameter, unknown> =
|
|
65
|
+
normalizedBlockParameterObjectSchema.pipe(archiveBlockParameterObjectSchema);
|
|
66
|
+
|
|
55
67
|
/**
|
|
56
68
|
* Anchor naming a block by both its height and its hash.
|
|
57
69
|
*
|
|
@@ -153,6 +153,20 @@ export class CheckpointReexecutionTracker {
|
|
|
153
153
|
return this.bySlot.get(slot)?.outcome;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
+
/**
|
|
157
|
+
* Whether this slot's recorded outcome is `valid` *and* was recorded for this archive root.
|
|
158
|
+
*
|
|
159
|
+
* {@link hasReexecuted} answers the same question but needs a checkpoint number, which the paths that re-validate
|
|
160
|
+
* a cached verdict do not always have: pruning the checkpoint's last block makes revalidation fail before the
|
|
161
|
+
* blocks are loaded, so its failure carries no checkpoint number. Keyed by slot and archive, this still tells a
|
|
162
|
+
* later local inability apart from a determination about the same checkpoint, while a different archive at the
|
|
163
|
+
* same slot remains a different question that records as usual.
|
|
164
|
+
*/
|
|
165
|
+
public hasValidOutcomeForSlot(slot: SlotNumber, archiveRoot: Fr): boolean {
|
|
166
|
+
const entry = this.bySlot.get(slot);
|
|
167
|
+
return entry?.outcome === 'valid' && entry.archiveRoot === archiveRoot.toString();
|
|
168
|
+
}
|
|
169
|
+
|
|
156
170
|
/**
|
|
157
171
|
* Returns the recorded tx-collection result for a block proposal at the given slot and
|
|
158
172
|
* `indexWithinCheckpoint`, or `undefined` if no record exists.
|
|
@@ -56,6 +56,7 @@ export function validateCheckpoint(
|
|
|
56
56
|
* - Archive root chaining between consecutive blocks
|
|
57
57
|
* - Consistent slot number across all blocks
|
|
58
58
|
* - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
|
|
59
|
+
* - No tx hash appears more than once across all blocks of the checkpoint
|
|
59
60
|
*/
|
|
60
61
|
export function validateCheckpointStructure(
|
|
61
62
|
checkpoint: Checkpoint,
|
|
@@ -77,6 +78,7 @@ export function validateCheckpointStructure(
|
|
|
77
78
|
}
|
|
78
79
|
|
|
79
80
|
const firstBlock = blocks[0];
|
|
81
|
+
const seenTxHashes = new Set<string>();
|
|
80
82
|
|
|
81
83
|
if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
|
|
82
84
|
throw new CheckpointValidationError(
|
|
@@ -131,6 +133,18 @@ export function validateCheckpointStructure(
|
|
|
131
133
|
);
|
|
132
134
|
}
|
|
133
135
|
}
|
|
136
|
+
|
|
137
|
+
for (const txEffect of block.body.txEffects) {
|
|
138
|
+
const txHash = txEffect.txHash.toString();
|
|
139
|
+
if (seenTxHashes.has(txHash)) {
|
|
140
|
+
throw new CheckpointValidationError(
|
|
141
|
+
`Tx ${txHash} in block ${block.number} appears more than once in the checkpoint`,
|
|
142
|
+
number,
|
|
143
|
+
slot,
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
seenTxHashes.add(txHash);
|
|
147
|
+
}
|
|
134
148
|
}
|
|
135
149
|
}
|
|
136
150
|
|
|
@@ -14,7 +14,7 @@ import { ProposerTimetable } from '../timetable/proposer_timetable.js';
|
|
|
14
14
|
import { sharedSequencerConfigMappings } from './sequencer-config.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Environment variables whose values must be identical across every node of a network. They fall into
|
|
17
|
+
* Environment variables whose values must be identical across every node of a network. They fall into four
|
|
18
18
|
* categories, all consensus-critical:
|
|
19
19
|
*
|
|
20
20
|
* - Timing/protocol consensus: slot and epoch durations, block sub-slot duration, max blocks per checkpoint, and
|
|
@@ -26,6 +26,8 @@ import { sharedSequencerConfigMappings } from './sequencer-config.js';
|
|
|
26
26
|
* it points at would compute the wrong epoch geometry, fees, or slashing rounds.
|
|
27
27
|
* - Node-side slashing offense consensus: the offense detection/penalty parameters validators apply locally to
|
|
28
28
|
* decide which payloads to sign. Validators must agree on these to reach the on-chain slashing quorum.
|
|
29
|
+
* - Validator acceptance limits: the most txs a validator accepts in a peer's checkpoint. These are floors rather
|
|
30
|
+
* than exact values (see {@link NETWORK_CONSENSUS_RAISABLE_ENV_VARS}), and proposers must build within them.
|
|
29
31
|
*
|
|
30
32
|
* Deliberately excluded: bootnodes, P2P/store/OTEL/sentinel settings, SEQ_MIN_TX_PER_BLOCK, SEQ_MAX_TX_PER_*,
|
|
31
33
|
* AZTEC_SLASHER_ENABLED, PROVER_REAL_PROOFS, TRANSACTIONS_DISABLED, and AZTEC_ENTRY_QUEUE_* (mainnet-only genesis
|
|
@@ -84,11 +86,21 @@ export const NETWORK_CONSENSUS_ENV_VARS = [
|
|
|
84
86
|
'SLASH_INVALID_BLOCK_PENALTY',
|
|
85
87
|
'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY',
|
|
86
88
|
'SLASH_GRACE_PERIOD_L2_SLOTS',
|
|
89
|
+
|
|
90
|
+
// Validator acceptance limits.
|
|
91
|
+
'VALIDATOR_MAX_TX_PER_CHECKPOINT',
|
|
87
92
|
] as const satisfies readonly EnvVar[];
|
|
88
93
|
|
|
89
94
|
/** A consensus-critical environment variable name; see {@link NETWORK_CONSENSUS_ENV_VARS}. */
|
|
90
95
|
export type ConsensusEnvVar = (typeof NETWORK_CONSENSUS_ENV_VARS)[number];
|
|
91
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Consensus-critical vars an operator may raise above the network value but never lower. A validator that accepts
|
|
99
|
+
* more than the network limit still accepts every checkpoint an honest proposer builds within it, whereas a stricter
|
|
100
|
+
* one would reject a protocol-valid checkpoint and decline to attest to it.
|
|
101
|
+
*/
|
|
102
|
+
export const NETWORK_CONSENSUS_RAISABLE_ENV_VARS: readonly ConsensusEnvVar[] = ['VALIDATOR_MAX_TX_PER_CHECKPOINT'];
|
|
103
|
+
|
|
92
104
|
/**
|
|
93
105
|
* The subset of consensus-critical timing config whose geometry can be validated in isolation. Composed by
|
|
94
106
|
* picking the canonical fields from their owning config types so the field set never drifts from the config
|
|
@@ -231,13 +243,17 @@ export function validateNetworkConsensusConfig(config: NetworkConsensusConfig):
|
|
|
231
243
|
*
|
|
232
244
|
* For each var in {@link NETWORK_CONSENSUS_ENV_VARS} present in `networkConfig`: if the operator set it in `env`
|
|
233
245
|
* to a conflicting value, this throws unless `ALLOW_OVERRIDING_NETWORK_CONFIG` is truthy (in which case it logs
|
|
234
|
-
* and keeps the operator value).
|
|
246
|
+
* and keeps the operator value). For a var in {@link NETWORK_CONSENSUS_RAISABLE_ENV_VARS}, only a value below the
|
|
247
|
+
* network one conflicts. The same applies to a `SEQ_MAX_TX_PER_CHECKPOINT` (from `env`, or else from
|
|
248
|
+
* `networkConfig`) above the network `VALIDATOR_MAX_TX_PER_CHECKPOINT`: validators running the network value would
|
|
249
|
+
* reject every checkpoint this node proposed over it.
|
|
235
250
|
*
|
|
236
251
|
* This function is pure: it never writes to `env`. Instead it returns the canonical env writes the caller
|
|
237
252
|
* should apply — a map of env-var name to canonical string value for every numeric var whose env value matched
|
|
238
253
|
* the network value numerically. Applying these closes a bypass where the config layer parses some vars with
|
|
239
254
|
* `parseInt` (which reads '6e3' as 6); rewriting them to the network value's string form keeps the operator's
|
|
240
|
-
* numerically-equal value but in canonical form.
|
|
255
|
+
* numerically-equal value but in canonical form. A raisable var set above the network value is canonicalized to
|
|
256
|
+
* its own numeric value for the same reason. Vars kept under `ALLOW_OVERRIDING_NETWORK_CONFIG` (genuine
|
|
241
257
|
* conflicts) are not included, so the operator value is preserved untouched.
|
|
242
258
|
*
|
|
243
259
|
* @returns Canonical env writes (env-var name -> canonical string value) for the caller to apply.
|
|
@@ -251,6 +267,18 @@ export function checkConsensusEnvOverrides(
|
|
|
251
267
|
const canonical: Record<string, string> = {};
|
|
252
268
|
const conflicts: string[] = [];
|
|
253
269
|
|
|
270
|
+
const reportConflict = (conflict: string) => {
|
|
271
|
+
if (allowOverride) {
|
|
272
|
+
log?.(
|
|
273
|
+
`Environment variable ${conflict}. Consensus-critical values must match across the network, but ` +
|
|
274
|
+
`ALLOW_OVERRIDING_NETWORK_CONFIG is set so the operator value is kept (only do this if you know what ` +
|
|
275
|
+
`you are doing).`,
|
|
276
|
+
);
|
|
277
|
+
} else {
|
|
278
|
+
conflicts.push(conflict);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
|
|
254
282
|
for (const envVar of NETWORK_CONSENSUS_ENV_VARS) {
|
|
255
283
|
const networkValue = networkConfig[envVar];
|
|
256
284
|
if (networkValue === undefined) {
|
|
@@ -271,16 +299,21 @@ export function checkConsensusEnvOverrides(
|
|
|
271
299
|
continue;
|
|
272
300
|
}
|
|
273
301
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
);
|
|
302
|
+
if (NETWORK_CONSENSUS_RAISABLE_ENV_VARS.includes(envVar) && networkIsNumeric) {
|
|
303
|
+
if (Number(current) > networkValue) {
|
|
304
|
+
canonical[envVar] = String(Number(current));
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
reportConflict(`${envVar}=${current} is below the network value ${networkValue} and may only be raised`);
|
|
281
308
|
continue;
|
|
282
309
|
}
|
|
283
|
-
|
|
310
|
+
|
|
311
|
+
reportConflict(`${envVar}=${current} conflicts with the network value ${networkValue}`);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
const proposerConflict = getProposerTxLimitConflict(networkConfig, env);
|
|
315
|
+
if (proposerConflict !== undefined) {
|
|
316
|
+
reportConflict(proposerConflict);
|
|
284
317
|
}
|
|
285
318
|
|
|
286
319
|
// Accumulate every conflict so the operator sees all the env vars they need to reconcile at once, rather than
|
|
@@ -297,6 +330,32 @@ export function checkConsensusEnvOverrides(
|
|
|
297
330
|
return canonical;
|
|
298
331
|
}
|
|
299
332
|
|
|
333
|
+
/**
|
|
334
|
+
* Returns a conflict when this node would propose checkpoints with more txs than the network's validators accept:
|
|
335
|
+
* its `SEQ_MAX_TX_PER_CHECKPOINT` (from `env`, or else from `networkConfig`) exceeds the network
|
|
336
|
+
* `VALIDATOR_MAX_TX_PER_CHECKPOINT`. Compares against the network value, not this node's own raised one, since
|
|
337
|
+
* that is what the rest of the committee enforces.
|
|
338
|
+
*/
|
|
339
|
+
function getProposerTxLimitConflict(
|
|
340
|
+
networkConfig: Record<string, string | number | boolean>,
|
|
341
|
+
env: { [key: string]: string | undefined },
|
|
342
|
+
): string | undefined {
|
|
343
|
+
const validatorMax = networkConfig.VALIDATOR_MAX_TX_PER_CHECKPOINT;
|
|
344
|
+
if (typeof validatorMax !== 'number') {
|
|
345
|
+
return undefined;
|
|
346
|
+
}
|
|
347
|
+
const fromEnv = env.SEQ_MAX_TX_PER_CHECKPOINT;
|
|
348
|
+
const proposerMax =
|
|
349
|
+
fromEnv !== undefined && fromEnv !== '' ? Number(fromEnv) : Number(networkConfig.SEQ_MAX_TX_PER_CHECKPOINT);
|
|
350
|
+
if (!Number.isFinite(proposerMax) || proposerMax <= validatorMax) {
|
|
351
|
+
return undefined;
|
|
352
|
+
}
|
|
353
|
+
return (
|
|
354
|
+
`SEQ_MAX_TX_PER_CHECKPOINT=${proposerMax} exceeds the network VALIDATOR_MAX_TX_PER_CHECKPOINT of ` +
|
|
355
|
+
`${validatorMax}, so validators would reject checkpoints this node proposes above it`
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
|
|
300
359
|
/** Whether the env opts into overriding network-wide consensus values (`ALLOW_OVERRIDING_NETWORK_CONFIG`). */
|
|
301
360
|
export function allowsNetworkConfigOverride(env: { [key: string]: string | undefined } = process.env): boolean {
|
|
302
361
|
const value = env.ALLOW_OVERRIDING_NETWORK_CONFIG;
|
|
@@ -16,7 +16,7 @@ import type { PartialAddress } from './partial_address.js';
|
|
|
16
16
|
* ```
|
|
17
17
|
* salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer, immutables_hash])
|
|
18
18
|
* partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
|
|
19
|
-
* address = ((poseidon2(
|
|
19
|
+
* address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V3, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
|
|
20
20
|
* ```
|
|
21
21
|
* @param instance - A contract instance for which to calculate the deployment address.
|
|
22
22
|
*/
|
package/src/gas/README.md
CHANGED
|
@@ -208,8 +208,8 @@ itself, before actual teardown consumption is known.
|
|
|
208
208
|
|
|
209
209
|
| Constant | Value |
|
|
210
210
|
| ------------------------------- | -------------- |
|
|
211
|
-
| `L1_GAS_PER_CHECKPOINT_PROPOSED` |
|
|
212
|
-
| `L1_GAS_PER_EPOCH_VERIFIED` |
|
|
211
|
+
| `L1_GAS_PER_CHECKPOINT_PROPOSED` | 520,000 |
|
|
212
|
+
| `L1_GAS_PER_EPOCH_VERIFIED` | 2,500,000 |
|
|
213
213
|
| `BLOBS_PER_CHECKPOINT` (FeeLib) | 3 |
|
|
214
214
|
| `BLOB_GAS_PER_BLOB` | 2^17 |
|
|
215
215
|
| `MINIMUM_CONGESTION_MULTIPLIER` | 1e9 |
|
package/src/gas/fee_math.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
// Constants matching FeeLib.sol
|
|
7
7
|
export const MINIMUM_CONGESTION_MULTIPLIER = 1_000_000_000n;
|
|
8
|
-
export const L1_GAS_PER_CHECKPOINT_PROPOSED =
|
|
9
|
-
export const L1_GAS_PER_EPOCH_VERIFIED =
|
|
8
|
+
export const L1_GAS_PER_CHECKPOINT_PROPOSED = 520_000n;
|
|
9
|
+
export const L1_GAS_PER_EPOCH_VERIFIED = 2_500_000n;
|
|
10
10
|
export const BLOBS_PER_CHECKPOINT = 3n;
|
|
11
11
|
export const BLOB_GAS_PER_BLOB = 2n ** 17n;
|
|
12
12
|
export const MAGIC_CONGESTION_VALUE_MULTIPLIER = 854_700_854n;
|