-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(grc20-launchpad): realms & pkg #1263
Conversation
✅ Deploy Preview for testitori ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
✅ Deploy Preview for teritori-dapp ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add unit tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you list all airdrops and sales for a particular token?
I think airdrops and sales should be stored in the Token
struct or at least be indexed by token
…e message on empty path
…eated & add hyperlinks
3c95ba6
to
3833126
Compare
Sorry for being late to the party; I left some comments. Just a few considerations. Happy to see more complex code being built! |
Launchpad GRC20 Token Smart Contracts
This PR introduces the following GRC20 token smart contracts for the development of a launchpad on the Gno blockchain. The contracts provide functionalities for token creation, minting, burning, airdrops, and token sales.
Demonstration
https://www.youtube.com/watch?v=76clMWwk_zY
Features
Token Contract
Transfer
,Approve
, andTransferFrom
.Ownable
pattern for access control.Airdrop Contract
Sale Contract
Key Functions
Token
NewToken(name, symbol, image, decimals, initialSupply, totalSupplyCap, allowMint, allowBurn)
Mint(name, to, amount)
Burn(name, from, amount)
Transfer(name, to, amount)
Approve(name, spender, amount)
TransferFrom(name, from, to, amount)
Airdrop
NewAirdrop(tokenName, merkleRoot, amountPerAddr, startTimestamp, endTimestamp)
Claim(airdropID, proofs)
Sale
NewSale(tokenName, merkleRoot, startTimestamp, endTimestamp, pricePerToken, limitPerAddr, minGoal, maxGoal, mintToken)
Buy(saleID, amount, proofs)
Finalize(saleID)