HomeBridgeErcToNative

Gnosis

0x7301cfa0e1756b71869e93d4e4dca5c7d0eb0aa6

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