Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ServiceReceiver
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-20 */ /** *Submitted for verification at Etherscan.io on 2021-04-01 */ // SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/token/ERC20/IERC20.sol pragma solidity ^0.7.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: @openzeppelin/contracts/utils/Context.sol pragma solidity >=0.6.0 <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 GSN 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 payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol pragma solidity ^0.7.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 () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { 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 { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: eth-token-recover/contracts/TokenRecover.sol pragma solidity ^0.7.0; /** * @title TokenRecover * @dev Allow to recover any ERC20 sent into the contract for error */ contract TokenRecover is Ownable { /** * @dev Remember that only owner can call so be careful when use on contracts generated from other contracts. * @param tokenAddress The token contract address * @param tokenAmount Number of tokens to be sent */ function recoverERC20(address tokenAddress, uint256 tokenAmount) public onlyOwner { IERC20(tokenAddress).transfer(owner(), tokenAmount); } } // File: contracts/service/ServiceReceiver.sol pragma solidity ^0.7.0; /** * @title ServiceReceiver * @dev Implementation of the ServiceReceiver */ contract ServiceReceiver is TokenRecover { mapping (bytes32 => uint256) private _prices; event Created(string serviceName, address indexed serviceAddress); function pay(string memory serviceName) public payable { require(msg.value == _prices[_toBytes32(serviceName)], "ServiceReceiver: incorrect price"); emit Created(serviceName, _msgSender()); } function getPrice(string memory serviceName) public view returns (uint256) { return _prices[_toBytes32(serviceName)]; } function setPrice(string memory serviceName, uint256 amount) public onlyOwner { _prices[_toBytes32(serviceName)] = amount; } function withdraw(uint256 amount) public onlyOwner { payable(owner()).transfer(amount); } function _toBytes32(string memory serviceName) private pure returns (bytes32) { return keccak256(abi.encode(serviceName)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"serviceName","type":"string"},{"indexed":true,"internalType":"address","name":"serviceAddress","type":"address"}],"name":"Created","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"string","name":"serviceName","type":"string"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"serviceName","type":"string"}],"name":"pay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"serviceName","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6109a98061007d6000396000f3fe60806040526004361061007b5760003560e01c8063715018a61161004e578063715018a6146102cc5780638980f11f146102e15780638da5cb5b1461031a578063f2fde38b1461034b5761007b565b806322e01192146100805780632b66d72e146101375780632e1a7d4d146101dd578063524f388914610207575b600080fd5b34801561008c57600080fd5b50610135600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460018302840111640100000000831117156100f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061037e915050565b005b6101356004803603602081101561014d57600080fd5b81019060208101813564010000000081111561016857600080fd5b82018360208201111561017a57600080fd5b8035906020019184600183028401116401000000008311171561019c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610403945050505050565b3480156101e957600080fd5b506101356004803603602081101561020057600080fd5b503561051f565b34801561021357600080fd5b506102ba6004803603602081101561022a57600080fd5b81019060208101813564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105c5945050505050565b60408051918252519081900360200190f35b3480156102d857600080fd5b506101356105ea565b3480156102ed57600080fd5b506101356004803603604081101561030457600080fd5b506001600160a01b038135169060200135610696565b34801561032657600080fd5b5061032f610786565b604080516001600160a01b039092168252519081900360200190f35b34801561035757600080fd5b506101356004803603602081101561036e57600080fd5b50356001600160a01b0316610795565b610386610897565b6001600160a01b0316610397610786565b6001600160a01b0316146103e0576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b80600160006103ee8561089b565b81526020810191909152604001600020555050565b600160006104108361089b565b8152602001908152602001600020543414610472576040805162461bcd60e51b815260206004820181905260248201527f5365727669636552656365697665723a20696e636f7272656374207072696365604482015290519081900360640190fd5b61047a610897565b6001600160a01b03167fdb4e8a6f69daa6b4b9977ed734b510ed9b7ce86536c87435bfd7ef57968d05ee826040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e25781810151838201526020016104ca565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b610527610897565b6001600160a01b0316610538610786565b6001600160a01b031614610581576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b610589610786565b6001600160a01b03166108fc829081150290604051600060405180830381858888f193505050501580156105c1573d6000803e3d6000fd5b5050565b6000600160006105d48461089b565b8152602001908152602001600020549050919050565b6105f2610897565b6001600160a01b0316610603610786565b6001600160a01b03161461064c576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61069e610897565b6001600160a01b03166106af610786565b6001600160a01b0316146106f8576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b816001600160a01b031663a9059cbb61070f610786565b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561075657600080fd5b505af115801561076a573d6000803e3d6000fd5b505050506040513d602081101561078057600080fd5b50505050565b6000546001600160a01b031690565b61079d610897565b6001600160a01b03166107ae610786565b6001600160a01b0316146107f7576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b6001600160a01b03811661083c5760405162461bcd60e51b815260040180806020018281038252602681526020018061092e6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156108de5781810151838201526020016108c6565b50505050905090810190601f16801561090b5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120905091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212206b254b8b7353f52696e3f1661b300ccb62e39e85dc756c9df749d8b8f77f799b64736f6c63430007060033
Deployed Bytecode
0x60806040526004361061007b5760003560e01c8063715018a61161004e578063715018a6146102cc5780638980f11f146102e15780638da5cb5b1461031a578063f2fde38b1461034b5761007b565b806322e01192146100805780632b66d72e146101375780632e1a7d4d146101dd578063524f388914610207575b600080fd5b34801561008c57600080fd5b50610135600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460018302840111640100000000831117156100f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061037e915050565b005b6101356004803603602081101561014d57600080fd5b81019060208101813564010000000081111561016857600080fd5b82018360208201111561017a57600080fd5b8035906020019184600183028401116401000000008311171561019c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610403945050505050565b3480156101e957600080fd5b506101356004803603602081101561020057600080fd5b503561051f565b34801561021357600080fd5b506102ba6004803603602081101561022a57600080fd5b81019060208101813564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105c5945050505050565b60408051918252519081900360200190f35b3480156102d857600080fd5b506101356105ea565b3480156102ed57600080fd5b506101356004803603604081101561030457600080fd5b506001600160a01b038135169060200135610696565b34801561032657600080fd5b5061032f610786565b604080516001600160a01b039092168252519081900360200190f35b34801561035757600080fd5b506101356004803603602081101561036e57600080fd5b50356001600160a01b0316610795565b610386610897565b6001600160a01b0316610397610786565b6001600160a01b0316146103e0576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b80600160006103ee8561089b565b81526020810191909152604001600020555050565b600160006104108361089b565b8152602001908152602001600020543414610472576040805162461bcd60e51b815260206004820181905260248201527f5365727669636552656365697665723a20696e636f7272656374207072696365604482015290519081900360640190fd5b61047a610897565b6001600160a01b03167fdb4e8a6f69daa6b4b9977ed734b510ed9b7ce86536c87435bfd7ef57968d05ee826040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e25781810151838201526020016104ca565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b610527610897565b6001600160a01b0316610538610786565b6001600160a01b031614610581576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b610589610786565b6001600160a01b03166108fc829081150290604051600060405180830381858888f193505050501580156105c1573d6000803e3d6000fd5b5050565b6000600160006105d48461089b565b8152602001908152602001600020549050919050565b6105f2610897565b6001600160a01b0316610603610786565b6001600160a01b03161461064c576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61069e610897565b6001600160a01b03166106af610786565b6001600160a01b0316146106f8576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b816001600160a01b031663a9059cbb61070f610786565b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561075657600080fd5b505af115801561076a573d6000803e3d6000fd5b505050506040513d602081101561078057600080fd5b50505050565b6000546001600160a01b031690565b61079d610897565b6001600160a01b03166107ae610786565b6001600160a01b0316146107f7576040805162461bcd60e51b81526020600482018190526024820152600080516020610954833981519152604482015290519081900360640190fd5b6001600160a01b03811661083c5760405162461bcd60e51b815260040180806020018281038252602681526020018061092e6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156108de5781810151838201526020016108c6565b50505050905090810190601f16801561090b5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120905091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212206b254b8b7353f52696e3f1661b300ccb62e39e85dc756c9df749d8b8f77f799b64736f6c63430007060033
Deployed Bytecode Sourcemap
7004:940:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7546:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7546:138:0;;-1:-1:-1;;7546:138:0;;;-1:-1:-1;7546:138:0;;-1:-1:-1;;7546:138:0:i;:::-;;7181:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7181:216:0;;-1:-1:-1;7181:216:0;;-1:-1:-1;;;;;7181:216:0:i;7692:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7692:103:0;;:::i;7405:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7405:133:0;;-1:-1:-1;7405:133:0;;-1:-1:-1;;;;;7405:133:0:i;:::-;;;;;;;;;;;;;;;;5644:148;;;;;;;;;;;;;:::i;6678:152::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6678:152:0;;;;;;;;:::i;4993:87::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4993:87:0;;;;;;;;;;;;;;5947:244;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5947:244:0;-1:-1:-1;;;;;5947:244:0;;:::i;7546:138::-;5224:12;:10;:12::i;:::-;-1:-1:-1;;;;;5213:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5213:23:0;;5205:68;;;;;-1:-1:-1;;;5205:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5205:68:0;;;;;;;;;;;;;;;7670:6:::1;7635:7;:32;7643:23;7654:11;7643:10;:23::i;:::-;7635:32:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7635:32:0;:41;-1:-1:-1;;7546:138:0:o;7181:216::-;7268:7;:32;7276:23;7287:11;7276:10;:23::i;:::-;7268:32;;;;;;;;;;;;7255:9;:45;7247:90;;;;;-1:-1:-1;;;7247:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7376:12;:10;:12::i;:::-;-1:-1:-1;;;;;7355:34:0;;7363:11;7355:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7181:216;:::o;7692:103::-;5224:12;:10;:12::i;:::-;-1:-1:-1;;;;;5213:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5213:23:0;;5205:68;;;;;-1:-1:-1;;;5205:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5205:68:0;;;;;;;;;;;;;;;7762:7:::1;:5;:7::i;:::-;-1:-1:-1::0;;;;;7754:25:0::1;:33;7780:6;7754:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7692:103:::0;:::o;7405:133::-;7471:7;7498;:32;7506:23;7517:11;7506:10;:23::i;:::-;7498:32;;;;;;;;;;;;7491:39;;7405:133;;;:::o;5644:148::-;5224:12;:10;:12::i;:::-;-1:-1:-1;;;;;5213:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5213:23:0;;5205:68;;;;;-1:-1:-1;;;5205:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5205:68:0;;;;;;;;;;;;;;;5751:1:::1;5735:6:::0;;5714:40:::1;::::0;-1:-1:-1;;;;;5735:6:0;;::::1;::::0;5714:40:::1;::::0;5751:1;;5714:40:::1;5782:1;5765:19:::0;;-1:-1:-1;;;;;;5765:19:0::1;::::0;;5644:148::o;6678:152::-;5224:12;:10;:12::i;:::-;-1:-1:-1;;;;;5213:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5213:23:0;;5205:68;;;;;-1:-1:-1;;;5205:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5205:68:0;;;;;;;;;;;;;;;6778:12:::1;-1:-1:-1::0;;;;;6771:29:0::1;;6801:7;:5;:7::i;:::-;6810:11;6771:51;;;;;;;;;;;;;-1:-1:-1::0;;;;;6771:51:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;;6678:152:0:o;4993:87::-;5039:7;5066:6;-1:-1:-1;;;;;5066:6:0;4993:87;:::o;5947:244::-;5224:12;:10;:12::i;:::-;-1:-1:-1;;;;;5213:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5213:23:0;;5205:68;;;;;-1:-1:-1;;;5205:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5205:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6036:22:0;::::1;6028:73;;;;-1:-1:-1::0;;;6028:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6138:6;::::0;;6117:38:::1;::::0;-1:-1:-1;;;;;6117:38:0;;::::1;::::0;6138:6;::::1;::::0;6117:38:::1;::::0;::::1;6166:6;:17:::0;;-1:-1:-1;;;;;;6166:17:0::1;-1:-1:-1::0;;;;;6166:17:0;;;::::1;::::0;;;::::1;::::0;;5947:244::o;3545:106::-;3633:10;3545:106;:::o;7803:138::-;7872:7;7920:11;7909:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7899:34;;;;;;7892:41;;7803:138;;;:::o
Swarm Source
ipfs://6b254b8b7353f52696e3f1661b300ccb62e39e85dc756c9df749d8b8f77f799b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.