More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
RedlionStudiosMinter
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.0; import "./IRedlionStudios.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/utils/structs/BitMaps.sol"; import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; interface ERC1155 { function burn(address _owner, uint256 _id, uint256 _value) external; function balanceOf(address _owner, uint256 _id) external view returns (uint256); } contract RedlionStudiosMinter is Ownable { using BitMaps for BitMaps.BitMap; struct Sale { uint128 onSale; uint128 price; bytes32 merkleRoot; } IRedlionStudios public studios; uint public limitPerBuy = 5; mapping (uint => Sale) public sales; // publication => sale mapping mapping (address => BitMaps.BitMap) private _claimedAirdrop; constructor(address _studios) { studios = IRedlionStudios(_studios); } function withdraw(address recipient) onlyOwner public { uint amount = address(this).balance; payable(recipient).transfer(amount); } function setOnSale(uint256 publication, uint128 onSale) onlyOwner public { sales[publication].onSale = onSale; } function setMintingPrice(uint256 publication, uint128 price) onlyOwner public { sales[publication].price = price; } function setMerkleAirdrop(uint256 publication, bytes32 root) onlyOwner public { sales[publication].merkleRoot = root; } function createNewSale(uint256 publication, uint128 onSale, uint128 price, bytes32 root) onlyOwner public { sales[publication] = Sale(onSale, price, root); } function setLimitPerBuy(uint limit) onlyOwner public { limitPerBuy = limit; } function claim(uint256 publication, bytes32[] calldata proof, uint256 amount) public { require(!_claimedAirdrop[msg.sender].get(publication), "ALREADY CLAIMED FOR PUBLICATION"); _claimedAirdrop[msg.sender].set(publication); require(MerkleProof.verify(proof, sales[publication].merkleRoot, keccak256(abi.encodePacked(msg.sender, amount))), "INVALID PROOF"); studios.mint(publication, uint128(amount), msg.sender); } function purchase(uint publication, uint128 amount) public payable { require(msg.value == sales[publication].price * amount, "INCORRECT MSG.VALUE"); require(amount <= limitPerBuy, "OVER LIMIT"); sales[publication].onSale -= amount; studios.mint(publication, amount, msg.sender); } function mintGenesis() public { ERC1155 rewards = ERC1155(0x0Aa3850C4e084402D68F47b0209f222041093915); uint256 balance0 = rewards.balanceOf(msg.sender, 10003); uint256 balance1 = rewards.balanceOf(msg.sender, 10002); require(balance0 > 0 || balance1 > 0, "Nothing to burn"); //burn token in user's stead if (balance0 > 0) rewards.burn(msg.sender, 10003, balance0); if (balance1 > 0) rewards.burn(msg.sender, 10002, balance1); studios.mint(0, uint128(balance0+balance1), msg.sender); } function isAirdropClaimed(address user, uint publication) public view returns (bool) { return _claimedAirdrop[user].get(publication); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev These functions deal with verification of Merkle Trees proofs. * * The proofs can be generated using the JavaScript library * https://github.com/miguelmota/merkletreejs[merkletreejs]. * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. * * See `test/utils/cryptography/MerkleProof.test.js` for some examples. */ library MerkleProof { /** * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree * defined by `root`. For this, a `proof` must be provided, containing * sibling hashes on the branch from the leaf to the root of the tree. Each * pair of leaves and each pair of pre-images are assumed to be sorted. */ function verify( bytes32[] memory proof, bytes32 root, bytes32 leaf ) internal pure returns (bool) { bytes32 computedHash = leaf; for (uint256 i = 0; i < proof.length; i++) { bytes32 proofElement = proof[i]; if (computedHash <= proofElement) { // Hash(current computed hash + current element of the proof) computedHash = keccak256(abi.encodePacked(computedHash, proofElement)); } else { // Hash(current element of the proof + current computed hash) computedHash = keccak256(abi.encodePacked(proofElement, computedHash)); } } // Check if the computed hash (root) is equal to the provided root return computedHash == root; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Library for managing uint256 to bool mapping in a compact and efficient way, providing the keys are sequential. * Largelly inspired by Uniswap's https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol[merkle-distributor]. */ library BitMaps { struct BitMap { mapping(uint256 => uint256) _data; } /** * @dev Returns whether the bit at `index` is set. */ function get(BitMap storage bitmap, uint256 index) internal view returns (bool) { uint256 bucket = index >> 8; uint256 mask = 1 << (index & 0xff); return bitmap._data[bucket] & mask != 0; } /** * @dev Sets the bit at `index` to the boolean `value`. */ function setTo( BitMap storage bitmap, uint256 index, bool value ) internal { if (value) { set(bitmap, index); } else { unset(bitmap, index); } } /** * @dev Sets the bit at `index`. */ function set(BitMap storage bitmap, uint256 index) internal { uint256 bucket = index >> 8; uint256 mask = 1 << (index & 0xff); bitmap._data[bucket] |= mask; } /** * @dev Unsets the bit at `index`. */ function unset(BitMap storage bitmap, uint256 index) internal { uint256 bucket = index >> 8; uint256 mask = 1 << (index & 0xff); bitmap._data[bucket] &= ~mask; } }
// SPDX-License-Identifier: MIT 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() { _setOwner(_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 { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
pragma solidity ^0.8.0; interface IRedlionStudios { function mint(uint publication, uint128 amount, address to) external; }
// SPDX-License-Identifier: MIT 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; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_studios","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":[{"internalType":"uint256","name":"publication","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"publication","type":"uint256"},{"internalType":"uint128","name":"onSale","type":"uint128"},{"internalType":"uint128","name":"price","type":"uint128"},{"internalType":"bytes32","name":"root","type":"bytes32"}],"name":"createNewSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"publication","type":"uint256"}],"name":"isAirdropClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitPerBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"publication","type":"uint256"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"purchase","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sales","outputs":[{"internalType":"uint128","name":"onSale","type":"uint128"},{"internalType":"uint128","name":"price","type":"uint128"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"setLimitPerBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"publication","type":"uint256"},{"internalType":"bytes32","name":"root","type":"bytes32"}],"name":"setMerkleAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"publication","type":"uint256"},{"internalType":"uint128","name":"price","type":"uint128"}],"name":"setMintingPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"publication","type":"uint256"},{"internalType":"uint128","name":"onSale","type":"uint128"}],"name":"setOnSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"studios","outputs":[{"internalType":"contract IRedlionStudios","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260056002553480156200001657600080fd5b50604051620021ef380380620021ef83398181016040528101906200003c919062000187565b6200005c62000050620000a460201b60201c565b620000ac60201b60201c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000201565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000815190506200018181620001e7565b92915050565b6000602082840312156200019a57600080fd5b6000620001aa8482850162000170565b91505092915050565b6000620001c082620001c7565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620001f281620001b3565b8114620001fe57600080fd5b50565b611fde80620002116000396000f3fe6080604052600436106100f35760003560e01c806378c3a6921161008a578063f004685a11610059578063f004685a146102e3578063f2fde38b1461030c578063f339f52614610335578063f3748cd71461035e576100f3565b806378c3a692146102465780638da5cb5b1461025d578063b5f522f714610288578063c2badb01146102c7576100f3565b80634f9f136b116100c65780634f9f136b146101b457806351cff8d9146101dd5780635420a7b814610206578063715018a61461022f576100f3565b806301109e33146100f857806306a55a021461012357806330c7566e146101605780633aec84cc14610189575b600080fd5b34801561010457600080fd5b5061010d610387565b60405161011a9190611c90565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611552565b61038d565b6040516101579190611b0c565b60405180910390f35b34801561016c57600080fd5b5061018760048036038101906101829190611688565b6103e8565b005b34801561019557600080fd5b5061019e6104b5565b6040516101ab9190611b27565b60405180910390f35b3480156101c057600080fd5b506101db60048036038101906101d691906116c4565b6104db565b005b3480156101e957600080fd5b5061020460048036038101906101ff9190611529565b61063a565b005b34801561021257600080fd5b5061022d60048036038101906102289190611688565b610706565b005b34801561023b57600080fd5b506102446107d3565b005b34801561025257600080fd5b5061025b61085b565b005b34801561026957600080fd5b50610272610b7a565b60405161027f9190611a31565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa919061158e565b610ba3565b6040516102be93929190611c59565b60405180910390f35b6102e160048036038101906102dc9190611688565b610c05565b005b3480156102ef57600080fd5b5061030a6004803603810190610305919061158e565b610df9565b005b34801561031857600080fd5b50610333600480360381019061032e9190611529565b610e7f565b005b34801561034157600080fd5b5061035c600480360381019061035791906115e0565b610f77565b005b34801561036a57600080fd5b506103856004803603810190610380919061164c565b6111b9565b005b60025481565b60006103e082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061125490919063ffffffff16565b905092915050565b6103f0611290565b73ffffffffffffffffffffffffffffffffffffffff1661040e610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90611bd9565b60405180910390fd5b806003600084815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104e3611290565b73ffffffffffffffffffffffffffffffffffffffff16610501610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054e90611bd9565b60405180910390fd5b6040518060600160405280846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828152506003600086815260200190815260200160002060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506040820151816001015590505050505050565b610642611290565b73ffffffffffffffffffffffffffffffffffffffff16610660610b7a565b73ffffffffffffffffffffffffffffffffffffffff16146106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90611bd9565b60405180910390fd5b60004790508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610701573d6000803e3d6000fd5b505050565b61070e611290565b73ffffffffffffffffffffffffffffffffffffffff1661072c610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990611bd9565b60405180910390fd5b806003600084815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050565b6107db611290565b73ffffffffffffffffffffffffffffffffffffffff166107f9610b7a565b73ffffffffffffffffffffffffffffffffffffffff161461084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690611bd9565b60405180910390fd5b6108596000611298565b565b6000730aa3850c4e084402d68f47b0209f222041093915905060008173ffffffffffffffffffffffffffffffffffffffff1662fdd58e336127136040518363ffffffff1660e01b81526004016108b2929190611aac565b60206040518083038186803b1580156108ca57600080fd5b505afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090291906115b7565b905060008273ffffffffffffffffffffffffffffffffffffffff1662fdd58e336127126040518363ffffffff1660e01b8152600401610942929190611a4c565b60206040518083038186803b15801561095a57600080fd5b505afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099291906115b7565b905060008211806109a35750600081115b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990611b99565b60405180910390fd5b6000821115610a5d578273ffffffffffffffffffffffffffffffffffffffff1663f5298aca33612713856040518463ffffffff1660e01b8152600401610a2a93929190611ad5565b600060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050505b6000811115610ad8578273ffffffffffffffffffffffffffffffffffffffff1663f5298aca33612712846040518463ffffffff1660e01b8152600401610aa593929190611a75565b600060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd571ac560008385610b249190611cf3565b336040518463ffffffff1660e01b8152600401610b4393929190611b42565b600060405180830381600087803b158015610b5d57600080fd5b505af1158015610b71573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16908060010154905083565b806003600084815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff16610c439190611d49565b6fffffffffffffffffffffffffffffffff163414610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d90611c39565b60405180910390fd5b600254816fffffffffffffffffffffffffffffffff161115610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611bb9565b60405180910390fd5b806003600084815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff16610d2e9190611d93565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd571ac58383336040518463ffffffff1660e01b8152600401610dc393929190611cab565b600060405180830381600087803b158015610ddd57600080fd5b505af1158015610df1573d6000803e3d6000fd5b505050505050565b610e01611290565b73ffffffffffffffffffffffffffffffffffffffff16610e1f610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610e75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6c90611bd9565b60405180910390fd5b8060028190555050565b610e87611290565b73ffffffffffffffffffffffffffffffffffffffff16610ea5610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610efb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef290611bd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290611b79565b60405180910390fd5b610f7481611298565b50565b610fc884600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061125490919063ffffffff16565b15611008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fff90611c19565b60405180910390fd5b61105984600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061135c90919063ffffffff16565b6110e3838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600360008781526020019081526020016000206001015433846040516020016110c89291906119d9565b6040516020818303038152906040528051906020012061139a565b611122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111990611bf9565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd571ac58583336040518463ffffffff1660e01b815260040161118193929190611cab565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b5050505050505050565b6111c1611290565b73ffffffffffffffffffffffffffffffffffffffff166111df610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c90611bd9565b60405180910390fd5b8060036000848152602001908152602001600020600101819055505050565b600080600883901c9050600060ff84166001901b9050600081866000016000858152602001908152602001600020541614159250505092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600882901c9050600060ff83166001901b9050808460000160008481526020019081526020016000206000828254179250508190555050505050565b60008082905060005b85518110156114685760008682815181106113e7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905080831161142857828160405160200161140b929190611a05565b604051602081830303815290604052805190602001209250611454565b808360405160200161143b929190611a05565b6040516020818303038152906040528051906020012092505b50808061146090611e8f565b9150506113a3565b508381149150509392505050565b60008135905061148581611f4c565b92915050565b60008083601f84011261149d57600080fd5b8235905067ffffffffffffffff8111156114b657600080fd5b6020830191508360208202830111156114ce57600080fd5b9250929050565b6000813590506114e481611f63565b92915050565b6000813590506114f981611f7a565b92915050565b60008135905061150e81611f91565b92915050565b60008151905061152381611f91565b92915050565b60006020828403121561153b57600080fd5b600061154984828501611476565b91505092915050565b6000806040838503121561156557600080fd5b600061157385828601611476565b9250506020611584858286016114ff565b9150509250929050565b6000602082840312156115a057600080fd5b60006115ae848285016114ff565b91505092915050565b6000602082840312156115c957600080fd5b60006115d784828501611514565b91505092915050565b600080600080606085870312156115f657600080fd5b6000611604878288016114ff565b945050602085013567ffffffffffffffff81111561162157600080fd5b61162d8782880161148b565b93509350506040611640878288016114ff565b91505092959194509250565b6000806040838503121561165f57600080fd5b600061166d858286016114ff565b925050602061167e858286016114d5565b9150509250929050565b6000806040838503121561169b57600080fd5b60006116a9858286016114ff565b92505060206116ba858286016114ea565b9150509250929050565b600080600080608085870312156116da57600080fd5b60006116e8878288016114ff565b94505060206116f9878288016114ea565b935050604061170a878288016114ea565b925050606061171b878288016114d5565b91505092959194509250565b61173081611dc7565b82525050565b61174761174282611dc7565b611ed8565b82525050565b61175681611dd9565b82525050565b61176581611de5565b82525050565b61177c61177782611de5565b611eea565b82525050565b61178b81611e35565b82525050565b61179a81611e59565b82525050565b6117a981611e6b565b82525050565b6117b881611e7d565b82525050565b60006117cb602683611ce2565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611831600f83611ce2565b91507f4e6f7468696e6720746f206275726e00000000000000000000000000000000006000830152602082019050919050565b6000611871600a83611ce2565b91507f4f564552204c494d4954000000000000000000000000000000000000000000006000830152602082019050919050565b60006118b1602083611ce2565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006118f1600d83611ce2565b91507f494e56414c49442050524f4f46000000000000000000000000000000000000006000830152602082019050919050565b6000611931601f83611ce2565b91507f414c524541445920434c41494d454420464f52205055424c49434154494f4e006000830152602082019050919050565b6000611971601383611ce2565b91507f494e434f5252454354204d53472e56414c5545000000000000000000000000006000830152602082019050919050565b6119ad81611def565b82525050565b6119bc81611e2b565b82525050565b6119d36119ce82611e2b565b611f06565b82525050565b60006119e58285611736565b6014820191506119f582846119c2565b6020820191508190509392505050565b6000611a11828561176b565b602082019150611a21828461176b565b6020820191508190509392505050565b6000602082019050611a466000830184611727565b92915050565b6000604082019050611a616000830185611727565b611a6e60208301846117a0565b9392505050565b6000606082019050611a8a6000830186611727565b611a9760208301856117a0565b611aa460408301846119b3565b949350505050565b6000604082019050611ac16000830185611727565b611ace60208301846117af565b9392505050565b6000606082019050611aea6000830186611727565b611af760208301856117af565b611b0460408301846119b3565b949350505050565b6000602082019050611b21600083018461174d565b92915050565b6000602082019050611b3c6000830184611782565b92915050565b6000606082019050611b576000830186611791565b611b6460208301856119a4565b611b716040830184611727565b949350505050565b60006020820190508181036000830152611b92816117be565b9050919050565b60006020820190508181036000830152611bb281611824565b9050919050565b60006020820190508181036000830152611bd281611864565b9050919050565b60006020820190508181036000830152611bf2816118a4565b9050919050565b60006020820190508181036000830152611c12816118e4565b9050919050565b60006020820190508181036000830152611c3281611924565b9050919050565b60006020820190508181036000830152611c5281611964565b9050919050565b6000606082019050611c6e60008301866119a4565b611c7b60208301856119a4565b611c88604083018461175c565b949350505050565b6000602082019050611ca560008301846119b3565b92915050565b6000606082019050611cc060008301866119b3565b611ccd60208301856119a4565b611cda6040830184611727565b949350505050565b600082825260208201905092915050565b6000611cfe82611e2b565b9150611d0983611e2b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d3e57611d3d611f10565b5b828201905092915050565b6000611d5482611def565b9150611d5f83611def565b9250816fffffffffffffffffffffffffffffffff0483118215151615611d8857611d87611f10565b5b828202905092915050565b6000611d9e82611def565b9150611da983611def565b925082821015611dbc57611dbb611f10565b5b828203905092915050565b6000611dd282611e0b565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611e4082611e47565b9050919050565b6000611e5282611e0b565b9050919050565b6000611e6482611e2b565b9050919050565b6000611e7682611e2b565b9050919050565b6000611e8882611e2b565b9050919050565b6000611e9a82611e2b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611ecd57611ecc611f10565b5b600182019050919050565b6000611ee382611ef4565b9050919050565b6000819050919050565b6000611eff82611f3f565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160601b9050919050565b611f5581611dc7565b8114611f6057600080fd5b50565b611f6c81611de5565b8114611f7757600080fd5b50565b611f8381611def565b8114611f8e57600080fd5b50565b611f9a81611e2b565b8114611fa557600080fd5b5056fea264697066735822122037d451e197fcafed953a35d67a0ab98fda40d17ebd867fd72a57ec91a030cd4e64736f6c634300080000330000000000000000000000009fc76743227bab3cb93bc31eff3d9507a8c1eb84
Deployed Bytecode
0x6080604052600436106100f35760003560e01c806378c3a6921161008a578063f004685a11610059578063f004685a146102e3578063f2fde38b1461030c578063f339f52614610335578063f3748cd71461035e576100f3565b806378c3a692146102465780638da5cb5b1461025d578063b5f522f714610288578063c2badb01146102c7576100f3565b80634f9f136b116100c65780634f9f136b146101b457806351cff8d9146101dd5780635420a7b814610206578063715018a61461022f576100f3565b806301109e33146100f857806306a55a021461012357806330c7566e146101605780633aec84cc14610189575b600080fd5b34801561010457600080fd5b5061010d610387565b60405161011a9190611c90565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611552565b61038d565b6040516101579190611b0c565b60405180910390f35b34801561016c57600080fd5b5061018760048036038101906101829190611688565b6103e8565b005b34801561019557600080fd5b5061019e6104b5565b6040516101ab9190611b27565b60405180910390f35b3480156101c057600080fd5b506101db60048036038101906101d691906116c4565b6104db565b005b3480156101e957600080fd5b5061020460048036038101906101ff9190611529565b61063a565b005b34801561021257600080fd5b5061022d60048036038101906102289190611688565b610706565b005b34801561023b57600080fd5b506102446107d3565b005b34801561025257600080fd5b5061025b61085b565b005b34801561026957600080fd5b50610272610b7a565b60405161027f9190611a31565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa919061158e565b610ba3565b6040516102be93929190611c59565b60405180910390f35b6102e160048036038101906102dc9190611688565b610c05565b005b3480156102ef57600080fd5b5061030a6004803603810190610305919061158e565b610df9565b005b34801561031857600080fd5b50610333600480360381019061032e9190611529565b610e7f565b005b34801561034157600080fd5b5061035c600480360381019061035791906115e0565b610f77565b005b34801561036a57600080fd5b506103856004803603810190610380919061164c565b6111b9565b005b60025481565b60006103e082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061125490919063ffffffff16565b905092915050565b6103f0611290565b73ffffffffffffffffffffffffffffffffffffffff1661040e610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90611bd9565b60405180910390fd5b806003600084815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104e3611290565b73ffffffffffffffffffffffffffffffffffffffff16610501610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054e90611bd9565b60405180910390fd5b6040518060600160405280846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828152506003600086815260200190815260200160002060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506040820151816001015590505050505050565b610642611290565b73ffffffffffffffffffffffffffffffffffffffff16610660610b7a565b73ffffffffffffffffffffffffffffffffffffffff16146106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90611bd9565b60405180910390fd5b60004790508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610701573d6000803e3d6000fd5b505050565b61070e611290565b73ffffffffffffffffffffffffffffffffffffffff1661072c610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077990611bd9565b60405180910390fd5b806003600084815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050565b6107db611290565b73ffffffffffffffffffffffffffffffffffffffff166107f9610b7a565b73ffffffffffffffffffffffffffffffffffffffff161461084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690611bd9565b60405180910390fd5b6108596000611298565b565b6000730aa3850c4e084402d68f47b0209f222041093915905060008173ffffffffffffffffffffffffffffffffffffffff1662fdd58e336127136040518363ffffffff1660e01b81526004016108b2929190611aac565b60206040518083038186803b1580156108ca57600080fd5b505afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090291906115b7565b905060008273ffffffffffffffffffffffffffffffffffffffff1662fdd58e336127126040518363ffffffff1660e01b8152600401610942929190611a4c565b60206040518083038186803b15801561095a57600080fd5b505afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099291906115b7565b905060008211806109a35750600081115b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990611b99565b60405180910390fd5b6000821115610a5d578273ffffffffffffffffffffffffffffffffffffffff1663f5298aca33612713856040518463ffffffff1660e01b8152600401610a2a93929190611ad5565b600060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050505b6000811115610ad8578273ffffffffffffffffffffffffffffffffffffffff1663f5298aca33612712846040518463ffffffff1660e01b8152600401610aa593929190611a75565b600060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd571ac560008385610b249190611cf3565b336040518463ffffffff1660e01b8152600401610b4393929190611b42565b600060405180830381600087803b158015610b5d57600080fd5b505af1158015610b71573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16908060010154905083565b806003600084815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff16610c439190611d49565b6fffffffffffffffffffffffffffffffff163414610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d90611c39565b60405180910390fd5b600254816fffffffffffffffffffffffffffffffff161115610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611bb9565b60405180910390fd5b806003600084815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff16610d2e9190611d93565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd571ac58383336040518463ffffffff1660e01b8152600401610dc393929190611cab565b600060405180830381600087803b158015610ddd57600080fd5b505af1158015610df1573d6000803e3d6000fd5b505050505050565b610e01611290565b73ffffffffffffffffffffffffffffffffffffffff16610e1f610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610e75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6c90611bd9565b60405180910390fd5b8060028190555050565b610e87611290565b73ffffffffffffffffffffffffffffffffffffffff16610ea5610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614610efb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef290611bd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290611b79565b60405180910390fd5b610f7481611298565b50565b610fc884600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061125490919063ffffffff16565b15611008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fff90611c19565b60405180910390fd5b61105984600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061135c90919063ffffffff16565b6110e3838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600360008781526020019081526020016000206001015433846040516020016110c89291906119d9565b6040516020818303038152906040528051906020012061139a565b611122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111990611bf9565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd571ac58583336040518463ffffffff1660e01b815260040161118193929190611cab565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b5050505050505050565b6111c1611290565b73ffffffffffffffffffffffffffffffffffffffff166111df610b7a565b73ffffffffffffffffffffffffffffffffffffffff1614611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c90611bd9565b60405180910390fd5b8060036000848152602001908152602001600020600101819055505050565b600080600883901c9050600060ff84166001901b9050600081866000016000858152602001908152602001600020541614159250505092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600882901c9050600060ff83166001901b9050808460000160008481526020019081526020016000206000828254179250508190555050505050565b60008082905060005b85518110156114685760008682815181106113e7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905080831161142857828160405160200161140b929190611a05565b604051602081830303815290604052805190602001209250611454565b808360405160200161143b929190611a05565b6040516020818303038152906040528051906020012092505b50808061146090611e8f565b9150506113a3565b508381149150509392505050565b60008135905061148581611f4c565b92915050565b60008083601f84011261149d57600080fd5b8235905067ffffffffffffffff8111156114b657600080fd5b6020830191508360208202830111156114ce57600080fd5b9250929050565b6000813590506114e481611f63565b92915050565b6000813590506114f981611f7a565b92915050565b60008135905061150e81611f91565b92915050565b60008151905061152381611f91565b92915050565b60006020828403121561153b57600080fd5b600061154984828501611476565b91505092915050565b6000806040838503121561156557600080fd5b600061157385828601611476565b9250506020611584858286016114ff565b9150509250929050565b6000602082840312156115a057600080fd5b60006115ae848285016114ff565b91505092915050565b6000602082840312156115c957600080fd5b60006115d784828501611514565b91505092915050565b600080600080606085870312156115f657600080fd5b6000611604878288016114ff565b945050602085013567ffffffffffffffff81111561162157600080fd5b61162d8782880161148b565b93509350506040611640878288016114ff565b91505092959194509250565b6000806040838503121561165f57600080fd5b600061166d858286016114ff565b925050602061167e858286016114d5565b9150509250929050565b6000806040838503121561169b57600080fd5b60006116a9858286016114ff565b92505060206116ba858286016114ea565b9150509250929050565b600080600080608085870312156116da57600080fd5b60006116e8878288016114ff565b94505060206116f9878288016114ea565b935050604061170a878288016114ea565b925050606061171b878288016114d5565b91505092959194509250565b61173081611dc7565b82525050565b61174761174282611dc7565b611ed8565b82525050565b61175681611dd9565b82525050565b61176581611de5565b82525050565b61177c61177782611de5565b611eea565b82525050565b61178b81611e35565b82525050565b61179a81611e59565b82525050565b6117a981611e6b565b82525050565b6117b881611e7d565b82525050565b60006117cb602683611ce2565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611831600f83611ce2565b91507f4e6f7468696e6720746f206275726e00000000000000000000000000000000006000830152602082019050919050565b6000611871600a83611ce2565b91507f4f564552204c494d4954000000000000000000000000000000000000000000006000830152602082019050919050565b60006118b1602083611ce2565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006118f1600d83611ce2565b91507f494e56414c49442050524f4f46000000000000000000000000000000000000006000830152602082019050919050565b6000611931601f83611ce2565b91507f414c524541445920434c41494d454420464f52205055424c49434154494f4e006000830152602082019050919050565b6000611971601383611ce2565b91507f494e434f5252454354204d53472e56414c5545000000000000000000000000006000830152602082019050919050565b6119ad81611def565b82525050565b6119bc81611e2b565b82525050565b6119d36119ce82611e2b565b611f06565b82525050565b60006119e58285611736565b6014820191506119f582846119c2565b6020820191508190509392505050565b6000611a11828561176b565b602082019150611a21828461176b565b6020820191508190509392505050565b6000602082019050611a466000830184611727565b92915050565b6000604082019050611a616000830185611727565b611a6e60208301846117a0565b9392505050565b6000606082019050611a8a6000830186611727565b611a9760208301856117a0565b611aa460408301846119b3565b949350505050565b6000604082019050611ac16000830185611727565b611ace60208301846117af565b9392505050565b6000606082019050611aea6000830186611727565b611af760208301856117af565b611b0460408301846119b3565b949350505050565b6000602082019050611b21600083018461174d565b92915050565b6000602082019050611b3c6000830184611782565b92915050565b6000606082019050611b576000830186611791565b611b6460208301856119a4565b611b716040830184611727565b949350505050565b60006020820190508181036000830152611b92816117be565b9050919050565b60006020820190508181036000830152611bb281611824565b9050919050565b60006020820190508181036000830152611bd281611864565b9050919050565b60006020820190508181036000830152611bf2816118a4565b9050919050565b60006020820190508181036000830152611c12816118e4565b9050919050565b60006020820190508181036000830152611c3281611924565b9050919050565b60006020820190508181036000830152611c5281611964565b9050919050565b6000606082019050611c6e60008301866119a4565b611c7b60208301856119a4565b611c88604083018461175c565b949350505050565b6000602082019050611ca560008301846119b3565b92915050565b6000606082019050611cc060008301866119b3565b611ccd60208301856119a4565b611cda6040830184611727565b949350505050565b600082825260208201905092915050565b6000611cfe82611e2b565b9150611d0983611e2b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d3e57611d3d611f10565b5b828201905092915050565b6000611d5482611def565b9150611d5f83611def565b9250816fffffffffffffffffffffffffffffffff0483118215151615611d8857611d87611f10565b5b828202905092915050565b6000611d9e82611def565b9150611da983611def565b925082821015611dbc57611dbb611f10565b5b828203905092915050565b6000611dd282611e0b565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611e4082611e47565b9050919050565b6000611e5282611e0b565b9050919050565b6000611e6482611e2b565b9050919050565b6000611e7682611e2b565b9050919050565b6000611e8882611e2b565b9050919050565b6000611e9a82611e2b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611ecd57611ecc611f10565b5b600182019050919050565b6000611ee382611ef4565b9050919050565b6000819050919050565b6000611eff82611f3f565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160601b9050919050565b611f5581611dc7565b8114611f6057600080fd5b50565b611f6c81611de5565b8114611f7757600080fd5b50565b611f8381611def565b8114611f8e57600080fd5b50565b611f9a81611e2b565b8114611fa557600080fd5b5056fea264697066735822122037d451e197fcafed953a35d67a0ab98fda40d17ebd867fd72a57ec91a030cd4e64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009fc76743227bab3cb93bc31eff3d9507a8c1eb84
-----Decoded View---------------
Arg [0] : _studios (address): 0x9fc76743227bab3cB93bc31EfF3D9507a8C1eB84
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009fc76743227bab3cb93bc31eff3d9507a8c1eb84
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,919.1 | 0.9 | $3,527.19 |
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.