Skip to content
Contract reference Mining5 source only Source e0617449

Events and errorsLink to this section

TL;DRLink to this section

  • Events record successful contract changes, not independent proof of measurements.
  • Decode each event with the ABI active at its emitting address and Ethereum block.
  • Core settlement, Mining funding and Token transfers are separate steps; do not count the same issuance twice.

ResponsibilityLink to this section

Events let an integration track settlement, rewards and ownership; errors explain why an action failed. The tables below identify important fields and failures, while per-contract pages explain action checks and the full ABI supplies exact signatures.

Dependencies and authorityLink to this section

Emitter Address to monitor
Core application Verified Core proxy
Mining application Verified Mining proxy
Token Immutable Token deployment
NFT Immutable collection deployment
Factories Verified factory deployments
Upgrade administration Proxy, its actual ProxyAdmin and configured timelock

A matching event topic does not prove which contract emitted it. Reverted transactions leave no events or state changes; a reorg can also remove events from a previously successful receipt.

State and viewsLink to this section

Check indexed results against contract views at the same Ethereum block: Core state, Mining state/position/accounting, Token totalSupply/balances and NFT ownerOf/supply counters. Store block hashes and transaction/log order so you can undo and replay changes.

Do not infer ownership only from Mining events: ordinary NFT transfers have no Mining callback. Read or index the collection's standard Transfer events.

ActionsLink to this section

Trigger Expected event families
Core initialization / Reporter rotation CoreInitialized, ReporterUpdated, pause/initialization events
Signed settlement Zero or more RoundRecorded, then BatchSettled
Mint issuance NFT Transfer, Mining PositionRegistered, collection mint event
Mining checkpoint Activation/funding events, Token attribution/mint when active records are processed, CheckpointAdvanced
Owner claim Mining RewardsClaimed; Token Transfer only if payout is nonzero
Owner merge NFT burn Transfer, then Mining PositionsMerged
Governance / mint control Proxy/admin/timelock, launch configuration and pause events

Core and Mining payloadsLink to this section

indexed marks searchable topics; other values are ABI-encoded in log data.

Event Exact ordered fields
CoreInitialized bytes32 indexed streamId, address indexed guardian, address indexed reporter, uint64 genesisTimestamp, uint64 workPerBlock, uint64 maxWorkPerRound
ReporterUpdated address indexed previousReporter, address indexed newReporter
RoundRecorded uint64 indexed roundId, uint64 work, uint128 cumulativeWork, uint64 blockHeight, bytes32 dataHash
BatchSettled bytes32 indexed digest, address indexed reporter, uint64 indexed settledThroughRound, uint256 nonce, uint64 previousSettledThroughRound, uint16 activeRoundCount, uint128 cumulativeWork, uint64 blockHeight
MiningInitialized address indexed core, bytes32 indexed streamId, address governance
MiningBootstrapped address indexed token, address indexed collection
PositionRegistered uint256 indexed tokenId, uint64 firstRound, uint128 weight, uint64 nextMergeBlock
PositionsMerged uint256 indexed survivor, uint256 indexed donor, uint8 level, uint64 effectiveRound, uint64 nextMergeBlock, uint128 activeWeight, uint128 pendingWeight, uint256 accruedScaled
WeightActivated uint64 indexed round, uint256 totalWeight, uint256 rewardIndex
RoundFunded uint64 indexed roundId, uint64 completedBlocks, uint128 cumulativeWork, uint16 multiplierBps, uint256 amount
CheckpointAdvanced uint64 finalizedThroughRound, uint64 mintedThroughBlock, uint64 lastActivationRound, uint256 minted, uint256 totalWeight, uint256 rewardIndex
RewardsClaimed address indexed owner, uint256 amount, uint256 remainderScaled, uint256[] tokenIds

Event weight fields use uint128 even though Mining5 position weights are uint64. Cooldown and round event fields use uint64 even where the stored packed field is narrower; use the event's actual ABI types.

Events and errorsLink to this section

Other project eventsLink to this section

Family Events and meaning
Token RoundMinted(uint64 indexed roundId, uint256 amount, uint256 totalMinted) records each amount reported by Mining; one ERC-20 Transfer records their combined mint
Core factory SqueekDeploymentCreated identifies proxy, implementation, Timelock, ProxyAdmin, proposer and stream
Economic factory SqueekTokenDeploymentCreated identifies Token/Mining/NFT, deployer, implementation/admin, envelope and approval
NFT configuration AllowlistRootUpdated, AllowlistStartUpdated, MintConfigurationFinalized, AllowlistWindowReset
NFT issuance AllowlistMinted, PublicMinted, PublicSaleClosed, PublicRemainderMinted, ProtocolReserveMinted
NFT proceeds ProceedsSwept records full-balance transfer to the immutable recipient
NFT standard ERC-721 Transfer, approvals, ERC-4906 metadata announcement; pause events
Proxy / governance standard Upgraded, AdminChanged, ownership, timelock operation and access-control role events

Failures to expose to consumersLink to this section

Error or family Correct interpretation
Core InvalidAuthorization, ExpiredAuthorization Invalid signature/nonce or elapsed deadline; not permission to rewrite work
Core round/batch/work errors Invalid frontier, order, elapsed time, active record or configured work cap
Core authority/init errors Wrong Guardian, invalid/reused Reporter or wrong deployment context
Mining CoreUnavailable, CoreIdentityMismatch, CoreRegression, CoreInconsistent, CoreFutureRound, CoreNotFresh, CorePaused Distinct dependency/ledger failures; never display these as zero rewards
Mining InvalidToken, InvalidCollection, InvalidGraphAdmin, BindingCallFailed Contract connections/admin cannot be verified, or a dependency response cannot be decoded
Mining TokenSupplyMismatch, CustodyShortfall, MintMismatch Supply or held/minted SQK fails an accounting check; the transaction rolls back
Mining Unauthorized, InvalidClaim, InvalidPosition, InvalidMerge Ownership, ID, batch or Level requirements failed
PendingActivation(uint256 tokenId, uint64 round) This position still has pending activation
CooldownActive(uint256 tokenId, uint64 nextMergeBlock) This position needs more completed Core blocks
Mining bootstrap/bounds/history/multiplier/reentrancy errors Wrong setup state, invalid limits/history/multiplier, or a reentrant call
Token InvalidMining, UnauthorizedMining, inherited cap/ERC-20/permit errors Invalid binding, caller, balance, allowance, cap or signature
NFT project errors Fixed authority, visual identity, sale lifecycle, allocation, quantity, proof or ETH failure
DotGridInvalid(uint16 code) Structured page/render input failure, including 130 invalid ID, 131 zero seed, 132 pinned root mismatch
Factory/proxy errors Deployment configuration, code, governance, initial state or initializer fails a required check

Decode the full revert data with the pinned ABI; an error selector is the first four bytes of keccak256("ErrorName(types)"). A selector alone lacks context, and an unknown error must not be shown as a known eligibility failure.

LimitsLink to this section

  • Core batch and page limits are 16 active records; omitted zero-work rounds have no RoundRecorded event.
  • Mining checkpoint limits are 16 active rounds and 16 activations; claim batches are 1–32 IDs.
  • Core and cooldown heights are Squeek blocks, while receipt/log blockNumber is an Ethereum block.
  • Token amounts are 18-decimal base units; indices, credit and residuals use 2^128 scaling.
  • Events commit to data and state, but do not prove physical direction, animal identity or biological cause.
  • A RoundMinted round ID is not independent replay protection; only Mining authenticates round funding.
  • Verify upgraded code before choosing its ABI; similar event names do not prove compatibility.

SourceLink to this section

Mining5 source specification e0617449. First-party source is private; see source and release scope.