Skip to content

Commit

Permalink
feat: add support for timestamp asserter (#383)
Browse files Browse the repository at this point in the history
  • Loading branch information
ischasny authored Nov 15, 2024
1 parent bb8feda commit b6bf74e
Show file tree
Hide file tree
Showing 37 changed files with 855 additions and 38 deletions.
6 changes: 4 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ fetch-contracts:

# Build the system contracts
build-contracts:
cd contracts/system-contracts && yarn; yarn install; yarn build
cd contracts/system-contracts && yarn; yarn install; yarn build;
cd contracts/l2-contracts && yarn; yarn install; yarn build;
./scripts/refresh_contracts.sh

# Clean the system contracts
Expand All @@ -14,7 +15,8 @@ clean-contracts:

# Rebuild the system contracts
rebuild-contracts:
cd contracts/system-contracts && yarn build
cd contracts/system-contracts && yarn build;
cd contracts/l2-contracts && yarn build;
./scripts/refresh_contracts.sh
./scripts/refresh_test_contracts.sh

Expand Down
2 changes: 1 addition & 1 deletion contracts
Submodule contracts updated 385 files
8 changes: 7 additions & 1 deletion scripts/refresh_contracts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,22 @@
set -xe

SRC_DIR=contracts/system-contracts/artifacts-zk/contracts-preprocessed
DEV_CONTRACTS_SRC_DIR=contracts/l2-contracts/artifacts-zk/contracts/dev-contracts/
DST_DIR=src/deps/contracts/

mkdir -p $DST_DIR

contracts=("AccountCodeStorage" "BootloaderUtilities" "Compressor" "ComplexUpgrader" "ContractDeployer" "DefaultAccount" "DefaultAccountNoSecurity" "EmptyContract" "ImmutableSimulator" "KnownCodesStorage" "L1Messenger" "L2BaseToken" "MsgValueSimulator" "NonceHolder" "SystemContext" "PubdataChunkPublisher" "Create2Factory")
dev_contracts=("TimestampAsserter")

for contract in "${contracts[@]}"; do
cp $SRC_DIR/$contract.sol/$contract.json $DST_DIR
done

for contract in "${dev_contracts[@]}"; do
cp $DEV_CONTRACTS_SRC_DIR/$contract.sol/$contract.json $DST_DIR
done

precompiles=("EcAdd" "EcMul" "Ecrecover" "Keccak256" "SHA256" "EcPairing" "CodeOracle" "P256Verify")

for precompile in "${precompiles[@]}"; do
Expand All @@ -21,7 +27,7 @@ done
cp contracts/system-contracts/contracts-preprocessed/artifacts/EventWriter.yul.zbin $DST_DIR


bootloaders=("fee_estimate" "gas_test" "playground_batch" "proved_batch" "proved_batch_impersonating" "fee_estimate_impersonating" )
bootloaders=("fee_estimate" "gas_test" "playground_batch" "proved_batch" "proved_batch_impersonating" "fee_estimate_impersonating")

for bootloader in "${bootloaders[@]}"; do
cp contracts/system-contracts/bootloader/build/artifacts/$bootloader.yul.zbin $DST_DIR
Expand Down
26 changes: 24 additions & 2 deletions src/deps/contracts/AccountCodeStorage.json

Large diffs are not rendered by default.

41 changes: 39 additions & 2 deletions src/deps/contracts/BootloaderUtilities.json

Large diffs are not rendered by default.

Binary file modified src/deps/contracts/CodeOracle.yul.zbin
Binary file not shown.
26 changes: 24 additions & 2 deletions src/deps/contracts/ComplexUpgrader.json

Large diffs are not rendered by default.

188 changes: 186 additions & 2 deletions src/deps/contracts/Compressor.json

Large diffs are not rendered by default.

93 changes: 91 additions & 2 deletions src/deps/contracts/ContractDeployer.json

Large diffs are not rendered by default.

9 changes: 7 additions & 2 deletions src/deps/contracts/Create2Factory.json

Large diffs are not rendered by default.

72 changes: 70 additions & 2 deletions src/deps/contracts/DefaultAccount.json

Large diffs are not rendered by default.

35 changes: 33 additions & 2 deletions src/deps/contracts/DefaultAccountNoSecurity.json

Large diffs are not rendered by default.

Binary file modified src/deps/contracts/EcAdd.yul.zbin
Binary file not shown.
Binary file modified src/deps/contracts/EcMul.yul.zbin
Binary file not shown.
Binary file modified src/deps/contracts/EcPairing.yul.zbin
Binary file not shown.
Binary file modified src/deps/contracts/Ecrecover.yul.zbin
Binary file not shown.
4 changes: 2 additions & 2 deletions src/deps/contracts/EmptyContract.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
"type": "receive"
}
],
"bytecode": "0x0000000101200190000000040000c13d0000000001000019000000110001042e0000008001000039000000400010043f0000000001000416000000000101004b0000000e0000c13d0000002001000039000001000010044300000120000004430000000501000041000000110001042e000000000100001900000012000104300000001000000432000000110001042e000000120001043000000000000000000000000200000000000000000000000000000040000001000000000000000000af42f2678d04016e21c681976c8041e37d6189e6ce8ce850405444790253ff4e",
"deployedBytecode": "0x0000000101200190000000040000c13d0000000001000019000000110001042e0000008001000039000000400010043f0000000001000416000000000101004b0000000e0000c13d0000002001000039000001000010044300000120000004430000000501000041000000110001042e000000000100001900000012000104300000001000000432000000110001042e000000120001043000000000000000000000000200000000000000000000000000000040000001000000000000000000af42f2678d04016e21c681976c8041e37d6189e6ce8ce850405444790253ff4e",
"bytecode": "0x0000000101200190000000040000c13d0000000001000019000000110001042e0000008001000039000000400010043f0000000001000416000000000101004b0000000e0000c13d0000002001000039000001000010044300000120000004430000000501000041000000110001042e000000000100001900000012000104300000001000000432000000110001042e000000120001043000000000000000000000000200000000000000000000000000000040000001000000000000000000ca5afdd91bcc891055c5a7cf95d2322919bcd09bb087a9f56c05b5d9c80f406e",
"deployedBytecode": "0x0000000101200190000000040000c13d0000000001000019000000110001042e0000008001000039000000400010043f0000000001000416000000000101004b0000000e0000c13d0000002001000039000001000010044300000120000004430000000501000041000000110001042e000000000100001900000012000104300000001000000432000000110001042e000000120001043000000000000000000000000200000000000000000000000000000040000001000000000000000000ca5afdd91bcc891055c5a7cf95d2322919bcd09bb087a9f56c05b5d9c80f406e",
"linkReferences": {},
"deployedLinkReferences": {},
"factoryDeps": {}
Expand Down
Binary file modified src/deps/contracts/EventWriter.yul.zbin
Binary file not shown.
15 changes: 13 additions & 2 deletions src/deps/contracts/ImmutableSimulator.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@
"contractName": "ImmutableSimulator",
"sourceName": "contracts-preprocessed/ImmutableSimulator.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "Unauthorized",
"type": "error"
},
{
"inputs": [
{
Expand Down Expand Up @@ -58,8 +69,8 @@
"type": "function"
}
],
"bytecode": "0x00010000000000020007000000000002000000000701034f00000000000703550000008001000039000000400010043f000000000107001900000060011002700000002f0110019700000001022001900000002d0000c13d000000040210008c0000005c0000413d000000000207043b000000e002200270000000310320009c000000350000613d000000320220009c0000005c0000c13d0000000002000416000000000202004b0000005c0000c13d000000040110008a000000400110008c0000005c0000413d0000000401700370000000000101043b000000330210009c0000005c0000213d0000000000100435000000200000043f0000000001000019000700000007035300b800a10000040f000000070200035f0000002402200370000000000202043b0000000000200435000000200010043f000000000100001900b800a10000040f000000000101041a000000800010043f0000003b01000041000000b90001042e0000000001000416000000000101004b0000005c0000c13d0000002001000039000001000010044300000120000004430000003001000041000000b90001042e0000000002000416000000000202004b0000005c0000c13d000000040210008a000000400220008c0000005c0000413d0000000402700370000000000202043b000300000002001d000000330220009c0000005c0000213d0000002402700370000000000202043b000000340320009c0000005c0000213d00000023032000390000003504000041000000000513004b000000000500001900000000050480190000003503300197000000000603004b0000000004008019000000350330009c000000000405c019000000000304004b0000005c0000c13d0000000403200039000000000337034f000000000303043b000200000003001d000000340330009c0000005c0000213d000100240020003d000000020200002900000006022002100000000102200029000000000112004b0000005e0000a13d0000000001000019000000ba000104300000000001000411000080060110008c000000950000c13d000000020100006b000000930000613d0000002f0400004100008010050000390000000002000019000700000005001d000500000002001d00000006012002100000000101100029000000200210003900000000022003670000000001100367000000000101043b000600000001001d000000000102043b000400000001001d00000003010000290000000000100435000000200000043f00000000010004140000002f0210009c0000000001048019000000c0011002100000003a011001c7000000000205001900b800b30000040f00000001022001900000005c0000613d000000000101043b00000006020000290000000000200435000000200010043f00000000010004140000002f0210009c0000002f01008041000000c0011002100000003a011001c7000000070200002900b800b30000040f00000001022001900000005c0000613d000000000101043b0000000402000029000000000021041b00000005020000290000000102200039000000020120006c0000002f040000410000000705000029000000670000413d0000000001000019000000b90001042e0000003601000041000000800010043f0000002001000039000000840010043f0000002d01000039000000a40010043f0000003701000041000000c40010043f0000003801000041000000e40010043f0000003901000041000000ba000104300000002f020000410000002f0310009c000000000102801900000000030004140000002f0430009c0000000003028019000000c0023002100000004001100210000000000121019f0000003a011001c7000080100200003900b800b30000040f0000000102200190000000b10000613d000000000101043b000000000001042d0000000001000019000000ba00010430000000b6002104230000000102000039000000000001042d0000000002000019000000000001042d000000b800000432000000b90001042e000000ba00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000ad7e232e00000000000000000000000000000000000000000000000000000000310ab089000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff800000000000000000000000000000000000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000043616c6c61626c65206f6e6c7920627920746865206465706c6f7965722073797374656d20636f6e7472616374000000000000000000000000000000000000000000000000000000000000000000000000000084000000800000000000000000020000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000008000000000000000005184ad44eb537daf53990c8a48bc6d0708a5d2bc518dc7fc021463e90afefc85",
"deployedBytecode": "0x00010000000000020007000000000002000000000701034f00000000000703550000008001000039000000400010043f000000000107001900000060011002700000002f0110019700000001022001900000002d0000c13d000000040210008c0000005c0000413d000000000207043b000000e002200270000000310320009c000000350000613d000000320220009c0000005c0000c13d0000000002000416000000000202004b0000005c0000c13d000000040110008a000000400110008c0000005c0000413d0000000401700370000000000101043b000000330210009c0000005c0000213d0000000000100435000000200000043f0000000001000019000700000007035300b800a10000040f000000070200035f0000002402200370000000000202043b0000000000200435000000200010043f000000000100001900b800a10000040f000000000101041a000000800010043f0000003b01000041000000b90001042e0000000001000416000000000101004b0000005c0000c13d0000002001000039000001000010044300000120000004430000003001000041000000b90001042e0000000002000416000000000202004b0000005c0000c13d000000040210008a000000400220008c0000005c0000413d0000000402700370000000000202043b000300000002001d000000330220009c0000005c0000213d0000002402700370000000000202043b000000340320009c0000005c0000213d00000023032000390000003504000041000000000513004b000000000500001900000000050480190000003503300197000000000603004b0000000004008019000000350330009c000000000405c019000000000304004b0000005c0000c13d0000000403200039000000000337034f000000000303043b000200000003001d000000340330009c0000005c0000213d000100240020003d000000020200002900000006022002100000000102200029000000000112004b0000005e0000a13d0000000001000019000000ba000104300000000001000411000080060110008c000000950000c13d000000020100006b000000930000613d0000002f0400004100008010050000390000000002000019000700000005001d000500000002001d00000006012002100000000101100029000000200210003900000000022003670000000001100367000000000101043b000600000001001d000000000102043b000400000001001d00000003010000290000000000100435000000200000043f00000000010004140000002f0210009c0000000001048019000000c0011002100000003a011001c7000000000205001900b800b30000040f00000001022001900000005c0000613d000000000101043b00000006020000290000000000200435000000200010043f00000000010004140000002f0210009c0000002f01008041000000c0011002100000003a011001c7000000070200002900b800b30000040f00000001022001900000005c0000613d000000000101043b0000000402000029000000000021041b00000005020000290000000102200039000000020120006c0000002f040000410000000705000029000000670000413d0000000001000019000000b90001042e0000003601000041000000800010043f0000002001000039000000840010043f0000002d01000039000000a40010043f0000003701000041000000c40010043f0000003801000041000000e40010043f0000003901000041000000ba000104300000002f020000410000002f0310009c000000000102801900000000030004140000002f0430009c0000000003028019000000c0023002100000004001100210000000000121019f0000003a011001c7000080100200003900b800b30000040f0000000102200190000000b10000613d000000000101043b000000000001042d0000000001000019000000ba00010430000000b6002104230000000102000039000000000001042d0000000002000019000000000001042d000000b800000432000000b90001042e000000ba00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000ad7e232e00000000000000000000000000000000000000000000000000000000310ab089000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff800000000000000000000000000000000000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000043616c6c61626c65206f6e6c7920627920746865206465706c6f7965722073797374656d20636f6e7472616374000000000000000000000000000000000000000000000000000000000000000000000000000084000000800000000000000000020000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000008000000000000000005184ad44eb537daf53990c8a48bc6d0708a5d2bc518dc7fc021463e90afefc85",
"bytecode": "0x0001000000000002000700000000000200000000000103550000008003000039000000400030043f000000000301001900000060033002700000002c0730019700000001022001900000002a0000c13d000000040270008c000000590000413d000000000201043b000000e0022002700000002e0320009c000000320000613d0000002f0220009c000000590000c13d0000000002000416000000000202004b000000590000c13d000000040270008a000000400220008c000000590000413d0000000402100370000000000302043b000000300230009c000000590000213d0000000000300435000000200000043f000700000001035300aa00970000040f000000070200035f0000002402200370000000000202043b0000000000200435000000200010043f00aa00970000040f000000000101041a000000800010043f0000003601000041000000ab0001042e0000000001000416000000000101004b000000590000c13d0000002001000039000001000010044300000120000004430000002d01000041000000ab0001042e0000000002000416000000000202004b000000590000c13d000000040270008a000000400220008c000000590000413d0000000402100370000000000202043b000300000002001d000000300220009c000000590000213d0000002402100370000000000202043b000000310320009c000000590000213d00000023032000390000003204000041000000000573004b000000000500001900000000050480190000003203300197000000000603004b0000000004008019000000320330009c000000000405c019000000000304004b000000590000c13d0000000403200039000000000331034f000000000103043b000200000001001d000000310310009c000000590000213d000100240020003d000000020100002900000006021002100000000102200029000000000172004b0000005b0000a13d0000000001000019000000ac000104300000000001000411000080060210008c000000920000c13d000000020100006b000000900000613d0000002c0400004100008010050000390000000002000019000700000005001d000500000002001d00000006012002100000000101100029000000200210003900000000022003670000000001100367000000000101043b000600000001001d000000000102043b000400000001001d00000003010000290000000000100435000000200000043f00000000010004140000002c0210009c0000000001048019000000c00110021000000035011001c7000000000205001900aa00a50000040f0000000102200190000000590000613d000000000101043b00000006020000290000000000200435000000200010043f00000000010004140000002c0210009c0000002c01008041000000c00110021000000035011001c7000000070200002900aa00a50000040f0000000102200190000000590000613d000000000101043b0000000402000029000000000021041b00000005020000290000000102200039000000020120006c0000002c040000410000000705000029000000640000413d0000000001000019000000ab0001042e0000003302000041000000800020043f000000840010043f0000003401000041000000ac000104300000002c0100004100000000020004140000002c0320009c0000000002018019000000c00120021000000035011001c7000080100200003900aa00a50000040f0000000102200190000000a30000613d000000000101043b000000000001042d0000000001000019000000ac00010430000000a8002104230000000102000039000000000001042d0000000002000019000000000001042d000000aa00000432000000ab0001042e000000ac0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000ad7e232e00000000000000000000000000000000000000000000000000000000310ab089000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff80000000000000000000000000000000000000000000000000000000000000008e4a23d600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000080000000000000000002000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000000000000000000089489a90c225d73c3e4889c9b6c05950ecd5d345755ec346966f68c425752d11",
"deployedBytecode": "0x0001000000000002000700000000000200000000000103550000008003000039000000400030043f000000000301001900000060033002700000002c0730019700000001022001900000002a0000c13d000000040270008c000000590000413d000000000201043b000000e0022002700000002e0320009c000000320000613d0000002f0220009c000000590000c13d0000000002000416000000000202004b000000590000c13d000000040270008a000000400220008c000000590000413d0000000402100370000000000302043b000000300230009c000000590000213d0000000000300435000000200000043f000700000001035300aa00970000040f000000070200035f0000002402200370000000000202043b0000000000200435000000200010043f00aa00970000040f000000000101041a000000800010043f0000003601000041000000ab0001042e0000000001000416000000000101004b000000590000c13d0000002001000039000001000010044300000120000004430000002d01000041000000ab0001042e0000000002000416000000000202004b000000590000c13d000000040270008a000000400220008c000000590000413d0000000402100370000000000202043b000300000002001d000000300220009c000000590000213d0000002402100370000000000202043b000000310320009c000000590000213d00000023032000390000003204000041000000000573004b000000000500001900000000050480190000003203300197000000000603004b0000000004008019000000320330009c000000000405c019000000000304004b000000590000c13d0000000403200039000000000331034f000000000103043b000200000001001d000000310310009c000000590000213d000100240020003d000000020100002900000006021002100000000102200029000000000172004b0000005b0000a13d0000000001000019000000ac000104300000000001000411000080060210008c000000920000c13d000000020100006b000000900000613d0000002c0400004100008010050000390000000002000019000700000005001d000500000002001d00000006012002100000000101100029000000200210003900000000022003670000000001100367000000000101043b000600000001001d000000000102043b000400000001001d00000003010000290000000000100435000000200000043f00000000010004140000002c0210009c0000000001048019000000c00110021000000035011001c7000000000205001900aa00a50000040f0000000102200190000000590000613d000000000101043b00000006020000290000000000200435000000200010043f00000000010004140000002c0210009c0000002c01008041000000c00110021000000035011001c7000000070200002900aa00a50000040f0000000102200190000000590000613d000000000101043b0000000402000029000000000021041b00000005020000290000000102200039000000020120006c0000002c040000410000000705000029000000640000413d0000000001000019000000ab0001042e0000003302000041000000800020043f000000840010043f0000003401000041000000ac000104300000002c0100004100000000020004140000002c0320009c0000000002018019000000c00120021000000035011001c7000080100200003900aa00a50000040f0000000102200190000000a30000613d000000000101043b000000000001042d0000000001000019000000ac00010430000000a8002104230000000102000039000000000001042d0000000002000019000000000001042d000000aa00000432000000ab0001042e000000ac0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000ad7e232e00000000000000000000000000000000000000000000000000000000310ab089000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff80000000000000000000000000000000000000000000000000000000000000008e4a23d600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000080000000000000000002000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000000000000000000089489a90c225d73c3e4889c9b6c05950ecd5d345755ec346966f68c425752d11",
"linkReferences": {},
"deployedLinkReferences": {},
"factoryDeps": {}
Expand Down
Binary file modified src/deps/contracts/Keccak256.yul.zbin
Binary file not shown.
Loading

0 comments on commit b6bf74e

Please sign in to comment.