Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 553 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint NF Ts | 18825097 | 334 days ago | IN | 0 ETH | 0.0044439 | ||||
Mint NF Ts | 17908468 | 463 days ago | IN | 0 ETH | 0.00159968 | ||||
Mint NF Ts | 17878513 | 467 days ago | IN | 0 ETH | 0.00442247 | ||||
Mint NF Ts | 17760536 | 483 days ago | IN | 0 ETH | 0.0021397 | ||||
Mint NF Ts | 17760531 | 483 days ago | IN | 0 ETH | 0.00201302 | ||||
Mint NF Ts | 17754711 | 484 days ago | IN | 0 ETH | 0.00153615 | ||||
Mint NF Ts | 17754700 | 484 days ago | IN | 0 ETH | 0.00133183 | ||||
Mint NF Ts | 17754692 | 484 days ago | IN | 0 ETH | 0.00057733 | ||||
Mint NF Ts | 17754691 | 484 days ago | IN | 0 ETH | 0.00137191 | ||||
Mint NF Ts | 17752310 | 485 days ago | IN | 0 ETH | 0.00128801 | ||||
Mint NF Ts | 17752299 | 485 days ago | IN | 0 ETH | 0.00134349 | ||||
Mint NF Ts | 17752294 | 485 days ago | IN | 0 ETH | 0.00137878 | ||||
Mint NF Ts | 17752277 | 485 days ago | IN | 0 ETH | 0.00056817 | ||||
Mint NF Ts | 17752275 | 485 days ago | IN | 0 ETH | 0.00129972 | ||||
Mint NF Ts | 17752269 | 485 days ago | IN | 0 ETH | 0.00137566 | ||||
Mint NF Ts | 17750359 | 485 days ago | IN | 0 ETH | 0.00249037 | ||||
Mint NF Ts | 17750353 | 485 days ago | IN | 0 ETH | 0.00271518 | ||||
Mint NF Ts | 17661133 | 497 days ago | IN | 0 ETH | 0.00150037 | ||||
Mint NF Ts | 17617872 | 503 days ago | IN | 0 ETH | 0.00132093 | ||||
Mint NF Ts | 17609011 | 505 days ago | IN | 0 ETH | 0.00127897 | ||||
Mint NF Ts | 17608998 | 505 days ago | IN | 0 ETH | 0.00127629 | ||||
Mint NF Ts | 17603607 | 505 days ago | IN | 0 ETH | 0.00122046 | ||||
Mint NF Ts | 17586734 | 508 days ago | IN | 0 ETH | 0.00583372 | ||||
Mint NF Ts | 17582051 | 509 days ago | IN | 0 ETH | 0.00252092 | ||||
Mint NF Ts | 17582048 | 509 days ago | IN | 0 ETH | 0.00260858 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Break
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 20000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; import "@openzeppelin/contracts/access/Ownable.sol"; import "./Sig.sol"; interface IToken { function balanceOf(address owner, uint256 id) external returns (uint256); function isApprovedForAll( address owner, address operator ) external returns (bool); function burnFT(address owner, uint256 tokenID, uint256 quantity) external; function mintFT(address to, uint256 tokenID, uint256 quantity) external; function mintNFT(address to, uint256 tokenID) external; function batchMintNFT(address to, uint256[] calldata ids) external; } contract Break is Ownable { address private _token; address private _signer; event SignatureConsumed(bytes32 indexed from, bytes32 indexed sigHash); mapping(bytes32 => bytes32) public lastSigUsed; function setTokenAddress(address addr) public onlyOwner { _token = addr; } function getToken() public view returns (address) { return _token; } function setSignerAddress(address addr) public onlyOwner { _signer = addr; } function getSigner() public view returns (address) { return _signer; } function mintFTs( bytes32 from, address to, uint256 id, uint256 qty, uint256 expiry, bytes32 prevSigHash, bytes calldata sig ) public { IToken token = IToken(_token); require(to != address(0), "Destination cannot be null address."); require( verify( sig, keccak256(abi.encode(from, id, qty, expiry, prevSigHash)), _signer ), "Signature mismatch." ); require( lastSigUsed[from] == prevSigHash, "Wrong previous signature supplied." ); require(block.timestamp < expiry, "Signature has expired."); lastSigUsed[from] = keccak256(sig); token.mintFT(to, id, qty); emit SignatureConsumed(from, keccak256(sig)); } function mintNFTs( bytes32 from, address to, uint256 burn, uint256 burnQty, uint256[] calldata mints, uint256 expiry, bytes32 prevSigHash, bytes calldata sig ) public { IToken token = IToken(_token); require(to != address(0), "Destination cannot be null address."); if (burnQty > 0) { require( token.isApprovedForAll(_msgSender(), address(this)), "Approval required" ); } require( verify( sig, keccak256( abi.encode( from, burn, burnQty, keccak256(abi.encodePacked(mints)), expiry, prevSigHash ) ), _signer ), "Signature mismatch." ); require( lastSigUsed[from] == prevSigHash, "Wrong previous signature supplied." ); require(block.timestamp < expiry, "Signature has expired."); lastSigUsed[from] = keccak256(sig); if (burnQty > 0) { token.burnFT(_msgSender(), burn, burnQty); } token.batchMintNFT(to, mints); emit SignatureConsumed(from, keccak256(sig)); } function verify( bytes memory sig, bytes32 hash, address signer ) internal pure returns (bool) { return Sig.verify(sig, hash, signer); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.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 anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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 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; } }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; library Sig { function verify( bytes memory signature, bytes32 digestHash, address expected ) internal pure returns (bool) { address std = getSigner(signature, digestHash); if (std == expected) { return true; } address packed = getSignerPacked(signature, digestHash); if (packed == expected) { return true; } return false; } function getSigner( bytes memory signature, bytes32 digestHash ) internal pure returns (address) { (bytes32 r, bytes32 s, uint8 v) = splitSignature(signature); bytes32 signed = getMessageHash(digestHash); return ecrecover(signed, v, r, s); } function getSignerPacked( bytes memory signature, bytes32 digestHash ) internal pure returns (address) { (bytes32 r, bytes32 s, uint8 v) = splitSignature(signature); bytes32 signed = getMessageHashPacked(digestHash); return ecrecover(signed, v, r, s); } function getMessageHash( bytes32 digestHash ) internal pure returns (bytes32) { return keccak256( abi.encode("\x19Ethereum Signed Message:\n32", digestHash) ); } function getMessageHashPacked( bytes32 digestHash ) internal pure returns (bytes32) { return keccak256( abi.encodePacked("\x19Ethereum Signed Message:\n32", digestHash) ); } function splitSignature( bytes memory sig ) internal pure returns (bytes32 r, bytes32 s, uint8 v) { require(sig.length == 65, "invalid signature length"); assembly { /* First 32 bytes stores the length of the signature add(sig, 32) = pointer of sig + 32 effectively, skips first 32 bytes of signature mload(p) loads next 32 bytes starting at the memory address p into memory */ // first 32 bytes, after the length prefix r := mload(add(sig, 32)) // second 32 bytes s := mload(add(sig, 64)) // final byte (first byte of the next 32 bytes) v := byte(0, mload(add(sig, 96))) } // implicitly return (r, s, v) } }
{ "optimizer": { "enabled": true, "runs": 20000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"from","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"sigHash","type":"bytes32"}],"name":"SignatureConsumed","type":"event"},{"inputs":[],"name":"getSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"lastSigUsed","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"from","type":"bytes32"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"qty","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bytes32","name":"prevSigHash","type":"bytes32"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"mintFTs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"from","type":"bytes32"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"burn","type":"uint256"},{"internalType":"uint256","name":"burnQty","type":"uint256"},{"internalType":"uint256[]","name":"mints","type":"uint256[]"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bytes32","name":"prevSigHash","type":"bytes32"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"mintNFTs","outputs":[],"stateMutability":"nonpayable","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":"addr","type":"address"}],"name":"setSignerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113888061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063715018a6116100765780638da5cb5b1161005b5780638da5cb5b1461017b578063bd7c85fa14610199578063f2fde38b146101c757600080fd5b8063715018a6146101555780637ac3c02f1461015d57600080fd5b806326a4e8d2116100a757806326a4e8d21461011c57806336c7d9dd1461012f578063613028e61461014257600080fd5b8063046dc166146100c357806321df0da7146100d8575b600080fd5b6100d66100d1366004611089565b6101da565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d661012a366004611089565b610229565b6100d661013d3660046110ed565b610278565b6100d6610150366004611171565b610652565b6100d6610bef565b60025473ffffffffffffffffffffffffffffffffffffffff166100f2565b60005473ffffffffffffffffffffffffffffffffffffffff166100f2565b6101b96101a7366004611256565b60036020526000908152604090205481565b604051908152602001610113565b6100d66101d5366004611089565b610c03565b6101e2610cba565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610231610cba565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015473ffffffffffffffffffffffffffffffffffffffff908116908816610327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f44657374696e6174696f6e2063616e6e6f74206265206e756c6c20616464726560448201527f73732e000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103e483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051602081018f90529081018c9052606081018b9052608081018a905260a0810189905260c00191506103909050565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012060025473ffffffffffffffffffffffffffffffffffffffff16610d3b565b61044a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5369676e6174757265206d69736d617463682e00000000000000000000000000604482015260640161031e565b60008981526003602052604090205484146104e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f57726f6e672070726576696f7573207369676e617475726520737570706c696560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015260840161031e565b844210610550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5369676e61747572652068617320657870697265642e00000000000000000000604482015260640161031e565b828260405161056092919061126f565b6040805191829003822060008c8152600360205291909120557fde34ff3500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018990526044820188905282169063de34ff3590606401600060405180830381600087803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050828260405161061592919061126f565b604051908190038120908a907f53120794e6f66ad5582cfd2045082037840655df6a07941bc002a48ff4775aac90600090a3505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff908116908a166106fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f44657374696e6174696f6e2063616e6e6f74206265206e756c6c20616464726560448201527f73732e0000000000000000000000000000000000000000000000000000000000606482015260840161031e565b871561081a5773ffffffffffffffffffffffffffffffffffffffff811663e985e9c5336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201523060248201526044016020604051808303816000875af1158015610790573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b4919061127f565b61081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f417070726f76616c207265717569726564000000000000000000000000000000604482015260640161031e565b6108d283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040518f92508d91508c9061086c908d908d906020016112a1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120908301959095528101929092526060820152608081019190915260a0810188905260c0810187905260e001610390565b610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5369676e6174757265206d69736d617463682e00000000000000000000000000604482015260640161031e565b60008b81526003602052604090205484146109d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f57726f6e672070726576696f7573207369676e617475726520737570706c696560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015260840161031e565b844210610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5369676e61747572652068617320657870697265642e00000000000000000000604482015260640161031e565b8282604051610a4e92919061126f565b604080519182900390912060008d8152600360205291909120558715610b185773ffffffffffffffffffffffffffffffffffffffff8116630ee68320336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018c9052604481018b9052606401600060405180830381600087803b158015610aff57600080fd5b505af1158015610b13573d6000803e3d6000fd5b505050505b6040517ff0edeaff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f0edeaff90610b6e908d908b908b906004016112e3565b600060405180830381600087803b158015610b8857600080fd5b505af1158015610b9c573d6000803e3d6000fd5b505050508282604051610bb092919061126f565b604051908190038120908c907f53120794e6f66ad5582cfd2045082037840655df6a07941bc002a48ff4775aac90600090a35050505050505050505050565b610bf7610cba565b610c016000610d52565b565b610c0b610cba565b73ffffffffffffffffffffffffffffffffffffffff8116610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161031e565b610cb781610d52565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161031e565b6000610d48848484610dc7565b90505b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610dd48585610e6b565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e13576001915050610d4b565b6000610e1f8686610f15565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e5f57600192505050610d4b565b50600095945050505050565b600080600080610e7a86610f35565b9250925092506000610e8b86610fc3565b60408051600081526020810180835283905260ff851691810191909152606081018690526080810185905290915060019060a0016020604051602081039080840390855afa158015610ee1573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b600080600080610f2486610f35565b9250925092506000610e8b86611025565b60008060008351604114610fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161031e565b50505060208101516040820151606090920151909260009190911a90565b6040805160208101829052601c60608201527f19457468657265756d205369676e6564204d6573736167653a0a333200000000608082015290810182905260009060a0015b604051602081830303815290604052805190602001209050919050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01611008565b803573ffffffffffffffffffffffffffffffffffffffff8116811461108457600080fd5b919050565b60006020828403121561109b57600080fd5b610d4b82611060565b60008083601f8401126110b657600080fd5b50813567ffffffffffffffff8111156110ce57600080fd5b6020830191508360208285010111156110e657600080fd5b9250929050565b60008060008060008060008060e0898b03121561110957600080fd5b8835975061111960208a01611060565b965060408901359550606089013594506080890135935060a0890135925060c089013567ffffffffffffffff81111561115157600080fd5b61115d8b828c016110a4565b999c989b5096995094979396929594505050565b6000806000806000806000806000806101008b8d03121561119157600080fd5b8a3599506111a160208c01611060565b985060408b0135975060608b0135965060808b013567ffffffffffffffff808211156111cc57600080fd5b818d0191508d601f8301126111e057600080fd5b8135818111156111ef57600080fd5b8e60208260051b850101111561120457600080fd5b6020830198508097505060a08d0135955060c08d0135945060e08d013591508082111561123057600080fd5b5061123d8d828e016110a4565b915080935050809150509295989b9194979a5092959850565b60006020828403121561126857600080fd5b5035919050565b8183823760009101908152919050565b60006020828403121561129157600080fd5b81518015158114610d4b57600080fd5b60007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156112d057600080fd5b8260051b80858437919091019392505050565b73ffffffffffffffffffffffffffffffffffffffff841681526040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561133857600080fd5b8260051b808560608501379190910160600194935050505056fea26469706673582212208a96d59ed604005c826b42b4e8561fabb80868d50fad9098891fc68b7de7ecb464736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063715018a6116100765780638da5cb5b1161005b5780638da5cb5b1461017b578063bd7c85fa14610199578063f2fde38b146101c757600080fd5b8063715018a6146101555780637ac3c02f1461015d57600080fd5b806326a4e8d2116100a757806326a4e8d21461011c57806336c7d9dd1461012f578063613028e61461014257600080fd5b8063046dc166146100c357806321df0da7146100d8575b600080fd5b6100d66100d1366004611089565b6101da565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d661012a366004611089565b610229565b6100d661013d3660046110ed565b610278565b6100d6610150366004611171565b610652565b6100d6610bef565b60025473ffffffffffffffffffffffffffffffffffffffff166100f2565b60005473ffffffffffffffffffffffffffffffffffffffff166100f2565b6101b96101a7366004611256565b60036020526000908152604090205481565b604051908152602001610113565b6100d66101d5366004611089565b610c03565b6101e2610cba565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610231610cba565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015473ffffffffffffffffffffffffffffffffffffffff908116908816610327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f44657374696e6174696f6e2063616e6e6f74206265206e756c6c20616464726560448201527f73732e000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103e483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051602081018f90529081018c9052606081018b9052608081018a905260a0810189905260c00191506103909050565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012060025473ffffffffffffffffffffffffffffffffffffffff16610d3b565b61044a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5369676e6174757265206d69736d617463682e00000000000000000000000000604482015260640161031e565b60008981526003602052604090205484146104e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f57726f6e672070726576696f7573207369676e617475726520737570706c696560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015260840161031e565b844210610550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5369676e61747572652068617320657870697265642e00000000000000000000604482015260640161031e565b828260405161056092919061126f565b6040805191829003822060008c8152600360205291909120557fde34ff3500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018990526044820188905282169063de34ff3590606401600060405180830381600087803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050828260405161061592919061126f565b604051908190038120908a907f53120794e6f66ad5582cfd2045082037840655df6a07941bc002a48ff4775aac90600090a3505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff908116908a166106fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f44657374696e6174696f6e2063616e6e6f74206265206e756c6c20616464726560448201527f73732e0000000000000000000000000000000000000000000000000000000000606482015260840161031e565b871561081a5773ffffffffffffffffffffffffffffffffffffffff811663e985e9c5336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201523060248201526044016020604051808303816000875af1158015610790573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b4919061127f565b61081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f417070726f76616c207265717569726564000000000000000000000000000000604482015260640161031e565b6108d283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040518f92508d91508c9061086c908d908d906020016112a1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120908301959095528101929092526060820152608081019190915260a0810188905260c0810187905260e001610390565b610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5369676e6174757265206d69736d617463682e00000000000000000000000000604482015260640161031e565b60008b81526003602052604090205484146109d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f57726f6e672070726576696f7573207369676e617475726520737570706c696560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015260840161031e565b844210610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5369676e61747572652068617320657870697265642e00000000000000000000604482015260640161031e565b8282604051610a4e92919061126f565b604080519182900390912060008d8152600360205291909120558715610b185773ffffffffffffffffffffffffffffffffffffffff8116630ee68320336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018c9052604481018b9052606401600060405180830381600087803b158015610aff57600080fd5b505af1158015610b13573d6000803e3d6000fd5b505050505b6040517ff0edeaff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f0edeaff90610b6e908d908b908b906004016112e3565b600060405180830381600087803b158015610b8857600080fd5b505af1158015610b9c573d6000803e3d6000fd5b505050508282604051610bb092919061126f565b604051908190038120908c907f53120794e6f66ad5582cfd2045082037840655df6a07941bc002a48ff4775aac90600090a35050505050505050505050565b610bf7610cba565b610c016000610d52565b565b610c0b610cba565b73ffffffffffffffffffffffffffffffffffffffff8116610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161031e565b610cb781610d52565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161031e565b6000610d48848484610dc7565b90505b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610dd48585610e6b565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e13576001915050610d4b565b6000610e1f8686610f15565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e5f57600192505050610d4b565b50600095945050505050565b600080600080610e7a86610f35565b9250925092506000610e8b86610fc3565b60408051600081526020810180835283905260ff851691810191909152606081018690526080810185905290915060019060a0016020604051602081039080840390855afa158015610ee1573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015198975050505050505050565b600080600080610f2486610f35565b9250925092506000610e8b86611025565b60008060008351604114610fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161031e565b50505060208101516040820151606090920151909260009190911a90565b6040805160208101829052601c60608201527f19457468657265756d205369676e6564204d6573736167653a0a333200000000608082015290810182905260009060a0015b604051602081830303815290604052805190602001209050919050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01611008565b803573ffffffffffffffffffffffffffffffffffffffff8116811461108457600080fd5b919050565b60006020828403121561109b57600080fd5b610d4b82611060565b60008083601f8401126110b657600080fd5b50813567ffffffffffffffff8111156110ce57600080fd5b6020830191508360208285010111156110e657600080fd5b9250929050565b60008060008060008060008060e0898b03121561110957600080fd5b8835975061111960208a01611060565b965060408901359550606089013594506080890135935060a0890135925060c089013567ffffffffffffffff81111561115157600080fd5b61115d8b828c016110a4565b999c989b5096995094979396929594505050565b6000806000806000806000806000806101008b8d03121561119157600080fd5b8a3599506111a160208c01611060565b985060408b0135975060608b0135965060808b013567ffffffffffffffff808211156111cc57600080fd5b818d0191508d601f8301126111e057600080fd5b8135818111156111ef57600080fd5b8e60208260051b850101111561120457600080fd5b6020830198508097505060a08d0135955060c08d0135945060e08d013591508082111561123057600080fd5b5061123d8d828e016110a4565b915080935050809150509295989b9194979a5092959850565b60006020828403121561126857600080fd5b5035919050565b8183823760009101908152919050565b60006020828403121561129157600080fd5b81518015158114610d4b57600080fd5b60007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156112d057600080fd5b8260051b80858437919091019392505050565b73ffffffffffffffffffffffffffffffffffffffff841681526040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561133857600080fd5b8260051b808560608501379190910160600194935050505056fea26469706673582212208a96d59ed604005c826b42b4e8561fabb80868d50fad9098891fc68b7de7ecb464736f6c63430008110033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.