---
# System prepended metadata

title: Stuff

---

```

{"timestamp":"2026-02-09T21:30:31.348362319Z","level":"INFO","fields":{"message":"Starting batch verification","batch_number":88945,"request_id":52},"target":"zksync_os_batch_verification::sequencer::component","filename":"lib/batch_verification/src/sequencer/component.rs","line_number":336}
{"timestamp":"2026-02-09T21:30:31.348401499Z","level":"INFO","fields":{"message":"Sent batch verification request to 2 clients","request_id":52,"batch_number":88945},"target":"zksync_os_batch_verification::sequencer::server","filename":"lib/batch_verification/src/sequencer/server.rs","line_number":185}
{"timestamp":"2026-02-09T21:30:36.349100363Z","level":"WARN","fields":{"message":"Batch verification failed, attempt 52 retrying. Error: Timeout"},"target":"zksync_os_batch_verification::sequencer::component","filename":"lib/batch_verification/src/sequencer/component.rs","line_number":285}

0x4208734475F84a0F8514A446EC4F305D1cE30a67

# Effective signing threshold (respects custom vs shared)
cast call $MULTISIG "getSigningThreshold(address)(uint64)" $CHAIN --rpc-url $RPC
# Number of validators for this chain
cast call $MULTISIG "getValidatorsCount(address)(uint256)" $CHAIN --rpc-url $RPC
# Get validator at index 0
cast call $MULTISIG "getValidatorsMember(address,uint256)(address)" $CHAIN 0 --rpc-url $RPC
# Check if your specific validator is active
cast call $MULTISIG "isValidator(address,address)(bool)" $CHAIN 0x6416E3416FA4eC759D6Ccfb45701EF3396b71a5e --rpc-url $RPC
And for the shared set (for comparison):
# Shared threshold
cast call $MULTISIG "sharedSigningThreshold()(uint64)" --rpc-url $RPC
# Shared validator count
cast call $MULTISIG "sharedValidatorsCount()(uint256)" --rpc-url $RPC

evl @ ~ ~> cast call 0x4C58cA7835F70b73c330c42F8915b900724758AC "multicall((address,uint256,bytes)[],bool)" "[(0x1E4299F7a19597E09bD8593AB7B68277183e9778,0,$CALLDATA)]" true --rpc-url $RPC --private-key $PK
0x

export RPC=<YOUR_RPC_URL>
export PK=<YOUR_PRIVATE_KEY>  # key for 0xd669...
export MULTISIG=0x1E4299F7a19597E09bD8593AB7B68277183e9778
export CHAIN_ADMIN=0x4C58cA7835F70b73c330c42F8915b900724758AC
export CHAIN=0x7D8B640B3C35D27191FBBbA1e187DaA66ef11b2b
export VALIDATOR=0x6416E3416FA4eC759D6Ccfb45701EF3396b71a5e
# Step 1: Compute the role hash
export ROLE=$(cast keccak "COMMIT_VALIDATOR_ROLE")
# Step 2: Encode the inner grantRole calldata
export INNER=$(cast calldata "grantRole(address,bytes32,address)" $CHAIN $ROLE $VALIDATOR)
# Step 3: Call multicall on ChainAdminOwnable
cast send $CHAIN_ADMIN \
  "multicall((address,uint256,bytes)[],bool)" \
  "[($MULTISIG,0,$INNER)]" \
  true \
  --private-key $PK \
  --rpc-url $RPC
After it succeeds, verify it worked:
cast call $MULTISIG \
  "isValidator(address,address)(bool)" \
  $CHAIN $VALIDATOR \
  --rpc-url $RPC
```

0x1E4299F7a19597E09bD8593AB7B68277183e9778

0xd669494442609879b209CcA8eba2BdC904D2E69D

0x6416E3416FA4eC759D6Ccfb45701EF3396b71a5e

evl @ ~ ~> cast call 0x7D8B640B3C35D27191FBBbA1e187DaA66ef11b2b "getAdmin()(address)" --rpc-url RPC
https://sepolia.etherscan.io/address/0x4C58cA7835F70b73c330c42F8915b900724758AC
0x7D8B640B3C35D27191FBBbA1e187DaA66ef11b2b # Bridgehub Sepolia stage-rollup
0x1E4299F7a19597E09bD8593AB7B68277183e9778 # ValidatorTimelock Sepolia stage-rollup
```

```
general_l1_rpc_url=https://ethereum-sepolia.publicnode.com \

2026-02-04T16:46:29.909530Z  INFO zksync_os_rocksdb::db: Initialized RocksDB `block_replay_wal` at `/home/evl/Desktop/validators/local/public-node-stage-rollup/block_replay_wal` with RocksDBOptions { block_cache_capacity: None, include_indices_and_filters_in_block_cache: false, large_memtable_capacity: None, stalled_writes_retries: StalledWritesRetries { max_batch_size: 134217728, timeout: 10s, start_interval: 50ms, max_interval: 2s, scale_factor: 1.5 }, max_open_files: None }

thread 'main' panicked at /home/evl/code/zksync-os-server/lib/genesis/src/lib.rs:166:14:
Failed to load genesis upgrade transaction: server returned an error response: error code -32000: historical state 91cbb5a5edd48198da560105a9e1037fe3abc80b963adf641a5c57de9db64239 is not available
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```


```
l1_watcher_poll_interval=15s \
z
failed to init CommittedBatchProvider: HTTP error 400 with body: {"jsonrpc":"2.0","id":92,"error":{"code":-32600,"message":"Under the Free tier plan, you can make eth_getLogs requests with up to a 10 block range. Based on your parameters, this block range should work: [0x9b7efb, 0x9b7f04]. Upgrade to PAYG for expanded block range."}}

Caused by:
    HTTP error 400 with body: {"jsonrpc":"2.0","id":92,"error":{"code":-32600,"message":"Under the Free tier plan, you can make eth_getLogs requests with up to a 10 block range. Based on your parameters, this block range should work: [0x9b7efb, 0x9b7f04]. Upgrade to PAYG for expanded block range."}}
```

```
l1_watcher_poll_interval=15s \
l1_watcher_max_blocks_to_process=10 \

2026-02-04T16:37:02.758105Z ERROR zksync_os_server: L1 upgrade transaction watcher component failed err=Transport(Transport(Custom("Max retries exceeded HTTP error 429 with body: {\"jsonrpc\":\"2.0\",\"id\":729,\"error\":{\"code\":429,\"message\":\"Your app has exceeded its compute units per second capacity. If you have retries enabled, you can safely ignore this message. If not, check out https://docs.alchemy.com/reference/throughput\"}}")))
2026-02-04T16:37:05.826008Z ERROR zksync_os_server: L1 transaction watcher component failed err=Transport(Transport(Custom("Max retries exceeded HTTP error 429 with empty body")))
```


```
 evl @ ~/code/zksync-os-server ~> genesis_bridgehub_address__json=null \
genesis_bytecode_supplier_address__json=null \
genesis_chain_id__json=null \
genesis_genesis_input_path__json=null \
general_l1_rpc_url=http://localhost:8545  \
sequencer_block_replay_download_address=https://zksync-os-stage-rollup-block-replay.zksync.dev \
general_main_node_rpc_url=https://zksync-os-stage-rollup.zksync.dev \
general_rocks_db_path=/home/evl/Desktop/validators/local/stage-rollup \
cargo run --release
```

```
install https://matter-labs.github.io/zksync-os-server/latest/setup/prerequisites.html

docker build . -t zksync-os-server:local


cd ..

mkdir zksync-os-mainnet-dawn-external-node

sudo chown -R 10001:10001 zksync-os-mainnet-dawn-external-node/

docker run -d \
  --name zksync-os-server-mainnet-dawn \
  --restart unless-stopped \
  -e general_l1_rpc_url=https://l1-api-mainnet-1.zksync-nodes.com \
  -e genesis_bridgehub_address__json=null \
  -e genesis_chain_id__json=null \
  -e genesis_genesis_input_path__json=null \
  -e genesis_bytecode_supplier_address__json=null \
  -e general_run_priority_tree=false \
  \
  -e sequencer_block_replay_download_address=https://zksync-os-mainnet-dawn-block-replay.zksync.io \
  -e general_main_node_rpc_url=https://zksync-os-mainnet-dawn.zksync.io \
  -v /root/zksync-os-mainnet-dawn-external-node/:/app/db/node1/ \
  -v /root/zksync-os-mainnet-dawn-external-node/:/app/db/shared/ \
  zksync-os-server:local
```


```
evl @ ~/code/zksync-os-server ~> git checkout main                                                                          1.59s  12:21:08
Already on 'main'
Your branch is up to date with 'origin/main'.
evl @ ~/code/zksync-os-server ~> git pull origin main                                                                        36ms  12:21:59
From github.com:matter-labs/zksync-os-server
 * branch            main       -> FETCH_HEAD
Already up to date.

evl @ ~/code/zksync-os-server ~> rm -r db/node1/*                                                                           624ms  12:20:56
zsh: sure you want to delete all the files in /home/evl/code/zksync-os-server/db/node1 [yn]? y
zsh: no matches found: db/node1/*

evl @ ~/code/zksync-os-server ~> anvil --load-state zkos-l1-state.json --port 8545 
...

evl @ ~/code/zksync-os-server ~> prover_api_fake_fri_provers_enabled=false prover_api_fake_snark_provers_enabled=false cargo run --release
...
2025-11-27T11:23:12.778893Z DEBUG zksync_os_server::prover_input_generator: sending block with prover input to batcher block_number=1
2025-11-27T11:23:12.778919Z DEBUG zksync_os_server::prover_input_generator: ProverInputGenerator started processing block 2 with 6 transactions
ZK RISC-V simulator is starting
[/home/evl/.cargo/git/checkouts/zksync-airbender-8ab8222a00c65218/c23fd00/risc_v_simulator/src/sim/mod.rs:192:13] path.as_ref() = "./db/node1/app_bins/v5/singleblock_batch.bin"
[/home/evl/.cargo/git/checkouts/zksync-airbender-8ab8222a00c65218/c23fd00/risc_v_simulator/src/sim/mod.rs:198:13] buffer.len() / 4 = 307257
2025-11-27T11:23:12.781512Z  INFO zksync_os_server::batcher: Recreating existing batch batch_number=1 first_block=1 last_block=1
2025-11-27T11:23:12.781533Z DEBUG zksync_os_server::batcher: Adding block to recreated batch batch_number=1 block_number=1
2025-11-27T11:23:12.781804Z ERROR zksync_os_pipeline::builder: batcher component failed err=Rebuilt batch info does not match stored batch info for batch 1. Rebuilt info: StoredBatchInfo { batch_number: 1, state_commitment: 0x5aa62755e7dda9266ba51ae8f7d6d976bdda7e62778134ecf331b97663e95d0a, number_of_layer1_txs: 0, priority_operations_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470, dependency_roots_rolling_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, l2_to_l1_logs_root_hash: 0x471fa154048235d772cc74087d2ba5a3be34bd3b32e2a8c2d73ddeabc34abbde, commitment: 0xd0e9826e08783dc23da3b9f3c99a560adc47e89176b3ba975a2c25d6b07e811b, last_block_timestamp: 1764242590 }, Stored info: StoredBatchInfo { batch_number: 1, state_commitment: 0x5df396f03ae2d9f4c7c98a12dafa21b7f27e22f395a1551b7eff684e5fb77c4f, number_of_layer1_txs: 7, priority_operations_hash: 0x96363fe398dd80d1ac08a5a4f94d54e2e2313d6e2ea31a38e476202288fcd9c4, dependency_roots_rolling_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, l2_to_l1_logs_root_hash: 0x8088f7e0149cf6902107024817deeff995e0f37522989cb7403640c21fd65a47, commitment: 0x58e7851059f28c3c2880dddebeed56bca09dda1fefad72ed50488a04da8d24d3, last_block_timestamp: 1762438532 }
2025-11-27T11:23:12.781818Z  WARN zksync_os_pipeline::builder: batch_verification component unexpectedly exited
2025-11-27T11:23:12.781826Z ERROR zksync_os_pipeline::builder: fri_proving component failed err=FRI proving input stream ended unexpectedly
2025-11-27T11:23:12.781828Z  INFO zksync_os_server: One of the subsystems exited - exiting process.
2025-11-27T11:23:12.781835Z ERROR zksync_os_pipeline::builder: gapless_committer component failed err=GaplessCommitter input stream ended unexpectedly
2025-11-27T11:23:12.781849Z ERROR zksync_os_pipeline::builder: upgrade_gatekeeper component failed err=UpgradeGatekeeper input stream ended unexpectedly
2025-11-27T11:23:12.781905Z  WARN zksync_os_server: Main task unexpectedly exited
Took 43183647 cycles to finish
2025-11-27T11:23:13.002300Z  INFO zksync_os_server::prover_input_generator: Completed prover input computation in 223.331828ms. block_number=2

```

```
0x58215d25482d81e7cf127d7d435c81beaa9a29a44c3193aca05bd308dcba09c1
```

```
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> VERIFIER_ID=4 CHAIN_ID=2702 BRIDGEHUB_ADDRESS=0x236D1c3Ff32Bd0Ca26b72Af287E895627c0478cE RPC_URL=https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j DEPLOYER_KEY=$DEPLOYER_KEY ERA_CONTRACTS_TAG=zkos-v0.29.11 ./update.sh
...
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0x95A9488f66f225780714f147e1c70623E6eD1f57
FflonkVerifierPlonk deployed to: 0x9A0bfeF4070cCE25843F291e524770405c57960E

**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c96700000000000000000000000000000000000000000000000000000000000000040000000000000000000000009a0bfef4070cce25843f291e524770405c57960e00000000000000000000000095a9488f66f225780714f147e1c70623e6ed1f57


COMMAND:
cast send --rpc-url "https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 4 0x95A9488f66f225780714f147e1c70623E6eD1f57 0x9A0bfeF4070cCE25843F291e524770405c57960E --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c


evl @ ~ ~> forge verify-contract 0x95A9488f66f225780714f147e1c70623E6eD1f57 L1VerifierPlonk --chain=sepolia  --etherscan-api-key "9K2ATFE7EBD6KVEDK17MS73M9JKTFYBRD9"
Error: No contract found with the name `L1VerifierPlonk`
```



```
evl @ ~/code/zksync-airbender ~> ./tools/reproduce/reproduce.sh                                                                                                   1m18s  12:40:10
  2 85ms  21h ago docker rm -f verifiers
  1 244ms 21h ago docker rmi airbender-verifiers
  > 1m    21h ago cargo run --release --bin cli -- run --bin ./tools/verifier/universal.bin --input-file ~/code/zksync-airbender-prover/verifier_input.bin --machine reduced
```

```
2025-11-05T09:41:18.817840Z  INFO zksync_os_snark_prover: Supported protocol versions: SupportedProtocolVersions {
  vk_hash: 0x6a4509801ec284b8921c63dc6aaba668a0d71382d87ae4095ffc2235154e9fa3
  airbender_version: 0.5.0
  zksync_os_version: 0.0.26
  zkos_wrapper: 0.5.0
  bin_md5sum: fd9fd6ebfcfe7b3d1557e8a8b8563dd6

}
```


```
creating genesis file
Error: open repos/zksync-era/contracts/l1-contracts/out/L2ComplexUpgrader.sol/L2ComplexUpgrader.json: no such file or directory
```

```
thread 'main' panicked at /home/evl/.cargo/git/checkouts/zksync-crypto-00d363a409815104/e233826/crates/bellman/src/kate_commitment/mod.rs:87:28:
capacity overflow
stack backtrace:
   0:     0x5961fb4c8c22 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hba0ac3ebdec0302b
   1:     0x5961fb4f0e43 - core::fmt::write::h752296e6eed1df48
   2:     0x5961fb4c4b23 - std::io::Write::write_fmt::hdc67b8a1ae47802e
   3:     0x5961fb4c8a72 - std::sys::backtrace::BacktraceLock::print::h9ae2627f939f6ec0
   4:     0x5961fb4c9c72 - std::panicking::default_hook::{{closure}}::h5c801bbbd3f53c67
   5:     0x5961fb4c9a75 - std::panicking::default_hook::h0008735e4736e9d8
   6:     0x5961fb4ca692 - std::panicking::rust_panic_with_hook::h3622abb623658084
   7:     0x5961fb4ca3e6 - std::panicking::begin_panic_handler::{{closure}}::h197cfb5dea60202a
   8:     0x5961fb4c9129 - std::sys::backtrace::__rust_end_short_backtrace::hb5fe5e7c5b61ed51
   9:     0x5961fb4ca0ad - __rustc[c9acd4f00d26d045]::rust_begin_unwind
  10:     0x5961fb4ee830 - core::panicking::panic_fmt::h8d16370d7cdeaf7b
  11:     0x5961fb4e62a7 - alloc::raw_vec::capacity_overflow::hb2c71f20ad5c8d31
  12:     0x5961fb4e6487 - alloc::raw_vec::handle_error::h84144ef81c430b40
  13:     0x5961faa1ceae - zksync_bellman::kate_commitment::Crs<E,T>::read::h384c5f3b5b21640b
  14:     0x5961fa1d1c49 - zkos_wrapper::get_trusted_setup::h2ec1bbfbdbde88ae
  15:     0x5961fa1d29c1 - zkos_wrapper::prove_risc_wrapper_with_snark::hc771242b53bfdc08
  16:     0x5961fa1d3c76 - zkos_wrapper::prove::hbbe3ef125dc1c394
  17:     0x5961f9e332ae - zksync_os_snark_prover::run_linking_fri_snark::{{closure}}::h5dc3fe14abd44b05
  18:     0x5961f9e35e84 - <core::future::poll_fn::PollFn<F> as core::future::future::Future>::poll::h3c85e06f8fbf0d39
  19:     0x5961f9e7e2de - tokio::runtime::park::CachedParkThread::block_on::h56e16bee390411f6
  20:     0x5961f9e49f82 - tokio::runtime::runtime::Runtime::block_on::hd236c3f0ab367841
  21:     0x5961f9e73814 - zksync_os_snark_prover::main::h88b050641d1fc91f
  22:     0x5961f9e7cfb3 - std::sys::backtrace::__rust_begin_short_backtrace::h994f235616dd3fc8
  23:     0x5961f9e5de99 - std::rt::lang_start::{{closure}}::h7337d518a5cf2c82
  24:     0x5961fb4bbc14 - std::rt::lang_start_internal::h86216dfe9f623c33
  25:     0x5961f9e76e45 - main
  26:     0x7fd425229d90 - <unknown>
  27:     0x7fd425229e40 - __libc_start_main
  28:     0x5961f9e30575 - _start
  29:                0x0 - <unknown>
```


```
evl @ ~/code/zksync_tools/zkos/update_contract_vk/repos/era-contracts/l1-contracts ~> forge verify-contract 
L1VerifierPlonk --chain=sepolia  --etherscan-api-key "9K2ATFE7EBD6KVEDK17MS73M9JKTFYBRD9"
Start verifying contract `0xA7198A98919b273ac68a84C83ea4A98b94307a13` deployed on sepolia

Contract [contracts/state-transition/verifiers/L1VerifierPlonk.sol:L1VerifierPlonk] "0xA7198A98919b273ac68a84C83ea4A98b94307a13" is already verified. Skipping verification.
```

```
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0xA7198A98919b273ac68a84C83ea4A98b94307a13
FflonkVerifierPlonk deployed to: 0x216282AFf02522A232077bf4e4aC1712c2D3a209

**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c9670000000000000000000000000000000000000000000000000000000000000003000000000000000000000000216282aff02522a232077bf4e4ac1712c2d3a209000000000000000000000000a7198a98919b273ac68a84c83ea4a98b94307a13


COMMAND:
cast send --rpc-url "https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j" 0x8b0474730CbDff41ecd9f8BaD51811bf8A5E547E 'addVerifier(uint32,address,address)' 3 0xA7198A98919b273ac68a84C83ea4A98b94307a13 0x216282AFf02522A232077bf4e4aC1712c2D3a209 --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
```




```
Start verifying contract `0xeb9967292F2ff692F467764f74877F8459bA0E24` deployed on sepolia

Submitting verification for [contracts/state-transition/verifiers/L1VerifierFflonk.sol:L1VerifierFflonk] 0xeb9967292F2ff692F467764f74877F8459bA0E24.
Submitted contract for verification:
	Response: `OK`
	GUID: `ysyyiszvrqlpcms8zkexarww3jex3eczh7hzgweatgawffttss`
	URL: https://sepolia.etherscan.io/address/0xeb9967292f2ff692f467764f74877f8459ba0e24


Start verifying contract `0xeb9967292F2ff692F467764f74877F8459bA0E24` deployed on sepolia

Submitting verification for [contracts/state-transition/verifiers/L1VerifierPlonk.sol:L1VerifierPlonk] 0xeb9967292F2ff692F467764f74877F8459bA0E24.
Submitted contract for verification:
	Response: `OK`
	GUID: `mvzevagbl3jwi8xgkhshq8yh1hsdmcelgnrztw85b3binzxnxj`
	URL: https://sepolia.etherscan.io/address/0xeb9967292f2ff692f467764f74877f8459ba0e24

forge verify-contract 0xeb9967292F2ff692F467764f74877F8459bA0E24 L1VerifierPlonk --chain=sepolia  --etherscan-api-key "9K2ATFE7EBD6KVEDK17MS73M9JKTFYBRD9" (edited) 






```



```
**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0xeb9967292F2ff692F467764f74877F8459bA0E24
FflonkVerifierPlonk deployed to: 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA

**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c9670000000000000000000000000000000000000000000000000000000000000003000000000000000000000000c3b1be597309d6ec88e75874c3bd7bc4ea6e38fa000000000000000000000000eb9967292f2ff692f467764f74877f8459ba0e24


COMMAND:
cast send --rpc-url "https://eth-sepolia.g.alchemy.com/v2/bP0tJvJx1jJRKMXlWbLStGxm5amUSy4j" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
```


```
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> VERIFIER_ID=3 CHAIN_ID=2702 BRIDGEHUB_ADDRESS=0x236D1c3Ff32Bd0Ca26b72Af287E895627c0478cE RPC_URL=http://localhost:8545 DEPLOYER_KEY=$DEPLOYER_KEY ERA_CONTRACTS_TAG=zkos-v0.29.9 ./update.sh
BridgeHub diamond proxy for chain 2702 is at: 0x98A0d85435A0e2834142bFD24a30e0c0B6866De2
Current verifier is at: 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676


**** Deploying verifiers *****
L1VerifierPlonk deployed to: 0xeb9967292F2ff692F467764f74877F8459bA0E24
FflonkVerifierPlonk deployed to: 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA

**** Adding verifiers to the verifier contract *****
Please use the calldata below (or call the command) with 0x5555555590930f501c88B73Ea43B3EEb5A71643c private key
CALLDATA:
0x80c6c9670000000000000000000000000000000000000000000000000000000000000003000000000000000000000000c3b1be597309d6ec88e75874c3bd7bc4ea6e38fa000000000000000000000000eb9967292f2ff692f467764f74877f8459ba0e24


COMMAND:
cast send --rpc-url "http://localhost:8545" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~>                                                                         3.9s  16:49:56






evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> cast rpc anvil_impersonateAccount 0x5555555590930f501c88B73Ea43B3EEb5A71643c
null
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> cast send --rpc-url "http://localhost:8545" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c

Error: Error accessing local wallet. Did you pass a keystore, hardware wallet, private key or mnemonic?

Run the command with --help flag for more information or use the corresponding CLI
flag to set your key via:

--keystore
--interactive
--private-key
--mnemonic-path
--aws
--gcp
--trezor
--ledger

Alternatively, when using the `cast send` or `cast mktx` commands with a local node
or RPC that has unlocked accounts, the --unlocked or --ethsign flags can be used,
respectively. The sender address can be specified by setting the `ETH_FROM` environment
variable to the desired unlocked account address, or by providing the address directly
using the --from flag.
evl @ ~/code/zksync_tools/zkos/update_contract_vk ~>                                                                         51ms  16:53:19






evl @ ~/code/zksync_tools/zkos/update_contract_vk ~> cast send --rpc-url "http://localhost:8545" 0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676 'addVerifier(uint32,address,address)' 3 0xeb9967292F2ff692F467764f74877F8459bA0E24 0xC3b1Be597309D6ec88E75874c3Bd7Bc4ea6e38fA --from 0x5555555590930f501c88B73Ea43B3EEb5A71643c --unlocked

blockHash            0x295a712cb2d17324133e20ed90d468a1e560438ca04567fe334c68dbfcf6e232
blockNumber          9376202
contractAddress
cumulativeGasUsed    69002
effectiveGasPrice    1185033
from                 0x5555555590930f501c88B73Ea43B3EEb5A71643c
gasUsed              69002
logs                 []
logsBloom            0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
root
status               1 (success)
transactionHash      0x19ead03cdde1647ff17e67d0538fdbe60a4c9093b5e6d75c27772d798348ee24
transactionIndex     0
type                 2
blobGasPrice         16383365740161
blobGasUsed
to                   0x68b5C4C7EcaC4D905911f73Db1B7c64DcFf05676
```

```
2025-10-09T11:37:22.685132Z  INFO zksync_os_fri_prover: Starting proving block number 11
**** proving using GPU ****
2025-10-09T11:37:22.685705Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER producing memory commitments for binary with key 0
2025-10-09T11:37:22.791364Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER produced memory commitments for binary with key 0 in 0.106s
2025-10-09T11:37:22.791420Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER producing proofs for binary with key 0
2025-10-09T11:37:23.524283Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER produced proofs for binary with key 0 in 0.733s
2025-10-09T11:37:23.524305Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER committed to memory and produced proofs for binary with key 0 in 0.839s
**** proofs generated in 0.839s ****
Created 2 basic proofs, 0 reduced proofs, 0 reduced (log23) proofs and 2 delegation proofs.
*** Starting recursion level 0 ***
**** proving using GPU ****
2025-10-09T11:37:23.527185Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER producing memory commitments for binary with key 1
2025-10-09T11:37:23.650683Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER produced memory commitments for binary with key 1 in 0.123s
2025-10-09T11:37:23.650725Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER producing proofs for binary with key 1
2025-10-09T11:37:24.260467Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER produced proofs for binary with key 1 in 0.610s
2025-10-09T11:37:24.260493Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER committed to memory and produced proofs for binary with key 1 in 0.733s
**** proofs generated in 0.733s ****
Created 0 basic proofs, 3 reduced proofs, 0 reduced (log23) proofs and 1 delegation proofs.
*** Starting recursion level 1 ***
**** proving using GPU ****
2025-10-09T11:37:24.263819Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER producing memory commitments for binary with key 1
2025-10-09T11:37:24.374440Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER produced memory commitments for binary with key 1 in 0.111s
2025-10-09T11:37:24.374488Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER producing proofs for binary with key 1
2025-10-09T11:37:24.872825Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER produced proofs for binary with key 1 in 0.498s
2025-10-09T11:37:24.872849Z  INFO gpu_prover::execution::prover: BATCH[0] PROVER committed to memory and produced proofs for binary with key 1 in 0.609s
**** proofs generated in 0.609s ****
Created 0 basic proofs, 2 reduced proofs, 0 reduced (log23) proofs and 1 delegation proofs.
Stopping 1st recursion layer.
2025-10-09T11:37:24.873404Z  INFO zksync_os_fri_prover: Finished proving block number 11
```

```
https://developer.nvidia.com/cuda-12-9-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_network

RUST_BACKTRACE=full RUST_MIN_STACK=267108864 cargo run --release --features gpu --bin zksync_os_snark_prover -- run-prover --sequencer-url http://localhost:3124 --binary-path ./multiblock_batch.bin --trusted-setup-file crs/setup_compact.key --output-dir ./outputs

prover_api_fake_fri_provers_enabled=false prover_api_fake_snark_provers_enabled=false cargo run --release

cargo run --release -- --rpc-url 'http://127.0.0.1:3050' --rich-privkey 0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110 --duration 240m --max-in-flight 1 --wallets 1 --dest random
```


```

```

```
cast call -r "localhost:8545" 0xeb2c4dD70290aB7f4192793e8629911c7cB37F28 "verificationKeyHash()(bytes32)"
```

```
git clone git@github.com:NVIDIA/cuda-samples.git
cd cuda-samples/Samples/0_Introduction/vectorAdd
cmake .
make
./vectorAdd
```

```
thread 'main' panicked at wrapper/src/gpu/risc_wrapper.rs:77:10:
called `Result::unwrap()` on an `Err` value: ErrorInvalidValue
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: zkos_wrapper::gpu::risc_wrapper::get_risc_wrapper_setup
   4: zkos_wrapper::prove_fri_risc_wrapper
   5: zkos_wrapper::prove
   6: wrapper::main
```

```
time RUST_BACKTRACE=1 RUST_MIN_STACK=267108864 cargo run --bin wrapper --release --features gpu  prove-full --input wrapper/testing_data/risc_proof --trusted-setup-file ./../zksync-era/prover/keys/setup/setup_compact.key  --output-dir ~/Desktop
```

`cast call 0x9a6de0f62Aa270A8bCB1e2610078650D539B1Ef9 "getTotalBatchesVerified()(uint256)" --rpc-url $SEPOLIA

---

 27 | \x                                                                 |                                                                    |                                                                    |                                                                    | 2025-04-02 12:35:09.373682 |                      0 | \xf688611ad4e0ef20184a89e7b593493dffcefe92071f85c1a0b94d4852c4f82f | \x941fd36f78a5ba753dbbe65b9123a43ae833405fafd03b5149b959eee766e03c
 
 INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

---

```
export PATH=/opt/homebrew/bin:$PATH

# Source manjaro customized config
source ~/.config/zsh/manjaro_zsh

. "$HOME/.cargo/env"
disable r

# Prompt
autoload -U colors && colors

export PS1="%{$fg[red]%}%n %{$fg[magenta]%}@ %{$fg[green]%}%~ %{$fg[cyan]%}% ~> "
export PS2="%{fg[white]%}% | ~> "

# Rust configs
alias ls="exa"
alias ll="exa -la"
alias grep="rg"
alias du="dust -r -d 1"

# gcloud
export PATH=$PATH:/Users/emilluta/google-cloud-sdk/bin/

# VPN setups
alias prod="warp-cli vnet ca41ee9c-2b63-45a8-b6b7-03b14f84f1d6 && gcloud container clusters get-credentials zksync-mainnet2 --region us-central1 --project zksync-mainnet2 && export NAMESPACE=mainnet2"
alias prod_use1="warp-cli vnet 944d44da-61dc-4c66-87e1-2b6a049cfe46 && gcloud container clusters get-credentials zksync-mainnet2-use1 --region us-east1 --project zksync-mainnet2-use1 && export NAMESPACE=mainnet2"
alias prod_use4="warp-cli vnet ecc7c1ad-cca4-4775-b94d-3cbc11db1a87 && gcloud container clusters get-credentials zksync-mainnet2-use4 --region us-east4 --project zksync-mainnet2-use4 && export NAMESPACE=mainnet2"
alias prod_ase1="warp-cli vnet e6e569cd-54da-4357-bcf8-6b1b48e2c0f4 && gcloud container clusters get-credentials zksync-mainnet2-ase1 --region asia-southeast1 --project zksync-mainnet2-ase1 && export NAMESPACE=mainnet2"
alias boojnet="warp-cli vnet 5413382f-c0f2-405e-84b9-674225818a47 && gcloud container clusters get-credentials zksync-boojnet-usc1 --region us-central1 --project zksync-boojnet-usc1 && export NAMESPACE=testnet2"
alias stage="warp-cli vnet 0c58738f-c76d-483f-9cee-bb6fb0d27736 && gcloud container clusters get-credentials zksync-stage --region us-central1 --project zksync-stage && export NAMESPACE=stage2"
alias era_stage_proofs="warp-cli vnet 04414de7-22e8-4cdf-8fca-a5ac30b76146 &&  gcloud container clusters get-credentials zksync-era-stage-proofs --region us-central1 --project zksync-era-stage-proofs && export NAMESPACE=stage2"
alias lens_stage="warp-cli vnet 539c6bc5-1ade-461c-bebc-53eb62238e84 && gcloud container clusters get-credentials raas-lens-staging --region europe-west4 --project raas-lens-staging && export NAMESPACE=lens-staging"
alias abstract_stage="warp-cli vnet 503d175e-dc76-4ccc-9542-ca811609a556 && gcloud container clusters get-credentials raas-abstract-staging --region us-central1 --project raas-abstract-staging && export NAMESPACE=stage2"
alias abstract_testnet="warp-cli vnet 4d777eb9-3662-4697-8a7a-10fee1e7ea07 && gcloud container clusters get-credentials raas-abstract-testnet --region us-central1 --project raas-abstract-testnet && export NAMESPACE=testnet2"
alias sophon_testnet="warp-cli vnet 9f9f6773-1dd3-4db0-94f1-19f30f535a27 && gcloud container clusters get-credentials raas-sophon-testnet --region us-central1 --project raas-sophon-testnet && export NAMESPACE=testnet2"
alias era_stage_validium="warp-cli vnet 6a7ee694-34a5-41ba-92fd-ecb820f787cc && gcloud container clusters get-credentials zksync-era-stage-validium --region asia-southeast1 --project zksync-era-stage-validium && export NAMESPACE=stage2"
alias treasure_testnet="warp-cli vnet 81648f76-103e-4b10-9269-ed187c1493fb && gcloud container clusters get-credentials treasure-testnet-8490e29 --region us-central1 --project raas-treasure-testnet && export NAMESPACE=testnet2"
alias sophon_mainnet="warp-cli vnet 31650e23-3990-454c-8d2b-71928d1f7571 && gcloud container clusters get-credentials raas-sophon-mainnet --region europe-west4 --project raas-sophon-mainnet && export NAMESPACE=mainnet2"
alias abstract_mainnet="warp-cli vnet 5f1f6f3b-63bd-47a0-87bf-4228a01d3976 && gcloud container clusters get-credentials raas-abstract-mainnet --region europe-west4 --project raas-abstract-mainnet && export NAMESPACE=mainnet2"
alias abstract_mainnet_ase1="warp-cli vnet 02f5ef9a-086c-4be3-9556-65642c1604d2 && gcloud container clusters get-credentials raas-abstract-mainnet-ase1 --region asia-southeast1 --project raas-abstract-mainnet-ase1 && export NAMESPACE=mainnet2"
alias abstract_mainnet_euw1="warp-cli vnet 3bf9d9f6-4b45-4b79-b931-5a22b534ddde && gcloud container clusters get-credentials raas-abstract-mainnet-euw1 --region europe-west1 --project raas-abstract-mainnet-euw1 && export NAMESPACE=mainnet2"
alias abstract_mainnet_use4="warp-cli vnet 71491eff-5b99-42c1-bac2-3669634cfee2 && gcloud container clusters get-credentials raas-abstract-mainnet-use4 --region us-east4 --project raas-abstract-mainnet-use4 && export NAMESPACE=mainnet2"
alias treasure_mainnet="warp-cli vnet 72a38cfb-c54b-481e-bbbc-f75b45147b85 && gcloud container clusters get-credentials raas-treasure-mainnet --region us-east1 --project raas-treasure-mainnet && export NAMESPACE=mainnet2"
alias treasure_mainnet_use4="warp-cli vnet f260191f-1c8d-4b48-b93e-6de024b37678 && gcloud container clusters get-credentials raas-treasure-use4-mainnet --region us-east4 --project raas-treasure-mainnet-use4 && export NAMESPACE=mainnet2"
alias wonderfi_testnet="warp-cli vnet afb9a33a-9c25-4574-a8a6-7b7120a2d246 && gcloud container clusters get-credentials raas-wonderfi-testnet --region us-central1 --project raas-wonderfi-testnet && export NAMESPACE=testnet2"
alias era_gateway_stage="warp-cli vnet 356ff4a3-2f0b-4926-a030-b108b3b7a5e8 && gcloud container clusters get-credentials zksync-era-gateway-stage --region us-central1 --project zksync-era-gateway-stage && export NAMESPACE=stage2"
alias wonderfi_mainnet="warp-cli vnet 0c944c18-441c-4760-9c21-1c60c97c771c && gcloud container clusters get-credentials raas-wonderfi-mainnet --region us-central1 --project raas-wonderfi-mainnet && export NAMESPACE=mainnet2"
alias lens_mainnet="warp-cli vnet 44021f03-71c3-427a-84d1-86fd1dda91e7 && gcloud container clusters get-credentials raas-lens-mainnet --region europe-west1 --project raas-lens-mainnet && export NAMESPACE=mainnet2"
alias lens_mainnet_use4="warp-cli vnet a6e4db3d-cd9d-4bde-8cd9-695b087db354 && gcloud container clusters get-credentials raas-lens-mainnet-use4 --region us-east4 --project raas-lens-mainnet-use4 && export NAMESPACE=mainnet2"
alias era_gateway_testnet="warp-cli vnet b465f1f6-3cb9-4791-bf62-c34fb91442c6 && gcloud container clusters get-credentials zksync-era-gateway-testnet --region us-central1 --project zksync-era-gateway-testnet && export NAMESPACE=testnet2"

# OLD VPN SETUPS
# alias prod="warp-cli vnet ca41ee9c-2b63-45a8-b6b7-03b14f84f1d6 && gcloud container clusters get-credentials zksync-mainnet2 --region us-central1 --project zksync-mainnet2 && export NAMESPACE=mainnet2"
# alias prod_use1="warp-cli vnet 944d44da-61dc-4c66-87e1-2b6a049cfe46 && gcloud container clusters get-credentials zksync-mainnet2-use1 --region us-east1 --project zksync-mainnet2-use1 && export NAMESPACE=mainnet2"
# alias prod_use4="warp-cli vnet ecc7c1ad-cca4-4775-b94d-3cbc11db1a87 && gcloud container clusters get-credentials zksync-mainnet2-use4 --region us-east4 --project zksync-mainnet2-use4 && export NAMESPACE=mainnet2"
# alias prod_ase1="warp-cli vnet e6e569cd-54da-4357-bcf8-6b1b48e2c0f4 && gcloud container clusters get-credentials zksync-mainnet2-ase1 --region asia-southeast1 --project zksync-mainnet2-ase1 && export NAMESPACE=mainnet2"
# alias prod_sophon="warp-cli vnet 31650e23-3990-454c-8d2b-71928d1f7571 && gcloud container clusters get-credentials raas-sophon-mainnet --region europe-west4 --project raas-sophon-mainnet && export NAMESAPCE=mainnet2"
# alias prod_abstract="warp-cli vnet 5f1f6f3b-63bd-47a0-87bf-4228a01d3976 && gcloud container clusters get-credentials raas-abstract-mainnet --region europe-west4 --project raas-abstract-mainnet && export NAMESPACE=mainnet2"
# alias boojnet="warp-cli vnet 5413382f-c0f2-405e-84b9-674225818a47 && gcloud container clusters get-credentials zksync-boojnet-usc1 --region us-central1 --project zksync-boojnet-usc1 && export NAMESPACE=testnet2"
# alias stage="warp-cli vnet 0c58738f-c76d-483f-9cee-bb6fb0d27736 && gcloud container clusters get-credentials zksync-stage --region us-central1 --project zksync-stage && export NAMESPACE=stage2"
# alias era_stage_proofs="warp-cli vnet 04414de7-22e8-4cdf-8fca-a5ac30b76146 &&  gcloud container clusters get-credentials zksync-era-stage-proofs --region us-central1 --project zksync-era-stage-proofs && export NAMESPACE=stage2"
# alias lens_stage="warp-cli vnet 539c6bc5-1ade-461c-bebc-53eb62238e84 && gcloud container clusters get-credentials raas-lens-staging --region europe-west4 --project raas-lens-staging && export NAMESPACE=lens-staging"
# alias abstract_stage="warp-cli vnet 503d175e-dc76-4ccc-9542-ca811609a556 && gcloud container clusters get-credentials raas-abstract-staging --region us-central1 --project raas-abstract-staging && export NAMESPACE=stage2"
# alias abstract_testnet="warp-cli vnet 4d777eb9-3662-4697-8a7a-10fee1e7ea07 && gcloud container clusters get-credentials raas-abstract-testnet --region us-central1 --project raas-abstract-testnet && export NAMESPACE=testnet"
# alias sophon_testnet="warp-cli vnet 9f9f6773-1dd3-4db0-94f1-19f30f535a27 && gcloud container clusters get-credentials raas-sophon-testnet --region us-central1 --project raas-sophon-testnet && export NAMESPACE=testnet"
# alias era_stage_validium="warp-cli vnet 6a7ee694-34a5-41ba-92fd-ecb820f787cc && gcloud container clusters get-credentials zksync-era-stage-validium --region asia-southeast1 --project zksync-era-stage-validium && export NAMESPACE=stage2"

# Useful aliases
alias kgp="kubectl get pods"
alias kdp="kubectl describe pod"
alias kl="kubectl logs -f"


export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

export LANG="en_US.UTF-8"

# Disable GPU provers
export ZKSYNC_USE_CUDA_STUBS=true

# zkstack completion
source "/Users/emilluta/.zsh/completion/_zkstack.zsh"
```

---

```
## Options section
setopt correct                                                  # Auto correct mistakes
setopt extendedglob                                             # Extended globbing. Allows using regular expressions with *
setopt nocaseglob                                               # Case insensitive globbing
setopt rcexpandparam                                            # Array expension with parameters
setopt nocheckjobs                                              # Don't warn about running processes when exiting
setopt numericglobsort                                          # Sort filenames numerically when it makes sense
setopt nobeep                                                   # No beep
setopt appendhistory                                            # Immediately append history instead of overwriting
setopt histignorealldups                                        # If a new command is a duplicate, remove the older one
setopt autocd                                                   # if only directory path is entered, cd there.
setopt inc_append_history                                       # save commands are added to the history immediately, otherwise only when shell exits.

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'       # Case insensitive tab completion
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"         # Colored completion (different colors for dirs/files/etc)
zstyle ':completion:*' rehash true                              # automatically find new executables in path
# Speed up completions
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
export EDITOR=nvim
#export VISUAL=nvim
WORDCHARS=${WORDCHARS//\/[&.;]}                                 # Don't consider certain characters part of the word


## Keybindings section
bindkey -e
bindkey '^[[7~' beginning-of-line                               # Home key
bindkey '^[[H' beginning-of-line                                # Home key
if [[ "${terminfo[khome]}" != "" ]]; then
  bindkey "${terminfo[khome]}" beginning-of-line                # [Home] - Go to beginning of line
fi
bindkey '^[[8~' end-of-line                                     # End key
bindkey '^[[F' end-of-line                                     # End key
if [[ "${terminfo[kend]}" != "" ]]; then
  bindkey "${terminfo[kend]}" end-of-line                       # [End] - Go to end of line
fi
bindkey '^[[2~' overwrite-mode                                  # Insert key
bindkey '^[[3~' delete-char                                     # Delete key
bindkey '^[[C'  forward-char                                    # Right key
bindkey '^[[D'  backward-char                                   # Left key
bindkey '^[[5~' history-beginning-search-backward               # Page up key
bindkey '^[[6~' history-beginning-search-forward                # Page down key

# Navigate words with ctrl+arrow keys
bindkey '^[Oc' forward-word                                     #
bindkey '^[Od' backward-word                                    #
bindkey '^[[1;5D' backward-word                                 #
bindkey '^[[1;5C' forward-word                                  #
bindkey '^H' backward-kill-word                                 # delete previous word with ctrl+backspace
bindkey '^[[Z' undo                                             # Shift+tab undo last action

## Alias section
alias cp="cp -i"                                                # Confirm before overwriting something
alias df='df -h'                                                # Human-readable sizes
alias free='free -m'                                            # Show sizes in MB
alias gitu='git add . && git commit && git push'

# Theming section
autoload -U compinit colors zcalc
compinit -d
colors

# Color man pages
export LESS_TERMCAP_mb=$'\E[01;32m'
export LESS_TERMCAP_md=$'\E[01;32m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m'
export LESS=-R


## Plugins section: Enable fish style features
# Use syntax highlighting
source /Users/emilluta/.config/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Use history substring search
source /Users/emilluta/.config/zsh/zsh-history-substring-search/zsh-history-substring-search.zsh
# bind UP and DOWN arrow keys to history substring search
zmodload zsh/terminfo
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down

# Offer to install missing package if command is not found
# if [[ -r /usr/share/zsh/functions/command-not-found.zsh ]]; then
    # source /usr/share/zsh/functions/command-not-found.zsh
    # export PKGFILE_PROMPT_INSTALL_MISSING=1
# fi

# Set terminal window and tab/icon title
#
# usage: title short_tab_title [long_window_title]
#
# See: http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
# Fully supports screen and probably most modern xterm and rxvt
# (In screen, only short_tab_title is used)
function title {
  emulate -L zsh
  setopt prompt_subst

  [[ "$EMACS" == *term* ]] && return

  # if $2 is unset use $1 as default
  # if it is set and empty, leave it as is
  : ${2=$1}

  case "$TERM" in
    xterm*|putty*|rxvt*|konsole*|ansi|mlterm*|alacritty|st*)
      print -Pn "\e]2;${2:q}\a" # set window name
      print -Pn "\e]1;${1:q}\a" # set tab name
      ;;
    screen*|tmux*)
      print -Pn "\ek${1:q}\e\\" # set screen hardstatus
      ;;
    *)
    # Try to use terminfo to set the title
    # If the feature is available set title
    if [[ -n "$terminfo[fsl]" ]] && [[ -n "$terminfo[tsl]" ]]; then
      echoti tsl
      print -Pn "$1"
      echoti fsl
    fi
      ;;
  esac
}

ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
ZSH_THEME_TERM_TITLE_IDLE="%n@%m:%~"

# Runs before showing the prompt
function mzc_termsupport_precmd {
  [[ "${DISABLE_AUTO_TITLE:-}" == true ]] && return
  title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
}

# Runs before executing the command
function mzc_termsupport_preexec {
  [[ "${DISABLE_AUTO_TITLE:-}" == true ]] && return

  emulate -L zsh

  # split command into array of arguments
  local -a cmdargs
  cmdargs=("${(z)2}")
  # if running fg, extract the command from the job description
  if [[ "${cmdargs[1]}" = fg ]]; then
    # get the job id from the first argument passed to the fg command
    local job_id jobspec="${cmdargs[2]#%}"
    # logic based on jobs arguments:
    # http://zsh.sourceforge.net/Doc/Release/Jobs-_0026-Signals.html#Jobs
    # https://www.zsh.org/mla/users/2007/msg00704.html
    case "$jobspec" in
      <->) # %number argument:
        # use the same <number> passed as an argument
        job_id=${jobspec} ;;
      ""|%|+) # empty, %% or %+ argument:
        # use the current job, which appears with a + in $jobstates:
        # suspended:+:5071=suspended (tty output)
        job_id=${(k)jobstates[(r)*:+:*]} ;;
      -) # %- argument:
        # use the previous job, which appears with a - in $jobstates:
        # suspended:-:6493=suspended (signal)
        job_id=${(k)jobstates[(r)*:-:*]} ;;
      [?]*) # %?string argument:
        # use $jobtexts to match for a job whose command *contains* <string>
        job_id=${(k)jobtexts[(r)*${(Q)jobspec}*]} ;;
      *) # %string argument:
        # use $jobtexts to match for a job whose command *starts with* <string>
        job_id=${(k)jobtexts[(r)${(Q)jobspec}*]} ;;
    esac

    # override preexec function arguments with job command
    if [[ -n "${jobtexts[$job_id]}" ]]; then
      1="${jobtexts[$job_id]}"
      2="${jobtexts[$job_id]}"
    fi
  fi

  # cmd name only, or if this is sudo or ssh, the next cmd
  local CMD=${1[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]:gs/%/%%}
  local LINE="${2:gs/%/%%}"

  title '$CMD' '%100>...>$LINE%<<'
}

autoload -U add-zsh-hook
add-zsh-hook precmd mzc_termsupport_precmd
add-zsh-hook preexec mzc_termsupport_preexec
```

---

    struct ProofRequest {
        string proofInputsUrl;
        uint32 protocolMajor;
        uint32 protocolMinor;
        uint32 protocolPatch;
        uint256 submittedAt;
        uint256 deadline;
        uint256 maxReward;
        ProofRequestStatus status;
        ProvingNetwork assignedTo;
        uint256 provingNetworkPrice;
    }
    
    
```
[[package]]
name = "circuit_definitions"
version = "0.152.3"
source = "git+https://github.com/matter-labs/zksync-protocol.git?rev=30c185fe4ab7a0e33c5a70d49a6bbde66b5862d1#30c185fe4ab7a0e33c5a70d49a6bbde66b5862d1"

...

[[package]]
name = "circuit_definitions"
version = "0.152.3"
source = "git+https://github.com/matter-labs/zksync-protocol#30c185fe4ab7a0e33c5a70d49a6bbde66b5862d1"
```


```
evl @ ~/code/air_compiler/tools/zksmith ~> cargo run -- --anvil-url http://localhost:8011 --zkos-bin-path ../../examples/zkos/app.binca
...
Initializing prover...
Creating setup took 77.354032647s
Connecting to Anvil at http://localhost:8011
Server running at http://127.0.0.1:3030

thread 'tokio-runtime-worker' panicked at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/shutdown.rs:51:21:
Cannot drop a runtime in a context where blocking is not allowed. This happens when a runtime is dropped from within an asynchronous context.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

```
evl @ ~ ~> cast --version                                                                                                    45ms  10:34:07
cast Version: 1.0.0-foundry-zksync-v0.0.14
Commit SHA: b9dc729dda17ff081509b7c13b388b9111a68336
Build Timestamp: 2025-04-28T17:35:04.661289788Z (1745861704)
Build Profile: release
```

```
cast send -r http://localhost:8011 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 --value 100ether --private-key   0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 10000000
```

```
==== Batch 1 took 7.168540029s ====
Proof created for block ID 1:  1 basic proofs  in  7168

Block 1 - total: 7168ms (basic: 4482ms) proofs: basic: 1 (delegation: 1,1) Download
```

```
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

contract Counter {
    uint256 public number;
    mapping(uint256 => uint256) public entries;

    function setNumber(uint256 newNumber) public {
        number = newNumber;
    }

    function increment() public {
        number++;
    }
    function heavyOperation(uint256 iterations) public {
        for (uint256 i = 0; i < iterations; i++) {
            // Perform a keccak256 hash operation
            bytes32 hash = keccak256(abi.encodePacked(number, i));

            // Write the hash to storage (this is just an example, avoid excessive storage writes in production)
            entries[i] = uint256(hash);
        }
    }

    function computeOperation(uint256 iterations) public {
        bytes32 result = keccak256(abi.encodePacked(number));
        for (uint256 i = 0; i < iterations; i++) {
            // Perform a keccak256 hash operation
            result = keccak256(abi.encodePacked(number, result));
        }
        entries[iterations] = uint256(result);
    }
}
```


```
forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011  --legacy --gas-limit 1000000
```

```
cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'heavyOperation(uint256)' 4000  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --gas-limit 10000000
```

```
Warning: Dry run enabled, not broadcasting transaction
...
Warning: To broadcast this transaction, add --broadcast to the previous command. See forge create --help for more.


evl @ ~/code/test_for_airbender ~> forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011  --legacy --gas-limit 1000000 --broadcast
[⠊] Compiling...
No files changed, compilation skipped
Deployer: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
Deployed to: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
Transaction hash: 0xfdf6560e7f931bbb596e35d15ccfde440c7a92de8c9a33c59942e4b553c75021
2025-05-22T08:48:24.846193Z ERROR alloy_provider::blocks: failed to fetch block number=4 err=error sending request for url (http://localhost:8011/)
```

```
cast code --r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3
```


```
evl @ ~/code/test_for_airbender ~> cast code -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3             14ms  10:51:36
0x
evl @ ~/code/test_for_airbender ~> cast code -r http://localhost:8011 0xe7f1725e7734ce288f8367e1bb143e90bb3f0512             42ms  10:52:02
0x608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80633fb5c1cb146100645780638381f58a146100805780638a74eaa81461009e578063b30906d4146100ba578063d09de08a146100ea578063d89f0ef3146100f4575b5f5ffd5b61007e60048036038101906100799190610274565b610110565b005b610088610119565b60405161009591906102ae565b60405180910390f35b6100b860048036038101906100b39190610274565b61011e565b005b6100d460048036038101906100cf9190610274565b6101ac565b6040516100e191906102ae565b60405180910390f35b6100f26101c1565b005b61010e60048036038101906101099190610274565b6101d9565b005b805f8190555050565b5f5481565b5f5f5460405160200161013191906102e7565b6040516020818303038152906040528051906020012090505f5f90505b8281101561018f575f548260405160200161016a92919061032a565b604051602081830303815290604052805190602001209150808060010191505061014e565b50805f1c60015f8481526020019081526020015f20819055505050565b6001602052805f5260405f205f915090505481565b5f5f8154809291906101d290610382565b9190505550565b5f5f90505b81811015610239575f5f54826040516020016101fb9291906103c9565b604051602081830303815290604052805190602001209050805f1c60015f8481526020019081526020015f20819055505080806001019150506101de565b5050565b5f5ffd5b5f819050919050565b61025381610241565b811461025d575f5ffd5b50565b5f8135905061026e8161024a565b92915050565b5f602082840312156102895761028861023d565b5b5f61029684828501610260565b91505092915050565b6102a881610241565b82525050565b5f6020820190506102c15f83018461029f565b92915050565b5f819050919050565b6102e16102dc82610241565b6102c7565b82525050565b5f6102f282846102d0565b60208201915081905092915050565b5f819050919050565b5f819050919050565b61032461031f82610301565b61030a565b82525050565b5f61033582856102d0565b6020820191506103458284610313565b6020820191508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61038c82610241565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036103be576103bd610355565b5b600182019050919050565b5f6103d482856102d0565b6020820191506103e482846102d0565b602082019150819050939250505056fea2646970667358221220b3ac923c6fcdd52da1cb50e911f4395856d926f82e437a9f65aa05c78a2cacd064736f6c634300081d0033
evl @ ~/code/test_for_airbender ~> cast code -r http://localhost:8011 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266             58ms  10:52:15
0x
```

```
cast send -r http://localhost:8011 0xe7f1725e7734ce288f8367e1bb143e90bb3f0512 'computeOperation(uint256)' 100  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80  --gas-limit 100000000
```

```
Block 2 - total: 8097ms (basic: 3074ms) proofs: basic: 8 (delegation: 1,1) Download
```

```
    source: JoinError::Panic(Id(102), "program failed to each the end of execution over 33554432 cycles", ...),
```


```
forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011  --legacy --gas-limit 1000000 --broadcast

cast code -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3

cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'computeOperation(uint256)' 100  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80  --gas-limit 100000000

cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'heavyOperation(uint256)' 50  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80  --gas-limit 100000000
```

```
evl @ ~/code/air_compiler/tools/zksmith ~> nvcc --version                                                                    34ms  11:10:55
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Jun__6_02:18:23_PDT_2024
Cuda compilation tools, release 12.5, V12.5.82
Build cuda_12.5.r12.5/compiler.34385749_0
```

```
==== Batch 1 took 4.718275039s ====
==== Batch 2 took 4.418991937s ====
==== Batch 3 took 4.392984261s ====
```

```
failed to allocate 6056574976 bytes, currently allocated 15049162752 bytes

thread 'tokio-runtime-worker' panicked at tools/cli/src/prover_utils.rs:462:22:
called `Result::unwrap()` on an `Err` value: ErrorMemoryAllocation
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/414482f6a0d4e7290f614300581a0b55442552a3/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/414482f6a0d4e7290f614300581a0b55442552a3/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/414482f6a0d4e7290f614300581a0b55442552a3/library/core/src/result.rs:1732:5
   3: core::result::Result<T,E>::unwrap
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1137:23
   4: cli_lib::prover_utils::create_proofs_internal
             at /home/evl/code/air_compiler/tools/cli/src/prover_utils.rs:453:21
   5: cli_lib::prover_utils::create_recursion_proofs
             at /home/evl/code/air_compiler/tools/cli/src/prover_utils.rs:587:56
   6: zksmith::LocalProver::create_proof_for_data
             at ./src/main.rs:102:67
   7: zksmith::main::{{closure}}::{{closure}}
             at ./src/main.rs:332:21
   8: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:331:17
   9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/loom/std/unsafe_cell.rs:16:9
  10: tokio::runtime::task::core::Core<T,S>::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:320:30
  11: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:532:19
  12: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  13: std::panicking::try::do_call
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
  14: std::panicking::try
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
  15: std::panic::catch_unwind
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  16: tokio::runtime::task::harness::poll_future
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:520:18
  17: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:209:27
  18: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:154:15
  19: tokio::runtime::task::raw::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:271:5
  20: tokio::runtime::task::raw::RawTask::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:201:18
  21: tokio::runtime::task::LocalNotified<S>::run
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/mod.rs:449:9
  22: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:596:18
  23: tokio::runtime::coop::with_budget
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:107:5
  24: tokio::runtime::coop::budget
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:73:5
  25: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:595:9
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:546:24
  27: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:511:21
  28: tokio::runtime::context::scoped::Scoped<T>::set
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/scoped.rs:40:9
  29: tokio::runtime::context::set_scheduler::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:26
  30: std::thread::local::LocalKey<T>::try_with
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:315:12
  31: std::thread::local::LocalKey<T>::with
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:279:15
  32: tokio::runtime::context::set_scheduler
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:9
  33: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:506:9
  34: tokio::runtime::context::runtime::enter_runtime
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/runtime.rs:65:16
  35: tokio::runtime::scheduler::multi_thread::worker::run
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:498:5
  36: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/multi_thread/worker.rs:464:45
  37: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/task.rs:42:21
  38: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:331:17
  39: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/loom/std/unsafe_cell.rs:16:9
  40: tokio::runtime::task::core::Core<T,S>::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/core.rs:320:30
  41: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:532:19
  42: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  43: std::panicking::try::do_call
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
  44: std::panicking::try
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
  45: std::panic::catch_unwind
             at /home/evl/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  46: tokio::runtime::task::harness::poll_future
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:520:18
  47: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:209:27
  48: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/harness.rs:154:15
  49: tokio::runtime::task::raw::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:271:5
  50: tokio::runtime::task::raw::RawTask::poll
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/raw.rs:201:18
  51: tokio::runtime::task::UnownedTask<S>::run
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/task/mod.rs:486:9
  52: tokio::runtime::blocking::pool::Task::run
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/pool.rs:161:9
  53: tokio::runtime::blocking::pool::Inner::run
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/pool.rs:511:17
  54: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /home/evl/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/blocking/pool.rs:469:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```

```
thread 'main' panicked at /home/evl/.cargo/git/checkouts/zksync-airbender-8ab8222a00c65218/4093b25/risc_v_simulator/src/cycle/utils.rs:126:17:
Unaligned access for 4 bytes at address 0xfff67a64
```

```
forge create src/Counter.sol:Counter --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8011  --legacy --gas-limit 1000000 --broadcast

cast code -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3

cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'computeOperation(uint256)' 100  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80  --gas-limit 100000000

cast send -r http://localhost:8011 0x5fbdb2315678afecb367f032d93f642f64180aa3 'heavyOperation(uint256)' 50  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80  --gas-limit 100000000
```


```
Error: One or more tasks failed: ["Task oneshot_runner failed: Oneshot task node_storage_initializer failed: Base system contracts mismatched: From Config BaseSystemContractsHashes { bootloader: 0x0100085f9382a7928dd83bfc529121827b5f29f18b9aa10d18aa68e1be7ddc35, default_aa: 0x010005f72e443c94460f4583fb38ef5d0c5cd9897021c41df840f91465c0392e, evm_emulator: Some(0x01000d83e0329d9144ad041430fafcbc2b388e5434db8cb8a96e80157738a1da) }, Calculated : BaseSystemContractsHashes { bootloader: 0x0100085f01f27b69bda4b0a20b9d7f8716aef1e865964d3c5309638c30cce3db, default_aa: 0x010005f72e443c94460f4583fb38ef5d0c5cd9897021c41df840f91465c0392e, evm_emulator: Some(0x01000d83e0329d9144ad041430fafcbc2b388e5434db8cb8a96e80157738a1da) }"]
```

```
2025-06-12T15:59:16.620195Z  INFO zksync_zkos_prover_input_generator::zkos_proof_data_server: Picked FRI block to prove: 1
2025-06-12T15:59:17.998439Z  INFO zksync_zkos_prover_input_generator::zkos_proof_data_server: Received FRI proof for block 1
```


```
[GPU 0] Initializing GPU context...
SystemTime { tv_sec: 1750869344, tv_nsec: 541337779 } starting proving block number 1
**** proving using GPU ****
initialized GPU memory pool for device ID 0 with 23.09375 GB of usable memory
[GPU 0] GPU context ready.
memory allocation of 234881024 bytes failed

```

```
evl @ ~/code/zksync-era/zksync_os_prover ~> time cargo build --release --features gpu                                              89ms  20:22:16
...
cargo build --release --features gpu  742.17s user 38.39s system 866% cpu 1:30.11 total
evl @ ~/code/zksync-era/zksync_os_prover ~>                                                                                       1m30s  20:23:51

commit 698c2b106ab71069fad615984073a1032de15716 (HEAD -> zksync-os-integration-prover, origin/zksync-os-integration-prover)
Author: EmilLuta <virgil.luta@gmail.com>
Date:   Fri Jun 13 18:45:31 2025 +0200

    Update version of airbende for snark prover
```

```
Warning
EraVM does not use bytecode for contract deployment. Instead, it refers to contracts using their bytecode hashes.
In order to deploy a contract, please use the `new` operator in Solidity instead of raw 'create'/'create2' in assembly.
In Solidity v0.6 and older, it can be a false-positive warning if there is 'create(' or 'create2(' in comments within assembly.
Learn more about CREATE/CREATE2 EraVM limitations at https://docs.zksync.io/zksync-protocol/differences/evm-instructions#create-create2
You may disable this warning with:
    1. `suppressedWarnings = ["assemblycreate"]` in standard JSON.
    2. `--suppress-warnings assemblycreate` in the CLI.
    |> contracts/dev-contracts/SingletonFactory.sol:22:30
 22 |             createdContract := create2(0, add(_initCode, 0x20), mload(_initCode), _salt)
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning
ZKsync Era comes with native account abstraction support, and therefore the initiator of a
transaction might be different from the contract calling your code. It is highly recommended NOT
to rely on tx.origin, but use msg.sender instead.
Learn more about Account Abstraction at https://docs.zksync.io/build/developer-reference/account-abstraction/
You may disable this warning with:
    a. `suppressedWarnings = ["txorigin"]` in standard JSON.
    b. `--suppress-warnings txorigin` in the CLI.
     |> contracts/state-transition/chain-deps/facets/Mailbox.sol:520:29
 520 |         if (request.sender != tx.origin) {
     |                               ^^^^^^^^^

Warning
ZKsync Era comes with native account abstraction support, and therefore the initiator of a
transaction might be different from the contract calling your code. It is highly recommended NOT
to rely on tx.origin, but use msg.sender instead.
Learn more about Account Abstraction at https://docs.zksync.io/build/developer-reference/account-abstraction/
You may disable this warning with:
    a. `suppressedWarnings = ["txorigin"]` in standard JSON.
    b. `--suppress-warnings txorigin` in the CLI.
    |> contracts/vendor/AddressAliasHelper.sol:56:43
 56 |             _recipient = _originalCaller == tx.origin
    |                                             ^^^^^^^^^

Warning
EraVM does not use bytecode for contract deployment. Instead, it refers to contracts using their bytecode hashes.
In order to deploy a contract, please use the `new` operator in Solidity instead of raw 'create'/'create2' in assembly.
In Solidity v0.6 and older, it can be a false-positive warning if there is 'create(' or 'create2(' in comments within assembly.
Learn more about CREATE/CREATE2 EraVM limitations at https://docs.zksync.io/zksync-protocol/differences/evm-instructions#create-create2
You may disable this warning with:
    1. `suppressedWarnings = ["assemblycreate"]` in standard JSON.
    2. `--suppress-warnings assemblycreate` in the CLI.
    |> lib/openzeppelin-contracts-v4/contracts/utils/Create2.sol:35:19
 35 |             addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt)
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Error

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
--> contracts/state-transition/chain-deps/facets/Admin.sol:AdminFacet
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
│
■  Command failed to run
│  
■    Status:
│      exit status: 1
│    Stdout:
│      
│  
│    Stderr:
│      
│  
■  Command failed to run: yarn build:foundry
│  
│  
▲    0: Command failed to run: yarn build:foundry
│  
└  Failed to run command

```

```
zkstack ecosystem init --deploy-paymaster --deploy-erc20 \
          --deploy-ecosystem --l1-rpc-url=http://localhost:8545 \
          --server-db-url=postgres://postgres:notsecurepassword@localhost:5432 \
          --server-db-name=zksync_server_localhost_era \
          --ignore-prerequisites --verbose \
          --observability=false
```

```
Unsupported access for 2 bytes at address 0x041fdc04
```


```
ACCOUNT="0x36615Cf349d7F6344891B1e7CA7C72883F5dc049"
PRIVATE_KEY="0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110"
```

```
evl @ ~/code/era-boojum-validator-cli ~> cargo run  -- verify-snark-boojum-os ~/Desktop/snark_11_20.json ~/Desktop/snark_vk.json
warning: unused import: `Bn256`
 --> src/boojum_os.rs:8:84
  |
8 | use circuit_definitions::snark_wrapper::franklin_crypto::bellman::pairing::bn256::{Bn256, Fr};
  |                                                                                    ^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: `era-boojum-validator-cli` (bin "era-boojum-validator-cli") generated 1 warning (run `cargo fix --bin "era-boojum-validator-cli"` to apply 1 suggestion)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
     Running `target/debug/era-boojum-validator-cli verify-snark-boojum-os /home/evl/Desktop/snark_11_20.json /home/evl/Desktop/snark_vk.json`
Verifying SNARK wrapped FRI proof.
=== Aux inputs:
  L1 msg linear hash:                  0x0000000000000000000000000000000000000000000000000000000000000000
  Rollup state diff for compression:   0x0000000000000000000000000000000000000000000000000000000000000000
  Bootloader heap initial content:     0x0000000000000000000000000000000000000000000000000000000000000000
  Events queue state:                  0x0000000000000000000000000000000000000000000000000000000000000000
=== Loading verification key.
=== Verification Key Hash Check:
  Verification Key Hash from L1:       0x0000000000000000000000000000000000000000000000000000000000000000
  Computed Verification Key Hash:      0x5295a9eef2e9e708cb9d1e840ecd25ca93b6f1a9c83ba44f1cfbec90db7dddbc
Supplied vk hash is None, skipping check...
Verifying the proof
Proof is VALID
Public input is: Fr(0x00000000ac99e2d79fc4c803234cf0eab4b846f863bab50214f20278361d6047)
Registers from public input: [3617572040, 3098319330, 1290857140, 34865955, 4167285429, 492848966, 4060248118]
```

```
evl @ ~/code/era-boojum-validator-cli ~> cargo run  -- verify-snark-boojum-os ~/Desktop/snark_1_10.json ~/Desktop/snark_vk.json
warning: unused import: `Bn256`
 --> src/boojum_os.rs:8:84
  |
8 | use circuit_definitions::snark_wrapper::franklin_crypto::bellman::pairing::bn256::{Bn256, Fr};
  |                                                                                    ^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: `era-boojum-validator-cli` (bin "era-boojum-validator-cli") generated 1 warning (run `cargo fix --bin "era-boojum-validator-cli"` to apply 1 suggestion)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
     Running `target/debug/era-boojum-validator-cli verify-snark-boojum-os /home/evl/Desktop/snark_1_10.json /home/evl/Desktop/snark_vk.json`
Verifying SNARK wrapped FRI proof.
=== Aux inputs:
  L1 msg linear hash:                  0x0000000000000000000000000000000000000000000000000000000000000000
  Rollup state diff for compression:   0x0000000000000000000000000000000000000000000000000000000000000000
  Bootloader heap initial content:     0x0000000000000000000000000000000000000000000000000000000000000000
  Events queue state:                  0x0000000000000000000000000000000000000000000000000000000000000000
=== Loading verification key.
=== Verification Key Hash Check:
  Verification Key Hash from L1:       0x0000000000000000000000000000000000000000000000000000000000000000
  Computed Verification Key Hash:      0x5295a9eef2e9e708cb9d1e840ecd25ca93b6f1a9c83ba44f1cfbec90db7dddbc
Supplied vk hash is None, skipping check...
Verifying the proof
Proof is VALID
Public input is: Fr(0x00000000ac99e2d79fc4c803234cf0eab4b846f863bab50214f20278361d6047)
Registers from public input: [3617572040, 3098319330, 1290857140, 34865955, 4167285429, 492848966, 4060248118]
```

```
        .route("/prover-jobs/SNARK/pick", post(pick_snark_job))
        .route("/prover-jobs/SNARK/submit", post(submit_snark_proof))
```

```
#[derive(Debug, Serialize, Deserialize)]
struct NextSnarkProverJobPayload {
    block_number_from: u64,
    block_number_to: u64,
    fri_proofs: Vec<String>, // base64‑encoded FRI proofs
}

#[derive(Debug, Serialize, Deserialize)]
struct SnarkProofPayload {
    block_number_from: u64,
    block_number_to: u64,
    proof: String,
}
```

```
cargo run --release -- --rpc-url 'http://127.0.0.1:3050' --rich-privkey 0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110 --duration 240m --max-in-flight 1 --wallets 1 --dest random
```

```
Error: One or more tasks failed: ["Task oneshot_runner failed: Oneshot task node_storage_initializer failed: Verification key hash mismatch: 0xd90459c5b727b9ceeb2b6192d2953dbf05970edf090333b3ad3bcac1a1442b78 on contract, 0x6f36a08c517b060fa97308cdb3e23b04842ff839d451a753ec8fae1a5408304a in config"]
```

```
449ad57d361da3e5206ed3f91dc70736586dbb9b
```


```
COMPACT_CRS_FILE=./keys/setup/setup_compact.key cargo run --features gpu --release --bin key_generator -- generate-compressor-data
```

```
prover_api_fake_provers_enabled=false,prover_api_component_enabled=true cargo run --release
```

```
          GH_TOKEN: ${{ secrets.ZKSYNC_ADMIN_BOT_ORG_REPO_WRITE }}
          ci_run git config --global --add url."https://${{ secrets.GH_TOKEN }}:x-oauth-basic@github.com/".insteadOf ssh://git@github.com/
```