SBCDepositContract
Gnosis0x0b98057ea310f4d31f2a452b414647007d1645d9
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 |