You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Deploys on Bradbury Phase 2 finalize as accepted but every validator returns FINISHED_WITH_ERROR (studio storage example too) #433
Every deploy we send to Bradbury Phase 2 reaches consensus and finalizes as accepted, but all five validators vote FINISHED_WITH_ERROR and no contract exists afterwards. The unmodified storage.py example from genlayer-studio fails the same way, so we think the cause sits outside our contract.
reads go to https://rpc-bradbury.genlayer.com; https://rpc.testnet-chain.genlayer.com answers gen_call with "method does not exist"
Steps
genlayer estimate-fees --json --args <address> fails on Bradbury: the fee policy read is sent without a sender, so the node charges the zero address ("insufficient funds ... address 0x0000000000000000000000000000000000000000 have 0").
Without --fees, genlayer deploy gets an eth_estimateGas revert (data 0x632be5a1 followed by uint 1), falls back to 200000 gas and the node answers "intrinsic gas too low".
With an explicit fee object (the same values the CLI estimate returns once the read carries a sender: execution budget 0.025 GEN, deposit 0.1 GEN), the deploy reaches consensus:
storage example, header # { "Depends": "py-genlayer:9b8kjyda2ycxyq4ea6g4yfpnydxhd52gqba5rb8dw7krkh5mn9p0" }, one argument "hello": deployment 0xbad277be11c75f37d36e742b0f15a7181667913fa40929b2253a4aaf80a58a05, accepted, leader result FINISHED_WITH_ERROR
the same example with its # v0.3.0 line: 0x40699721c8cbacac2d4aa491d92b6b2df8acd82b90e2da89975607eb6162c5a4, same result
our own contract (deploys on studio-next today, deployed on Bradbury before the reset): 0x1e0fd5e97cb60179a3c53ef36a5cfb3608aab240204568298188acf768dcaa04, status Finalized · Accepted, recipient 0x37dC02b26bbF96F9be3A01B128dB58fF79436526, validator votes FINISHED_WITH_ERROR x5, txExecutionResult: 2
gen_call to the recipient answers "contract not found at address".
Questions
Which CLI or genlayer-js version is expected to deploy on Phase 2 today?
Update from 2026-10-28 on Bradbury Phase 2 (chain 4221). We think the cause is the runner id, not our contract.
The unmodified Hello example from the current docs, with runner py-genlayer:1jb45aa8ynh2a9c9xn3b7qqh8sm5q93hwfp7jqmwsfhh8jpz09h6, finalizes as Accepted but every validator returns FINISHED_WITH_ERROR and no contract exists (tx 0xc26cb04c7ef37932c478a04281692041082c0d3dec8f5ca22f4f9d2d5637e68f). The public explorer shows the same result for every deploy with that runner id over the last four days.
Deploys that use py-genlayer:babwp9t37jw9g4j2bccgn14g6x7x9s1f7dsmh7emvz735pz4zxa0 with a # v0.3.0 first line and the import genlayer as gl style work. We redeployed one of them byte for byte from our own wallet and it finished with FINISHED_WITH_RETURN and reads back correctly (tx 0x6d95083c6877059f68bd30a1401355439851fd4945b6787df2f40272ae943deb). Putting only the babwp header on the docs Hello still fails (tx 0x28b91e99521e28ffcf5cb8c230990f4eafecaeb464673eea4352deab9b2a513b).
So the runner id and API in the docs seem out of sync with what Bradbury Phase 2 executes. Which runner should new contracts target today, and where is the matching SDK published?
Resolved on our side on 2026-10-28. The cause was the runner id, as suspected above.
With the runner from the current docs (py-genlayer:1jb45aa8ynh2a9c9xn3b7qqh8sm5q93hwfp7jqmwsfhh8jpz09h6) every deploy finalizes but the contract never exists. With py-genlayer:babwp9t37jw9g4j2bccgn14g6x7x9s1f7dsmh7emvz735pz4zxa0 and the header line # v0.3.0, both of our contracts deployed on Bradbury Phase 2 (chain 4221) and their writes finalize:
Activity
whiteknightonhorse commentedon Oct 28, 2026
Update from 2026-10-28 on Bradbury Phase 2 (chain 4221). We think the cause is the runner id, not our contract.
The unmodified Hello example from the current docs, with runner
py-genlayer:1jb45aa8ynh2a9c9xn3b7qqh8sm5q93hwfp7jqmwsfhh8jpz09h6, finalizes as Accepted but every validator returns FINISHED_WITH_ERROR and no contract exists (tx 0xc26cb04c7ef37932c478a04281692041082c0d3dec8f5ca22f4f9d2d5637e68f). The public explorer shows the same result for every deploy with that runner id over the last four days.Deploys that use
py-genlayer:babwp9t37jw9g4j2bccgn14g6x7x9s1f7dsmh7emvz735pz4zxa0with a# v0.3.0first line and theimport genlayer as glstyle work. We redeployed one of them byte for byte from our own wallet and it finished with FINISHED_WITH_RETURN and reads back correctly (tx 0x6d95083c6877059f68bd30a1401355439851fd4945b6787df2f40272ae943deb). Putting only the babwp header on the docs Hello still fails (tx 0x28b91e99521e28ffcf5cb8c230990f4eafecaeb464673eea4352deab9b2a513b).So the runner id and API in the docs seem out of sync with what Bradbury Phase 2 executes. Which runner should new contracts target today, and where is the matching SDK published?
whiteknightonhorse commentedon Oct 29, 2026
Resolved on our side on 2026-10-28. The cause was the runner id, as suspected above.
With the runner from the current docs (
py-genlayer:1jb45aa8ynh2a9c9xn3b7qqh8sm5q93hwfp7jqmwsfhh8jpz09h6) every deploy finalizes but the contract never exists. Withpy-genlayer:babwp9t37jw9g4j2bccgn14g6x7x9s1f7dsmh7emvz735pz4zxa0and the header line# v0.3.0, both of our contracts deployed on Bradbury Phase 2 (chain 4221) and their writes finalize:Contract source: https://github.com/whiteknightonhorse/provek-genlayer-witness/blob/main/contracts/provek_evidence_witness.py
The docs may still point new builders to the old runner id. Closing this issue.