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 Name:
ShinySeeder
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 /// @title The ShinyToken pseudo-random seed generator /********************************* * ・゚・゚✧.・・゚shiny.club・✫・゜・゚✧ * *********************************/ pragma solidity ^0.8.9; import { IShinySeeder } from './interfaces/IShinySeeder.sol'; import { IShinyDescriptor } from './interfaces/IShinyDescriptor.sol'; contract ShinySeeder is IShinySeeder { /** * @notice Generate a pseudo-random Shiny seed using the previous blockhash and Shiny ID. */ // prettier-ignore function generateSeedForMint(uint256 shinyId, IShinyDescriptor descriptor, bool isShiny) external view override returns (Seed memory) { uint256 pseudorandomness = uint256( keccak256(abi.encodePacked(blockhash(block.number - 1), shinyId)) ); uint256 backgroundCount = descriptor.backgroundCount(); uint256 bodyCount = descriptor.bodyCount(); uint256 accessoryCount = descriptor.accessoryCount(); uint256 headCount = descriptor.headCount(); uint256 eyesCount = descriptor.eyesCount(); uint256 nosesCount = descriptor.nosesCount(); uint256 mouthsCount = descriptor.mouthsCount(); return Seed({ background: uint16( uint16(pseudorandomness) % backgroundCount ), body: uint16( uint16(pseudorandomness >> 32) % bodyCount ), accessory: uint16( uint16(pseudorandomness >> 64) % accessoryCount ), head: uint16( uint16(pseudorandomness >> 96) % headCount ), eyes: uint16( uint16(pseudorandomness >> 128) % eyesCount ), nose: uint16( uint16(pseudorandomness >> 160) % nosesCount ), mouth: uint16( uint16(pseudorandomness >> 192) % mouthsCount ), shinyAccessory: isShiny ? uint16(1) : uint16(0) }); } /** * @notice Generate a pseudo-random Shiny seed using the previous blockhash and Shiny ID. */ // prettier-ignore function generateSeedWithValues(Seed memory newSeed, IShinyDescriptor descriptor, bool _isShiny) external view returns (Seed memory) { // Check that seedString values are valid require(newSeed.background <= descriptor.backgroundCount()); require(newSeed.body <= descriptor.bodyCount()); require(newSeed.accessory <= descriptor.accessoryCount()); require(newSeed.head <= descriptor.headCount()); require(newSeed.eyes <= descriptor.eyesCount()); require(newSeed.nose <= descriptor.nosesCount()); require(newSeed.mouth <= descriptor.mouthsCount()); require(newSeed.shinyAccessory <= descriptor.shinyAccessoriesCount()); // If not shiny, don't allow setting shinyAccessory if (!_isShiny) { require(newSeed.shinyAccessory == 0, 'Non-shiny is not allowed to change shinyAccessory'); } return Seed({ background: newSeed.background, body: newSeed.body, accessory: newSeed.accessory, head: newSeed.head, eyes: newSeed.eyes, nose: newSeed.nose, mouth: newSeed.mouth, shinyAccessory: newSeed.shinyAccessory }); } }
// SPDX-License-Identifier: GPL-3.0 /// @title Interface for ShinySeeder /********************************* * ・゚・゚✧.・・゚shiny.club・✫・゜・゚✧ * *********************************/ pragma solidity ^0.8.9; import { IShinyDescriptor } from './IShinyDescriptor.sol'; interface IShinySeeder { struct Seed { uint16 background; uint16 body; uint16 accessory; uint16 head; uint16 eyes; uint16 nose; uint16 mouth; uint16 shinyAccessory; } function generateSeedForMint(uint256 tokenId, IShinyDescriptor descriptor, bool isShiny) external view returns (Seed memory); function generateSeedWithValues(Seed memory newSeed, IShinyDescriptor descriptor, bool isShiny) external view returns (Seed memory); }
// SPDX-License-Identifier: GPL-3.0 /// @title Interface for ShinyDescriptor /********************************* * ・゚・゚✧.・・゚shiny.club・✫・゜・゚✧ * *********************************/ pragma solidity ^0.8.9; import { IShinySeeder } from './IShinySeeder.sol'; interface IShinyDescriptor { event PartsLocked(); function arePartsLocked() external returns (bool); function palettes(uint8 paletteIndex, uint256 colorIndex) external view returns (string memory); function backgrounds(uint256 index) external view returns (string memory); function bodies(uint256 index) external view returns (bytes memory); function accessories(uint256 index) external view returns (bytes memory); function heads(uint256 index) external view returns (bytes memory); function eyes(uint256 index) external view returns (bytes memory); function noses(uint256 index) external view returns (bytes memory); function mouths(uint256 index) external view returns (bytes memory); function shinyAccessories(uint256 index) external view returns (bytes memory); function backgroundCount() external view returns (uint256); function bodyCount() external view returns (uint256); function accessoryCount() external view returns (uint256); function headCount() external view returns (uint256); function eyesCount() external view returns (uint256); function nosesCount() external view returns (uint256); function mouthsCount() external view returns (uint256); function shinyAccessoriesCount() external view returns (uint256); function addManyColorsToPalette(uint8 paletteIndex, string[] calldata newColors) external; function addManyBackgrounds(string[] calldata backgrounds) external; function addManyBodies(bytes[] calldata bodies) external; function addManyAccessories(bytes[] calldata accessories) external; function addManyHeads(bytes[] calldata heads) external; function addManyEyes(bytes[] calldata eyes) external; function addManyNoses(bytes[] calldata noses) external; function addManyMouths(bytes[] calldata mouths) external; function addManyShinyAccessories(bytes[] calldata shinyAccessories) external; function addColorToPalette(uint8 paletteIndex, string calldata color) external; function addBackground(string calldata background) external; function addBody(bytes calldata body) external; function addAccessory(bytes calldata accessory) external; function addHead(bytes calldata head) external; function addEyes(bytes calldata eyes) external; function addNoses(bytes calldata noses) external; function addMouths(bytes calldata mouths) external; function lockParts() external; function tokenURI(uint256 tokenId, IShinySeeder.Seed memory seed, bool isShiny) external view returns (string memory); function dataURI(uint256 tokenId, IShinySeeder.Seed memory seed, bool isShiny) external view returns (string memory); function genericDataURI( string calldata name, string calldata description, IShinySeeder.Seed memory seed, bool isShiny ) external view returns (string memory); function generateSVGImage(IShinySeeder.Seed memory seed) external view returns (string memory); }
{ "optimizer": { "enabled": true, "runs": 10000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"shinyId","type":"uint256"},{"internalType":"contract IShinyDescriptor","name":"descriptor","type":"address"},{"internalType":"bool","name":"isShiny","type":"bool"}],"name":"generateSeedForMint","outputs":[{"components":[{"internalType":"uint16","name":"background","type":"uint16"},{"internalType":"uint16","name":"body","type":"uint16"},{"internalType":"uint16","name":"accessory","type":"uint16"},{"internalType":"uint16","name":"head","type":"uint16"},{"internalType":"uint16","name":"eyes","type":"uint16"},{"internalType":"uint16","name":"nose","type":"uint16"},{"internalType":"uint16","name":"mouth","type":"uint16"},{"internalType":"uint16","name":"shinyAccessory","type":"uint16"}],"internalType":"struct IShinySeeder.Seed","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint16","name":"background","type":"uint16"},{"internalType":"uint16","name":"body","type":"uint16"},{"internalType":"uint16","name":"accessory","type":"uint16"},{"internalType":"uint16","name":"head","type":"uint16"},{"internalType":"uint16","name":"eyes","type":"uint16"},{"internalType":"uint16","name":"nose","type":"uint16"},{"internalType":"uint16","name":"mouth","type":"uint16"},{"internalType":"uint16","name":"shinyAccessory","type":"uint16"}],"internalType":"struct IShinySeeder.Seed","name":"newSeed","type":"tuple"},{"internalType":"contract IShinyDescriptor","name":"descriptor","type":"address"},{"internalType":"bool","name":"_isShiny","type":"bool"}],"name":"generateSeedWithValues","outputs":[{"components":[{"internalType":"uint16","name":"background","type":"uint16"},{"internalType":"uint16","name":"body","type":"uint16"},{"internalType":"uint16","name":"accessory","type":"uint16"},{"internalType":"uint16","name":"head","type":"uint16"},{"internalType":"uint16","name":"eyes","type":"uint16"},{"internalType":"uint16","name":"nose","type":"uint16"},{"internalType":"uint16","name":"mouth","type":"uint16"},{"internalType":"uint16","name":"shinyAccessory","type":"uint16"}],"internalType":"struct IShinySeeder.Seed","name":"","type":"tuple"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610e4d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633dfbf8871461003b578063801328cc14610064575b600080fd5b61004e610049366004610bb2565b610077565b60405161005b9190610cd1565b60405180910390f35b61004e610072366004610d52565b610667565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091528273ffffffffffffffffffffffffffffffffffffffff16634531c0a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156100fe57600080fd5b505afa158015610112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101369190610d85565b845161ffff16111561014757600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663eba818066040518163ffffffff1660e01b815260040160206040518083038186803b15801561018d57600080fd5b505afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d85565b846020015161ffff1611156101d957600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16634daebac26040518163ffffffff1660e01b815260040160206040518083038186803b15801561021f57600080fd5b505afa158015610233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102579190610d85565b846040015161ffff16111561026b57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663cc2aa0916040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b157600080fd5b505afa1580156102c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e99190610d85565b846060015161ffff1611156102fd57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16638104468c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561034357600080fd5b505afa158015610357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037b9190610d85565b846080015161ffff16111561038f57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166367a14fb66040518163ffffffff1660e01b815260040160206040518083038186803b1580156103d557600080fd5b505afa1580156103e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040d9190610d85565b8460a0015161ffff16111561042157600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16630de518666040518163ffffffff1660e01b815260040160206040518083038186803b15801561046757600080fd5b505afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190610d85565b8460c0015161ffff1611156104b357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a5ba4aa26040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f957600080fd5b505afa15801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190610d85565b8460e0015161ffff16111561054557600080fd5b816105e45760e084015161ffff16156105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4e6f6e2d7368696e79206973206e6f7420616c6c6f77656420746f206368616e60448201527f6765207368696e794163636573736f7279000000000000000000000000000000606482015260840160405180910390fd5b604051806101000160405280856000015161ffff168152602001856020015161ffff168152602001856040015161ffff168152602001856060015161ffff168152602001856080015161ffff1681526020018560a0015161ffff1681526020018560c0015161ffff1681526020018560e0015161ffff1681525090509392505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906106b3600143610d9e565b604080519140602083015281018690526060016040516020818303038152906040528051906020012060001c905060008473ffffffffffffffffffffffffffffffffffffffff16634531c0a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561072957600080fd5b505afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107619190610d85565b905060008573ffffffffffffffffffffffffffffffffffffffff1663eba818066040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190610d85565b905060008673ffffffffffffffffffffffffffffffffffffffff16634daebac26040518163ffffffff1660e01b815260040160206040518083038186803b15801561082d57600080fd5b505afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190610d85565b905060008773ffffffffffffffffffffffffffffffffffffffff1663cc2aa0916040518163ffffffff1660e01b815260040160206040518083038186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190610d85565b905060008873ffffffffffffffffffffffffffffffffffffffff16638104468c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561093157600080fd5b505afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190610d85565b905060008973ffffffffffffffffffffffffffffffffffffffff166367a14fb66040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b357600080fd5b505afa1580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109eb9190610d85565b905060008a73ffffffffffffffffffffffffffffffffffffffff16630de518666040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190610d85565b9050604051806101000160405280888a61ffff16610a8b9190610ddc565b61ffff1681526020018760208b901c61ffff16610aa89190610ddc565b61ffff1681526020018660408b901c61ffff16610ac59190610ddc565b61ffff1681526020018560608b901c61ffff16610ae29190610ddc565b61ffff1681526020018460808b901c61ffff16610aff9190610ddc565b61ffff1681526020018360a08b901c61ffff16610b1c9190610ddc565b61ffff1681526020018260c08b901c61ffff16610b399190610ddc565b61ffff1681526020018b610b4e576000610b51565b60015b61ffff1690529c9b505050505050505050505050565b803561ffff81168114610b7957600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b7957600080fd5b80358015158114610b7957600080fd5b6000806000838503610140811215610bc957600080fd5b61010080821215610bd957600080fd5b604051915080820182811067ffffffffffffffff82111715610c24577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052610c3086610b67565b8252610c3e60208701610b67565b6020830152610c4f60408701610b67565b6040830152610c6060608701610b67565b6060830152610c7160808701610b67565b6080830152610c8260a08701610b67565b60a0830152610c9360c08701610b67565b60c0830152610ca460e08701610b67565b60e0830152819450610cb7818701610b7e565b93505050610cc86101208501610ba2565b90509250925092565b60006101008201905061ffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525060c0830151610d3560c084018261ffff169052565b5060e0830151610d4b60e084018261ffff169052565b5092915050565b600080600060608486031215610d6757600080fd5b83359250610d7760208501610b7e565b9150610cc860408501610ba2565b600060208284031215610d9757600080fd5b5051919050565b600082821015610dd7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b600082610e12577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50069056fea264697066735822122091de2f6a152a273547096d35a5cc63412980d580dc59bf569aaa495addc5fe1264736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c80633dfbf8871461003b578063801328cc14610064575b600080fd5b61004e610049366004610bb2565b610077565b60405161005b9190610cd1565b60405180910390f35b61004e610072366004610d52565b610667565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091528273ffffffffffffffffffffffffffffffffffffffff16634531c0a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156100fe57600080fd5b505afa158015610112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101369190610d85565b845161ffff16111561014757600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663eba818066040518163ffffffff1660e01b815260040160206040518083038186803b15801561018d57600080fd5b505afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d85565b846020015161ffff1611156101d957600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16634daebac26040518163ffffffff1660e01b815260040160206040518083038186803b15801561021f57600080fd5b505afa158015610233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102579190610d85565b846040015161ffff16111561026b57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663cc2aa0916040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b157600080fd5b505afa1580156102c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e99190610d85565b846060015161ffff1611156102fd57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16638104468c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561034357600080fd5b505afa158015610357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037b9190610d85565b846080015161ffff16111561038f57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166367a14fb66040518163ffffffff1660e01b815260040160206040518083038186803b1580156103d557600080fd5b505afa1580156103e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040d9190610d85565b8460a0015161ffff16111561042157600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16630de518666040518163ffffffff1660e01b815260040160206040518083038186803b15801561046757600080fd5b505afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190610d85565b8460c0015161ffff1611156104b357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a5ba4aa26040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f957600080fd5b505afa15801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190610d85565b8460e0015161ffff16111561054557600080fd5b816105e45760e084015161ffff16156105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4e6f6e2d7368696e79206973206e6f7420616c6c6f77656420746f206368616e60448201527f6765207368696e794163636573736f7279000000000000000000000000000000606482015260840160405180910390fd5b604051806101000160405280856000015161ffff168152602001856020015161ffff168152602001856040015161ffff168152602001856060015161ffff168152602001856080015161ffff1681526020018560a0015161ffff1681526020018560c0015161ffff1681526020018560e0015161ffff1681525090509392505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906106b3600143610d9e565b604080519140602083015281018690526060016040516020818303038152906040528051906020012060001c905060008473ffffffffffffffffffffffffffffffffffffffff16634531c0a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561072957600080fd5b505afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107619190610d85565b905060008573ffffffffffffffffffffffffffffffffffffffff1663eba818066040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190610d85565b905060008673ffffffffffffffffffffffffffffffffffffffff16634daebac26040518163ffffffff1660e01b815260040160206040518083038186803b15801561082d57600080fd5b505afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190610d85565b905060008773ffffffffffffffffffffffffffffffffffffffff1663cc2aa0916040518163ffffffff1660e01b815260040160206040518083038186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190610d85565b905060008873ffffffffffffffffffffffffffffffffffffffff16638104468c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561093157600080fd5b505afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190610d85565b905060008973ffffffffffffffffffffffffffffffffffffffff166367a14fb66040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b357600080fd5b505afa1580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109eb9190610d85565b905060008a73ffffffffffffffffffffffffffffffffffffffff16630de518666040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190610d85565b9050604051806101000160405280888a61ffff16610a8b9190610ddc565b61ffff1681526020018760208b901c61ffff16610aa89190610ddc565b61ffff1681526020018660408b901c61ffff16610ac59190610ddc565b61ffff1681526020018560608b901c61ffff16610ae29190610ddc565b61ffff1681526020018460808b901c61ffff16610aff9190610ddc565b61ffff1681526020018360a08b901c61ffff16610b1c9190610ddc565b61ffff1681526020018260c08b901c61ffff16610b399190610ddc565b61ffff1681526020018b610b4e576000610b51565b60015b61ffff1690529c9b505050505050505050505050565b803561ffff81168114610b7957600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b7957600080fd5b80358015158114610b7957600080fd5b6000806000838503610140811215610bc957600080fd5b61010080821215610bd957600080fd5b604051915080820182811067ffffffffffffffff82111715610c24577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052610c3086610b67565b8252610c3e60208701610b67565b6020830152610c4f60408701610b67565b6040830152610c6060608701610b67565b6060830152610c7160808701610b67565b6080830152610c8260a08701610b67565b60a0830152610c9360c08701610b67565b60c0830152610ca460e08701610b67565b60e0830152819450610cb7818701610b7e565b93505050610cc86101208501610ba2565b90509250925092565b60006101008201905061ffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525060c0830151610d3560c084018261ffff169052565b5060e0830151610d4b60e084018261ffff169052565b5092915050565b600080600060608486031215610d6757600080fd5b83359250610d7760208501610b7e565b9150610cc860408501610ba2565b600060208284031215610d9757600080fd5b5051919050565b600082821015610dd7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b600082610e12577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50069056fea264697066735822122091de2f6a152a273547096d35a5cc63412980d580dc59bf569aaa495addc5fe1264736f6c63430008090033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.