More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 679 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Withdraw ETH | 17261275 | 417 days ago | IN | 0 ETH | 0.00098037 | ||||
Claim Tokens | 17261012 | 417 days ago | IN | 0.05 ETH | 0.00271837 | ||||
Claim Tokens | 17258401 | 417 days ago | IN | 0.05 ETH | 0.00218462 | ||||
Withdraw ETH | 17258366 | 417 days ago | IN | 0 ETH | 0.00137752 | ||||
Claim Tokens | 17258276 | 417 days ago | IN | 0.05 ETH | 0.00320399 | ||||
Claim Tokens | 17258245 | 417 days ago | IN | 0.05 ETH | 0.00299668 | ||||
Claim Tokens | 17258244 | 417 days ago | IN | 0.05 ETH | 0.00266473 | ||||
Claim Tokens | 17258231 | 417 days ago | IN | 0.05 ETH | 0.00297106 | ||||
Claim Tokens | 17258230 | 417 days ago | IN | 0.05 ETH | 0.00299604 | ||||
Claim Tokens | 17258200 | 417 days ago | IN | 0.05 ETH | 0.00173673 | ||||
Claim Tokens | 17258199 | 417 days ago | IN | 0.05 ETH | 0.01261191 | ||||
Claim Tokens | 17258197 | 417 days ago | IN | 0.05 ETH | 0.00288453 | ||||
Claim Tokens | 17258195 | 417 days ago | IN | 0.05 ETH | 0.00289708 | ||||
Claim Tokens | 17258191 | 417 days ago | IN | 0.05 ETH | 0.00281327 | ||||
Claim Tokens | 17258185 | 417 days ago | IN | 0.05 ETH | 0.0030304 | ||||
Claim Tokens | 17258180 | 417 days ago | IN | 0.05 ETH | 0.00292708 | ||||
Claim Tokens | 17258178 | 417 days ago | IN | 0.05 ETH | 0.0029701 | ||||
Claim Tokens | 17258176 | 417 days ago | IN | 0.05 ETH | 0.00302405 | ||||
Claim Tokens | 17258172 | 417 days ago | IN | 0.05 ETH | 0.00274742 | ||||
Claim Tokens | 17258170 | 417 days ago | IN | 0.05 ETH | 0.00284902 | ||||
Claim Tokens | 17258154 | 417 days ago | IN | 0.05 ETH | 0.00280671 | ||||
Claim Tokens | 17258150 | 417 days ago | IN | 0.05 ETH | 0.00280513 | ||||
Claim Tokens | 17258142 | 417 days ago | IN | 0.05 ETH | 0.00285207 | ||||
Claim Tokens | 17258141 | 417 days ago | IN | 0.05 ETH | 0.00287422 | ||||
Claim Tokens | 17258141 | 417 days ago | IN | 0.05 ETH | 0.0028747 |
Loading...
Loading
Contract Name:
GENPresale
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-13 */ // SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/utils/Context.sol // 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; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts/GenPresale.sol pragma solidity ^0.8.0; contract GENPresale is Ownable { IERC20 public genToken; uint256 public claimAmount = 105172500000 ether; uint256 public ethAmount = 0.05 ether; address public serverAddress; // The address corresponding to the backend server's private key constructor(address _tokenAddress, address _serverAddress) { genToken = IERC20(_tokenAddress); serverAddress = _serverAddress; } function setTokenAddress(address _tokenAddress) external onlyOwner { genToken = IERC20(_tokenAddress); } function setServerAddress(address _serverAddress) external onlyOwner { serverAddress = _serverAddress; } function setClaimAmount(uint256 _claimAmount) external onlyOwner { claimAmount = _claimAmount; } function setEthAmount(uint256 _ethAmount) external onlyOwner { ethAmount = _ethAmount; } function claimTokens(bytes32 r, bytes32 s, uint8 v, uint256 nonce) external payable { require(msg.value == ethAmount, "Incorrect ETH amount"); // Construct the message that was signed on the backend bytes32 message = keccak256(abi.encodePacked(msg.sender, nonce)); // Recover the address from the signature address recoveredAddress = ecrecover(message, v, r, s); // Check the recovered address against the server address require(recoveredAddress == serverAddress, "Invalid signature"); genToken.transfer(msg.sender, claimAmount); } function withdrawETH() external onlyOwner { payable(owner()).transfer(address(this).balance); } function withdrawGEN() external onlyOwner { uint256 balance = genToken.balanceOf(address(this)); require(balance > 0, "No GEN tokens to withdraw"); genToken.transfer(owner(), balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_serverAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"claimAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"claimTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"ethAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"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":[],"name":"serverAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claimAmount","type":"uint256"}],"name":"setClaimAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethAmount","type":"uint256"}],"name":"setEthAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_serverAddress","type":"address"}],"name":"setServerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawGEN","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526c0153d4a729495daf1a2480000060025566b1a2bc2ec5000060035534801561002c57600080fd5b506040516109c13803806109c183398101604081905261004b916100f1565b61005433610085565b600180546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055610124565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100ec57600080fd5b919050565b6000806040838503121561010457600080fd5b61010d836100d5565b915061011b602084016100d5565b90509250929050565b61088e806101336000396000f3fe6080604052600436106100dd5760003560e01c8063b7fca1591161007f578063c98166c011610059578063c98166c01461021c578063db420fe314610232578063e086e5ec14610252578063f2fde38b1461026757600080fd5b8063b7fca159146101c7578063b87c7d43146101dc578063bae02e29146101fc57600080fd5b8063715018a6116100bb578063715018a614610137578063830953ab1461014c5780638da5cb5b14610175578063b1c7ef0c146101a757600080fd5b806326a4e8d2146100e257806332e40f971461010457806347b64eb014610117575b600080fd5b3480156100ee57600080fd5b506101026100fd36600461078f565b610287565b005b6101026101123660046107bf565b6102b1565b34801561012357600080fd5b5061010261013236600461078f565b610473565b34801561014357600080fd5b5061010261049d565b34801561015857600080fd5b5061016260025481565b6040519081526020015b60405180910390f35b34801561018157600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161016c565b3480156101b357600080fd5b506101026101c2366004610804565b6104b1565b3480156101d357600080fd5b506101026104be565b3480156101e857600080fd5b506101026101f7366004610804565b61061d565b34801561020857600080fd5b5060015461018f906001600160a01b031681565b34801561022857600080fd5b5061016260035481565b34801561023e57600080fd5b5060045461018f906001600160a01b031681565b34801561025e57600080fd5b5061010261062a565b34801561027357600080fd5b5061010261028236600461078f565b61066f565b61028f6106e5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60035434146102fe5760405162461bcd60e51b8152602060048201526014602482015273125b98dbdc9c9958dd0811551208185b5bdd5b9d60621b60448201526064015b60405180910390fd5b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f198184030181528282528051602091820120600080855291840180845281905260ff87169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015610391573d6000803e3d6000fd5b5050604051601f1901516004549092506001600160a01b0380841691161490506103f15760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b60448201526064016102f5565b60015460025460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046a919061081d565b50505050505050565b61047b6106e5565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6104a56106e5565b6104af600061073f565b565b6104b96106e5565b600255565b6104c66106e5565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610533919061083f565b9050600081116105855760405162461bcd60e51b815260206004820152601960248201527f4e6f2047454e20746f6b656e7320746f2077697468647261770000000000000060448201526064016102f5565b6001546001600160a01b031663a9059cbb6105a86000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156105f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610619919061081d565b5050565b6106256106e5565b600355565b6106326106e5565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561066c573d6000803e3d6000fd5b50565b6106776106e5565b6001600160a01b0381166106dc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b61066c8161073f565b6000546001600160a01b031633146104af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156107a157600080fd5b81356001600160a01b03811681146107b857600080fd5b9392505050565b600080600080608085870312156107d557600080fd5b8435935060208501359250604085013560ff811681146107f457600080fd5b9396929550929360600135925050565b60006020828403121561081657600080fd5b5035919050565b60006020828403121561082f57600080fd5b815180151581146107b857600080fd5b60006020828403121561085157600080fd5b505191905056fea26469706673582212200cef6794a10d523168dee97cab05df4929ff1ec1faa270719e30afe55c22552264736f6c63430008120033000000000000000000000000d2d6bb4c0953349949f991d0bdae4f0b9c40e0730000000000000000000000000d4ed5aae3a7f7c053f8759433436a03f01c7a81
Deployed Bytecode
0x6080604052600436106100dd5760003560e01c8063b7fca1591161007f578063c98166c011610059578063c98166c01461021c578063db420fe314610232578063e086e5ec14610252578063f2fde38b1461026757600080fd5b8063b7fca159146101c7578063b87c7d43146101dc578063bae02e29146101fc57600080fd5b8063715018a6116100bb578063715018a614610137578063830953ab1461014c5780638da5cb5b14610175578063b1c7ef0c146101a757600080fd5b806326a4e8d2146100e257806332e40f971461010457806347b64eb014610117575b600080fd5b3480156100ee57600080fd5b506101026100fd36600461078f565b610287565b005b6101026101123660046107bf565b6102b1565b34801561012357600080fd5b5061010261013236600461078f565b610473565b34801561014357600080fd5b5061010261049d565b34801561015857600080fd5b5061016260025481565b6040519081526020015b60405180910390f35b34801561018157600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161016c565b3480156101b357600080fd5b506101026101c2366004610804565b6104b1565b3480156101d357600080fd5b506101026104be565b3480156101e857600080fd5b506101026101f7366004610804565b61061d565b34801561020857600080fd5b5060015461018f906001600160a01b031681565b34801561022857600080fd5b5061016260035481565b34801561023e57600080fd5b5060045461018f906001600160a01b031681565b34801561025e57600080fd5b5061010261062a565b34801561027357600080fd5b5061010261028236600461078f565b61066f565b61028f6106e5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60035434146102fe5760405162461bcd60e51b8152602060048201526014602482015273125b98dbdc9c9958dd0811551208185b5bdd5b9d60621b60448201526064015b60405180910390fd5b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f198184030181528282528051602091820120600080855291840180845281905260ff87169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015610391573d6000803e3d6000fd5b5050604051601f1901516004549092506001600160a01b0380841691161490506103f15760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b60448201526064016102f5565b60015460025460405163a9059cbb60e01b815233600482015260248101919091526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046a919061081d565b50505050505050565b61047b6106e5565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6104a56106e5565b6104af600061073f565b565b6104b96106e5565b600255565b6104c66106e5565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610533919061083f565b9050600081116105855760405162461bcd60e51b815260206004820152601960248201527f4e6f2047454e20746f6b656e7320746f2077697468647261770000000000000060448201526064016102f5565b6001546001600160a01b031663a9059cbb6105a86000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156105f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610619919061081d565b5050565b6106256106e5565b600355565b6106326106e5565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561066c573d6000803e3d6000fd5b50565b6106776106e5565b6001600160a01b0381166106dc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b61066c8161073f565b6000546001600160a01b031633146104af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156107a157600080fd5b81356001600160a01b03811681146107b857600080fd5b9392505050565b600080600080608085870312156107d557600080fd5b8435935060208501359250604085013560ff811681146107f457600080fd5b9396929550929360600135925050565b60006020828403121561081657600080fd5b5035919050565b60006020828403121561082f57600080fd5b815180151581146107b857600080fd5b60006020828403121561085157600080fd5b505191905056fea26469706673582212200cef6794a10d523168dee97cab05df4929ff1ec1faa270719e30afe55c22552264736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d2d6bb4c0953349949f991d0bdae4f0b9c40e0730000000000000000000000000d4ed5aae3a7f7c053f8759433436a03f01c7a81
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0xd2d6bb4c0953349949f991d0BDaE4f0b9c40E073
Arg [1] : _serverAddress (address): 0x0D4Ed5aAE3A7F7C053f8759433436a03F01c7A81
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d2d6bb4c0953349949f991d0bdae4f0b9c40e073
Arg [1] : 0000000000000000000000000d4ed5aae3a7f7c053f8759433436a03f01c7a81
Deployed Bytecode Sourcemap
6594:1869:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7021:118;;;;;;;;;;-1:-1:-1;7021:118:0;;;;;:::i;:::-;;:::i;:::-;;7501:616;;;;;;:::i;:::-;;:::i;7147:118::-;;;;;;;;;;-1:-1:-1;7147:118:0;;;;;:::i;:::-;;:::i;2811:103::-;;;;;;;;;;;;;:::i;6661:47::-;;;;;;;;;;;;;;;;;;;930:25:1;;;918:2;903:18;6661:47:0;;;;;;;;2163:87;;;;;;;;;;-1:-1:-1;2209:7:0;2236:6;-1:-1:-1;;;;;2236:6:0;2163:87;;;-1:-1:-1;;;;;1130:32:1;;;1112:51;;1100:2;1085:18;2163:87:0;966:203:1;7273:110:0;;;;;;;;;;-1:-1:-1;7273:110:0;;;;;:::i;:::-;;:::i;8242:218::-;;;;;;;;;;;;;:::i;7391:102::-;;;;;;;;;;-1:-1:-1;7391:102:0;;;;;:::i;:::-;;:::i;6632:22::-;;;;;;;;;;-1:-1:-1;6632:22:0;;;;-1:-1:-1;;;;;6632:22:0;;;6716:37;;;;;;;;;;;;;;;;6760:28;;;;;;;;;;-1:-1:-1;6760:28:0;;;;-1:-1:-1;;;;;6760:28:0;;;8125:109;;;;;;;;;;;;;:::i;3069:201::-;;;;;;;;;;-1:-1:-1;3069:201:0;;;;;:::i;:::-;;:::i;7021:118::-;2049:13;:11;:13::i;:::-;7099:8:::1;:32:::0;;-1:-1:-1;;;;;;7099:32:0::1;-1:-1:-1::0;;;;;7099:32:0;;;::::1;::::0;;;::::1;::::0;;7021:118::o;7501:616::-;7617:9;;7604;:22;7596:55;;;;-1:-1:-1;;;7596:55:0;;1783:2:1;7596:55:0;;;1765:21:1;1822:2;1802:18;;;1795:30;-1:-1:-1;;;1841:18:1;;;1834:50;1901:18;;7596:55:0;;;;;;;;;7757:35;;-1:-1:-1;;7774:10:0;2107:2:1;2103:15;2099:53;7757:35:0;;;2087:66:1;2169:12;;;2162:28;;;7729:15:0;;2206:12:1;;7757:35:0;;;-1:-1:-1;;7757:35:0;;;;;;;;;7747:46;;7757:35;7747:46;;;;7857:24;7884:27;;;;;;;;;2456:25:1;;;2529:4;2517:17;;2497:18;;;2490:45;;;;2551:18;;;2544:34;;;2594:18;;;2587:34;;;7747:46:0;;-1:-1:-1;7857:24:0;7884:27;;2428:19:1;;7884:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7884:27:0;;-1:-1:-1;;7884:27:0;;8019:13;;7884:27;;-1:-1:-1;;;;;;7999:33:0;;;8019:13;;7999:33;;-1:-1:-1;7991:63:0;;;;-1:-1:-1;;;7991:63:0;;2834:2:1;7991:63:0;;;2816:21:1;2873:2;2853:18;;;2846:30;-1:-1:-1;;;2892:18:1;;;2885:47;2949:18;;7991:63:0;2632:341:1;7991:63:0;8067:8;;8097:11;;8067:42;;-1:-1:-1;;;8067:42:0;;8085:10;8067:42;;;3152:51:1;3219:18;;;3212:34;;;;-1:-1:-1;;;;;8067:8:0;;;;:17;;3125:18:1;;8067:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7585:532;;7501:616;;;;:::o;7147:118::-;2049:13;:11;:13::i;:::-;7227::::1;:30:::0;;-1:-1:-1;;;;;;7227:30:0::1;-1:-1:-1::0;;;;;7227:30:0;;;::::1;::::0;;;::::1;::::0;;7147:118::o;2811:103::-;2049:13;:11;:13::i;:::-;2876:30:::1;2903:1;2876:18;:30::i;:::-;2811:103::o:0;7273:110::-;2049:13;:11;:13::i;:::-;7349:11:::1;:26:::0;7273:110::o;8242:218::-;2049:13;:11;:13::i;:::-;8313:8:::1;::::0;:33:::1;::::0;-1:-1:-1;;;8313:33:0;;8340:4:::1;8313:33;::::0;::::1;1112:51:1::0;8295:15:0::1;::::0;-1:-1:-1;;;;;8313:8:0::1;::::0;:18:::1;::::0;1085::1;;8313:33:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8295:51;;8375:1;8365:7;:11;8357:49;;;::::0;-1:-1:-1;;;8357:49:0;;3930:2:1;8357:49:0::1;::::0;::::1;3912:21:1::0;3969:2;3949:18;;;3942:30;4008:27;3988:18;;;3981:55;4053:18;;8357:49:0::1;3728:349:1::0;8357:49:0::1;8417:8;::::0;-1:-1:-1;;;;;8417:8:0::1;:17;8435:7;2209::::0;2236:6;-1:-1:-1;;;;;2236:6:0;;2163:87;8435:7:::1;8417:35;::::0;-1:-1:-1;;;;;;8417:35:0::1;::::0;;;;;;-1:-1:-1;;;;;3170:32:1;;;8417:35:0::1;::::0;::::1;3152:51:1::0;3219:18;;;3212:34;;;3125:18;;8417:35:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8284:176;8242:218::o:0;7391:102::-;2049:13;:11;:13::i;:::-;7463:9:::1;:22:::0;7391:102::o;8125:109::-;2049:13;:11;:13::i;:::-;2209:7;2236:6;;8178:48:::1;::::0;-1:-1:-1;;;;;2236:6:0;;;;8204:21:::1;8178:48:::0;::::1;;;::::0;8204:21;;8178:48;2209:7;8178:48;8204:21;2236:6;8178:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8125:109::o:0;3069:201::-;2049:13;:11;:13::i;:::-;-1:-1:-1;;;;;3158:22:0;::::1;3150:73;;;::::0;-1:-1:-1;;;3150:73:0;;4284:2:1;3150:73:0::1;::::0;::::1;4266:21:1::0;4323:2;4303:18;;;4296:30;4362:34;4342:18;;;4335:62;-1:-1:-1;;;4413:18:1;;;4406:36;4459:19;;3150:73:0::1;4082:402:1::0;3150:73:0::1;3234:28;3253:8;3234:18;:28::i;2328:132::-:0;2209:7;2236:6;-1:-1:-1;;;;;2236:6:0;794:10;2392:23;2384:68;;;;-1:-1:-1;;;2384:68:0;;4691:2:1;2384:68:0;;;4673:21:1;;;4710:18;;;4703:30;4769:34;4749:18;;;4742:62;4821:18;;2384:68:0;4489:356:1;3430:191:0;3504:16;3523:6;;-1:-1:-1;;;;;3540:17:0;;;-1:-1:-1;;;;;;3540:17:0;;;;;;3573:40;;3523:6;;;;;;;3573:40;;3504:16;3573:40;3493:128;3430:191;:::o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:1:o;305:474::-;389:6;397;405;413;466:3;454:9;445:7;441:23;437:33;434:53;;;483:1;480;473:12;434:53;519:9;506:23;496:33;;576:2;565:9;561:18;548:32;538:42;;630:2;619:9;615:18;602:32;674:4;667:5;663:16;656:5;653:27;643:55;;694:1;691;684:12;643:55;305:474;;;;-1:-1:-1;717:5:1;;769:2;754:18;741:32;;-1:-1:-1;;305:474:1:o;1174:180::-;1233:6;1286:2;1274:9;1265:7;1261:23;1257:32;1254:52;;;1302:1;1299;1292:12;1254:52;-1:-1:-1;1325:23:1;;1174:180;-1:-1:-1;1174:180:1:o;3257:277::-;3324:6;3377:2;3365:9;3356:7;3352:23;3348:32;3345:52;;;3393:1;3390;3383:12;3345:52;3425:9;3419:16;3478:5;3471:13;3464:21;3457:5;3454:32;3444:60;;3500:1;3497;3490:12;3539:184;3609:6;3662:2;3650:9;3641:7;3637:23;3633:32;3630:52;;;3678:1;3675;3668:12;3630:52;-1:-1:-1;3701:16:1;;3539:184;-1:-1:-1;3539:184:1:o
Swarm Source
ipfs://0cef6794a10d523168dee97cab05df4929ff1ec1faa270719e30afe55c225522
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.