Skip to content

Commit

Permalink
feat: slot duration flexibility (#8122)
Browse files Browse the repository at this point in the history
This PR add support for using Aztec slot durations that are not just 1
ethereum slot.

To do so it adds more logic to the sequencer such that they can figure
out if they are really the sequencer or not.
This is mainly in the `canProposeBlock` and `shouldProposeBlock`
functions which respectively assert that the proposer can actually
propose, and whether he should. The logic in those functions are partly
what we had sprinkled over the code before, but also adding some
additional checks to match what is in the rollup contract and Leonidas.

Since there are now additional restrictions to block production related
to WHEN the block is to land on L1, I have added a `commitTimeJump`
function into the `l1-publisher`which will jump to the next slot after a
block have been published. This functionality toggled with a
`TIME_TRAVELER` boolean flag.

Note that we will jump INTO the next slot, since simulations in `viem`
and `anvil` are limited to run on block values in the bast, meaning that
we cannot nicely just simulate as if it was included in the NEXT block
which is what we ideally want. See issue #8110 for more information.

Since it caused some issues that there was no actual genesis state (just
0), I have inserted a genesis state equal to what we compute as the
`lastArchive` for the very first block, fixing #4148.

To not mess too much with DEVNET, the extra logic related to the exact
timing of when L2 blocks should make it onto L1 can be "toggled" with
the `IS_DEV_NET` flag.

Namely, if `IS_DEV_NET` is toggled, we can publish outside of the
"current" slot, as long as the slots are in order. With the changes in
this pr, we should be able to run DEVNET without `automine`, I have
tried a minor test but that seemed to work fine when we have
`AZTEC_SLOT_DURATION = 36` and internal mining :)

Points of interest:
- `sequencer.ts`
	- `canProposeBlock`
	- `shouldProposeBlock`
- `l1-publisher.ts`
- Adding `simulate` since viem `write` does not provide meaningful error
messages, but `simulate` does.
- The `commitTimeJump` won't happen if the `AZTEC_SLOT_DURATION =
ETHEREUM_SLOT_DURATION` or `TIME_TRAVELER = false`
- `sequencer.test.ts`
- Some of the test naming a odd. For example the test `builds a block
that contains zero real transactions once flushed` sounds to me like you
expect to have an empty block, after the block flushed, e.g., once
flushed make it sound like it already happened
- `l1-publisher.test.ts`
- `does not publish if last archive root is different to expected` is
deleted, as that job falls on the sequencer. The sequencer should define
whether or not it will send a tx, and publisher deals more with
publishing tasks.
- Adding a `simulate` that is also mocked to account for `simulate` in
the publisher.
- `e2e_p2p_network.test.ts`
- There is a flag for using a local anvil chain that you are running in
another terminal. This is useful for running internal mining etc.


--- 

This PR will be run with `AZTEC_SLOT_DURATION = 12` and `IS_DEV_NET =
true`. Note that when using values different from those, there are still
some hiccups and kinks, but it should be addressed in a separate PR to
not make this explode in size.
  • Loading branch information
LHerskind authored Aug 27, 2024
1 parent a7887d7 commit 708e4e5
Show file tree
Hide file tree
Showing 28 changed files with 655 additions and 310 deletions.
11 changes: 7 additions & 4 deletions l1-contracts/src/core/Rollup.sol
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,12 @@ contract Rollup is Leonidas, IRollup, ITestRollup {
VERSION = 1;

// Genesis block
blocks[0] =
BlockLog({archive: bytes32(0), blockHash: bytes32(0), slotNumber: 0, isProven: true});
blocks[0] = BlockLog({
archive: bytes32(Constants.GENESIS_ARCHIVE_ROOT),
blockHash: bytes32(0),
slotNumber: 0,
isProven: true
});
pendingBlockCount = 1;
provenBlockCount = 1;
}
Expand Down Expand Up @@ -579,9 +583,8 @@ contract Rollup is Leonidas, IRollup, ITestRollup {
);
}

// TODO(#4148) Proper genesis state. If the state is empty, we allow anything for now.
bytes32 tipArchive = archive();
if (tipArchive != bytes32(0) && tipArchive != _header.lastArchive.root) {
if (tipArchive != _header.lastArchive.root) {
revert Errors.Rollup__InvalidArchive(tipArchive, _header.lastArchive.root);
}

Expand Down
4 changes: 4 additions & 0 deletions l1-contracts/src/core/libraries/ConstantsGen.sol
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,11 @@ library Constants {
uint256 internal constant INITIAL_L2_BLOCK_NUM = 1;
uint256 internal constant BLOB_SIZE_IN_BYTES = 126976;
uint256 internal constant ETHEREUM_SLOT_DURATION = 12;
uint256 internal constant AZTEC_SLOT_DURATION = 12;
uint256 internal constant AZTEC_EPOCH_DURATION = 48;
uint256 internal constant IS_DEV_NET = 1;
uint256 internal constant GENESIS_ARCHIVE_ROOT =
8142738430000951296386584486068033372964809139261822027365426310856631083550;
uint256 internal constant FEE_JUICE_INITIAL_MINT = 20000000000;
uint256 internal constant MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS = 20000;
uint256 internal constant MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS = 3000;
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/src/core/libraries/Errors.sol
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ library Errors {
error Leonidas__EpochNotSetup(); // 0xcf4e597e
error Leonidas__InvalidProposer(address expected, address actual); // 0xd02d278e
error Leonidas__InsufficientAttestations(uint256 minimumNeeded, uint256 provided); // 0xbf1ca4cb
error Leonidas__InsufficientAttestationsProvided(uint256 minimumNeeded, uint256 provided); // 0x2e7debe9
error Leonidas__InsufficientAttestationsProvided(uint256 minimumNeeded, uint256 provided); // 0xb3a697c2

// Fee Juice Portal
error FeeJuicePortal__AlreadyInitialized(); // 0xc7a172fe
Expand Down
4 changes: 2 additions & 2 deletions l1-contracts/src/core/sequencer_selection/Leonidas.sol
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ contract Leonidas is Ownable, ILeonidas {
//
// The value should be a higher multiple for any actual chain
// @todo #8019
uint256 public constant SLOT_DURATION = Constants.ETHEREUM_SLOT_DURATION * 1;
uint256 public constant SLOT_DURATION = Constants.AZTEC_SLOT_DURATION;

// The duration of an epoch in slots
// @todo @LHerskind - This value should be updated when we are not blind.
// @todo #8020
uint256 public constant EPOCH_DURATION = 32;
uint256 public constant EPOCH_DURATION = Constants.AZTEC_EPOCH_DURATION;

// The target number of validators in a committee
// @todo #8021
Expand Down
9 changes: 9 additions & 0 deletions l1-contracts/test/Rollup.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,9 @@ contract RollupTest is DecoderBase {
bytes32 archive = data.archive;
bytes memory body = data.body;

// Progress time as necessary
vm.warp(max(block.timestamp, data.decodedHeader.globalVariables.timestamp));

assembly {
mstore(add(header, add(0x20, 0x0248)), feeAmount)
}
Expand Down Expand Up @@ -302,6 +305,9 @@ contract RollupTest is DecoderBase {

function testBlocksWithAssumeProven() public setUpFor("mixed_block_1") {
rollup.setAssumeProvenUntilBlockNumber(2);
assertEq(rollup.pendingBlockCount(), 1, "Invalid pending block count");
assertEq(rollup.provenBlockCount(), 1, "Invalid proven block count");

_testBlock("mixed_block_1", false);
_testBlock("mixed_block_2", false);

Expand All @@ -310,6 +316,9 @@ contract RollupTest is DecoderBase {
}

function testSetAssumeProvenAfterBlocksProcessed() public setUpFor("mixed_block_1") {
assertEq(rollup.pendingBlockCount(), 1, "Invalid pending block count");
assertEq(rollup.provenBlockCount(), 1, "Invalid proven block count");

_testBlock("mixed_block_1", false);
_testBlock("mixed_block_2", false);
rollup.setAssumeProvenUntilBlockNumber(2);
Expand Down
14 changes: 7 additions & 7 deletions l1-contracts/test/fixtures/empty_block_1.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"l2ToL1Messages": []
},
"block": {
"archive": "0x0b97584f2e175ce708df94c14fee5e53d1c92cd5308346c6eabb79005ccf6733",
"archive": "0x1fc4515430abede0c269e0aaf99fe032b4368b094b2a399d112144d8e0b4b803",
"body": "0x00000000",
"txsEffectsHash": "0x00e994e16b3763fd5039413cf99c2b3c378e2bab939e7992a77bd201b28160d6",
"decodedHeader": {
Expand All @@ -20,12 +20,12 @@
},
"globalVariables": {
"blockNumber": 1,
"slotNumber": "0x0000000000000000000000000000000000000000000000000000000000000005",
"slotNumber": "0x0000000000000000000000000000000000000000000000000000000000000033",
"chainId": 31337,
"timestamp": 1723460388,
"timestamp": 1724321038,
"version": 1,
"coinbase": "0x92c3bc662a41b5406370e6e30b6e4541c9c223e3",
"feeRecipient": "0x2af4d139729812fa69edfc27fc2d19b3d2616c9e4ec2313efb66fb2f234d59da",
"coinbase": "0x69d2d2c697a0ac4a874c591f6906706af27eb737",
"feeRecipient": "0x2c6280804920e2ecb139fe6185aeba95ee3687e64a14ff68a72a25ab9bb0d5eb",
"gasFees": {
"feePerDaGas": 0,
"feePerL2Gas": 0
Expand Down Expand Up @@ -56,8 +56,8 @@
}
}
},
"header": "0x1200a06aae1368abe36530b585bd7a4d2ba4de5037b82076412691a187d7621e00000001000000000000000000000000000000000000000000000000000000000000000200e994e16b3763fd5039413cf99c2b3c378e2bab939e7992a77bd201b28160d600089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c00f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3000000100b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d0000008019a8c197c12bb33da6314c4ef4f8f6fcb9e25250c085df8672adf67c8f1e3dbc0000010023c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9000001000000000000000000000000000000000000000000000000000000000000007a690000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000066b9eb2492c3bc662a41b5406370e6e30b6e4541c9c223e32af4d139729812fa69edfc27fc2d19b3d2616c9e4ec2313efb66fb2f234d59da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"publicInputsHash": "0x00330b9ccec92816ea3dd5fefce65cdb3803cf663cf2959f403501ff1f27a73c",
"header": "0x1200a06aae1368abe36530b585bd7a4d2ba4de5037b82076412691a187d7621e00000001000000000000000000000000000000000000000000000000000000000000000200e994e16b3763fd5039413cf99c2b3c378e2bab939e7992a77bd201b28160d600089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c00f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3000000100b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d0000008019a8c197c12bb33da6314c4ef4f8f6fcb9e25250c085df8672adf67c8f1e3dbc0000010023c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9000001000000000000000000000000000000000000000000000000000000000000007a690000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000330000000000000000000000000000000000000000000000000000000066c70d0e69d2d2c697a0ac4a874c591f6906706af27eb7372c6280804920e2ecb139fe6185aeba95ee3687e64a14ff68a72a25ab9bb0d5eb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"publicInputsHash": "0x00acfc19a39d0814b57d47fbf843284cd2d293382e82dfcaafc819daf89b81b5",
"numTxs": 0
}
}
16 changes: 8 additions & 8 deletions l1-contracts/test/fixtures/empty_block_2.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"l2ToL1Messages": []
},
"block": {
"archive": "0x1d77208270a6eca3c2b56adaad130b28e2fa111d6bc325ce3cc52b6a68f4894f",
"archive": "0x2da3733e9f6522fcc8016aff753cb69100051aae6f3612a2180959adfd3293f6",
"body": "0x00000000",
"txsEffectsHash": "0x00e994e16b3763fd5039413cf99c2b3c378e2bab939e7992a77bd201b28160d6",
"decodedHeader": {
Expand All @@ -20,20 +20,20 @@
},
"globalVariables": {
"blockNumber": 2,
"slotNumber": "0x0000000000000000000000000000000000000000000000000000000000000006",
"slotNumber": "0x0000000000000000000000000000000000000000000000000000000000000035",
"chainId": 31337,
"timestamp": 1723460400,
"timestamp": 1724321062,
"version": 1,
"coinbase": "0x92c3bc662a41b5406370e6e30b6e4541c9c223e3",
"feeRecipient": "0x2af4d139729812fa69edfc27fc2d19b3d2616c9e4ec2313efb66fb2f234d59da",
"coinbase": "0x69d2d2c697a0ac4a874c591f6906706af27eb737",
"feeRecipient": "0x2c6280804920e2ecb139fe6185aeba95ee3687e64a14ff68a72a25ab9bb0d5eb",
"gasFees": {
"feePerDaGas": 0,
"feePerL2Gas": 0
}
},
"lastArchive": {
"nextAvailableLeafIndex": 2,
"root": "0x0b97584f2e175ce708df94c14fee5e53d1c92cd5308346c6eabb79005ccf6733"
"root": "0x1fc4515430abede0c269e0aaf99fe032b4368b094b2a399d112144d8e0b4b803"
},
"stateReference": {
"l1ToL2MessageTree": {
Expand All @@ -56,8 +56,8 @@
}
}
},
"header": "0x0b97584f2e175ce708df94c14fee5e53d1c92cd5308346c6eabb79005ccf673300000002000000000000000000000000000000000000000000000000000000000000000200e994e16b3763fd5039413cf99c2b3c378e2bab939e7992a77bd201b28160d600089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c00f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3000000200b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d0000010019a8c197c12bb33da6314c4ef4f8f6fcb9e25250c085df8672adf67c8f1e3dbc0000018023c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9000001800000000000000000000000000000000000000000000000000000000000007a690000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000066b9eb3092c3bc662a41b5406370e6e30b6e4541c9c223e32af4d139729812fa69edfc27fc2d19b3d2616c9e4ec2313efb66fb2f234d59da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"publicInputsHash": "0x006ccf0ce5551a2a07b16c10a4b208bd30403231409d44cedac9b6d489b9f212",
"header": "0x1fc4515430abede0c269e0aaf99fe032b4368b094b2a399d112144d8e0b4b80300000002000000000000000000000000000000000000000000000000000000000000000200e994e16b3763fd5039413cf99c2b3c378e2bab939e7992a77bd201b28160d600089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c00f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3000000200b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d0000010019a8c197c12bb33da6314c4ef4f8f6fcb9e25250c085df8672adf67c8f1e3dbc0000018023c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9000001800000000000000000000000000000000000000000000000000000000000007a690000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000066c70d2669d2d2c697a0ac4a874c591f6906706af27eb7372c6280804920e2ecb139fe6185aeba95ee3687e64a14ff68a72a25ab9bb0d5eb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"publicInputsHash": "0x00318295aad2a231c68b825b4fca99e2cbb1345c82ee6d01888289771199d1b9",
"numTxs": 0
}
}
14 changes: 7 additions & 7 deletions l1-contracts/test/fixtures/mixed_block_1.json

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions l1-contracts/test/fixtures/mixed_block_2.json

Large diffs are not rendered by default.

42 changes: 8 additions & 34 deletions l1-contracts/test/sparta/Sparta.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,9 @@ contract SpartaTest is DecoderBase {
}

assertGt(rollup.getValidators().length, rollup.TARGET_COMMITTEE_SIZE(), "Not enough validators");
_testBlock("mixed_block_1", false, 0, false); // We run a block before the epoch with validators

uint256 ts = block.timestamp + rollup.EPOCH_DURATION() * rollup.SLOT_DURATION();

uint256 committeSize = rollup.TARGET_COMMITTEE_SIZE() * 2 / 3 + (_insufficientSigs ? 0 : 1);
_testBlock("mixed_block_2", _insufficientSigs, committeSize, false, ts); // We need signatures!

_testBlock("mixed_block_1", _insufficientSigs, committeSize, false);

assertEq(
rollup.getEpochCommittee(rollup.getCurrentEpoch()).length,
Expand All @@ -128,26 +125,24 @@ contract SpartaTest is DecoderBase {
return;
}

_testBlock("mixed_block_1", false, 0, false); // We run a block before the epoch with validators
_testBlock("mixed_block_2", false, 3, false); // We need signatures!
_testBlock("mixed_block_1", false, 3, false);
_testBlock("mixed_block_2", false, 3, false);
}

function testInvalidProposer() public setup(4) {
if (Constants.IS_DEV_NET == 1) {
return;
}

_testBlock("mixed_block_1", false, 0, false); // We run a block before the epoch with validators
_testBlock("mixed_block_2", true, 3, true); // We need signatures!
_testBlock("mixed_block_1", true, 3, true);
}

function testInsufficientSigs() public setup(4) {
if (Constants.IS_DEV_NET == 1) {
return;
}

_testBlock("mixed_block_1", false, 0, false); // We run a block before the epoch with validators
_testBlock("mixed_block_2", true, 2, false); // We need signatures!
_testBlock("mixed_block_1", true, 2, false);
}

struct StructToAvoidDeepStacks {
Expand All @@ -161,16 +156,6 @@ contract SpartaTest is DecoderBase {
bool _expectRevert,
uint256 _signatureCount,
bool _invalidaProposer
) internal {
_testBlock(_name, _expectRevert, _signatureCount, _invalidaProposer, 0);
}

function _testBlock(
string memory _name,
bool _expectRevert,
uint256 _signatureCount,
bool _invalidaProposer,
uint256 _ts
) internal {
DecoderBase.Full memory full = load(_name);
bytes memory header = full.block.header;
Expand All @@ -180,18 +165,7 @@ contract SpartaTest is DecoderBase {
StructToAvoidDeepStacks memory ree;

// We jump to the time of the block. (unless it is in the past)
vm.warp(max(block.timestamp, max(full.block.decodedHeader.globalVariables.timestamp, _ts)));

if (_ts > 0) {
// Update the timestamp and slot in the header
uint256 slotValue = rollup.getCurrentSlot();
uint256 timestampMemoryPosition = 0x01b4;
uint256 slotMemoryPosition = 0x0194;
assembly {
mstore(add(header, add(0x20, timestampMemoryPosition)), _ts)
mstore(add(header, add(0x20, slotMemoryPosition)), slotValue)
}
}
vm.warp(max(block.timestamp, full.block.decodedHeader.globalVariables.timestamp));

_populateInbox(full.populate.sender, full.populate.recipient, full.populate.l1ToL2Content);

Expand Down Expand Up @@ -248,7 +222,7 @@ contract SpartaTest is DecoderBase {
rollup.process(header, archive, bytes32(0));
}

assertEq(_expectRevert, ree.shouldRevert, "Invalid revert expectation");
assertEq(_expectRevert, ree.shouldRevert, "Does not match revert expectation");

bytes32 l2ToL1MessageTreeRoot;
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,13 @@ global INITIALIZATION_SLOT_SEPARATOR: Field = 1000_000_000;
global INITIAL_L2_BLOCK_NUM: Field = 1;
global BLOB_SIZE_IN_BYTES: Field = 31 * 4096;
global ETHEREUM_SLOT_DURATION: u32 = 12;
// AZTEC_SLOT_DURATION should be a multiple of ETHEREUM_SLOT_DURATION
global AZTEC_SLOT_DURATION: u32 = ETHEREUM_SLOT_DURATION * 1;
global AZTEC_EPOCH_DURATION: u32 = 48;
global IS_DEV_NET: bool = true;
// The following is taken from building a block and looking at the `lastArchive` value in it.
// You can run the `integration_l1_publisher.test.ts` and look at the first blocks in the fixtures.
global GENESIS_ARCHIVE_ROOT: Field = 0x1200a06aae1368abe36530b585bd7a4d2ba4de5037b82076412691a187d7621e;
// The following and the value in `deploy_l1_contracts´ must match. We should not have the code both places, but
// we are running into circular dependency issues. #3342
global FEE_JUICE_INITIAL_MINT: Field = 20000000000;
Expand Down
3 changes: 3 additions & 0 deletions yarn-project/circuits.js/src/constants.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,10 @@ export const INITIALIZATION_SLOT_SEPARATOR = 1000000000;
export const INITIAL_L2_BLOCK_NUM = 1;
export const BLOB_SIZE_IN_BYTES = 126976;
export const ETHEREUM_SLOT_DURATION = 12;
export const AZTEC_SLOT_DURATION = 12;
export const AZTEC_EPOCH_DURATION = 48;
export const IS_DEV_NET = 1;
export const GENESIS_ARCHIVE_ROOT = 8142738430000951296386584486068033372964809139261822027365426310856631083550n;
export const FEE_JUICE_INITIAL_MINT = 20000000000;
export const MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS = 20000;
export const MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS = 3000;
Expand Down
10 changes: 5 additions & 5 deletions yarn-project/end-to-end/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
"clean": "rm -rf ./dest .tsbuildinfo",
"formatting": "run -T prettier --check ./src \"!src/web/main.js\" && run -T eslint ./src",
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
"test": "LOG_LEVEL=${LOG_LEVEL:-verbose} DEBUG_COLORS=1 NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
"test:profile": "LOG_LEVEL=${LOG_LEVEL:-verbose} DEBUG_COLORS=1 NODE_NO_WARNINGS=1 0x --output-dir \"flame_graph/{pid}.0x\" -- node --experimental-vm-modules ../node_modules/jest/bin/jest.js --runInBand --testTimeout=300000 --forceExit",
"test": "TIME_TRAVELER=${TIME_TRAVELER:-true} LOG_LEVEL=${LOG_LEVEL:-verbose} DEBUG_COLORS=1 NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
"test:profile": "TIME_TRAVELER=${TIME_TRAVELER:-true} LOG_LEVEL=${LOG_LEVEL:-verbose} DEBUG_COLORS=1 NODE_NO_WARNINGS=1 0x --output-dir \"flame_graph/{pid}.0x\" -- node --experimental-vm-modules ../node_modules/jest/bin/jest.js --runInBand --testTimeout=300000 --forceExit",
"serve:flames": "python3 -m http.server --directory \"flame_graph\" 8000",
"test:debug": "LOG_LEVEL=${LOG_LEVEL:-verbose} DEBUG_COLORS=1 NODE_NO_WARNINGS=1 node --inspect --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
"test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --no-cache --runInBand --config jest.integration.config.json",
"test:debug": "TIME_TRAVELER=${TIME_TRAVELER:-true} LOG_LEVEL=${LOG_LEVEL:-verbose} DEBUG_COLORS=1 NODE_NO_WARNINGS=1 node --inspect --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
"test:integration": "TIME_TRAVELER=${TIME_TRAVELER:-true} concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
"test:integration:run": "TIME_TRAVELER=${TIME_TRAVELER:-true} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --no-cache --runInBand --config jest.integration.config.json",
"test:unit": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest src/fixtures"
},
"dependencies": {
Expand Down
Loading

0 comments on commit 708e4e5

Please sign in to comment.