Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 63 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Aggregate | 24728787 | 3 days ago | IN | 0 ETH | 0.0000243 | ||||
| Aggregate | 24722120 | 3 days ago | IN | 0 ETH | 0.00001588 | ||||
| Aggregate | 24687638 | 8 days ago | IN | 0.0001 ETH | 0.00000603 | ||||
| Aggregate | 24684223 | 9 days ago | IN | 0.0001 ETH | 0.0000063 | ||||
| Aggregate | 24671987 | 10 days ago | IN | 0 ETH | 0.00003701 | ||||
| Aggregate | 24671927 | 10 days ago | IN | 0 ETH | 0.00004374 | ||||
| Aggregate | 24670763 | 11 days ago | IN | 0.0001 ETH | 0.00004192 | ||||
| Aggregate | 24670727 | 11 days ago | IN | 0.0001 ETH | 0.00004045 | ||||
| Aggregate | 24664376 | 12 days ago | IN | 0 ETH | 0.00000407 | ||||
| Aggregate | 24643671 | 14 days ago | IN | 0.0001 ETH | 0.00000397 | ||||
| Aggregate | 24620701 | 18 days ago | IN | 0 ETH | 0.00001888 | ||||
| Aggregate | 24609602 | 19 days ago | IN | 0 ETH | 0.00000426 | ||||
| Aggregate | 24608815 | 19 days ago | IN | 0 ETH | 0.00000399 | ||||
| Aggregate | 24608804 | 19 days ago | IN | 0 ETH | 0.0000038 | ||||
| Aggregate | 24600442 | 20 days ago | IN | 0 ETH | 0.00000979 | ||||
| Aggregate | 24595521 | 21 days ago | IN | 0 ETH | 0.00000351 | ||||
| Aggregate | 24592332 | 22 days ago | IN | 0 ETH | 0.00002205 | ||||
| Aggregate | 24592092 | 22 days ago | IN | 0 ETH | 0.00003446 | ||||
| Aggregate | 24592045 | 22 days ago | IN | 0 ETH | 0.00001488 | ||||
| Aggregate | 24578113 | 24 days ago | IN | 0 ETH | 0.00009323 | ||||
| Aggregate | 24578068 | 24 days ago | IN | 0 ETH | 0.00006965 | ||||
| Aggregate | 24574024 | 24 days ago | IN | 0.4880136 ETH | 0.00000121 | ||||
| Aggregate | 24522050 | 31 days ago | IN | 0.00270128 ETH | 0.00000292 | ||||
| Aggregate | 24521450 | 31 days ago | IN | 0.0001 ETH | 0.00000837 | ||||
| Aggregate | 24519066 | 32 days ago | IN | 0.0001 ETH | 0.00000301 |
Latest 19 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 24687638 | 8 days ago | 0.0001 ETH | ||||
| Transfer | 24684223 | 9 days ago | 0.0001 ETH | ||||
| Transfer | 24670763 | 11 days ago | 0.0001 ETH | ||||
| Transfer | 24670727 | 11 days ago | 0.0001 ETH | ||||
| Transfer | 24643671 | 14 days ago | 0.0001 ETH | ||||
| Transfer | 24574024 | 24 days ago | 0.4880136 ETH | ||||
| Transfer | 24522050 | 31 days ago | 0.00270128 ETH | ||||
| Transfer | 24521450 | 31 days ago | 0.0001 ETH | ||||
| Transfer | 24519066 | 32 days ago | 0.0001 ETH | ||||
| Transfer | 24508597 | 33 days ago | 0.0001 ETH | ||||
| Transfer | 24508557 | 33 days ago | 0.0001 ETH | ||||
| Transfer | 24429133 | 44 days ago | 0.00307527 ETH | ||||
| Transfer | 24421145 | 45 days ago | 0.00262714 ETH | ||||
| Transfer | 24396069 | 49 days ago | 0.00217402 ETH | ||||
| Transfer | 24197566 | 77 days ago | 0.0001 ETH | ||||
| Transfer | 24197362 | 77 days ago | 0.0001 ETH | ||||
| Transfer | 24197029 | 77 days ago | 0.0001 ETH | ||||
| Transfer | 24191373 | 78 days ago | 0.0001 ETH | ||||
| Transfer | 24097564 | 91 days ago | 0.0001 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AggregatedTransfers
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: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
interface IERC20 {
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}
library SafeTransfer {
function safeTransferFrom(IERC20 token, address from, address to, uint256 amount) internal {
bytes memory data = abi.encodeWithSelector(token.transferFrom.selector, from, to, amount);
(bool success, bytes memory ret) = address(token).call(data);
require(success && (ret.length == 0 || abi.decode(ret, (bool))), "safeTransferFrom failed");
}
function safeNativeTransfer(address to, uint256 amount) internal {
(bool success, ) = to.call{value: amount}("");
require(success, "safeNativeTransfer failed");
}
}
contract AggregatedTransfers is ReentrancyGuard, Ownable {
using SafeTransfer for IERC20;
using SafeTransfer for address;
struct ERC20Transfer {
address token;
address from;
address to;
uint256 amount;
}
struct NativeTransfer {
address to;
uint256 amount;
}
mapping(address => bool) public allowedSenders;
event ERC20TransferExecuted(address indexed token, address indexed from, address indexed to, uint256 amount);
event NativeTransferExecuted(address indexed to, uint256 amount);
modifier onlyAllowedSender() {
require(allowedSenders[msg.sender], "not allowed");
_;
}
function setAllowedSender(address sender, bool allowed) external onlyOwner {
allowedSenders[sender] = allowed;
}
function aggregate(
ERC20Transfer[] calldata erc20Transfers,
NativeTransfer[] calldata nativeTransfers
) external payable nonReentrant onlyAllowedSender {
for (uint256 i = 0; i < erc20Transfers.length; i++) {
ERC20Transfer calldata t = erc20Transfers[i];
require(t.amount > 0, "zero amount");
IERC20(t.token).safeTransferFrom(t.from, t.to, t.amount);
emit ERC20TransferExecuted(t.token, t.from, t.to, t.amount);
}
uint256 totalNative = 0;
for (uint256 i = 0; i < nativeTransfers.length; i++) {
totalNative += nativeTransfers[i].amount;
}
require(totalNative == msg.value, "msg.value mismatch");
for (uint256 i = 0; i < nativeTransfers.length; i++) {
NativeTransfer calldata n = nativeTransfers[i];
require(n.amount > 0, "zero amount");
n.to.safeNativeTransfer(n.amount);
emit NativeTransferExecuted(n.to, n.amount);
}
}
receive() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)
pragma solidity ^0.8.0;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
*
* Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
* available, which can be applied to functions to make sure there are no nested
* (reentrant) calls to them.
*
* Note that because there is a single `nonReentrant` guard, functions marked as
* `nonReentrant` may not call one another. This can be worked around by making
* those functions `private`, and then adding `external` `nonReentrant` entry
* points to them.
*
* TIP: If you would like to learn more about reentrancy and alternative ways
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
abstract contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
// back. This is the compiler's defense against contract upgrades and
// pointer aliasing, and it cannot be disabled.
// The values being non-zero value makes deployment a bit more expensive,
// but in exchange the refund on every call to nonReentrant will be lower in
// amount. Since refunds are capped to a percentage of the total
// transaction's gas, it is best to keep them low in cases like this one, to
// increase the likelihood of the full refund coming into effect.
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
/**
* @dev Prevents a contract from calling itself, directly or indirectly.
* Calling a `nonReentrant` function from another `nonReentrant`
* function is not supported. It is possible to prevent this from happening
* by making the `nonReentrant` function external, and making it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
_nonReentrantBefore();
_;
_nonReentrantAfter();
}
function _nonReentrantBefore() private {
// On the first call to nonReentrant, _status will be _NOT_ENTERED
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
}
function _nonReentrantAfter() private {
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
/**
* @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
* `nonReentrant` function in the call stack.
*/
function _reentrancyGuardEntered() internal view returns (bool) {
return _status == _ENTERED;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20TransferExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NativeTransferExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct AggregatedTransfers.ERC20Transfer[]","name":"erc20Transfers","type":"tuple[]"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct AggregatedTransfers.NativeTransfer[]","name":"nativeTransfers","type":"tuple[]"}],"name":"aggregate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedSenders","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setAllowedSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b50600160005561001f33610024565b610076565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a2b806100856000396000f3fe6080604052600436106100595760003560e01c80634b52ffb014610065578063715018a6146100875780638da5cb5b1461009c578063da119551146100c9578063f2fde38b146100dc578063fadbcf48146100fc57600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5061008561008036600461082a565b61013c565b005b34801561009357600080fd5b5061008561016f565b3480156100a857600080fd5b506001546040516001600160a01b0390911681526020015b60405180910390f35b6100856100d7366004610861565b610183565b3480156100e857600080fd5b506100856100f7366004610929565b6104b3565b34801561010857600080fd5b5061012c610117366004610929565b60026020526000908152604090205460ff1681565b60405190151581526020016100c0565b61014461052c565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b61017761052c565b6101816000610586565b565b61018b6105d8565b3360009081526002602052604090205460ff166101dd5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b60448201526064015b60405180910390fd5b60005b8381101561032357368585838181106101fb576101fb61094b565b905060800201905060008160600135116102455760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61028b6102586040830160208401610929565b6102686060840160408501610929565b606084013561027a6020860186610929565b6001600160a01b0316929190610631565b61029b6060820160408301610929565b6001600160a01b03166102b46040830160208401610929565b6001600160a01b03166102ca6020840184610929565b6001600160a01b03167f31e3bcba8edfd5b617d532787df86bedeb3245aad772b6af38cb9b26984fc742846060013560405161030891815260200190565b60405180910390a4508061031b81610977565b9150506101e0565b506000805b8281101561036b578383828181106103425761034261094b565b90506040020160200135826103579190610990565b91508061036381610977565b915050610328565b503481146103b05760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b60448201526064016101d4565b60005b828110156104a157368484838181106103ce576103ce61094b565b905060400201905060008160200135116104185760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61043b6020820180359061042c9084610929565b6001600160a01b031690610758565b6104486020820182610929565b6001600160a01b03167feb1579c5d1072b917a01001129e6649ae3548d97f924b23963d58c6ed032b232826020013560405161048691815260200190565b60405180910390a2508061049981610977565b9150506103b3565b50506104ad6001600055565b50505050565b6104bb61052c565b6001600160a01b0381166105205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d4565b61052981610586565b50565b6001546001600160a01b031633146101815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d4565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60026000540361062a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101d4565b6002600055565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151909160009182918816906106979085906109a9565b6000604051808303816000865af19150503d80600081146106d4576040519150601f19603f3d011682016040523d82523d6000602084013e6106d9565b606091505b509150915081801561070357508051158061070357508080602001905181019061070391906109d8565b61074f5760405162461bcd60e51b815260206004820152601760248201527f736166655472616e7366657246726f6d206661696c656400000000000000000060448201526064016101d4565b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b50509050806107fb5760405162461bcd60e51b815260206004820152601960248201527f736166654e61746976655472616e73666572206661696c65640000000000000060448201526064016101d4565b505050565b80356001600160a01b038116811461081757600080fd5b919050565b801515811461052957600080fd5b6000806040838503121561083d57600080fd5b61084683610800565b915060208301356108568161081c565b809150509250929050565b6000806000806040858703121561087757600080fd5b843567ffffffffffffffff8082111561088f57600080fd5b818701915087601f8301126108a357600080fd5b8135818111156108b257600080fd5b8860208260071b85010111156108c757600080fd5b6020928301965094509086013590808211156108e257600080fd5b818701915087601f8301126108f657600080fd5b81358181111561090557600080fd5b8860208260061b850101111561091a57600080fd5b95989497505060200194505050565b60006020828403121561093b57600080fd5b61094482610800565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161098957610989610961565b5060010190565b808201808211156109a3576109a3610961565b92915050565b6000825160005b818110156109ca57602081860181015185830152016109b0565b506000920191825250919050565b6000602082840312156109ea57600080fd5b81516109448161081c56fea26469706673582212207bf8f32330e3b29884854f5ab5f076bdc0d777b9f52f78ccb1c2dba9b330530364736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100595760003560e01c80634b52ffb014610065578063715018a6146100875780638da5cb5b1461009c578063da119551146100c9578063f2fde38b146100dc578063fadbcf48146100fc57600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5061008561008036600461082a565b61013c565b005b34801561009357600080fd5b5061008561016f565b3480156100a857600080fd5b506001546040516001600160a01b0390911681526020015b60405180910390f35b6100856100d7366004610861565b610183565b3480156100e857600080fd5b506100856100f7366004610929565b6104b3565b34801561010857600080fd5b5061012c610117366004610929565b60026020526000908152604090205460ff1681565b60405190151581526020016100c0565b61014461052c565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b61017761052c565b6101816000610586565b565b61018b6105d8565b3360009081526002602052604090205460ff166101dd5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b60448201526064015b60405180910390fd5b60005b8381101561032357368585838181106101fb576101fb61094b565b905060800201905060008160600135116102455760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61028b6102586040830160208401610929565b6102686060840160408501610929565b606084013561027a6020860186610929565b6001600160a01b0316929190610631565b61029b6060820160408301610929565b6001600160a01b03166102b46040830160208401610929565b6001600160a01b03166102ca6020840184610929565b6001600160a01b03167f31e3bcba8edfd5b617d532787df86bedeb3245aad772b6af38cb9b26984fc742846060013560405161030891815260200190565b60405180910390a4508061031b81610977565b9150506101e0565b506000805b8281101561036b578383828181106103425761034261094b565b90506040020160200135826103579190610990565b91508061036381610977565b915050610328565b503481146103b05760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b60448201526064016101d4565b60005b828110156104a157368484838181106103ce576103ce61094b565b905060400201905060008160200135116104185760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61043b6020820180359061042c9084610929565b6001600160a01b031690610758565b6104486020820182610929565b6001600160a01b03167feb1579c5d1072b917a01001129e6649ae3548d97f924b23963d58c6ed032b232826020013560405161048691815260200190565b60405180910390a2508061049981610977565b9150506103b3565b50506104ad6001600055565b50505050565b6104bb61052c565b6001600160a01b0381166105205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d4565b61052981610586565b50565b6001546001600160a01b031633146101815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d4565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60026000540361062a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101d4565b6002600055565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151909160009182918816906106979085906109a9565b6000604051808303816000865af19150503d80600081146106d4576040519150601f19603f3d011682016040523d82523d6000602084013e6106d9565b606091505b509150915081801561070357508051158061070357508080602001905181019061070391906109d8565b61074f5760405162461bcd60e51b815260206004820152601760248201527f736166655472616e7366657246726f6d206661696c656400000000000000000060448201526064016101d4565b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b50509050806107fb5760405162461bcd60e51b815260206004820152601960248201527f736166654e61746976655472616e73666572206661696c65640000000000000060448201526064016101d4565b505050565b80356001600160a01b038116811461081757600080fd5b919050565b801515811461052957600080fd5b6000806040838503121561083d57600080fd5b61084683610800565b915060208301356108568161081c565b809150509250929050565b6000806000806040858703121561087757600080fd5b843567ffffffffffffffff8082111561088f57600080fd5b818701915087601f8301126108a357600080fd5b8135818111156108b257600080fd5b8860208260071b85010111156108c757600080fd5b6020928301965094509086013590808211156108e257600080fd5b818701915087601f8301126108f657600080fd5b81358181111561090557600080fd5b8860208260061b850101111561091a57600080fd5b95989497505060200194505050565b60006020828403121561093b57600080fd5b61094482610800565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161098957610989610961565b5060010190565b808201808211156109a3576109a3610961565b92915050565b6000825160005b818110156109ca57602081860181015185830152016109b0565b506000920191825250919050565b6000602082840312156109ea57600080fd5b81516109448161081c56fea26469706673582212207bf8f32330e3b29884854f5ab5f076bdc0d777b9f52f78ccb1c2dba9b330530364736f6c63430008140033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.