Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
68 changes: 24 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,24 @@
# Monad Blitz Thailand submission process

**How to Submit Your Project**

1. Visit the [monad-blitz-bangkok repo](https://github.com/monad-developers/monad-blitz-bangkok) and **fork** it.

![fork repo](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/fork-repository.png)

2. Enter your **project name** and a **one-line description**.
- Make sure you are forking the **main** branch.
- Then click **Create Fork**.

![fork detail](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/fork-detail.png)

3. In your fork, you can:
- Add your project code
- Create new branches
- Update the README with project info
- Make any other changes you need

![example project](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/example-project.png)

4. Once your project is ready for submission, open a **Pull Request (PR)**.

![pull requests](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/pull-requests.png)

5. Ensure your PR is targeting the correct repo:
- **Base repo:** `monad-developers/monad-blitz-bangkok`
- Then click **Create Pull Request**.

![create pull-request](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/crate-pull-request.png)

6. Add details to your PR:
- Use your **project name** as the PR title
- Write a **detailed description** of your project (include as much info as possible; you can also link to a demo video)
- Click **Create Pull Request**

![pull request detail](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/pull-request-detail.png)

7. Finally, verify your PR:
- Double-check that it was created on the correct repo
- Make sure the **source** and **destination branches** are set properly

![pull request review](https://raw.githubusercontent.com/addicola/monad-blitz-bangkok/refs/heads/main/images/pull-request-review.png)
Dice Party Demo Project for Monad Blitz Hackathon.
It's smart contract project use in Dice Party Game on WebGL.


GameReward is a Solidity smart contract designed for distributing native MON rewards directly to players, without relying on an external vault or GameBank.
It can be funded with MON (the native token on Monad) and allows players to claim rewards based on their rank after a game session.

Key Features
• Native MON Rewards – Rewards are distributed directly from the contract’s balance.
• Configurable Reward Table – Owner can set or update reward amounts for each rank.
• Multiple Funding Options – Fund the contract by sending MON directly or calling the fund() function with msg.value.
• Secure Claims – Players call claim(rank) to receive rewards; protected by ReentrancyGuard.
• Admin Tools – Owner can update rewards, set max rank, or withdraw excess MON (rescue).
• Events – Transparent logging for all claims, funding, and configuration changes.

Default Reward Table
• Rank 1 → 150 MON
• Rank 2 → 50 MON
• Rank 3 → 25 MON

Example Flow
1. Owner deploys the contract and funds it with MON.
2. Players call claim(rank) after a game ends, receiving their reward directly.
3. The contract emits RewardClaimed events for on-chain transparency.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/e14ccfa183281adcc82f3ae3fbfbb4f0.json"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "Ownable",
"sourceName": "@openzeppelin/contracts/access/Ownable.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/e14ccfa183281adcc82f3ae3fbfbb4f0.json"
}
Loading