IR-8

Edit Patron NFT Governance

authorblockchainwinston
statusDraft
created2024-06-26

Referendum Summary

IR-8 proposes a new token distribution mechanism using ERC404 and soulbound NFTs to ensure fair and transparent token vesting and voting power allocation within the Infinex ecosystem.

Specification

Overview

The following upgrades are proposed in IR-8.

  1. Changing the Patron NFT from ERC721 to ERC404 standard.
  2. Utilize 1 ERC404 smart contract and 2 ERC721 soul-bound smart contract (meant for vesting options)
  3. Proposed Token Distribution Mechanism

As GP has not been implemented yet as a voting mechanism, this IR will be voted on via SDS.

Rationale

Currently, there are three vesting options as mentioned in XIP-33.

For convenience, let's name the following options:

  • Option A: Users pay $5000 with no cliff or lockup.
  • Option B: Users pay $3000 with no cliff but a 12-month linear unlock.
  • Option C: Users pay $1250 with a 1-year cliff and a 12-month linear unlock.

"Due to the indivisibility of NFTs, the linear unlock will work in a manner where a locked purchaser can only withdraw their NFT from the lockup contract once an entire unit is unlocked."

Also, IR-7 mentioned, "This IR proposes that Patron NFTs be used to vote for all ecosystem seats. Voting power should be calculated linearly, with one liquid Patron NFT serving as one vote. Any illiquid Patron NFTs should also have 0.2 voting power. The Patron community sale allows parties to purchase locked NFTs."

This gives people who bought Option A the most power in the first few months. There might be a chance of foul play where they propose and vote on a plan that benefits them in the short run, causing the project to suffer in the long run.

By giving an equal weightage to people based on the money they have invested, this helps balance the short-term and long-term future of the project.

Technical Specification

1. Changing the Patron NFT from ERC721 to ERC404 standard.

This IR proposes that Patron NFTs use the ERC404 standard, a combination of ERC721 and ERC20 tokens. For simplicity, we shall assume that 1 ERC721 token can be burned for 12 ERC20 tokens, and vice versa. Exact ratio can be set by the CWG in the future.

2. Utilize 1 ERC404 smart contract and 2 ERC721 soul-bound smart contract

  1. Main Patron NFT contract (ERC404)
  2. Soul-bound NFT for option B
  3. Soul-bound NFT for option C

1 ERC721 token has a vote weightage of 1, while the vote weightage of 1 ERC20 token is 1/12 vote weightage. Soul-bound NFT vote weightage will decrease accordingly below as they unlock more ERC20 token from the main contract.

3. Proposed Token Distribution Mechanism

Option A: Immediate Distribution

  • Investment Amount: $5000
  • Cliff Period: 0 months
  • Lockup Period: 0 months
  • Tokens Distributed: 12 ERC20 tokens immediately
  • Weight of Each ERC20 Token: 0.083
  • Total Weight: 1.0

Option B: Linear Vesting Over 12 Months

  • Investment Amount: $3000
  • Cliff Period: 0 months
  • Lockup Period: 12 months
  • Vesting Schedule: 1 ERC20 token per month for 12 months
  • Weight of Each ERC20 Token: 0.083
  • Initial Weight of Soulbound NFT: 0.6
  • Linear Decay of Soulbound NFT Weight: Decreases by 0.05 each month

Option C: Cliff and Linear Vesting Over 24 Months

  • Investment Amount: $1250
  • Cliff Period: 12 months
  • Lockup Period: 12 months
  • Vesting Schedule: 1 ERC20 token per month from month 12 to month 24
  • Weight of Each ERC20 Token: 0.083
  • Initial Weight of Soulbound NFT: 0.25
  • Linear Decay of Soulbound NFT Weight: Decreases by 0.0208 each month from month 12

Detailed Distribution Tables

Option A Distribution

MonthERC20 ReceivedWeight of Each ERC20 TokenTotal Weight of ERC20 TokensWeight of Soulbound NFTTotal Weight
0120.0831.0000.0001.000
1120.0831.0000.0001.000
2120.0831.0000.0001.000
3120.0831.0000.0001.000
4120.0831.0000.0001.000
5120.0831.0000.0001.000
6120.0831.0000.0001.000
7120.0831.0000.0001.000
8120.0831.0000.0001.000
9120.0831.0000.0001.000
10120.0831.0000.0001.000
11120.0831.0000.0001.000
12120.0831.0000.0001.000

Option B Distribution

MonthERC20 ReceivedWeight of Each ERC20 TokenTotal Weight of ERC20 TokensWeight of Soulbound NFTTotal Weight
000.0830.0000.6000.600
110.0830.0830.5500.633
220.0830.1670.5000.667
330.0830.2500.4500.700
440.0830.3330.4000.733
550.0830.4170.3500.767
660.0830.5000.3000.800
770.0830.5830.2500.833
880.0830.6670.2000.867
990.0830.7500.1500.900
10100.0830.8330.1000.933
11110.0830.9170.0500.967
12120.0831.0000.0001.000

Option C Distribution

MonthERC20 ReceivedWeight of Each ERC20 TokenTotal Weight of ERC20 TokensWeight of Soulbound NFTTotal Weight
000.0830.0000.2500.250
100.0830.0000.2500.250
200.0830.0000.2500.250
300.0830.0000.2500.250
400.0830.0000.2500.250
500.0830.0000.2500.250
600.0830.0000.2500.250
700.0830.0000.2500.250
800.0830.0000.2500.250
900.0830.0000.2500.250
1000.0830.0000.2500.250
1100.0830.0000.2500.250
1200.0830.0000.2500.250
1310.0830.0830.2290.312
1420.0830.1670.2080.375
1530.0830.2500.1880.438
1640.0830.3330.1670.500
1750.0830.4170.1460.563
1860.0830.5000.1250.625
1970.0830.5830.1040.687
2080.0830.6670.0830.750
2190.0830.7500.0630.813
22100.0830.8330.0420.875
23110.0830.9170.0210.938
24120.0831.0000.0001.000

Depending on method of implementing governance voting, the weightage can be set there. Algorithm used for voting weightage is Linear decay and can be found in IR-8-1.py

Copyright

Copyright and related rights waived via CC0.

Contribute to Proposals on GitHub