SBCDepositContract

Gnosis

0x0b98057ea310f4d31f2a452b414647007d1645d9

Proxy implementation: 0x49de1aced385334f1a66d86db363264eb5b6a708

Solidity v0.8.9+commit.e5eed63a

🤖
Query this contract from your AI
Reference: 0x0b98057ea310f4d31f2a452b414647007d1645d9
Sample prompt: "Tell me the current state of gnosis/0x0b98057ea310f4d31f2a452b414647007d1645d9"
No AI wired up yet? → mcp.smarts.md
Gnosis is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
7
Write Functions
12
Events
3

Read Functions

get_deposit_count() view

Query the current deposit count.

Returns

Name Type Description
bytes The deposit count encoded as a little endian 64-bit number.
get_deposit_root() view

Query the current deposit root hash.

Returns

Name Type Description
bytes32 The deposit root hash.
paused() view
dev: Returns true if the contract is paused, and false otherwise.

Returns

Name Type Description
bool
stake_token() view

Returns

Name Type Description
address
supportsInterface(interfaceId: bytes4) pure
dev: Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.

Parameters

Name Type Description
interfaceId bytes4

Returns

Name Type Description
bool
validator_withdrawal_credentials(bytes) view

Parameters

Name Type Description
bytes

Returns

Name Type Description
bytes32
withdrawableAmount(address) view

Parameters

Name Type Description
address

Returns

Name Type Description
uint256

Write Functions

batchDeposit(pubkeys: bytes, withdrawal_credentials: bytes, signatures: bytes, deposit_data_roots: bytes32[], amounts: uint256[]) nonpayable

Parameters

Name Type Description
pubkeys bytes
withdrawal_credentials bytes
signatures bytes
deposit_data_roots bytes32[]
amounts uint256[]
batchDeposit(pubkeys: bytes, withdrawal_credentials: bytes, signatures: bytes, deposit_data_roots: bytes32[]) nonpayable

Parameters

Name Type Description
pubkeys bytes
withdrawal_credentials bytes
signatures bytes
deposit_data_roots bytes32[]
claimTokens(_token: address, _to: address) nonpayable
dev: Allows to transfer any locked token from this contract. Only admin can call this method. Deposit-related tokens cannot be claimed.

Parameters

Name Type Description
_token address address of the token, if it is not provided (0x00..00), native coins will be transferred.
_to address address that will receive the locked tokens from this contract.
claimWithdrawal(_address: address) nonpayable
dev: Claim withdrawal amount for an address

Parameters

Name Type Description
_address address Address to transfer withdrawable tokens
claimWithdrawals(_addresses: address[]) nonpayable
dev: Claim withdrawal amounts for an array of addresses

Parameters

Name Type Description
_addresses address[] Addresses to transfer withdrawable tokens
deposit(pubkey: bytes, withdrawal_credentials: bytes, signature: bytes, deposit_data_root: bytes32, stake_amount: uint256) nonpayable

Submit a Phase 0 DepositData object.

Parameters

Name Type Description
pubkey bytes A BLS12-381 public key.
withdrawal_credentials bytes Commitment to a public key for withdrawals.
signature bytes A BLS12-381 signature.
deposit_data_root bytes32 The SHA-256 hash of the SSZ-encoded DepositData object. Used as a protection against malformed input.
stake_amount uint256
executeSystemWithdrawals(_amounts: uint64[], _addresses: address[]) nonpayable
dev: Function to be used only in the system transaction. Call to this function will revert only in three cases: - the caller is not `SYSTEM_WITHDRAWAL_EXECUTOR` or `_admin()`; - the length of `_amounts` array is not equal to the length of `_addresses` array; - it is a reentrant access to failed withdrawals processing; - the call ran out of gas. Call to this function doesn't transmit flow control to any untrusted contract and uses a constant gas limit for each withdrawal, so using constant gas limit and constant number of withdrawals (including failed withdrawals) for calls of this function is ok.

Parameters

Name Type Description
_amounts uint64[] Array of amounts to be withdrawn.
_addresses address[] Array of addresses that should receive the corresponding amount of tokens.
executeSystemWithdrawals(uint256, _amounts: uint64[], _addresses: address[]) nonpayable
dev: Function to be used only in the system transaction. Call to this function will revert only in three cases: - the caller is not `SYSTEM_WITHDRAWAL_EXECUTOR` or `_admin()`; - the length of `_amounts` array is not equal to the length of `_addresses` array; - it is a reentrant access to failed withdrawals processing; - the call ran out of gas. Call to this function doesn't transmit flow control to any untrusted contract and uses a constant gas limit for each withdrawal, so using constant gas limit and constant number of withdrawals (including failed withdrawals) for calls of this function is ok.

Parameters

Name Type Description
uint256
_amounts uint64[] Array of amounts to be withdrawn.
_addresses address[] Array of addresses that should receive the corresponding amount of tokens.
onTokenTransfer(address, stake_amount: uint256, data: bytes) nonpayable

Parameters

Name Type Description
address
stake_amount uint256
data bytes

Returns

Name Type Description
bool
pause() nonpayable
unpause() nonpayable
unwrapTokens(_unwrapper: address, _token: address) nonpayable
dev: Allows to unwrap the mGNO in this contract to GNO Only admin can call this method.

Parameters

Name Type Description
_unwrapper address address of the mGNO token unwrapper
_token address

Events

DepositEvent(pubkey: bytes, withdrawal_credentials: bytes, amount: bytes, signature: bytes, index: bytes)

A processed deposit event.

Name Type Indexed Description
pubkey bytes
withdrawal_credentials bytes
amount bytes
signature bytes
index bytes
Paused(account: address)
Name Type Indexed Description
account address
Unpaused(account: address)
Name Type Indexed Description
account address