Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 12 from a total of 12 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Send Exact Paren... | 7649847 | 348 days ago | IN | 0.000294 ETH | 0.00310728 | ||||
| Send Exact Paren... | 7643828 | 349 days ago | IN | 0.00036485 ETH | 0.00406462 | ||||
| Send Exact Paren... | 7384826 | 386 days ago | IN | 0.00254582 ETH | 0.00405835 | ||||
| Send Exact Paren... | 7358798 | 389 days ago | IN | 0.00189865 ETH | 0.00028212 | ||||
| Send Exact Paren... | 7162323 | 419 days ago | IN | 0.00027807 ETH | 0.0019842 | ||||
| Send Exact Paren... | 7156895 | 419 days ago | IN | 0.00025486 ETH | 0.00212131 | ||||
| Send Keccak MMR ... | 7109575 | 426 days ago | IN | 0.00015306 ETH | 0.00034103 | ||||
| Send Exact Paren... | 7083292 | 430 days ago | IN | 0.00014155 ETH | 0.00011966 | ||||
| Send Exact Paren... | 7083227 | 430 days ago | IN | 0.00015727 ETH | 0.00009456 | ||||
| Send Exact Paren... | 7083108 | 430 days ago | IN | 0.00015252 ETH | 0.00009095 | ||||
| Send Keccak MMR ... | 7082984 | 430 days ago | IN | 0.00016172 ETH | 0.00021676 | ||||
| Send Keccak MMR ... | 7082978 | 430 days ago | IN | 0.00016355 ETH | 0.00024941 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
To
|
Amount
|
||
|---|---|---|---|---|---|---|---|
| Create Retryable... | 7677533 | 344 days ago | 0.00016488 ETH | ||||
| Send Exact Paren... | 7677533 | 344 days ago | 0.00016488 ETH | ||||
| Create Retryable... | 7677533 | 344 days ago | 0.00016488 ETH | ||||
| Send Exact Paren... | 7677533 | 344 days ago | 0.00016488 ETH | ||||
| Create Retryable... | 7656669 | 347 days ago | 0.00026023 ETH | ||||
| Send Exact Paren... | 7656669 | 347 days ago | 0.00026023 ETH | ||||
| Create Retryable... | 7656669 | 347 days ago | 0.00026023 ETH | ||||
| Send Exact Paren... | 7656669 | 347 days ago | 0.00026023 ETH | ||||
| Create Retryable... | 7649847 | 348 days ago | 0.000294 ETH | ||||
| Create Retryable... | 7649844 | 348 days ago | 0.00030069 ETH | ||||
| Send Exact Paren... | 7649844 | 348 days ago | 0.00030069 ETH | ||||
| Create Retryable... | 7643828 | 349 days ago | 0.00036485 ETH | ||||
| Create Retryable... | 7636290 | 350 days ago | 0.00015724 ETH | ||||
| Send Exact Paren... | 7636290 | 350 days ago | 0.00015724 ETH | ||||
| Create Retryable... | 7636290 | 350 days ago | 0.00015717 ETH | ||||
| Send Exact Paren... | 7636290 | 350 days ago | 0.00015717 ETH | ||||
| Create Retryable... | 7629328 | 351 days ago | 0.00016012 ETH | ||||
| Send Exact Paren... | 7629328 | 351 days ago | 0.00016012 ETH | ||||
| Create Retryable... | 7629328 | 351 days ago | 0.00016105 ETH | ||||
| Send Exact Paren... | 7629328 | 351 days ago | 0.00016105 ETH | ||||
| Create Retryable... | 7601178 | 355 days ago | 0.0001422 ETH | ||||
| Send Exact Paren... | 7601178 | 355 days ago | 0.0001422 ETH | ||||
| Create Retryable... | 7601178 | 355 days ago | 0.00014218 ETH | ||||
| Send Exact Paren... | 7601178 | 355 days ago | 0.00014218 ETH | ||||
| Create Retryable... | 7593995 | 356 days ago | 0.00014395 ETH |
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xdc7a4907...65Aa82D3D The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
L1ToApeChainMessagesSender
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;
import {AbstractL1ToL3MessagesSender} from "./AbstractL1ToL3MessagesSender.sol";
import {IArbitrumInbox} from "../interfaces/IArbitrumInbox.sol";
import {ISharpProofsAggregatorsFactory} from "../../interfaces/ISharpProofsAggregatorsFactory.sol";
import {IParentHashFetcher} from "../interfaces/IParentHashFetcher.sol";
contract L1ToApeChainMessagesSender is AbstractL1ToL3MessagesSender {
IArbitrumInbox public immutable arbitrumInbox;
constructor(
ISharpProofsAggregatorsFactory _proofsAggregatorsFactory,
IParentHashFetcher _parentHashFetcher,
address _l2Target,
address _l3Target,
IArbitrumInbox _arbitrumInbox
) AbstractL1ToL3MessagesSender(_proofsAggregatorsFactory, _parentHashFetcher, _l2Target, _l3Target) {
arbitrumInbox = _arbitrumInbox;
}
function _sendMessage(address _l2Target, address _l3Target, bytes memory _data, bytes memory _xDomainL2MsgGasData, bytes memory _xDomainL3MsgGasData) internal override {
(uint256 l2GasLimit, uint256 l2MaxFeePerGas, uint256 l2MaxSubmissionCost) = abi.decode(_xDomainL2MsgGasData, (uint256, uint256, uint256));
(uint256 l3GasLimit, uint256 l3MaxFeePerGas, uint256 l3MaxSubmissionCost, uint256 tokenTotalFeeAmount) = abi.decode(
_xDomainL3MsgGasData,
(uint256, uint256, uint256, uint256)
);
bytes memory l2ToL3Message = abi.encodeWithSignature(
"forwardMessageToApeChain(address,uint256,uint256,uint256,uint256,bytes)",
_l3Target,
l3MaxSubmissionCost,
l3GasLimit,
l3MaxFeePerGas,
tokenTotalFeeAmount,
_data
);
arbitrumInbox.createRetryableTicket{value: msg.value}(_l2Target, 0, l2MaxSubmissionCost, msg.sender, address(0), l2GasLimit, l2MaxFeePerGas, l2ToL3Message);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
interface ISharpProofsAggregator {
/// @notice Returns the current root hash of the Keccak Merkle Mountain Range (MMR) tree
function getMMRKeccakRoot() external view returns (bytes32);
/// @notice Returns the current root hash of the Poseidon Merkle Mountain Range (MMR) tree
function getMMRPoseidonRoot() external view returns (bytes32);
/// @notice Returns the current size of the Merkle Mountain Range (MMR) trees
function getMMRSize() external view returns (uint256);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import {ISharpProofsAggregator} from "./ISharpProofsAggregator.sol";
interface ISharpProofsAggregatorsFactory {
function aggregatorsById(uint256 aggregatorId) external returns (address);
}// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;
interface IArbitrumInbox {
/**
* @notice Put a message in the L2 inbox that can be reexecuted for some fixed amount of time if it reverts
* @dev all msg.value will deposited to callValueRefundAddress on L2
* @dev Gas limit and maxFeePerGas should not be set to 1 as that is used to trigger the RetryableData error
* @param to destination L2 contract address
* @param l2CallValue call value for retryable L2 message
* @param maxSubmissionCost Max gas deducted from user's L2 balance to cover base submission fee
* @param excessFeeRefundAddress gasLimit x maxFeePerGas - execution cost gets credited here on L2 balance
* @param callValueRefundAddress l2Callvalue gets credited here on L2 if retryable txn times out or gets cancelled
* @param gasLimit Max gas deducted from user's L2 balance to cover L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)
* @param maxFeePerGas price bid for L2 execution. Should not be set to 1 (magic value used to trigger the RetryableData error)
* @param data ABI encoded data of L2 message
* @return unique message number of the retryable transaction
*/
function createRetryableTicket(
address to,
uint256 l2CallValue,
uint256 maxSubmissionCost,
address excessFeeRefundAddress,
address callValueRefundAddress,
uint256 gasLimit,
uint256 maxFeePerGas,
bytes calldata data
) external payable returns (uint256);
}// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;
interface IParentHashFetcher {
function fetchParentHash(bytes memory ctx) external view returns (uint256 fetchedForBlock, bytes32 parentHash);
function chainId() external view returns (uint256);
}// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;
import {ISharpProofsAggregator} from "../../interfaces/ISharpProofsAggregator.sol";
import {ISharpProofsAggregatorsFactory} from "../../interfaces/ISharpProofsAggregatorsFactory.sol";
import {IParentHashFetcher} from "../interfaces/IParentHashFetcher.sol";
abstract contract AbstractL1ToL3MessagesSender {
ISharpProofsAggregatorsFactory public immutable proofsAggregatorsFactory;
IParentHashFetcher public immutable parentHashFetcher;
address public immutable l2Target;
address public immutable l3Target;
constructor(ISharpProofsAggregatorsFactory _proofsAggregatorsFactory, IParentHashFetcher _parentHashFetcher, address _l2Target, address _l3Target) {
proofsAggregatorsFactory = _proofsAggregatorsFactory;
parentHashFetcher = _parentHashFetcher;
l2Target = _l2Target;
l3Target = _l3Target;
}
/// @notice Send an exact L1 parent hash to L3
/// @param _parentHashFetcherCtx ABI encoded context for the parent hash fetcher
/// @param _xDomainL2MsgGasData the gas data for the cross-domain message, depends on the destination L2
/// @param _xDomainL3MsgGasData the gas data for the cross-domain message, depends on the destination L3
function sendExactParentHashToL3(bytes calldata _parentHashFetcherCtx, bytes memory _xDomainL2MsgGasData, bytes memory _xDomainL3MsgGasData) external payable {
(uint256 parentHashFetchedForBlock, bytes32 parentHash) = parentHashFetcher.fetchParentHash(_parentHashFetcherCtx);
require(parentHash != bytes32(0), "ERR_INVALID_BLOCK_NUMBER");
_sendMessage(
l2Target,
l3Target,
abi.encodeWithSignature("receiveHashForBlock(uint256,bytes32)", parentHashFetchedForBlock, parentHash),
_xDomainL2MsgGasData,
_xDomainL3MsgGasData
);
}
function sendKeccakMMRTreeToL3(uint256 aggregatorId, uint256 newMmrId, bytes memory _xDomainL2MsgGasData, bytes memory _xDomainL3MsgGasData) external payable {
address existingAggregatorAddr = proofsAggregatorsFactory.aggregatorsById(aggregatorId);
require(existingAggregatorAddr != address(0), "Unknown aggregator");
ISharpProofsAggregator aggregator = ISharpProofsAggregator(existingAggregatorAddr);
bytes32 keccakMMRRoot = aggregator.getMMRKeccakRoot();
uint256 mmrSize = aggregator.getMMRSize();
// Ensure initialized aggregator
require(mmrSize >= 1, "Invalid tree size");
require(keccakMMRRoot != bytes32(0), "Invalid root (keccak)");
_sendMessage(
l2Target,
l3Target,
abi.encodeWithSignature("receiveKeccakMMR(uint256,uint256,bytes32,uint256)", aggregatorId, mmrSize, keccakMMRRoot, newMmrId),
_xDomainL2MsgGasData,
_xDomainL3MsgGasData
);
}
function _sendMessage(address _l2Target, address _l3Target, bytes memory _data, bytes memory _xDomainL2MsgGasData, bytes memory _xDomainL3MsgGasData) internal virtual;
}{
"viaIR": true,
"optimizer": {
"enabled": true,
"runs": 200,
"details": {
"yulDetails": {
"optimizerSteps": "u"
}
}
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract ABI
API[{"inputs":[{"internalType":"contract ISharpProofsAggregatorsFactory","name":"_proofsAggregatorsFactory","type":"address"},{"internalType":"contract IParentHashFetcher","name":"_parentHashFetcher","type":"address"},{"internalType":"address","name":"_l2Target","type":"address"},{"internalType":"address","name":"_l3Target","type":"address"},{"internalType":"contract IArbitrumInbox","name":"_arbitrumInbox","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"arbitrumInbox","outputs":[{"internalType":"contract IArbitrumInbox","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2Target","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l3Target","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"parentHashFetcher","outputs":[{"internalType":"contract IParentHashFetcher","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proofsAggregatorsFactory","outputs":[{"internalType":"contract ISharpProofsAggregatorsFactory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_parentHashFetcherCtx","type":"bytes"},{"internalType":"bytes","name":"_xDomainL2MsgGasData","type":"bytes"},{"internalType":"bytes","name":"_xDomainL3MsgGasData","type":"bytes"}],"name":"sendExactParentHashToL3","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"aggregatorId","type":"uint256"},{"internalType":"uint256","name":"newMmrId","type":"uint256"},{"internalType":"bytes","name":"_xDomainL2MsgGasData","type":"bytes"},{"internalType":"bytes","name":"_xDomainL3MsgGasData","type":"bytes"}],"name":"sendKeccakMMRTreeToL3","outputs":[],"stateMutability":"payable","type":"function"}]Contract Creation Code
0x61012060405234620000a0576200002f6200001962000197565b9392909260805260a05260c05260e05261010052565b604051610cc9620001c2823960805181818161042001526107f0015260a0518181816102fc0152610544015260c0518181816103e7015281816105c80152610920015260e05181818161015e015281816105ec01526109420152610100518181816101000152610c0c0152610cc990f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f01601f191681019081106001600160401b03821117620000dd57604052565b620000a5565b90620000fa620000f260405190565b9283620000bb565b565b90565b6001600160a01b0381165b03620000a057565b90505190620000fa82620000ff565b6001600160a01b0381166200010a565b90505190620000fa8262000121565b919060a083820312620000a05762000159818462000112565b9262000169826020830162000112565b92620000fc6200017d846040850162000131565b936200018d816060860162000131565b9360800162000112565b620001ba62000e8b80380380620001ae81620000e3565b92833981019062000140565b909192939456fe6080604052600436101561001257600080fd5b60003560e01c8063060374a214610082578063200415171461007d5780633888e5b0146100785780638ca3776c14610073578063b43a61591461006e578063c2b530d6146100695763e0a61367036100925761040b565b6103d2565b6103bb565b6102e7565b6102cb565b610149565b6100eb565b600091031261009257565b600080fd5b6100ab906100ae906001600160a01b031682565b90565b6001600160a01b031690565b6100ab90610097565b6100ab906100ba565b6100d5906100c3565b9052565b6020810192916100e991906100cc565b565b34610092576100fb366004610087565b61012c7f00000000000000000000000000000000000000000000000000000000000000005b604051918291826100d9565b0390f35b6100d5906100ae565b6020810192916100e99190610130565b3461009257610159366004610087565b61012c7f00000000000000000000000000000000000000000000000000000000000000005b60405191829182610139565b805b0361009257565b905035906100e98261018a565b634e487b7160e01b600052604160045260246000fd5b90601f01601f1916810190811067ffffffffffffffff8211176101d857604052565b6101a0565b906100e96101ea60405190565b92836101b6565b67ffffffffffffffff81116101d857602090601f01601f19160190565b0190565b90826000939282370152565b9092919261023361022e826101f1565b6101dd565b93818552602085019082840111610092576100e992610212565b9080601f83011215610092578160206100ab9335910161021e565b906080828203126100925761027d8183610193565b9261028b8260208501610193565b92604081013567ffffffffffffffff811161009257836102ac91830161024d565b92606082013567ffffffffffffffff8111610092576100ab920161024d565b6102e26102d9366004610268565b929190916107e2565b604051005b34610092576102f7366004610087565b61012c7f0000000000000000000000000000000000000000000000000000000000000000610120565b909182601f830112156100925781359167ffffffffffffffff831161009257602001926001830284011161009257565b919060608382031261009257823567ffffffffffffffff81116100925781610379918501610320565b929093602081013567ffffffffffffffff8111610092578361039c91830161024d565b92604082013567ffffffffffffffff8111610092576100ab920161024d565b6102e26103c9366004610350565b92919091610538565b34610092576103e2366004610087565b61012c7f000000000000000000000000000000000000000000000000000000000000000061017e565b346100925761041b366004610087565b61012c7f0000000000000000000000000000000000000000000000000000000000000000610120565b905051906100e98261018a565b9190604083820312610092576100ab9061046b8185610444565b93602001610444565b91906104928161048b8161020e9560209181520190565b8095610212565b601f01601f191690565b60208082526100ab93910191610474565b6040513d6000823e3d90fd5b6100ab6100ab6100ab9290565b60208082526018908201527f4552525f494e56414c49445f424c4f434b5f4e554d4245520000000000000000604082015260600190565b1561050457565b60405162461bcd60e51b81528061051d600482016104c6565b0390fd5b9081526040810192916100e99160200152565b0152565b604090939291936105687f00000000000000000000000000000000000000000000000000000000000000006100c3565b6105896335b49ac661059461057c60405190565b9889958694859460e01b90565b84526004840161049c565b03915afa928315610676576100e9936000918291610645575b506105c66105be6100ab60006104b9565b8314156104fd565b7f00000000000000000000000000000000000000000000000000000000000000006106407f00000000000000000000000000000000000000000000000000000000000000009261063161061860405190565b63789e978360e01b602082015295869260248401610521565b602082018103825203846101b6565b610b8e565b9050610668915060403d811161066f575b61066081836101b6565b810190610451565b90386105ad565b503d610656565b6104ad565b61018c816100ae565b905051906100e98261067b565b90602082820312610092576100ab91610684565b6100ae6100ab6100ab9290565b6100ab906106a5565b6020808252601290820152712ab735b737bbb71030b3b3b932b3b0ba37b960711b604082015260600190565b156106ee57565b60405162461bcd60e51b81528061051d600482016106bb565b90602082820312610092576100ab91610444565b602080825260119082015270496e76616c696420747265652073697a6560781b604082015260600190565b1561074d57565b60405162461bcd60e51b81528061051d6004820161071b565b602080825260159082015274496e76616c696420726f6f7420286b656363616b2960581b604082015260600190565b1561079c57565b60405162461bcd60e51b81528061051d60048201610766565b6105346100e9946107db6060949897956107d4608086019a6000870152565b6020850152565b6040830152565b92919061082c9060206108147f00000000000000000000000000000000000000000000000000000000000000006100c3565b637b8269229061082360405190565b94859260e01b90565b82526004820188905260249082906000905af1918215610676576000926109e8575b5061088161087c60009361087c61086c610867876106b2565b6100ae565b610875836100ae565b14156106e7565b6100c3565b9063dbf4b5a49561089b61089460405190565b9760e01b90565b8752602087600481865afa928315610676576108ce976000946109c6575b506040519760209189916332ffa3f760e11b90565b825260049082905afa938415610676576100e997600095610984575b509061091b6109136100ab6106409461090e61090660016104b9565b8a1015610746565b6104b9565b851415610795565b6106317f0000000000000000000000000000000000000000000000000000000000000000937f00000000000000000000000000000000000000000000000000000000000000009561096b60405190565b636b8069e760e11b6020820152978894602486016107b5565b610640929195506109136100ab6109b461091b9360203d81116109bf575b6109ac81836101b6565b810190610707565b9793945050506108ea565b503d6109a2565b60209194506109e190823d81116109bf576109ac81836101b6565b93906108b9565b610a0a91925060203d8111610a11575b610a0281836101b6565b810190610691565b903861084e565b503d6109f8565b9091606082840312610092576100ab610a318484610444565b93610a3f8160208601610444565b93604001610444565b60808183031261009257610a5c8282610444565b926100ab610a6d8460208501610444565b93610a7b8160408601610444565b93606001610444565b60005b838110610a975750506000910152565b8181015183820152602001610a87565b610ac861049260209361020e93610abc815190565b80835293849260200190565b95869101610a84565b926100ab9694610b08610b0f92610b01610b1696999599610afa60c08a019b60008b0190610130565b6020890152565b6040870152565b6060850152565b6080830152565b60a0818403910152610aa7565b6100d5906104b9565b959391969492909661010087019760008801610b4791610130565b60208701610b5491610b23565b604086015260608501610b6691610130565b60808401610b7391610130565b60a083015260c08201528082039060e001526100ab91610aa7565b9190610bd1610bf695610c04610c5d93610bb860209889610bad825190565b818301019101610a18565b9a919590948a610bc6825190565b818301019101610a48565b91909992610bde60405190565b9a8b9660048f890163061bfd0b60e41b815201610ad1565b8882018103825203856101b6565b610c68610c307f00000000000000000000000000000000000000000000000000000000000000006100c3565b9463679b6ded92349460009a33610c468d6106b2565b91610c5060405190565b9d8e9c8d9b8c9a60e01b90565b8a5260048a01610b2c565b03925af1801561067657610c795750565b610c909060203d81116109bf576109ac81836101b6565b5056fea264697066735822122082a73b286b56038c75145a17f22405542c516bdfa171b5cd312ee0164c8cc40e64736f6c634300081400330000000000000000000000003cff12e2f0301aca56527bda2e86dc7d97ebc903000000000000000000000000a52b30e44d2a2911f7122b2e890ebc74005a1982000000000000000000000000f7b666917ff76c261446e0fb4056a4468c2a3b32000000000000000000000000f802b1129f564d1ea0aef59fdcee31d0f6af138a000000000000000000000000aae29b0366299461418f5324a79afc425be5ae21
Deployed Bytecode
0x6080604052600436101561001257600080fd5b60003560e01c8063060374a214610082578063200415171461007d5780633888e5b0146100785780638ca3776c14610073578063b43a61591461006e578063c2b530d6146100695763e0a61367036100925761040b565b6103d2565b6103bb565b6102e7565b6102cb565b610149565b6100eb565b600091031261009257565b600080fd5b6100ab906100ae906001600160a01b031682565b90565b6001600160a01b031690565b6100ab90610097565b6100ab906100ba565b6100d5906100c3565b9052565b6020810192916100e991906100cc565b565b34610092576100fb366004610087565b61012c7f000000000000000000000000aae29b0366299461418f5324a79afc425be5ae215b604051918291826100d9565b0390f35b6100d5906100ae565b6020810192916100e99190610130565b3461009257610159366004610087565b61012c7f000000000000000000000000f802b1129f564d1ea0aef59fdcee31d0f6af138a5b60405191829182610139565b805b0361009257565b905035906100e98261018a565b634e487b7160e01b600052604160045260246000fd5b90601f01601f1916810190811067ffffffffffffffff8211176101d857604052565b6101a0565b906100e96101ea60405190565b92836101b6565b67ffffffffffffffff81116101d857602090601f01601f19160190565b0190565b90826000939282370152565b9092919261023361022e826101f1565b6101dd565b93818552602085019082840111610092576100e992610212565b9080601f83011215610092578160206100ab9335910161021e565b906080828203126100925761027d8183610193565b9261028b8260208501610193565b92604081013567ffffffffffffffff811161009257836102ac91830161024d565b92606082013567ffffffffffffffff8111610092576100ab920161024d565b6102e26102d9366004610268565b929190916107e2565b604051005b34610092576102f7366004610087565b61012c7f000000000000000000000000a52b30e44d2a2911f7122b2e890ebc74005a1982610120565b909182601f830112156100925781359167ffffffffffffffff831161009257602001926001830284011161009257565b919060608382031261009257823567ffffffffffffffff81116100925781610379918501610320565b929093602081013567ffffffffffffffff8111610092578361039c91830161024d565b92604082013567ffffffffffffffff8111610092576100ab920161024d565b6102e26103c9366004610350565b92919091610538565b34610092576103e2366004610087565b61012c7f000000000000000000000000f7b666917ff76c261446e0fb4056a4468c2a3b3261017e565b346100925761041b366004610087565b61012c7f0000000000000000000000003cff12e2f0301aca56527bda2e86dc7d97ebc903610120565b905051906100e98261018a565b9190604083820312610092576100ab9061046b8185610444565b93602001610444565b91906104928161048b8161020e9560209181520190565b8095610212565b601f01601f191690565b60208082526100ab93910191610474565b6040513d6000823e3d90fd5b6100ab6100ab6100ab9290565b60208082526018908201527f4552525f494e56414c49445f424c4f434b5f4e554d4245520000000000000000604082015260600190565b1561050457565b60405162461bcd60e51b81528061051d600482016104c6565b0390fd5b9081526040810192916100e99160200152565b0152565b604090939291936105687f000000000000000000000000a52b30e44d2a2911f7122b2e890ebc74005a19826100c3565b6105896335b49ac661059461057c60405190565b9889958694859460e01b90565b84526004840161049c565b03915afa928315610676576100e9936000918291610645575b506105c66105be6100ab60006104b9565b8314156104fd565b7f000000000000000000000000f7b666917ff76c261446e0fb4056a4468c2a3b326106407f000000000000000000000000f802b1129f564d1ea0aef59fdcee31d0f6af138a9261063161061860405190565b63789e978360e01b602082015295869260248401610521565b602082018103825203846101b6565b610b8e565b9050610668915060403d811161066f575b61066081836101b6565b810190610451565b90386105ad565b503d610656565b6104ad565b61018c816100ae565b905051906100e98261067b565b90602082820312610092576100ab91610684565b6100ae6100ab6100ab9290565b6100ab906106a5565b6020808252601290820152712ab735b737bbb71030b3b3b932b3b0ba37b960711b604082015260600190565b156106ee57565b60405162461bcd60e51b81528061051d600482016106bb565b90602082820312610092576100ab91610444565b602080825260119082015270496e76616c696420747265652073697a6560781b604082015260600190565b1561074d57565b60405162461bcd60e51b81528061051d6004820161071b565b602080825260159082015274496e76616c696420726f6f7420286b656363616b2960581b604082015260600190565b1561079c57565b60405162461bcd60e51b81528061051d60048201610766565b6105346100e9946107db6060949897956107d4608086019a6000870152565b6020850152565b6040830152565b92919061082c9060206108147f0000000000000000000000003cff12e2f0301aca56527bda2e86dc7d97ebc9036100c3565b637b8269229061082360405190565b94859260e01b90565b82526004820188905260249082906000905af1918215610676576000926109e8575b5061088161087c60009361087c61086c610867876106b2565b6100ae565b610875836100ae565b14156106e7565b6100c3565b9063dbf4b5a49561089b61089460405190565b9760e01b90565b8752602087600481865afa928315610676576108ce976000946109c6575b506040519760209189916332ffa3f760e11b90565b825260049082905afa938415610676576100e997600095610984575b509061091b6109136100ab6106409461090e61090660016104b9565b8a1015610746565b6104b9565b851415610795565b6106317f000000000000000000000000f7b666917ff76c261446e0fb4056a4468c2a3b32937f000000000000000000000000f802b1129f564d1ea0aef59fdcee31d0f6af138a9561096b60405190565b636b8069e760e11b6020820152978894602486016107b5565b610640929195506109136100ab6109b461091b9360203d81116109bf575b6109ac81836101b6565b810190610707565b9793945050506108ea565b503d6109a2565b60209194506109e190823d81116109bf576109ac81836101b6565b93906108b9565b610a0a91925060203d8111610a11575b610a0281836101b6565b810190610691565b903861084e565b503d6109f8565b9091606082840312610092576100ab610a318484610444565b93610a3f8160208601610444565b93604001610444565b60808183031261009257610a5c8282610444565b926100ab610a6d8460208501610444565b93610a7b8160408601610444565b93606001610444565b60005b838110610a975750506000910152565b8181015183820152602001610a87565b610ac861049260209361020e93610abc815190565b80835293849260200190565b95869101610a84565b926100ab9694610b08610b0f92610b01610b1696999599610afa60c08a019b60008b0190610130565b6020890152565b6040870152565b6060850152565b6080830152565b60a0818403910152610aa7565b6100d5906104b9565b959391969492909661010087019760008801610b4791610130565b60208701610b5491610b23565b604086015260608501610b6691610130565b60808401610b7391610130565b60a083015260c08201528082039060e001526100ab91610aa7565b9190610bd1610bf695610c04610c5d93610bb860209889610bad825190565b818301019101610a18565b9a919590948a610bc6825190565b818301019101610a48565b91909992610bde60405190565b9a8b9660048f890163061bfd0b60e41b815201610ad1565b8882018103825203856101b6565b610c68610c307f000000000000000000000000aae29b0366299461418f5324a79afc425be5ae216100c3565b9463679b6ded92349460009a33610c468d6106b2565b91610c5060405190565b9d8e9c8d9b8c9a60e01b90565b8a5260048a01610b2c565b03925af1801561067657610c795750565b610c909060203d81116109bf576109ac81836101b6565b5056fea264697066735822122082a73b286b56038c75145a17f22405542c516bdfa171b5cd312ee0164c8cc40e64736f6c63430008140033
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.