Skip to content

Commit fd9cb95

Browse files
authored
Fix sns-launch YAML schema to match current sns_init v2 format (#24)
Verified against onicai production SNS config. Fixes 4 schema errors: - MaximumDissolveDelayBonus → MaximumVotingPowerBonuses.DissolveDelay + Age - InitialBalances.governance → InitialBalances.treasury - RestrictedCountries → restricted_countries - Raw e8s/seconds → human-readable units (tokens, days, months, years)
1 parent 69d0993 commit fd9cb95

2 files changed

Lines changed: 64 additions & 58 deletions

File tree

public/llms-full.txt

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4740,7 +4740,7 @@ name: SNS DAO Launch
47404740
category: Governance
47414741
description: "Configure and launch an SNS DAO. Token economics, proposal types, nervous system parameters, and decentralization swap."
47424742
endpoints: 22
4743-
version: 1.8.1
4743+
version: 1.9.0
47444744
status: stable
47454745
dependencies: [icrc-ledger, multi-canister]
47464746
requires: [icp-cli >= 0.1.0, dfx sns extension, NNS neuron with stake]
@@ -4839,71 +4839,74 @@ dapp_canisters:
48394839
Token:
48404840
name: MyToken
48414841
symbol: MYT
4842-
transaction_fee: 10_000 # e8s (0.0001 tokens)
4842+
transaction_fee: 0.0001 tokens
48434843
logo: token_logo.png
48444844

48454845
# === GOVERNANCE PARAMETERS ===
48464846
Proposals:
4847-
rejection_fee: 100_000_000 # e8s (1 token)
4848-
initial_voting_period: 345_600 # seconds (4 days)
4849-
maximum_wait_for_quiet_deadline_extension: 86_400 # seconds (1 day)
4847+
rejection_fee: 1 token
4848+
initial_voting_period: 4 days
4849+
maximum_wait_for_quiet_deadline_extension: 1 day
48504850

48514851
Neurons:
4852-
minimum_creation_stake: 100_000_000 # e8s (1 token)
4852+
minimum_creation_stake: 1 token
48534853

48544854
Voting:
4855-
minimum_dissolve_delay: 2_629_800 # seconds (1 month)
4856-
MaximumDissolveDelayBonus:
4857-
duration: 252_288_000 # seconds (8 years)
4858-
bonus: 100% # 2x voting power at max dissolve
4859-
MaximumAgeBonusPercentage: 25%
4855+
minimum_dissolve_delay: 1 month
4856+
MaximumVotingPowerBonuses:
4857+
DissolveDelay:
4858+
duration: 8 years
4859+
bonus: 100% # 2x voting power at max dissolve
4860+
Age:
4861+
duration: 4 years
4862+
bonus: 25%
48604863
RewardRate:
48614864
initial: 2.5%
48624865
final: 2.5%
4863-
transition_duration: 0 # seconds
4866+
transition_duration: 0 seconds
48644867

48654868
# === TOKEN DISTRIBUTION ===
48664869
Distribution:
48674870
Neurons:
48684871
# Developer allocation (with vesting)
48694872
- principal: DEVELOPER_PRINCIPAL
4870-
stake: 200_000_000_000_000 # e8s (2_000_000 tokens)
4873+
stake: 2_000_000 tokens
48714874
memo: 0
4872-
dissolve_delay: 15_778_800 # seconds (6 months)
4873-
vesting_period: 63_115_200 # seconds (24 months)
4875+
dissolve_delay: 6 months
4876+
vesting_period: 24 months
48744877

48754878
# Seed investors
48764879
- principal: INVESTOR_PRINCIPAL
4877-
stake: 50_000_000_000_000 # e8s (500_000 tokens)
4880+
stake: 500_000 tokens
48784881
memo: 1
4879-
dissolve_delay: 7_889_400 # seconds (3 months)
4880-
vesting_period: 31_557_600 # seconds (12 months)
4882+
dissolve_delay: 3 months
4883+
vesting_period: 12 months
48814884

48824885
InitialBalances:
4883-
governance: 500_000_000_000_000 # e8s (5_000_000 tokens) — Treasury (controlled by DAO)
4884-
swap: 250_000_000_000_000 # e8s (2_500_000 tokens) — Sold during decentralization swap
4886+
treasury: 5_000_000 tokens # Treasury (controlled by DAO)
4887+
swap: 2_500_000 tokens # Sold during decentralization swap
48854888

4886-
total: 1_000_000_000_000_000 # e8s (10_000_000 tokens) — Must equal sum of all allocations
4889+
total: 10_000_000 tokens # Must equal sum of all allocations
48874890

48884891
# === DECENTRALIZATION SWAP ===
48894892
Swap:
48904893
minimum_participants: 100
4891-
minimum_direct_participation_icp: 5_000_000_000_000 # e8s (50_000 ICP)
4892-
maximum_direct_participation_icp: 50_000_000_000_000 # e8s (500_000 ICP)
4893-
minimum_participant_icp: 100_000_000 # e8s (1 ICP)
4894-
maximum_participant_icp: 2_500_000_000_000 # e8s (25_000 ICP)
4895-
duration: 604_800 # seconds (7 days)
4894+
minimum_direct_participation_icp: 50_000 tokens
4895+
maximum_direct_participation_icp: 500_000 tokens
4896+
minimum_participant_icp: 1 token
4897+
maximum_participant_icp: 25_000 tokens
4898+
duration: 7 days
48964899
neurons_fund_participation: true
48974900

48984901
VestingSchedule:
4899-
events: 5 # Neurons unlock in 5 stages
4900-
interval: 7_889_400 # seconds (3 months)
4902+
events: 5 # Neurons unlock in 5 stages
4903+
interval: 3 months
49014904

49024905
confirmation_text: >
49034906
I confirm that I am not a resident of a restricted jurisdiction
49044907
and I understand the risks of participating in this token swap.
49054908

4906-
RestrictedCountries:
4909+
restricted_countries:
49074910
- US
49084911
- CN
49094912
```

skills/sns-launch/SKILL.md

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ name: SNS DAO Launch
44
category: Governance
55
description: "Configure and launch an SNS DAO. Token economics, proposal types, nervous system parameters, and decentralization swap."
66
endpoints: 22
7-
version: 1.8.1
7+
version: 1.9.0
88
status: stable
99
dependencies: [icrc-ledger, multi-canister]
1010
requires: [icp-cli >= 0.1.0, dfx sns extension, NNS neuron with stake]
@@ -103,71 +103,74 @@ dapp_canisters:
103103
Token:
104104
name: MyToken
105105
symbol: MYT
106-
transaction_fee: 10_000 # e8s (0.0001 tokens)
106+
transaction_fee: 0.0001 tokens
107107
logo: token_logo.png
108108

109109
# === GOVERNANCE PARAMETERS ===
110110
Proposals:
111-
rejection_fee: 100_000_000 # e8s (1 token)
112-
initial_voting_period: 345_600 # seconds (4 days)
113-
maximum_wait_for_quiet_deadline_extension: 86_400 # seconds (1 day)
111+
rejection_fee: 1 token
112+
initial_voting_period: 4 days
113+
maximum_wait_for_quiet_deadline_extension: 1 day
114114

115115
Neurons:
116-
minimum_creation_stake: 100_000_000 # e8s (1 token)
116+
minimum_creation_stake: 1 token
117117

118118
Voting:
119-
minimum_dissolve_delay: 2_629_800 # seconds (1 month)
120-
MaximumDissolveDelayBonus:
121-
duration: 252_288_000 # seconds (8 years)
122-
bonus: 100% # 2x voting power at max dissolve
123-
MaximumAgeBonusPercentage: 25%
119+
minimum_dissolve_delay: 1 month
120+
MaximumVotingPowerBonuses:
121+
DissolveDelay:
122+
duration: 8 years
123+
bonus: 100% # 2x voting power at max dissolve
124+
Age:
125+
duration: 4 years
126+
bonus: 25%
124127
RewardRate:
125128
initial: 2.5%
126129
final: 2.5%
127-
transition_duration: 0 # seconds
130+
transition_duration: 0 seconds
128131

129132
# === TOKEN DISTRIBUTION ===
130133
Distribution:
131134
Neurons:
132135
# Developer allocation (with vesting)
133136
- principal: DEVELOPER_PRINCIPAL
134-
stake: 200_000_000_000_000 # e8s (2_000_000 tokens)
137+
stake: 2_000_000 tokens
135138
memo: 0
136-
dissolve_delay: 15_778_800 # seconds (6 months)
137-
vesting_period: 63_115_200 # seconds (24 months)
139+
dissolve_delay: 6 months
140+
vesting_period: 24 months
138141

139142
# Seed investors
140143
- principal: INVESTOR_PRINCIPAL
141-
stake: 50_000_000_000_000 # e8s (500_000 tokens)
144+
stake: 500_000 tokens
142145
memo: 1
143-
dissolve_delay: 7_889_400 # seconds (3 months)
144-
vesting_period: 31_557_600 # seconds (12 months)
146+
dissolve_delay: 3 months
147+
vesting_period: 12 months
145148

146149
InitialBalances:
147-
governance: 500_000_000_000_000 # e8s (5_000_000 tokens) — Treasury (controlled by DAO)
148-
swap: 250_000_000_000_000 # e8s (2_500_000 tokens) — Sold during decentralization swap
150+
treasury: 5_000_000 tokens # Treasury (controlled by DAO)
151+
swap: 2_500_000 tokens # Sold during decentralization swap
149152

150-
total: 1_000_000_000_000_000 # e8s (10_000_000 tokens) — Must equal sum of all allocations
153+
total: 10_000_000 tokens # Must equal sum of all allocations
151154

152155
# === DECENTRALIZATION SWAP ===
153156
Swap:
154157
minimum_participants: 100
155-
minimum_direct_participation_icp: 5_000_000_000_000 # e8s (50_000 ICP)
156-
maximum_direct_participation_icp: 50_000_000_000_000 # e8s (500_000 ICP)
157-
minimum_participant_icp: 100_000_000 # e8s (1 ICP)
158-
maximum_participant_icp: 2_500_000_000_000 # e8s (25_000 ICP)
159-
duration: 604_800 # seconds (7 days)
158+
minimum_direct_participation_icp: 50_000 tokens
159+
maximum_direct_participation_icp: 500_000 tokens
160+
minimum_participant_icp: 1 token
161+
maximum_participant_icp: 25_000 tokens
162+
duration: 7 days
160163
neurons_fund_participation: true
161164

162165
VestingSchedule:
163-
events: 5 # Neurons unlock in 5 stages
164-
interval: 7_889_400 # seconds (3 months)
166+
events: 5 # Neurons unlock in 5 stages
167+
interval: 3 months
165168

166169
confirmation_text: >
167170
I confirm that I am not a resident of a restricted jurisdiction
168171
and I understand the risks of participating in this token swap.
169172
170-
RestrictedCountries:
173+
restricted_countries:
171174
- US
172175
- CN
173176
```

0 commit comments

Comments
 (0)