Skip to content
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

chore: clarify round 3 #28

Merged
merged 2 commits into from
Mar 14, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 36 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Phase 1 of GoN now kicks off at **2023-03-01-06:00 UTC**, and we have a number o
- [Stage 1: Welcome to GoN](#stage-1-welcome-to-gon)
- [Stage 2: Let's Dive into Interchain NFTs Transfer](#stage-2-lets-dive-into-interchain-nfts-transfer)
- [Stage 3: Enjoy the Carnival of GoN](#stage-3-enjoy-the-carnival-of-gon)
- [**Round 3: Competitive Individual Race**](#round-3-competitive-individual-race)
- [Point System](#point-system)
- [General Tasks](#general-tasks)
- [Game Tasks](#game-tasks)
Expand Down Expand Up @@ -135,11 +136,9 @@ Started from **Mar 13**

#### **Round 3: Competitive Individual Race**

Participants receive NFT airdrops on IRISnet and perform Interchain NFT Transfer through specified flows in Task Data. The airdrop has two rounds: In the first round, all participants go through the same flow, and in the second round, all participants go through different flows.
In this round, participants will receive NFT airdrops on IRISnet. Each NFT contains `Task Data` in its token data, which includes a `flow` field with a corresponding `flow-id` value that can be used to query the actual flow [in flow table](https://github.com/game-of-nfts/gon-testnets/blob/main/doc/flow-table.md). Participants can then perform Interchain NFT Transfer using the specified flows. After completing the interchain NFT transfer, each participant must transfer that NFT to the `last_owner` and then complete the race.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The last part: "and then complete the race.", do you actually mean that there is anything left to do after transfering to last_owner, or is transferring to last_owner completing the race?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transfer to last_owner is the last thing you need to do. Just keep your tx hash for evidence.

Copy link

@giansalex giansalex Mar 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@taramakage does it mean that an IBC transfer to las_owner is invalid? i need to use TransferNFT '

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@taramakage does it mean that an IBC transfer to las_owner is invalid? i need to use TransferNFT '

Thanks for noticing this! Do IBC transfer to your iris address first, then transfer that NFT to the last owner. For example:

IBC transfer:  iris-addr -> juno-addr -> stars-addr -> uptick-addr -> iris-addr (your iris-addr receives that interchain nft)

transfer ownership on iris:  iris-addr -> last-owner (finish this step then complete the race)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@taramakage does it mean that an IBC transfer to las_owner is invalid? i need to use TransferNFT '

Thanks for noticing this! Do IBC transfer to your iris address first, then transfer that NFT to the last owner. For example:

IBC transfer:  iris-addr -> juno-addr -> stars-addr -> uptick-addr -> iris-addr (your iris-addr receives that interchain nft)

transfer ownership on iris:  iris-addr -> last-owner (finish this step then complete the race)

Ok, thanks.


The first round airdrop will start at around `2023-03-15-06:00 UTC`, and the second round airdrop will start at around `2023-03-16-06:00 UTC`. Before that, participants can prepare their strategies. Please make sure that you have been added to the `gon-evidence` repository and your information is correct, otherwise, you may not receive the airdrop!

**Task Data:**
**Task Data**
```
{
"type": "individual race round",
Expand All @@ -149,50 +148,53 @@ The first round airdrop will start at around `2023-03-15-06:00 UTC`, and the sec
}
```

The airdrop has two rounds: In the first round, all participants will go through the same flow, and the airdrop will start at around `2023-03-15 06:00 UTC`. In the second round, all participants will go through different flows, and the airdrop will start at around `2023-03-16 06:00 UTC`. Before that, participants can prepare their strategies. Please ensure that you have been added to the gon-evidence repository and that your information is correct, otherwise you may not receive the airdrop!

**Rules:**
- The `flow` can be queryied with `flow-id` [here](https://github.com/game-of-nfts/gon-testnets/blob/main/doc/flow-table.md).
- The `start_height` is the block height on IRISnet. Any transfer prior to the `start_height` will be considered invalid.
- Participants must use their own account addresses provided at the registration stage.
- The `last_owner` is an official address on IRISnet. After finishing the interchain NFT transfer, every participant transfer the NFT to `last_owner` then complete the race.
- Considering the time zone difference, the completion time is calculated by the difference in height between the last NFT transfer (to the `last_owner`) and the first interchain NFT transfer on IRISnet.

- The `start_height` is the block height on IRISnet. Any transfer prior to the `start_height` will be considered invalid, which means your first Interchain NFT Transfer must happen after that height.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we don't know what the start_height will be, will we have enough time after the airdrop to actually prepare or will the start_height be so soon after the airdrop that this needs to be scripted?
Especially considering time-zone differences.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or does start_time simply mean "start after block"? As long as you start after block it is fine? I am asking because of the time-difference comment below.

I guess the confusion is because this is considered a race, and start_height sounds like when we should start :D

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plan is to set start_height as the height around the aridrop time. Considering the time zone we use the block height to replace the real time. Note start_height only means your first interchain transfer tx will be considered valid after that height, the real first transfer time is up to you.

start_height = 10000

first_interchain_transfer = 13000

last_transfer_to_last_owner = 13500

your difference of height is 13500-13000 == 500, and that's your grade

end_height = 20000 (suppose it's 20000; in fact, it will be the block height of IRIS at 03-17-23:59:59)

Invalid exmaple 1:

first_interchain_transfer = 9000  (you jumped the gun, you won't get points from B1~B4)
start_height = 10000

Invalid exmaple 2:

start_height = 10000

first_interchain_transfer = 13000

end_height = 20000

last_transfer_to_last_owner = 20001 ( we don't rank you, but you still get points from B1 and B2)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or does start_time simply mean "start after block"? As long as you start after block it is fine? I am asking because of the time-difference comment below.

I guess the confusion is because this is considered a race, and start_height sounds like when we should start :D

Do you have any suggestion on its(start_height) naming?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about start_after_height?

- The `last_owner` is an official address on IRISnet, and is the final recipient of the NFT in this game.
- Considering the time zone difference, the completion time is calculated by the **difference** in height between the last NFT transfer (to the `last_owner`) and the first Interchain NFT transfer (not `start_height`) on IRISnet.
- The participant with the smallest difference in block height will rank higher, and in case of a tie, the ranking will be based on the height of the last transfer, with the participant having the lower height ranking higher.
- The end of round 3 will be at `2023-03-17-23:59:59 UTC`. The height of evidence will be considered invalid if completed after the corresponding block height.
- Participants must use their own account addresses provided at the registration stage.
- The third round of the competition will conclude at `2023-03-17 23:59:59 UTC`. After this, you can still complete B1 and B2, but your race rank will not be counted, and you will not be eligible to win B3 and B4.
- The top 10 participants in each airdrop round will be awarded B3 and B4 points.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw some people asking about B3 and B4 since it is not in the evidence.xslx, maybe point out that we are not supposed to fill in anything for B3 and B4 ourselves?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From B1 and B2 evidence, we calculate your difference in height. Then we rank all these differences and pick up only the top 10 participants as the winners in B3 and B4.


**Tasks:** B1, B2, B3, B4

## Point System

For evidence submission, please refer to [gon-evidence](https://github.com/game-of-nfts/gon-evidence#task-evidence-submission)

### General Tasks

General tasks allow participants to fully experience the NFT-transfer functionality. The deadline for the general task submissions (stage 1&2) originally due on the 13th will be extended to around 27th, considering that more testing would be better.~~These tasks will be locked once the 3rd stage has begun.~~ Participants must submit evidence generated before then (based on the specified block height). Details of flow and flow style in the task description can be found [here](./doc/flow-table.md).

| Id | Point | Task | Details | Evidence |
| --- | ----- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| A1 | 1 | Create one Collection on IRISnet | Must set ClassUri and ClassData | TxHash on IRISnet |
| A2 | 1 | Mint NFTs on IRISnet | Must set TokenUri and TokenData and mint at least two NFTs | TxHashes on IRISnet |
| A3 | 1 | Transfer an NFT from IRISnet to Juno or Stargaze | The NFT must be the one created in A2 | TxHash on IRISnet <br> Destination Chain-ID <br> Contract-Addr+NFTID |
| A4 | 1 | Transfer an NFT from IRISnet to Uptick or OmniFlix | The NFT must be the one created in A2 | TxHash on IRISnet <br> Destination Chain-ID <br> IBC-ClassID+NFTID |
| A5 | 1 | Transfer the NFT on Stargaze or Juno back to IRISnet | The NFT must be the one transferred in A3 <br> Transfer back through the same channel in A3 | TxHash on Stargaze/Juno <br> Chain-ID |
| A6 | 1 | Transfer the NFT on Uptick or OmniFlix back to IRISnet | The NFT must be the one transferred in A4 <br> Transfer back through the same channel in A4 | TxHash on Uptick/OmniFlix <br> Chain-ID |
| A7 | 2 | Perform cross-chain NFT transfer as flow-a1 | Transfer in a never-go-back style. | ClassID + NFTID |
| A8 | 2 | Perform cross-chain NFT transfer as flow-a2 | Transfer in a never-go-back style. | ClassID + NFTID |
| A9 | 2 | Perform cross-chain NFT transfer as flow-a3 | Transfer in a never-go-back style. | ClassID + NFTID |
| A10 | 2 | Perform cross-chain NFT transfer as flow-a4 | Transfer in a never-go-back style. | ClassID + NFTID |
| A11 | 3 | Perform cross-chain NFT transfer as flow-a5 | Transfer in a never-go-back style. | ClassID + NFTID |
| A12 | 3 | Perform cross-chain NFT transfer as flow-a6 | Transfer in a never-go-back style. | ClassID + NFTID |
| A13 | 2 | Perform cross-chain NFT transfer as flow-b1 | Transfer in a revisit style. | Every NFT-Transfer TxHash and Chain ID |
| A14 | 2 | Perform cross-chain NFT transfer as flow-b2 | Transfer in a revisit style. | Every NFT-Transfer TxHash and Chain ID |
| A15 | 2 | Perform cross-chain NFT transfer as flow-b3 | Transfer in a revisit style. | Every NFT-Transfer TxHash and Chain ID |
| A16 | 2 | Perform cross-chain NFT transfer as flow-b4 | Transfer in a revisit style. | Every NFT-Transfer TxHash and Chain ID |
| A17 | 2 | Perform cross-chain NFT transfer as flow-c1 | Transfer in a backtrack style. | Every NFT-Transfer TxHash and Chain ID |
| A18 | 2 | Perform cross-chain NFT transfer as flow-c2 | Transfer in a backtrack style. | Every NFT-Transfer TxHash and Chain ID |
| A19 | 3 | Perform cross-chain NFT transfer as flow-c3 | Transfer in a backtrack style. | Every NFT-Transfer TxHash and Chain ID |
| A20 | 3 | Perform cross-chain NFT transfer as flow-c4 | Transfer in a backtrack style. | Every NFT-Transfer TxHash and Chain ID |
| Id | Point | Task | Details |
| --- | ----- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| A1 | 1 | Create one Collection on IRISnet | Must set ClassUri and ClassData |
| A2 | 1 | Mint NFTs on IRISnet | Must set TokenUri and TokenData and mint at least two NFTs |
| A3 | 1 | Transfer an NFT from IRISnet to Juno or Stargaze | The NFT must be the one created in A2 |
| A4 | 1 | Transfer an NFT from IRISnet to Uptick or OmniFlix | The NFT must be the one created in A2 |
| A5 | 1 | Transfer the NFT on Stargaze or Juno back to IRISnet | The NFT must be the one transferred in A3 <br> Transfer back through the same channel in A3 |
| A6 | 1 | Transfer the NFT on Uptick or OmniFlix back to IRISnet | The NFT must be the one transferred in A4 <br> Transfer back through the same channel in A4 |
| A7 | 2 | Perform cross-chain NFT transfer as flow-a1 | Transfer in a never-go-back style. |
| A8 | 2 | Perform cross-chain NFT transfer as flow-a2 | Transfer in a never-go-back style. |
| A9 | 2 | Perform cross-chain NFT transfer as flow-a3 | Transfer in a never-go-back style. |
| A10 | 2 | Perform cross-chain NFT transfer as flow-a4 | Transfer in a never-go-back style. |
| A11 | 3 | Perform cross-chain NFT transfer as flow-a5 | Transfer in a never-go-back style. |
| A12 | 3 | Perform cross-chain NFT transfer as flow-a6 | Transfer in a never-go-back style. |
| A13 | 2 | Perform cross-chain NFT transfer as flow-b1 | Transfer in a revisit style. |
| A14 | 2 | Perform cross-chain NFT transfer as flow-b2 | Transfer in a revisit style. |
| A15 | 2 | Perform cross-chain NFT transfer as flow-b3 | Transfer in a revisit style. |
| A16 | 2 | Perform cross-chain NFT transfer as flow-b4 | Transfer in a revisit style. |
| A17 | 2 | Perform cross-chain NFT transfer as flow-c1 | Transfer in a backtrack style. |
| A18 | 2 | Perform cross-chain NFT transfer as flow-c2 | Transfer in a backtrack style. |
| A19 | 3 | Perform cross-chain NFT transfer as flow-c3 | Transfer in a backtrack style. |
| A20 | 3 | Perform cross-chain NFT transfer as flow-c4 | Transfer in a backtrack style. |

### Game Tasks

For evidence submission, please refer to [gon-evidence](https://github.com/game-of-nfts/gon-evidence#task-evidence-submission)

| # | Point | Task | Details |
| --- | ----- | -------------------------------------------- | --------------------------------------------------- |
| B1 | 5 | Competitive! Individual Race Round 1 | Each participant will go through the same flow |
Expand Down
4 changes: 2 additions & 2 deletions doc/flow-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Backtrack: All class-id prefixes are finally removed in the transfer flow (i.e.
## Flow Table for Stage 2

| Flow Id | Style | Flow |
| ------- | ------------- | ------------------------------------------------------------------- |
|---------|---------------|---------------------------------------------------------------------|
| a1 | never-go-back | i --(1)--> s --(1)--> j --(1)--> i |
| a2 | never-go-back | i --(1)--> u --(1)--> o --(1)--> i |
| a3 | never-go-back | i --(1)--> s --(1)--> j --(1)--> u --(1)--> i |
Expand All @@ -42,7 +42,7 @@ Backtrack: All class-id prefixes are finally removed in the transfer flow (i.e.
## Flow Table for Stage 3

| Flow Id | Style | Flow |
| ------- | ------------- | -------------------------------------------------------- |
|---------|---------------|----------------------------------------------------------|
| f1 | never-go-back | i --(1)--> s --(1)--> j --(1)--> u --(1)--> o --(1)--> i |
| f2 | never-go-back | i --(1)--> s --(1)--> j --(1)--> u --(1)--> o --(2)--> i |
| f3 | never-go-back | i --(1)--> s --(1)--> j --(1)--> u --(2)--> o --(1)--> i |
Expand Down