Gathering detailed insights and metrics for @cross-nft-marketplace/nft-editions
Gathering detailed insights and metrics for @cross-nft-marketplace/nft-editions
Gathering detailed insights and metrics for @cross-nft-marketplace/nft-editions
Gathering detailed insights and metrics for @cross-nft-marketplace/nft-editions
npm install @cross-nft-marketplace/nft-editions
Typescript
Module System
Node Version
NPM Version
TypeScript (74.64%)
Solidity (23.96%)
Dockerfile (0.8%)
JavaScript (0.6%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
292 Commits
2 Watchers
4 Branches
5 Contributors
Updated on Dec 29, 2021
Latest Version
1.1.0-alpha.0
Package Id
@cross-nft-marketplace/nft-editions@1.1.0-alpha.0
Unpacked Size
1.10 MB
Size
121.59 kB
File Count
314
NPM Version
7.24.2
Node Version
16.4.0
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
6
39
░█▄█░▄▀▄▒█▀▒▄▀▄░░░▒░░░░█▄░█▒█▀░▀█▀░░▒██▀░█▀▄░█░▀█▀░█░▄▀▄░█▄░█░▄▀▀ ▒█▒█░▀▄▀░█▀░█▀█▒░░▀▀▒░░█▒▀█░█▀░▒█▒▒░░█▄▄▒█▄▀░█░▒█▒░█░▀▄▀░█▒▀█▒▄██
Solidity smart contracts implementing ERC721 with multiple editions. We will call it Editionable Non Fungible Token or EdNFT
: one EdNFT
can produce (mint) a fixed set of NFTs (its editions).
Once minted, the editions behave very much like any other NFT implementing the ERC-721
specifications: they can be transferred, auctioned and burnt as their specific owner decide.
The EdNFTs comply with the following EIP standards:
Instances of this contract are what we call EdNFT
and. can be obtained by using the create
operation on the MintableEditionsFactory
contract, with a substantial saving in gas.
Each EdNFT
produced has the following characteristics:
name
(IMMUTABLE) can be considered the title for the editions produced, used by OpenSea as name of the collectionsymbol
(IMMUTABLE) is the symbol associated with the editionsdescription
(IMMUTABLE) can be used to describe the editions to the public, can contain markdowncontentUrl
is used to associate some off-chain content (the EdNFT owner can update, direct references to IPFS content are possible)thumbnailUrl
(OPTIONAL) is used to associate a static off-chain content when the main content is an animation (the EdNFT owner can update, direct references to IPFS content are possible)contentHash
(IMMUTABLE) sha256 of the associated off-chain content, ensures content uniqueness within the chainsize
(IMMUTABLE) determines how many editions of this EdNFT can be minted: if set to 0 then uint64.max()
editions can be minted (about 18.5 quintillions)price
determines how much has to be transferred to the contract in order to purchase an edition: if set to 0 then editions cannot be purchasedroyalties
(IMMUTABLE) perpetual royalties to be paid to the EdNFT owner upon any reselling, in basis-points format (eq. 250
corresponding to 2.5%)shares
(IMMUTABLE) pairs of (shareholder, percentage) describing how the value collected by the sales of this contract will be splitted between the shareholders and the owner (percentages expressed in basis-points)allowances
pairs of (address, amount) describing who is entitle to mint and for how many editions: giving a non-zero allowance to the ZeroAddress permits to anyone minting as many editions as availableAlmost all the properties are immutable, with the exclusion of the contentUrl
, thumbnailUrl
(allowing the EdNFT owner to move the off-chain content, if necessary), price
(enbling or disabling sales) and allowances
(providing others other than the artist to mint editions).
The EdNFT guarantees minting is automatically disabled when the last available edition is produced: an EdNFT can never generate more NFTs than size
, or 18,446,744,073,709,551,614
if the MNFT was created as unbound (size = 0
).
The following are the roles available on the contract:
owner
, also referenced as the artist, is the creator of the EdNFT, unless ownership is transferrredminters
are those allowed for minting, in case the zero-address is added among the allowed minters anyone can be considered a minterbuyer
is anyone who mints a token through the purchase()
operationshareholders
are those receving shares of the contract balance upon withdrawal and it always include the owner
/artist
At any time, any shareholder can request to withdraw()
its part of the shares: the action can be repeated for partial payouts. At any time anyone can shake()
EdNFT, releasing its balance toward the shareholders.
The contract is quite flexible and allows the editions owner to:
1
up to 65,535
NFTs) to a list of third parties, allowing for rewarding (owner pays gas for permission granting, third party pays minting gas)Contract addresses on each network, referenced by chainId
, are published in (this repository)[https://raw.githubusercontent.com/agileware-org/nft-editions/main/addresses.json].
Gas required: 652323
A static image EdNFT (stored on IPFS) able to produce 100 editions, each one with 2.5% perpetual royalties on secondary sales.
Of any revenues this contract might collect, 15% of it will be given to the curator address, the remainder 85% will go to the EdNFT owner.
field | value |
---|---|
name | Roberto Lo Giacco |
symbol | RLG |
description | **Me**, _myself_ and I. A gentle reminder to take care of our inner child, avoiding to take ourselves too seriously, no matter the circumstances: we are just _'a blade of grass'_. See [my website](http://www.agileware.org) |
contentUrl | ipfs://QmYMj2yraaBch5AoBTEjvLFdoT3ULKs4i4Ev7vte72627d |
contentHash | 0x94DB57416B770A06B3B2123531E68D67E9D96872F453FA77BC413E9E53FC1BFC |
thumbnailUrl | empty |
size | 100 |
price | 0 |
royalties | 250 |
shares | [["0x8c4e43e88ba5cb9a15a9F7F74a4d58aD51024389",1500]] |
allowances | [["0x8c4e43e88ba5cb9a15a9F7F74a4d58aD51024389",15]] |
["Roberto Lo Giacco","RLG","**Me**, _myself_ and I. A gentle reminder to take care of our inner child, avoiding to take ourselves too seriously, no matter the circumstances: we are just _'a blade of grass'_. See [my website](http://www.agileware.org)","ipfs://QmYMj2yraaBch5AoBTEjvLFdoT3ULKs4i4Ev7vte72627d","0x94DB57416B770A06B3B2123531E68D67E9D96872F453FA77BC413E9E53FC1BFC"],"100","0","250",[["0x8c4e43e88ba5cb9a15a9F7F74a4d58aD51024389",1500]],[["0x8c4e43e88ba5cb9a15a9F7F74a4d58aD51024389",15]]
Rinkeby: 0x3b09e54450C7dA5B7f0553d47a2Ec3Ec56Aa1056
OpenSea collection
npm run deploy -- --network rinkeby --export networks/rinkeby.json
npm run verify -- --network rinkeby
or
npx hardhat deploy --network rinkeby --export networks/rinkeby.json
npx hardhat run scripts/verify.ts --network rinkeby
No vulnerabilities found.
No security vulnerabilities found.