Overview
S Balance
S Value
$0.00Latest 25 from a total of 774,660 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Vote | 61067521 | 6 mins ago | IN | 0 S | 0.00160265 | ||||
| Vote | 61067519 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067518 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067518 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067517 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067517 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067517 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067517 | 6 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067306 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067305 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067305 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067304 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067304 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067303 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067303 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067303 | 12 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067101 | 19 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067101 | 19 mins ago | IN | 0 S | 0.00160265 | ||||
| Vote | 61067100 | 19 mins ago | IN | 0 S | 0.00160265 | ||||
| Vote | 61067100 | 19 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067099 | 19 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61067099 | 19 mins ago | IN | 0 S | 0.00160205 | ||||
| Vote | 61067098 | 19 mins ago | IN | 0 S | 0.00160265 | ||||
| Vote | 61067098 | 19 mins ago | IN | 0 S | 0.00160325 | ||||
| Vote | 61066888 | 25 mins ago | IN | 0 S | 0.00160325 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MessageBus
Compiler Version
v0.8.27+commit.40a35a09
Optimization Enabled:
Yes with 200 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.27;
import {IUpdateVerifier} from "./interfaces/IUpdateVerifier.sol";
/// MessageBus provides a reliable communication channel for validators to compose the state oracle update.
/// @custom:security-contact [email protected]
contract MessageBus {
IUpdateVerifier public immutable updateVerifier;
event Vote(bytes20 messageHash, uint32 chainId, bytes signature, address sender);
constructor(IUpdateVerifier _updateVerifier) {
require(address(_updateVerifier) != address(0), "UpdateVerifier address not set");
updateVerifier = _updateVerifier;
}
/// Send a vote for a state oracle update.
function vote(
bytes20 messageHash,
uint32 chainId,
bytes calldata signature
) external {
require(updateVerifier.validatorWeight(msg.sender) > 0, "Not a validator");
emit Vote(messageHash, chainId, signature, msg.sender);
}
}// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.27;
/// Update verifier provides a way to verify validators signatures on an update.
/// It provides access to the validators registry for the purpose of inter-chain synchronization.
interface IUpdateVerifier {
struct Validator {
uint256 id;
address addr;
uint256 weight;
}
/// Verify the state oracle update signatures
function verifyUpdate(uint256 blockNum, bytes32 stateRoot, uint256 chainId, bytes calldata newValidators, address proofVerifier, address updateVerifier, address exitAdmin, bytes[] calldata signatures) external view returns (uint256[] memory);
/// Write into the validators registry - reverts if the registry is readonly.
function setValidators(bytes calldata newValidators) external;
/// Get the highest validator id for purpose of iterating
function lastValidatorId() external view returns(uint256);
/// Get validator pubkey address by validator id
function validatorAddress(uint256 index) external view returns(address);
/// Get validator weight by validator address
function validatorWeight(address addr) external view returns(uint256);
/// Get validator id by validator pubkey address
function validatorId(address addr) external view returns(uint256);
/// Get weight of all registered validators
function totalWeight() external view returns(uint256);
/// Get weight necessary to update the state oracle
function getQuorum() external view returns (uint256);
}{
"evmVersion": "cancun",
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IUpdateVerifier","name":"_updateVerifier","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes20","name":"messageHash","type":"bytes20"},{"indexed":false,"internalType":"uint32","name":"chainId","type":"uint32"},{"indexed":false,"internalType":"bytes","name":"signature","type":"bytes"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"Vote","type":"event"},{"inputs":[],"name":"updateVerifier","outputs":[{"internalType":"contract IUpdateVerifier","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes20","name":"messageHash","type":"bytes20"},{"internalType":"uint32","name":"chainId","type":"uint32"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60a060405234801561000f575f5ffd5b506040516103db3803806103db83398101604081905261002e91610099565b6001600160a01b0381166100885760405162461bcd60e51b815260206004820152601e60248201527f55706461746556657269666965722061646472657373206e6f74207365740000604482015260640160405180910390fd5b6001600160a01b03166080526100c6565b5f602082840312156100a9575f5ffd5b81516001600160a01b03811681146100bf575f5ffd5b9392505050565b6080516102f86100e35f395f8181603d015260a701526102f85ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806398887caa14610038578063f5d34d841461007b575b5f5ffd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61008e6100893660046101a0565b610090565b005b6040516314d94b5160e31b81523360048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a6ca5a8890602401602060405180830381865afa1580156100f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101189190610247565b1161015b5760405162461bcd60e51b815260206004820152600f60248201526e2737ba1030903b30b634b230ba37b960891b604482015260640160405180910390fd5b7fda3bb78b59b5e179128ed5dec56aecf7dd68e8788b47c18c9fdfae242f4f3a55848484843360405161019295949392919061025e565b60405180910390a150505050565b5f5f5f5f606085870312156101b3575f5ffd5b84356bffffffffffffffffffffffff19811681146101cf575f5ffd5b9350602085013563ffffffff811681146101e7575f5ffd5b9250604085013567ffffffffffffffff811115610202575f5ffd5b8501601f81018713610212575f5ffd5b803567ffffffffffffffff811115610228575f5ffd5b876020828401011115610239575f5ffd5b949793965060200194505050565b5f60208284031215610257575f5ffd5b5051919050565b6bffffffffffffffffffffffff198616815263ffffffff8516602082015260806040820152826080820152828460a08301375f81840160a0908101919091526001600160a01b03929092166060820152601f909201601f191690910101939250505056fea264697066735822122058860949e8355113b9d0571d6fbb1ea069891603e8c0eee8f39c287f800b8bce64736f6c634300081b003300000000000000000000000012727d4169a42a9b5e3ecb11a6d2c95553d3f447
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806398887caa14610038578063f5d34d841461007b575b5f5ffd5b61005f7f00000000000000000000000012727d4169a42a9b5e3ecb11a6d2c95553d3f44781565b6040516001600160a01b03909116815260200160405180910390f35b61008e6100893660046101a0565b610090565b005b6040516314d94b5160e31b81523360048201525f907f00000000000000000000000012727d4169a42a9b5e3ecb11a6d2c95553d3f4476001600160a01b03169063a6ca5a8890602401602060405180830381865afa1580156100f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101189190610247565b1161015b5760405162461bcd60e51b815260206004820152600f60248201526e2737ba1030903b30b634b230ba37b960891b604482015260640160405180910390fd5b7fda3bb78b59b5e179128ed5dec56aecf7dd68e8788b47c18c9fdfae242f4f3a55848484843360405161019295949392919061025e565b60405180910390a150505050565b5f5f5f5f606085870312156101b3575f5ffd5b84356bffffffffffffffffffffffff19811681146101cf575f5ffd5b9350602085013563ffffffff811681146101e7575f5ffd5b9250604085013567ffffffffffffffff811115610202575f5ffd5b8501601f81018713610212575f5ffd5b803567ffffffffffffffff811115610228575f5ffd5b876020828401011115610239575f5ffd5b949793965060200194505050565b5f60208284031215610257575f5ffd5b5051919050565b6bffffffffffffffffffffffff198616815263ffffffff8516602082015260806040820152826080820152828460a08301375f81840160a0908101919091526001600160a01b03929092166060820152601f909201601f191690910101939250505056fea264697066735822122058860949e8355113b9d0571d6fbb1ea069891603e8c0eee8f39c287f800b8bce64736f6c634300081b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000012727d4169a42a9b5e3ecb11a6d2c95553d3f447
-----Decoded View---------------
Arg [0] : _updateVerifier (address): 0x12727D4169a42A9b5E3ECB11A6d2c95553d3f447
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000012727d4169a42a9b5e3ecb11a6d2c95553d3f447
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in S
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.