Source Code
Latest 15 from a total of 15 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Register Feature | 4543126 | 621 days ago | IN | 0 ETH | 0.00007308 | ||||
| Register Feature | 4515584 | 622 days ago | IN | 0 ETH | 0.00007474 | ||||
| Register Feature | 4507904 | 622 days ago | IN | 0 ETH | 0.00006108 | ||||
| Register Feature | 946767 | 794 days ago | IN | 0 ETH | 0.00010554 | ||||
| Register Feature | 946657 | 794 days ago | IN | 0 ETH | 0.00013833 | ||||
| Register Feature | 946639 | 794 days ago | IN | 0 ETH | 0.00037663 | ||||
| Register Feature | 946620 | 794 days ago | IN | 0 ETH | 0.00012305 | ||||
| Register Feature | 216127 | 892 days ago | IN | 0 ETH | 0.00005886 | ||||
| Register Feature | 44122 | 916 days ago | IN | 0 ETH | 0.00017282 | ||||
| Register Feature | 44114 | 916 days ago | IN | 0 ETH | 0.00038808 | ||||
| Register Feature | 44106 | 916 days ago | IN | 0 ETH | 0.00044906 | ||||
| Register Feature | 44097 | 916 days ago | IN | 0 ETH | 0.00159375 | ||||
| Register Feature | 44088 | 916 days ago | IN | 0 ETH | 0.0002454 | ||||
| Register Feature | 44078 | 916 days ago | IN | 0 ETH | 0.00026354 | ||||
| Register Feature | 44070 | 916 days ago | IN | 0 ETH | 0.00018437 |
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
AggTraderHelper
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import "./HelperOwnable.sol";
import "./storage/LibHelperFeatureStorage.sol";
contract AggTraderHelper is HelperOwnable {
event FeatureFunctionUpdated(bytes4 indexed selector, address oldFeature, address newFeature);
function registerFeature(address feature, bytes4[] calldata methodIDs) external onlyOwner {
unchecked {
LibHelperFeatureStorage.Storage storage stor = LibHelperFeatureStorage.getStorage();
for (uint256 i = 0; i < methodIDs.length; ++i) {
bytes4 selector = methodIDs[i];
address oldFeature = stor.impls[selector];
stor.impls[selector] = feature;
emit FeatureFunctionUpdated(selector, oldFeature, feature);
}
}
}
function registerFeatures(address[] calldata features, bytes4[][] calldata methodIDs) external onlyOwner {
require(features.length == methodIDs.length, "registerFeatures: mismatched inputs.");
unchecked {
LibHelperFeatureStorage.Storage storage stor = LibHelperFeatureStorage.getStorage();
for (uint256 i = 0; i < methodIDs.length; ++i) {
// register feature
address feature = features[i];
bytes4[] calldata featureMethodIDs = methodIDs[i];
for (uint256 j = 0; j < featureMethodIDs.length; ++j) {
bytes4 selector = featureMethodIDs[j];
address oldFeature = stor.impls[selector];
stor.impls[selector] = feature;
emit FeatureFunctionUpdated(selector, oldFeature, feature);
}
}
}
}
function getFeature(bytes4 methodID) external view returns (address feature) {
return LibHelperFeatureStorage.getStorage().impls[methodID];
}
/// @dev Fallback for just receiving ether.
receive() external payable {}
/// @dev Forwards calls to the appropriate implementation contract.
fallback() external payable {
bytes memory data = msg.data;
bytes4 selector;
assembly {
selector := mload(add(data, 32))
// Solidity does not require us to clean the trailing bytes.
// We do it anyway
selector := and(selector, 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000)
}
address feature = LibHelperFeatureStorage.getStorage().impls[selector];
require(feature != address(0), "Not implemented method.");
(bool success, ) = feature.delegatecall(data);
if (success) {
assembly {
returndatacopy(0, 0, returndatasize())
return(0, returndatasize())
}
} else {
assembly {
returndatacopy(0, 0, returndatasize())
revert(0, returndatasize())
}
}
}
function rescueETH(address recipient) external onlyOwner {
if (address(this).balance > 0) {
(bool success,) = payable(recipient).call{value: address(this).balance}("");
require(success, "_transferEth/TRANSFER_FAILED");
}
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC1155/IERC1155.sol)
pragma solidity ^0.8.0;
import "../../utils/introspection/IERC165.sol";
/**
* @dev Required interface of an ERC1155 compliant contract, as defined in the
* https://eips.ethereum.org/EIPS/eip-1155[EIP].
*
* _Available since v3.1._
*/
interface IERC1155 is IERC165 {
/**
* @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.
*/
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);
/**
* @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all
* transfers.
*/
event TransferBatch(
address indexed operator,
address indexed from,
address indexed to,
uint256[] ids,
uint256[] values
);
/**
* @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to
* `approved`.
*/
event ApprovalForAll(address indexed account, address indexed operator, bool approved);
/**
* @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.
*
* If an {URI} event was emitted for `id`, the standard
* https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value
* returned by {IERC1155MetadataURI-uri}.
*/
event URI(string value, uint256 indexed id);
/**
* @dev Returns the amount of tokens of token type `id` owned by `account`.
*
* Requirements:
*
* - `account` cannot be the zero address.
*/
function balanceOf(address account, uint256 id) external view returns (uint256);
/**
* @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.
*
* Requirements:
*
* - `accounts` and `ids` must have the same length.
*/
function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)
external
view
returns (uint256[] memory);
/**
* @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,
*
* Emits an {ApprovalForAll} event.
*
* Requirements:
*
* - `operator` cannot be the caller.
*/
function setApprovalForAll(address operator, bool approved) external;
/**
* @dev Returns true if `operator` is approved to transfer ``account``'s tokens.
*
* See {setApprovalForAll}.
*/
function isApprovedForAll(address account, address operator) external view returns (bool);
/**
* @dev Transfers `amount` tokens of token type `id` from `from` to `to`.
*
* Emits a {TransferSingle} event.
*
* Requirements:
*
* - `to` cannot be the zero address.
* - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}.
* - `from` must have a balance of tokens of type `id` of at least `amount`.
* - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the
* acceptance magic value.
*/
function safeTransferFrom(
address from,
address to,
uint256 id,
uint256 amount,
bytes calldata data
) external;
/**
* @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.
*
* Emits a {TransferBatch} event.
*
* Requirements:
*
* - `ids` and `amounts` must have the same length.
* - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the
* acceptance magic value.
*/
function safeBatchTransferFrom(
address from,
address to,
uint256[] calldata ids,
uint256[] calldata amounts,
bytes calldata data
) external;
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import "./storage/LibHelperFeatureStorage.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 HelperOwnable {
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
if (owner() == address(0)) {
_transferOwnership(msg.sender);
}
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return LibHelperFeatureStorage.getStorage().owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == msg.sender, "Ownable: caller is not the owner");
_;
}
/**
* @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) private {
LibHelperFeatureStorage.Storage storage stor = LibHelperFeatureStorage.getStorage();
address oldOwner = stor.owner;
stor.owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import "./LibHelperStorage.sol";
library LibHelperFeatureStorage {
struct Storage {
address owner;
// Mapping of function selector -> function implementation
mapping(bytes4 => address) impls;
}
/// @dev Get the storage bucket for this contract.
function getStorage() internal pure returns (Storage storage stor) {
// uint256 storageSlot = LibStorage.STORAGE_ID_FEATURE;
assembly { stor.slot := 0 }
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[EIP].
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others ({ERC165Checker}).
*
* For an implementation, see {ERC165}.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
library LibHelperStorage {
uint256 constant STORAGE_ID_FEATURE = 0 << 128;
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":false,"internalType":"address","name":"oldFeature","type":"address"},{"indexed":false,"internalType":"address","name":"newFeature","type":"address"}],"name":"FeatureFunctionUpdated","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes4","name":"methodID","type":"bytes4"}],"name":"getFeature","outputs":[{"internalType":"address","name":"feature","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"feature","type":"address"},{"internalType":"bytes4[]","name":"methodIDs","type":"bytes4[]"}],"name":"registerFeature","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"features","type":"address[]"},{"internalType":"bytes4[][]","name":"methodIDs","type":"bytes4[][]"}],"name":"registerFeatures","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"rescueETH","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
60806040523480156200001157600080fd5b50600073ffffffffffffffffffffffffffffffffffffffff166200003a6200006e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff160362000068576200006733620000ae60201b60201c565b5b62000197565b6000620000856200019260201b620003561760201c565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000620000c56200019260201b620003561760201c565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b600090565b61139c80620001a76000396000f3fe6080604052600436106100595760003560e01c806304824e701461024a578063249671c7146102735780633659871e1461029c578063462c37d9146102d95780638da5cb5b14610302578063f2fde38b1461032d57610060565b3661006057005b600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000602082015190507fffffffff000000000000000000000000000000000000000000000000000000008116905060006100e1610356565b6001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bc90610c87565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16846040516101ec9190610d18565b600060405180830381855af49150503d8060008114610227576040519150601f19603f3d011682016040523d82523d6000602084013e61022c565b606091505b505090508015610240573d6000803e3d6000f35b3d6000803e3d6000fd5b34801561025657600080fd5b50610271600480360381019061026c9190610d97565b61035b565b005b34801561027f57600080fd5b5061029a60048036038101906102959190610e29565b61048a565b005b3480156102a857600080fd5b506102c360048036038101906102be9190610ee1565b6106bc565b6040516102d09190610f1d565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190610fe4565b610740565b005b34801561030e57600080fd5b50610317610a30565b6040516103249190610f1d565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190610d97565b610a63565b005b600090565b3373ffffffffffffffffffffffffffffffffffffffff1661037a610a30565b73ffffffffffffffffffffffffffffffffffffffff16146103d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c7906110b1565b60405180910390fd5b60004711156104875760008173ffffffffffffffffffffffffffffffffffffffff16476040516103ff906110f7565b60006040518083038185875af1925050503d806000811461043c576040519150601f19603f3d011682016040523d82523d6000602084013e610441565b606091505b5050905080610485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047c90611158565b60405180910390fd5b505b50565b3373ffffffffffffffffffffffffffffffffffffffff166104a9610a30565b73ffffffffffffffffffffffffffffffffffffffff16146104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f6906110b1565b60405180910390fd5b6000610509610356565b905060005b838390508110156106b557600084848381811061052e5761052d611178565b5b90506020020160208101906105439190610ee1565b90506000836001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905086846001016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167ff05686f2e12debc00665cd81463f2ae8ae5b4f167ea8dead964a3235a7d2a76782896040516106a09291906111a7565b60405180910390a2505080600101905061050e565b5050505050565b60006106c6610356565b6001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661075f610a30565b73ffffffffffffffffffffffffffffffffffffffff16146107b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ac906110b1565b60405180910390fd5b8181905084849050146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490611242565b60405180910390fd5b6000610807610356565b905060005b83839050811015610a2857600086868381811061082c5761082b611178565b5b90506020020160208101906108419190610d97565b905036600086868581811061085957610858611178565b5b905060200281019061086b9190611271565b9150915060005b82829050811015610a1957600083838381811061089257610891611178565b5b90506020020160208101906108a79190610ee1565b90506000876001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905085886001016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167ff05686f2e12debc00665cd81463f2ae8ae5b4f167ea8dead964a3235a7d2a7678288604051610a049291906111a7565b60405180910390a25050806001019050610872565b5050505080600101905061080c565b505050505050565b6000610a3a610356565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff16610a82610a30565b73ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906110b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90611346565b60405180910390fd5b610b5081610b53565b50565b6000610b5d610356565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b600082825260208201905092915050565b7f4e6f7420696d706c656d656e746564206d6574686f642e000000000000000000600082015250565b6000610c71601783610c2a565b9150610c7c82610c3b565b602082019050919050565b60006020820190508181036000830152610ca081610c64565b9050919050565b600081519050919050565b600081905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000610cf282610ca7565b610cfc8185610cb2565b9350610d0c818560208601610cbd565b80840191505092915050565b6000610d248284610ce7565b915081905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d6482610d39565b9050919050565b610d7481610d59565b8114610d7f57600080fd5b50565b600081359050610d9181610d6b565b92915050565b600060208284031215610dad57610dac610d2f565b5b6000610dbb84828501610d82565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610de957610de8610dc4565b5b8235905067ffffffffffffffff811115610e0657610e05610dc9565b5b602083019150836020820283011115610e2257610e21610dce565b5b9250929050565b600080600060408486031215610e4257610e41610d2f565b5b6000610e5086828701610d82565b935050602084013567ffffffffffffffff811115610e7157610e70610d34565b5b610e7d86828701610dd3565b92509250509250925092565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610ebe81610e89565b8114610ec957600080fd5b50565b600081359050610edb81610eb5565b92915050565b600060208284031215610ef757610ef6610d2f565b5b6000610f0584828501610ecc565b91505092915050565b610f1781610d59565b82525050565b6000602082019050610f326000830184610f0e565b92915050565b60008083601f840112610f4e57610f4d610dc4565b5b8235905067ffffffffffffffff811115610f6b57610f6a610dc9565b5b602083019150836020820283011115610f8757610f86610dce565b5b9250929050565b60008083601f840112610fa457610fa3610dc4565b5b8235905067ffffffffffffffff811115610fc157610fc0610dc9565b5b602083019150836020820283011115610fdd57610fdc610dce565b5b9250929050565b60008060008060408587031215610ffe57610ffd610d2f565b5b600085013567ffffffffffffffff81111561101c5761101b610d34565b5b61102887828801610f38565b9450945050602085013567ffffffffffffffff81111561104b5761104a610d34565b5b61105787828801610f8e565b925092505092959194509250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061109b602083610c2a565b91506110a682611065565b602082019050919050565b600060208201905081810360008301526110ca8161108e565b9050919050565b50565b60006110e1600083610cb2565b91506110ec826110d1565b600082019050919050565b6000611102826110d4565b9150819050919050565b7f5f7472616e736665724574682f5452414e534645525f4641494c454400000000600082015250565b6000611142601c83610c2a565b915061114d8261110c565b602082019050919050565b6000602082019050818103600083015261117181611135565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040820190506111bc6000830185610f0e565b6111c96020830184610f0e565b9392505050565b7f726567697374657246656174757265733a206d69736d61746368656420696e7060008201527f7574732e00000000000000000000000000000000000000000000000000000000602082015250565b600061122c602483610c2a565b9150611237826111d0565b604082019050919050565b6000602082019050818103600083015261125b8161121f565b9050919050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261128e5761128d611262565b5b80840192508235915067ffffffffffffffff8211156112b0576112af611267565b5b6020830192506020820236038313156112cc576112cb61126c565b5b509250929050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611330602683610c2a565b915061133b826112d4565b604082019050919050565b6000602082019050818103600083015261135f81611323565b905091905056fea2646970667358221220518ae08d3e4510fb8471c02aac8a6c584da4aa6cde3d3c579af05b96b049f3e864736f6c63430008110033
Deployed Bytecode
0x6080604052600436106100595760003560e01c806304824e701461024a578063249671c7146102735780633659871e1461029c578063462c37d9146102d95780638da5cb5b14610302578063f2fde38b1461032d57610060565b3661006057005b600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000602082015190507fffffffff000000000000000000000000000000000000000000000000000000008116905060006100e1610356565b6001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bc90610c87565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16846040516101ec9190610d18565b600060405180830381855af49150503d8060008114610227576040519150601f19603f3d011682016040523d82523d6000602084013e61022c565b606091505b505090508015610240573d6000803e3d6000f35b3d6000803e3d6000fd5b34801561025657600080fd5b50610271600480360381019061026c9190610d97565b61035b565b005b34801561027f57600080fd5b5061029a60048036038101906102959190610e29565b61048a565b005b3480156102a857600080fd5b506102c360048036038101906102be9190610ee1565b6106bc565b6040516102d09190610f1d565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190610fe4565b610740565b005b34801561030e57600080fd5b50610317610a30565b6040516103249190610f1d565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190610d97565b610a63565b005b600090565b3373ffffffffffffffffffffffffffffffffffffffff1661037a610a30565b73ffffffffffffffffffffffffffffffffffffffff16146103d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c7906110b1565b60405180910390fd5b60004711156104875760008173ffffffffffffffffffffffffffffffffffffffff16476040516103ff906110f7565b60006040518083038185875af1925050503d806000811461043c576040519150601f19603f3d011682016040523d82523d6000602084013e610441565b606091505b5050905080610485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047c90611158565b60405180910390fd5b505b50565b3373ffffffffffffffffffffffffffffffffffffffff166104a9610a30565b73ffffffffffffffffffffffffffffffffffffffff16146104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f6906110b1565b60405180910390fd5b6000610509610356565b905060005b838390508110156106b557600084848381811061052e5761052d611178565b5b90506020020160208101906105439190610ee1565b90506000836001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905086846001016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167ff05686f2e12debc00665cd81463f2ae8ae5b4f167ea8dead964a3235a7d2a76782896040516106a09291906111a7565b60405180910390a2505080600101905061050e565b5050505050565b60006106c6610356565b6001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661075f610a30565b73ffffffffffffffffffffffffffffffffffffffff16146107b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ac906110b1565b60405180910390fd5b8181905084849050146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490611242565b60405180910390fd5b6000610807610356565b905060005b83839050811015610a2857600086868381811061082c5761082b611178565b5b90506020020160208101906108419190610d97565b905036600086868581811061085957610858611178565b5b905060200281019061086b9190611271565b9150915060005b82829050811015610a1957600083838381811061089257610891611178565b5b90506020020160208101906108a79190610ee1565b90506000876001016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905085886001016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167ff05686f2e12debc00665cd81463f2ae8ae5b4f167ea8dead964a3235a7d2a7678288604051610a049291906111a7565b60405180910390a25050806001019050610872565b5050505080600101905061080c565b505050505050565b6000610a3a610356565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff16610a82610a30565b73ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906110b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90611346565b60405180910390fd5b610b5081610b53565b50565b6000610b5d610356565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b600082825260208201905092915050565b7f4e6f7420696d706c656d656e746564206d6574686f642e000000000000000000600082015250565b6000610c71601783610c2a565b9150610c7c82610c3b565b602082019050919050565b60006020820190508181036000830152610ca081610c64565b9050919050565b600081519050919050565b600081905092915050565b60005b83811015610cdb578082015181840152602081019050610cc0565b60008484015250505050565b6000610cf282610ca7565b610cfc8185610cb2565b9350610d0c818560208601610cbd565b80840191505092915050565b6000610d248284610ce7565b915081905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d6482610d39565b9050919050565b610d7481610d59565b8114610d7f57600080fd5b50565b600081359050610d9181610d6b565b92915050565b600060208284031215610dad57610dac610d2f565b5b6000610dbb84828501610d82565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610de957610de8610dc4565b5b8235905067ffffffffffffffff811115610e0657610e05610dc9565b5b602083019150836020820283011115610e2257610e21610dce565b5b9250929050565b600080600060408486031215610e4257610e41610d2f565b5b6000610e5086828701610d82565b935050602084013567ffffffffffffffff811115610e7157610e70610d34565b5b610e7d86828701610dd3565b92509250509250925092565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610ebe81610e89565b8114610ec957600080fd5b50565b600081359050610edb81610eb5565b92915050565b600060208284031215610ef757610ef6610d2f565b5b6000610f0584828501610ecc565b91505092915050565b610f1781610d59565b82525050565b6000602082019050610f326000830184610f0e565b92915050565b60008083601f840112610f4e57610f4d610dc4565b5b8235905067ffffffffffffffff811115610f6b57610f6a610dc9565b5b602083019150836020820283011115610f8757610f86610dce565b5b9250929050565b60008083601f840112610fa457610fa3610dc4565b5b8235905067ffffffffffffffff811115610fc157610fc0610dc9565b5b602083019150836020820283011115610fdd57610fdc610dce565b5b9250929050565b60008060008060408587031215610ffe57610ffd610d2f565b5b600085013567ffffffffffffffff81111561101c5761101b610d34565b5b61102887828801610f38565b9450945050602085013567ffffffffffffffff81111561104b5761104a610d34565b5b61105787828801610f8e565b925092505092959194509250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061109b602083610c2a565b91506110a682611065565b602082019050919050565b600060208201905081810360008301526110ca8161108e565b9050919050565b50565b60006110e1600083610cb2565b91506110ec826110d1565b600082019050919050565b6000611102826110d4565b9150819050919050565b7f5f7472616e736665724574682f5452414e534645525f4641494c454400000000600082015250565b6000611142601c83610c2a565b915061114d8261110c565b602082019050919050565b6000602082019050818103600083015261117181611135565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040820190506111bc6000830185610f0e565b6111c96020830184610f0e565b9392505050565b7f726567697374657246656174757265733a206d69736d61746368656420696e7060008201527f7574732e00000000000000000000000000000000000000000000000000000000602082015250565b600061122c602483610c2a565b9150611237826111d0565b604082019050919050565b6000602082019050818103600083015261125b8161121f565b9050919050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261128e5761128d611262565b5b80840192508235915067ffffffffffffffff8211156112b0576112af611267565b5b6020830192506020820236038313156112cc576112cb61126c565b5b509250929050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611330602683610c2a565b915061133b826112d4565b604082019050919050565b6000602082019050818103600083015261135f81611323565b905091905056fea2646970667358221220518ae08d3e4510fb8471c02aac8a6c584da4aa6cde3d3c579af05b96b049f3e864736f6c63430008110033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
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.