-
Notifications
You must be signed in to change notification settings - Fork 389
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: add FOMO3D game implementation #3344
base: master
Are you sure you want to change the base?
Conversation
🛠 PR Checks SummaryAll Automated Checks passed. ✅ Manual Checks (for Reviewers):
Read More🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers. ✅ Automated Checks (for Contributors):🟢 Maintainers must be able to edit this pull request (more info) ☑️ Contributor Actions:
☑️ Reviewer Actions:
📚 Resources:Debug
|
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
- Add 5% owner fee (47% jackpot, 28% dividends) - Improve error handling - Update UI with better organization & emojis - Add ownership tests & update test coverage - Register realm to Hall of Realms
} | ||
|
||
// GetGameState returns current game state | ||
func GetGameState() (int64, int64, int64, std.Address, int64, int64, int64, bool) { |
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.
Might make sense to pack these into a struct, wdyt?
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.
Is this what you had in mind? 059917e
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.
Figured out the best way to handle this, made TODO
comments in 4a5435f.
Current solution works fine for now, will be improving this some time in future.
- add test for Ownership
- remove redundant TransferOwnership func
- use PrevRealm() - format
I did, it's in |
…g#3569) This PR aims to improve the HTML composability of gnoweb and avoid DRY issues across templates and layouts. The changes include: - Refactoring HTML components for better reusability. - Reducing code duplication in views. - Removing static data from the layout - Enhancing code maintainability and readability. --------- Signed-off-by: gfanton <[email protected]> Co-authored-by: gfanton <[email protected]>
This pull request is for : - remove `require` statement from official documentation [gnolang#3123](gnolang#3123) - add an example that was `//TODO` in the `effective-gno / Documentation is for users` section
…olang#3557) This will make it so that on master, there is only 1 job of releaser-master executing at a time. There may be another pending one (if, say, we merge two PRs back to back), and it will be put as `pending`. It's cancelled if we merge a third PR while the second one is still `pending`. For more information: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
## Description To make contracts more simpler(and low computation for execution), it is better for contract to manipulate with only `std.Address` rather than using `users.AddressOrName` and resolving it. ([Discussed with @moul](gnoswap-labs/gnoswap#465 (comment))) Clients such as gnoeky, gnoweb or adena should perform look up(convert username to address) and pass address value to contract.
## Description Fixes txtar that needed to be in gnolang#3580 Should've been caught by CI, wasn't --------- Co-authored-by: Morgan Bazalgette <[email protected]>
…iew (gnolang#3574) After a first day of experimentation, we determined we don't want the triage-pending label on PRs that have already received a review from a tech-staff member. Some additional changes: - Split between `ApprovalBy` and `ReviewBy` in reviewer.go, to distinguish between the requirements that only work with an approval and those that are more generic. - Don't request a team review if a member of the team already reviewed or is requested for review. (The bot was nagging a bit on some PRs because of this)
Depends on gnolang#3323 - add test in `examples/no_cycles_test.go` to detect import cycles in stdlibs and examples - add `matchString` native injection in the `testing` stdlib to avoid a cycle in `regexp` tests - remove other import cycles Go never allows import cycles. Our stdlibs have a lot of import cycles, and some examples import self which is not allowed in golang either. Keeping support for import cycles in stdlib and importing self will require a lot of hacky and weird logic in generic package loading code so I try to tackle this first. TODO: - [x] fix tests - [x] ~~check cycles with the test stdlibs overlay applied~~ -> be explicit about the lack of support for modifying imports in testing stdlibs overlay --------- Signed-off-by: Norman Meier <[email protected]> Signed-off-by: Norman <[email protected]> Signed-off-by: Norman <[email protected]> Co-authored-by: Morgan <[email protected]> Co-authored-by: Norman <[email protected]>
- make event emit functions private - minor fixes
Description
This PR introduces FOMO3D, a blockchain-based game that combines lottery and investment mechanics, implemented as a Gno realm. The game creates an engaging economic model where players compete to be the last key purchaser while earning dividends from subsequent purchases.
Key Features
Technical Implementation
How to Use
StartGame()
BuyKeys()
ClaimDividends()
Testing
All core functionalities are covered by unit tests including:
Inspired by the original Ethereum FOMO3D game but rebuilt for the Gno platform.
Note
The test checks will not pass until gnolang/gno#3495 is merged. In case this PR is not approved, I will refactor the NFT feature accordingly.