eb0c28e980
* Update README.md - add description --------- Co-authored-by: r4bbit <445106+0x-r4bbit@users.noreply.github.com> |
||
---|---|---|
analyzers | ||
app | ||
config | ||
contracts | ||
crytic-export | ||
docs | ||
test | ||
utils | ||
.babelrc | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
README.md | ||
embark.json | ||
package.json |
README.md
Status.im Sticker Market Dapp
Sticker Market is composed of 3 contracts:
- An authorship NFT (
StickerType
) which is granted to every registeredStickerPack
inStickerMarket
, intended use is to change the deposit address for allStickerPack
s sold inStickerMarket
. StickerMarket
main contract, which is the minter of two other NFT smart contract addresses,StickerType
andStickerPack
. It allows users to mintStickerType
, which contains a content-hash link, and other users to mintStickerPack
referenced to certainStickerType
s.- A purchase NFT (
StickerPack
) referencing aStickerType
, which is granted to any account who paid the value defined in theStickerType
while it sale was available.
Therefore, it models an environment where artists can publish their packs for sale, that can be used in the official Status app, by holders of StickerPack
. Artists can also sell their tokens, which new owners could set a new payment address.
Deployments
Contract | Address |
---|---|
Mainnet | |
StickerMarket | 0x12824271339304d3a9f7e096e62a2a7e73b4a7e7 |
StickerPack | 0x110101156e8F0743948B2A61aFcf3994A8Fb172e |
StickerType | 0x0577215622f43a39f4bc9640806dfea9b10d2a36 |
Sepolia | |
StickerMarket | 0xf852198D0385c4B871E0B91804ecd47C6bA97351 |
StickerPack | 0x8cc272396Be7583c65BEe82CD7b743c69A87287D |
StickerType | 0x5aCBae26C23427AEeE0A7f26949f093577a61AAb |
Folders
analyzers
: Folder for analyzer output filesapp
: Folder containing application for moving Status Test Tokensconfig
: Embark config filesdevelopment
: folder for development network specific configgenesis.json
: configure genesis for development network
blockchain.js
communication.js
contracts.js
namesystem.js
storage.js
webserver.js
contracts
: Folder for storing all Solidity contractscommon
: Common standard contractsstatus
: Status specific contractssticker-market
: Sticker Market specific contractsStickerMarket.sol
: Main Sticker Market Logic hereStickerMarketMigrated.sol
: Example of upgrade logic and a contract that controls the oldStickerMarket.sol
.
token
: Standard token contracts
doc
project_questions.md
: file answering a list of questions around project statusspecification.md
: current specefication document
test
: Folder for tests
How to run
Usage:
git clone https://github.com/status-im/sticker-market.git
cd sticker-market
npm install
npm start
Contract | Deploy | Test | UI |
---|---|---|---|
token/TestToken | Yes | Yes | Yes |
token/ERC20Token | No | Yes | Yes |
How to run tests
Usage:
$ npx embark test ./test/stickermarket.js
Compiling contracts
contracts/status/sticker-market/README.md doesn't have a compatible contract compiler. Maybe a plugin exists for it.
contracts/status/sticker-market/README.md doesn't have a compatible contract compiler. Maybe a plugin exists for it.
StickerMarket
✓ should register packs (1120ms) - [3592664 gas]
✓ should categorize packs (894ms) - [810984 gas]
✓ should uncategorize packs (971ms) - [288564 gas]
✓ should mint packs (1855ms) - [3842190 gas]
✓ should mint packs with approveAndCall (1920ms) - [3589096 gas]
✓ should register pack with approveAndCall (438ms) - [904022 gas]
✓ should purge packs (474ms) - [361631 gas]
✓ should not mint a pack with price 0 (275ms) - [466774 gas]
✓ should change ownership of pack by user (122ms) - [302190 gas]
✓ should change ownership of pack by controller (120ms) - [301833 gas]
✓ should change price of pack by user (156ms) - [320666 gas]
✓ should change price of pack by controller (119ms) - [335373 gas]
✓ should change pack mintability by user (122ms) - [315775 gas]
✓ should change pack mintability by controller (126ms) - [315418 gas]
✓ should change pack contenthash by controller (186ms) - [320989 gas]
✓ should migrate registry (292ms) - [596407 gas]
16 passing (10s) - [Total: 31234047 gas]