Skip to content

Instantly share code, notes, and snippets.

@color-typea
Created July 30, 2023 07:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save color-typea/4d0caec8d975c79897c6e5b714099004 to your computer and use it in GitHub Desktop.
Save color-typea/4d0caec8d975c79897c6e5b714099004 to your computer and use it in GitHub Desktop.
TL;DR
* CL Balance - 7880439030063898 Gwei
* Validator count - 247929
* Exited validators - 1739
# from line 47 above:
(1, 6984000, 247929, 7880438321299961, [1], [1739], 290361781563000000000, 348985722707450082758, 0, [5465], 1133893924749520071100361053, False, 0, HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'), 0)
This corresponds to
ReportData(
consensus_version=1,
ref_slot=SlotNumber(6984000),
validators_count=247929,
cl_balance_gwei=Gwei(7880438321299961),
staking_module_ids_with_exited_validators=[StakingModuleId(1)],
count_exited_validators_by_staking_module=[1739],
withdrawal_vault_balance=Wei(290361781563000000000),
el_rewards_vault_balance=Wei(348985722707450082758),
shares_requested_to_burn=0,
withdrawal_finalization_batches=[5465],
finalization_share_rate=1133893924749520071100361053,
is_bunker=False,
extra_data_format=0,
extra_data_hash=HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'),
extra_data_items_count=0
)
Oracle startup.
Start healthcheck server for Docker container on port 9010
Start http server with prometheus metrics on port 9000
Initialize multi web3 provider.
Initialize FallbackProviderModule
Modify web3 with custom contract function call.
Initialize consensus client.
Initialize keys api client.
Add metrics middleware for ETH1 requests.
Sanity checks.
Initialize Accounting module.
Fetch chain config.: ChainConfig(slots_per_epoch=32, seconds_per_slot=12, genesis_time=1606824023)
Fetch last finalized BlockStamp.: {'state_root': '0x7702b544ce2906c019d75da4e6376b5e532d61368a638b88eca02a9a84196ac0', 'slot_number': 6989632, 'block_hash': '0x1069f6bd65b073d5031850126fb42a35fae942b7cf5fc8f648f94595cb173d47', 'block_number': 17804155, 'block_timestamp': 1690699607}
Execute module.: BlockStamp(state_root='0x7702b544ce2906c019d75da4e6376b5e532d61368a638b88eca02a9a84196ac0', slot_number=6989632, block_hash='0x1069f6bd65b073d5031850126fb42a35fae942b7cf5fc8f648f94595cb173d47', block_number=17804155, block_timestamp=1690699607)
Fetch chain config.: ChainConfig(slots_per_epoch=32, seconds_per_slot=12, genesis_time=1606824023)
Fetch frame config.: FrameConfig(initial_epoch=201600, epochs_per_frame=225, fast_lane_length_slots=100)
Fetch current frame.: CurrentFrame(ref_slot=6983999, report_processing_deadline_slot=6991199)
Get Blockstamp for ref slot: 6984000.
Calculate blockstamp for report.: ReferenceBlockStamp(state_root='0x94c76dd10c38e4bbd1308f4be735fd55761935d23fd0d4a211315ead5fcc019b', slot_number=6984000, block_hash='0x478811c1cc60a45da9f2e1701ef7abb876ae2c67d93fe155dfe516bda129c268', block_number=17798555, block_timestamp=1690632023, ref_slot=6984000, ref_epoch=218249)
Fetch staking modules.: [ABIDecodedNamedTuple(id=1, stakingModuleAddress='0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5', stakingModuleFee=500, treasuryFee=500, targetShare=10000, status=0, name='curated-onchain-v1', lastDepositAt=1690630703, lastDepositBlock=17798445, exitedValidatorsCount=1739)]
Calculate consensus lido state.: (247929, 7880438321299961)
Fetch chain config.: ChainConfig(slots_per_epoch=32, seconds_per_slot=12, genesis_time=1606824023)
Fetch exit events. Got 0 events.
Calculate stuck validators.: {}
Fetch new lido exited validators by node operator.: {}
Calculate exited validators.: {}
Fetch oracle sanity checks.: OracleReportLimits(churn_validators_per_day_limit=20000, one_off_cl_balance_decrease_bp_limit=500, annual_balance_increase_bp_limit=1000, simulated_share_rate_deviation_bp_limit=50, max_validator_exit_requests_per_report=600, max_accounting_extra_data_list_items_count=2, max_node_operators_per_extra_data_item_count=100, request_timestamp_margin=7680, max_positive_token_rebase=750000)
Calculate extra data.: ExtraData(extra_data=b'', data_hash=HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'), format=0, items_count=0)
Fetch frame config.: FrameConfig(initial_epoch=201600, epochs_per_frame=225, fast_lane_length_slots=100)
Accounting last processing ref slot 6976799
Simulate lido rebase for report.: (1690632023, 86412, 247929, 7880438321299961000000000, 290361781563000000000, 348985722707450082758, 0, [], 0)
Fetch simulated lido rebase for report.: [7914777237168971212339194, 6980174304150509295435109, 290361781563000000000, 348985722707450082758]
Simulate lido rebase for report.: (1690632023, 86412, 247929, 7880438321299961000000000, 290361781563000000000, 0, 0, [], 0)
Fetch simulated lido rebase for report.: [7914428251446263762256436, 6980143528899474987878168, 290361781563000000000, 0]
Checking bunker mode
Getting CL rebase for frame
Simulated CL rebase for frame: 680872038823 Gwei
Detecting high midterm slashing penalty
All slashings with impact on midterm penalties: 9
Checking abnormal CL rebase
Get Blockstamp for ref slot: 6976799.
Normal CL rebase: 689241542197 Gwei
Calculate bunker mode.: False
Calculate shares rate.: 1133893924749520071100361053
Calculate last withdrawal id to finalize.: [5465]
Calculate report for accounting module.: ReportData(consensus_version=1, ref_slot=6984000, validators_count=247929, cl_balance_gwei=7880438321299961, staking_module_ids_with_exited_validators=[1], count_exited_validators_by_staking_module=[1739], withdrawal_vault_balance=290361781563000000000, el_rewards_vault_balance=348985722707450082758, shares_requested_to_burn=0, withdrawal_finalization_batches=[5465], finalization_share_rate=1133893924749520071100361053, is_bunker=False, extra_data_format=0, extra_data_hash=HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'), extra_data_items_count=0)
Build report.: (1, 6984000, 247929, 7880438321299961, [1], [1739], 290361781563000000000, 348985722707450082758, 0, [5465], 1133893924749520071100361053, False, 0, HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'), 0)
Calculate report hash.: b'?\x15\xa9\xaf\xb9h\xe5\xaa\xbfOuJ]G)\x1b\xb9\xf3\xff\xb9\xa5\x99\x91\xae\xa5\x0b\x8b\x8f\xfd\xe3\xe7i'
Fetch current frame.: CurrentFrame(ref_slot=6983999, report_processing_deadline_slot=6991199)
Fetch frame config.: FrameConfig(initial_epoch=201600, epochs_per_frame=225, fast_lane_length_slots=100)
Send report hash. Consensus version: [1]
No account provided to submit extra data. Dry mode
Quorum is not ready.
Fetch processing state.: AccountingProcessingState(current_frame_ref_slot=6983999, processing_deadline_time=1690718411, main_data_hash=b'\xed\x98\x8a\xce\xc4fl\x8d\x8e\xcfXZ\xf4\xff^j\xc4\xc2\x91\xbf\xd6\xaf\xa4\x14\xc7\xe7#\xf4I\xe7>\x01', main_data_submitted=True, extra_data_hash=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', extra_data_format=0, extra_data_submitted=True, extra_data_items_count=0, extra_data_items_submitted=0)
Extra data can not be submitted.
Cycle end. Sleep for 0 seconds.
======== Step 1 - run oracle, report accepted ========
Running oracle - this should take a some time
Report submitted and accepted, gas used: 4261017, transaction hash: 0xe9fca0756fd434b6ba8a4999054d6ed99484718a314099e26d890d520dcf539a
Run oracle took 148.4316s
Oracle run successful, report accepted, proof verifies
Checking the report stored in the contract...
Report matches expected
Expected: OracleReport(slot=6984000, epoch=218250, lidoWithdrawalCredentials=01000...7e293f, activeValidators=247929, exitedValidators=1739, totalValueLocked=7880438321299961 Gwei)
Actual : OracleReport(slot=6984000, epoch=218250, lidoWithdrawalCredentials=01000...7e293f, activeValidators=247929, exitedValidators=1739, totalValueLocked=7880438321299961 Gwei)
======== End Step 1 - run oracle, report accepted ========
Terminating local RPC client...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment