HomeBridgeErcToNative
Gnosis0x7301cfa0e1756b71869e93d4e4dca5c7d0eb0aa6
Proxy implementation: 0xe6998b0c03d3cb9ee8c04f266e573c7fa8782846
Solidity v0.4.24+commit.e67f0147
🤖
Query this contract from your AI
Reference:
0x7301cfa0e1756b71869e93d4e4dca5c7d0eb0aa6
Sample prompt:
"Tell me the current state of gnosis/0x7301cfa0e1756b71869e93d4e4dca5c7d0eb0aa6"
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
42
Write Functions
23
Events
15
Read Functions
numMessagesSigned(_message: bytes32)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _message | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
totalBurntCoins()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
signature(_hash: bytes32, _index: uint256)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _hash | bytes32 | |
| _index | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes |
HASHI_IS_MANDATORY()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
totalSpentPerDay(_day: uint256)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _day | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
isInitialized()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
getCurrentDay()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
requiredBlockConfirmations()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
getBridgeMode()
pure
Returns
| Name | Type | Description |
|---|---|---|
| _data | bytes4 |
executionDailyLimit()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
message(_hash: bytes32)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _hash | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes |
totalExecutedPerDay(_day: uint256)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _day | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
blockRewardContract()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
dailyLimit()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
numAffirmationsSigned(_withdrawal: bytes32)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _withdrawal | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
affirmationsSigned(_withdrawal: bytes32)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _withdrawal | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
hashiManager()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
withinExecutionLimit(_amount: uint256)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _amount | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
executionMaxPerTx()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
HASHI_IS_ENABLED()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
requiredSignatures()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
owner()
view
dev: Tells the address of the owner
Returns
| Name | Type | Description |
|---|---|---|
| — | address | the address of the owner |
isApprovedByHashi(hashMsg: bytes32)
view
Parameters
| Name | Type | Description |
|---|---|---|
| hashMsg | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
messagesSigned(_message: bytes32)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _message | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
getAmountToBurn(_value: uint256)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _value | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| amount | uint256 |
getHomeFee()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
maxAvailablePerTx()
view
dev: Retrieves maximum available bridge amount per one transaction taking into account maxPerTx() and dailyLimit() parameters.
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | minimum of maxPerTx parameter and remaining daily quota. |
validatorContract()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
deployedAtBlock()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
getBridgeInterfacesVersion()
pure
Returns
| Name | Type | Description |
|---|---|---|
| major | uint64 | |
| minor | uint64 | |
| patch | uint64 |
outOfLimitAmount()
view
dev: Total amount coins/tokens that were bridged from the other side and are out of execution limits.
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | total amount of all bridge operations above limits. |
nonce()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
usdsDepositContract()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
decimalShift()
view
dev: Returns the value of foreign-to-home decimal shift.
Returns
| Name | Type | Description |
|---|---|---|
| — | int256 | decimal shift. |
feeManagerContract()
view
dev: Retrieves the address of the fee manager contract used.
Returns
| Name | Type | Description |
|---|---|---|
| — | address | address of the fee manager contract. |
minPerTx()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
withinLimit(_amount: uint256)
view
Parameters
| Name | Type | Description |
|---|---|---|
| _amount | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
getFeeManagerMode()
view
dev: Retrieves the mode of the used fee manager.
Returns
| Name | Type | Description |
|---|---|---|
| mode | bytes4 | manager mode identifier, or zero bytes otherwise. |
maxPerTx()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
gasPrice()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
isAlreadyProcessed(_number: uint256)
pure
Parameters
| Name | Type | Description |
|---|---|---|
| _number | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
getForeignFee()
view
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
Write Functions
setBlockRewardContract(_blockReward: address)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _blockReward | address |
setForeignFee(_fee: uint256)
nonpayable
dev: Updates the fee percentage for foreign->home bridge operations. Only owner is allowed to call this method.
Parameters
| Name | Type | Description |
|---|---|---|
| _fee | uint256 | new value for fee percentage. |
setHomeFee(_fee: uint256)
nonpayable
dev: Updates the fee percentage for home->foreign bridge operations. Only owner is allowed to call this method. If during this operation, home fee is changed, it is highly recommended to stop the bridge operations first. Otherwise, pending signature requests can become a reason for imbalance between two bridge sides.
Parameters
| Name | Type | Description |
|---|---|---|
| _fee | uint256 | new value for fee percentage. |
setExecutionDailyLimit(_dailyLimit: uint256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _dailyLimit | uint256 |
relayTokens(_receiver: address)
payable
Parameters
| Name | Type | Description |
|---|---|---|
| _receiver | address |
setUSDSDepositContract(_contract: address)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _contract | address |
setFeeManagerContract(_feeManager: address)
nonpayable
dev: Updates the address of the used fee manager contract. Only contract owner can call this method. If during this operation, home fee is changed, it is highly recommended to stop the bridge operations first. Otherwise, pending signature requests can become a reason for imbalance between two bridge sides.
Parameters
| Name | Type | Description |
|---|---|---|
| _feeManager | address | address of the new fee manager contract, or zero address to disable fee collection. |
submitSignature(signature: bytes, message: bytes)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| signature | bytes | |
| message | bytes |
claimTokens(_token: address, _to: address)
nonpayable
dev: Withdraws the erc20 tokens or native coins from this contract.
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address | address of the claimed token or address(0) for native coins. |
| _to | address | address of the tokens/coins receiver. |
resendDataWithHashi(data: bytes)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| data | bytes |
initialize(_validatorContract: address, _dailyLimitMaxPerTxMinPerTxArray: uint256[3], _homeGasPrice: uint256, _requiredBlockConfirmations: uint256, _blockReward: address, _foreignDailyLimitForeignMaxPerTxArray: uint256[2], _owner: address, _decimalShift: int256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _validatorContract | address | |
| _dailyLimitMaxPerTxMinPerTxArray | uint256[3] | |
| _homeGasPrice | uint256 | |
| _requiredBlockConfirmations | uint256 | |
| _blockReward | address | |
| _foreignDailyLimitForeignMaxPerTxArray | uint256[2] | |
| _owner | address | |
| _decimalShift | int256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
executeAffirmation(recipient: address, value: uint256, nonce: bytes32)
nonpayable
dev: Executes a message affirmation for some Foreign side event. Can be called only by a current bridge validator.
Parameters
| Name | Type | Description |
|---|---|---|
| recipient | address | tokens/coins of receiver address, where the assets should be unlocked/minted. |
| value | uint256 | amount of assets to unlock/mint. |
| nonce | bytes32 | reference nonce on the Foreign side of the bridge. |
setMinPerTx(_minPerTx: uint256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _minPerTx | uint256 |
setRequiredBlockConfirmations(_blockConfirmations: uint256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _blockConfirmations | uint256 |
setDailyLimit(_dailyLimit: uint256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _dailyLimit | uint256 |
setHashiManager(_hashiManager: address)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _hashiManager | address |
setGasPrice(_gasPrice: uint256)
nonpayable
dev: Public setter for fallback gas price value. Only bridge owner can call this method.
Parameters
| Name | Type | Description |
|---|---|---|
| _gasPrice | uint256 | new value for the gas price. |
setMaxPerTx(_maxPerTx: uint256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _maxPerTx | uint256 |
onMessage(uint256, chainId: uint256, sender: address, threshold: uint256, adapters: address[], data: bytes)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| — | uint256 | |
| chainId | uint256 | |
| sender | address | |
| threshold | uint256 | |
| adapters | address[] | |
| data | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes |
rewardableInitialize(_validatorContract: address, _dailyLimitMaxPerTxMinPerTxArray: uint256[3], _homeGasPrice: uint256, _requiredBlockConfirmations: uint256, _blockReward: address, _foreignDailyLimitForeignMaxPerTxArray: uint256[2], _owner: address, _feeManager: address, _homeFeeForeignFeeArray: uint256[2], _decimalShift: int256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _validatorContract | address | |
| _dailyLimitMaxPerTxMinPerTxArray | uint256[3] | |
| _homeGasPrice | uint256 | |
| _requiredBlockConfirmations | uint256 | |
| _blockReward | address | |
| _foreignDailyLimitForeignMaxPerTxArray | uint256[2] | |
| _owner | address | |
| _feeManager | address | |
| _homeFeeForeignFeeArray | uint256[2] | |
| _decimalShift | int256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
fixAssetsAboveLimits(hashMsg: bytes32, unlockOnForeign: bool, valueToUnlock: uint256, tokenAddress: address)
nonpayable
dev: Fixes locked tokens, that were out of execution limits during the call to executeAffirmation.
Parameters
| Name | Type | Description |
|---|---|---|
| hashMsg | bytes32 | reference for bridge operation that was out of execution limits. |
| unlockOnForeign | bool | true if fixed tokens should be unlocked to the other side of the bridge. |
| valueToUnlock | uint256 | unlocked amount of tokens, should be less than txAboveLimitsValue. |
| tokenAddress | address | token address to receive on Ethereum Should be less than maxPerTx(), if tokens need to be unlocked on the other side. |
setExecutionMaxPerTx(_maxPerTx: uint256)
nonpayable
Parameters
| Name | Type | Description |
|---|---|---|
| _maxPerTx | uint256 |
transferOwnership(newOwner: address)
nonpayable
dev: Allows the current owner to transfer control of the contract to a newOwner.
Parameters
| Name | Type | Description |
|---|---|---|
| newOwner | address | the address to transfer ownership to. |
Events
UserRequestForSignature(recipient: address, value: uint256, nonce: bytes32, token: address)
| Name | Type | Indexed | Description |
|---|---|---|---|
| recipient | address | ||
| value | uint256 | ||
| nonce | bytes32 | ||
| token | address |
AffirmationCompleted(recipient: address, value: uint256, nonce: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| recipient | address | ||
| value | uint256 | ||
| nonce | bytes32 |
SignedForUserRequest(signer: address, messageHash: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| signer | address | ✓ | |
| messageHash | bytes32 |
SignedForAffirmation(signer: address, nonce: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| signer | address | ✓ | |
| nonce | bytes32 |
CollectedSignatures(authorityResponsibleForRelay: address, messageHash: bytes32, NumberOfCollectedSignatures: uint256)
| Name | Type | Indexed | Description |
|---|---|---|---|
| authorityResponsibleForRelay | address | ||
| messageHash | bytes32 | ||
| NumberOfCollectedSignatures | uint256 |
DailyLimitChanged(newLimit: uint256)
| Name | Type | Indexed | Description |
|---|---|---|---|
| newLimit | uint256 |
ExecutionDailyLimitChanged(newLimit: uint256)
| Name | Type | Indexed | Description |
|---|---|---|---|
| newLimit | uint256 |
GasPriceChanged(gasPrice: uint256)
| Name | Type | Indexed | Description |
|---|---|---|---|
| gasPrice | uint256 |
RequiredBlockConfirmationChanged(requiredBlockConfirmations: uint256)
| Name | Type | Indexed | Description |
|---|---|---|---|
| requiredBlockConfirmations | uint256 |
FeeDistributedFromAffirmation(feeAmount: uint256, transactionHash: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| feeAmount | uint256 | ||
| transactionHash | bytes32 | ✓ |
FeeDistributedFromSignatures(feeAmount: uint256, transactionHash: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| feeAmount | uint256 | ||
| transactionHash | bytes32 | ✓ |
OwnershipTransferred(previousOwner: address, newOwner: address)
| Name | Type | Indexed | Description |
|---|---|---|---|
| previousOwner | address | representing the address of the previous owner | |
| newOwner | address | representing the address of the new owner |
MediatorAmountLimitExceeded(recipient: address, value: uint256, messageId: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| recipient | address | ||
| value | uint256 | ||
| messageId | bytes32 | ✓ |
AmountLimitExceeded(recipient: address, value: uint256, transactionHash: bytes32, messageId: bytes32)
| Name | Type | Indexed | Description |
|---|---|---|---|
| recipient | address | ||
| value | uint256 | ||
| transactionHash | bytes32 | ✓ | |
| messageId | bytes32 |
AssetAboveLimitsFixed(messageId: bytes32, value: uint256, remaining: uint256)
| Name | Type | Indexed | Description |
|---|---|---|---|
| messageId | bytes32 | ✓ | |
| value | uint256 | ||
| remaining | uint256 |