@ballkidz/defifa 0.0.24 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/AUDIT_INSTRUCTIONS.md +6 -2
  2. package/README.md +11 -2
  3. package/RISKS.md +3 -1
  4. package/STYLE_GUIDE.md +14 -11
  5. package/package.json +31 -14
  6. package/script/Deploy.s.sol +4 -1
  7. package/src/DefifaDeployer.sol +74 -46
  8. package/src/DefifaGovernor.sol +53 -11
  9. package/src/DefifaHook.sol +79 -25
  10. package/src/DefifaTokenUriResolver.sol +111 -19
  11. package/src/interfaces/IDefifaDeployer.sol +5 -0
  12. package/src/interfaces/IDefifaGovernor.sol +4 -0
  13. package/src/interfaces/IDefifaHook.sol +5 -0
  14. package/src/libraries/DefifaHookLib.sol +9 -10
  15. package/src/structs/DefifaLaunchProjectData.sol +0 -3
  16. package/CRYPTO_ECON.pdf +0 -0
  17. package/CRYPTO_ECON.tex +0 -997
  18. package/foundry.lock +0 -17
  19. package/references/operations.md +0 -32
  20. package/references/runtime.md +0 -43
  21. package/slither-ci.config.json +0 -10
  22. package/sphinx.lock +0 -521
  23. package/test/BWAFunctionComparison.t.sol +0 -1320
  24. package/test/DefifaAdversarialQuorum.t.sol +0 -617
  25. package/test/DefifaAuditLowGuards.t.sol +0 -308
  26. package/test/DefifaFeeAccounting.t.sol +0 -581
  27. package/test/DefifaGovernanceHardening.t.sol +0 -1315
  28. package/test/DefifaGovernor.t.sol +0 -1378
  29. package/test/DefifaHookRegressions.t.sol +0 -415
  30. package/test/DefifaMintCostInvariant.t.sol +0 -319
  31. package/test/DefifaNoContest.t.sol +0 -941
  32. package/test/DefifaSecurity.t.sol +0 -741
  33. package/test/DefifaUSDC.t.sol +0 -480
  34. package/test/Fork.t.sol +0 -2388
  35. package/test/TestAuditGaps.sol +0 -984
  36. package/test/TestQALastMile.t.sol +0 -514
  37. package/test/audit/AttestationDoubleCount.t.sol +0 -218
  38. package/test/audit/CodexNemesisCurrencyMismatchBypass.t.sol +0 -112
  39. package/test/audit/CodexNemesisNoContestReserveDrain.t.sol +0 -238
  40. package/test/audit/CodexRegistryMismatch.t.sol +0 -191
  41. package/test/audit/CodexTierCapMismatch.t.sol +0 -171
  42. package/test/audit/CurrencyMismatchFix.t.sol +0 -265
  43. package/test/audit/FixPendingReserveDilution.t.sol +0 -366
  44. package/test/audit/H5TierCapValidation.t.sol +0 -184
  45. package/test/audit/PendingReserveDilution.t.sol +0 -298
  46. package/test/audit/PendingReserveQuorumGrief.t.sol +0 -355
  47. package/test/audit/PendingReserveSnapshotBypass.t.sol +0 -319
  48. package/test/regression/AttestationDelegateBeneficiary.t.sol +0 -271
  49. package/test/regression/FulfillmentBlocksRatification.t.sol +0 -279
  50. package/test/regression/GracePeriodBypass.t.sol +0 -302
package/foundry.lock DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "lib/base64": {
3
- "branch": {
4
- "name": "v1.1.0",
5
- "rev": "dcbf852ba545b3d15de0ac0ef88dce934c090c8e"
6
- }
7
- },
8
- "lib/capsules": {
9
- "rev": "7432ba95ac69ba4902076660b0dc9a90aeb26706"
10
- },
11
- "lib/forge-std": {
12
- "rev": "8bbcf6e3f8f62f419e5429a0bd89331c85c37824"
13
- },
14
- "lib/typeface": {
15
- "rev": "edd52e2f7c8adc44e75b207bd279710f9b72f5e9"
16
- }
17
- }
@@ -1,32 +0,0 @@
1
- # Defifa Operations
2
-
3
- Use this file when the task is about launch config, phase timing, governance windows, or deciding whether a symptom is operational drift or runtime logic.
4
-
5
- ## Deployment Surface
6
-
7
- - [`src/DefifaDeployer.sol`](../src/DefifaDeployer.sol) is the first stop for launch-time config, phase queueing, and post-ratification fulfillment.
8
- - [`script/Deploy.s.sol`](../script/Deploy.s.sol) and [`script/helpers/DefifaDeploymentLib.sol`](../script/helpers/DefifaDeploymentLib.sol) are the deployment entrypoints when the task is about current wiring rather than game mechanics.
9
- - [`src/structs/`](../src/structs/) and [`src/enums/`](../src/enums/) define launch data, phase types, and other inputs that often drift from remembered assumptions.
10
-
11
- ## Change Checklist
12
-
13
- - If you edit lifecycle timing, verify phase transitions, no-contest triggers, and the governor's attestation windows together.
14
- - If you edit hook settlement logic, re-check fee accounting and mint-cost invariants.
15
- - If you touch governance thresholds or attestation behavior, inspect the governor tests before assuming the change is local.
16
- - If you touch token metadata or rendering, verify whether the bug belongs in the resolver instead of settlement code.
17
- - If you touch anything supply-sensitive, inspect the audit tests around pending reserves and quorum before relying on current intuition.
18
-
19
- ## Common Failure Modes
20
-
21
- - Game-state issue is blamed on the hook even though the deployer queued the wrong phase or timing.
22
- - Governance behavior looks wrong, but the real issue is stale launch configuration.
23
- - Settlement changes accidentally affect fee distribution or redemption accounting.
24
- - Resolver issues get misdiagnosed as hook or governor problems because they surface through NFTs.
25
- - Audit-style failures around reserve dilution or attestation counting are treated as isolated math issues even though they cross deployer, hook, and governor boundaries.
26
-
27
- ## Useful Proof Points
28
-
29
- - [`test/Fork.t.sol`](../test/Fork.t.sol) for live-integration assumptions.
30
- - [`test/TestAuditGaps.sol`](../test/TestAuditGaps.sol) and [`test/TestQALastMile.t.sol`](../test/TestQALastMile.t.sol) for pinned edge cases.
31
- - [`test/BWAFunctionComparison.t.sol`](../test/BWAFunctionComparison.t.sol) and [`test/DefifaUSDC.t.sol`](../test/DefifaUSDC.t.sol) when currency or accounting context matters.
32
- - [`test/audit/`](../test/audit/) when a change touches pending reserves, registry alignment, quorum griefing, or double-counting.
@@ -1,43 +0,0 @@
1
- # Defifa Runtime
2
-
3
- Use this file when `defifa/SKILLS.md` has already routed you here and you need to reason about the game as a state machine rather than as isolated contracts.
4
-
5
- ## Contract Roles
6
-
7
- - [`src/DefifaDeployer.sol`](../src/DefifaDeployer.sol) launches games, manages phase progression, fulfills commitments, and triggers safety exits such as no-contest.
8
- - [`src/DefifaHook.sol`](../src/DefifaHook.sol) manages the NFT game pieces, delegation, and settlement-side cash-out behavior.
9
- - [`src/DefifaGovernor.sol`](../src/DefifaGovernor.sol) handles scorecard submission, attestation, quorum, and ratification.
10
- - [`src/DefifaTokenUriResolver.sol`](../src/DefifaTokenUriResolver.sol) renders game-card metadata.
11
- - [`src/DefifaProjectOwner.sol`](../src/DefifaProjectOwner.sol) is the ownership helper for the fee project.
12
-
13
- ## Lifecycle
14
-
15
- 1. Countdown before minting opens.
16
- 2. Mint phase where players buy outcome NFTs and can delegate attestation power.
17
- 3. Optional refund phase if the launch configuration allows it.
18
- 4. Scoring phase where scorecards are submitted, attested, and ratified.
19
- 5. Complete or no-contest settlement depending on governance outcome and safety checks.
20
-
21
- ## High-Risk Areas
22
-
23
- - Scorecard ratification and quorum assumptions: changes here directly affect who can settle the pot.
24
- - No-contest and refund behavior: these paths are economic safety valves, not edge-case garnish.
25
- - Fee accounting and commitment fulfillment: payout ordering and accounting drift can change final redemption value.
26
- - Hook/governor/deployer coupling: many bugs come from changing one layer while assuming the others are passive.
27
- - Pending reserved supply and snapshot assumptions: settlement and quorum logic can drift if supply-sensitive views are taken at the wrong time.
28
- - Scorecards that miss quorum do not naturally “finish.” New scorecards can still be submitted until no-contest logic takes over, so do not assume a clean defeated terminal state.
29
-
30
- ## Common Misdiagnoses
31
-
32
- - A settlement bug is blamed on [`src/DefifaHook.sol`](../src/DefifaHook.sol) even though the wrong phase or grace-period state was created in [`src/DefifaDeployer.sol`](../src/DefifaDeployer.sol) or [`src/DefifaGovernor.sol`](../src/DefifaGovernor.sol).
33
- - A governance bug is blamed on the governor even though attestation power or delegation semantics were wrong in the hook layer.
34
- - An NFT-facing bug is blamed on settlement code even though the problem is resolver output in [`src/DefifaTokenUriResolver.sol`](../src/DefifaTokenUriResolver.sol).
35
- - A Defifa-specific payout result is patched in this repo when the real bug is shared 721 or core protocol behavior upstream.
36
-
37
- ## Tests To Trust First
38
-
39
- - [`test/DefifaGovernor.t.sol`](../test/DefifaGovernor.t.sol) for governance flow.
40
- - [`test/DefifaNoContest.t.sol`](../test/DefifaNoContest.t.sol) for safety exits.
41
- - [`test/DefifaFeeAccounting.t.sol`](../test/DefifaFeeAccounting.t.sol) and [`test/DefifaMintCostInvariant.t.sol`](../test/DefifaMintCostInvariant.t.sol) for economic correctness.
42
- - [`test/DefifaHookRegressions.t.sol`](../test/DefifaHookRegressions.t.sol), [`test/regression/GracePeriodBypass.t.sol`](../test/regression/GracePeriodBypass.t.sol), [`test/regression/FulfillmentBlocksRatification.t.sol`](../test/regression/FulfillmentBlocksRatification.t.sol), and [`test/regression/AttestationDelegateBeneficiary.t.sol`](../test/regression/AttestationDelegateBeneficiary.t.sol) for pinned regressions.
43
- - [`test/DefifaSecurity.t.sol`](../test/DefifaSecurity.t.sol), [`test/DefifaGovernanceHardening.t.sol`](../test/DefifaGovernanceHardening.t.sol), [`test/DefifaAdversarialQuorum.t.sol`](../test/DefifaAdversarialQuorum.t.sol), and [`test/audit/`](../test/audit/) for adversarial and audit-derived cases.
@@ -1,10 +0,0 @@
1
- {
2
- "detectors_to_exclude": "timestamp,uninitialized-local,naming-convention,solc-version,shadowing-local",
3
- "exclude_informational": true,
4
- "exclude_low": false,
5
- "exclude_medium": false,
6
- "exclude_high": false,
7
- "disable_color": false,
8
- "filter_paths": "(mocks/|test/|node_modules/|lib/)",
9
- "legacy_ast": false
10
- }
package/sphinx.lock DELETED
@@ -1,521 +0,0 @@
1
- {
2
- "warning": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
3
- "format": "sphinx-lock-1.0.0",
4
- "orgId": "ea165b21-7cdc-4d7b-be59-ecdd4c26bee4",
5
- "projects": {
6
- "nana-fee-project": {
7
- "projectId": "8420d3da-9977-4908-be04-d600a090744d",
8
- "projectName": "nana-fee-project",
9
- "defaultSafe": {
10
- "safeName": "nana-core",
11
- "owners": [
12
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
13
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
14
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
15
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
16
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
17
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
18
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
19
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
20
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
21
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
22
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
23
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
24
- "0xCa81360a91504500674E926b1b301165b2CA9807",
25
- "0xD78285eef93E13D1F96062265b68099C480121b8",
26
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
27
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
28
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
29
- ],
30
- "threshold": "9",
31
- "saltNonce": "0"
32
- }
33
- },
34
- "banny-core-v5": {
35
- "projectId": "47a1f9c8-f418-4907-8402-bfc456ada246",
36
- "projectName": "banny-core-v5",
37
- "defaultSafe": {
38
- "safeName": "banny-core",
39
- "owners": [
40
- "0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
41
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
42
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
43
- "0xCa81360a91504500674E926b1b301165b2CA9807",
44
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1"
45
- ],
46
- "threshold": "2",
47
- "saltNonce": "0"
48
- }
49
- },
50
- "nana-buyback-hook": {
51
- "projectId": "f348713c-83c9-4a85-9b34-acce562d5593",
52
- "projectName": "nana-buyback-hook",
53
- "defaultSafe": {
54
- "safeName": "nana-core-small",
55
- "owners": [
56
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
57
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
58
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
59
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
60
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
61
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
62
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
63
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
64
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
65
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
66
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
67
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
68
- "0xCa81360a91504500674E926b1b301165b2CA9807",
69
- "0xD78285eef93E13D1F96062265b68099C480121b8",
70
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
71
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
72
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
73
- ],
74
- "threshold": "5",
75
- "saltNonce": "0"
76
- }
77
- },
78
- "nana-address-registry-v5": {
79
- "projectId": "cc6ec42f-5bb5-451a-a66a-928fd3231d2f",
80
- "projectName": "nana-address-registry-v5",
81
- "defaultSafe": {
82
- "safeName": "nana-core-v5",
83
- "owners": [
84
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
85
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
86
- "0xCa81360a91504500674E926b1b301165b2CA9807",
87
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
88
- ],
89
- "threshold": "2",
90
- "saltNonce": "0"
91
- }
92
- },
93
- "nana-project-handles-v5": {
94
- "projectId": "8795935f-e0ba-4b84-9ec2-44315fbdf4d8",
95
- "projectName": "nana-project-handles-v5",
96
- "defaultSafe": {
97
- "safeName": "nana-core-v5",
98
- "owners": [
99
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
100
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
101
- "0xCa81360a91504500674E926b1b301165b2CA9807",
102
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
103
- ],
104
- "threshold": "2",
105
- "saltNonce": "0"
106
- }
107
- },
108
- "revnet-core": {
109
- "projectId": "ff72a6d2-9324-49ef-a415-57e253550e9e",
110
- "projectName": "revnet-core",
111
- "defaultSafe": {
112
- "safeName": "revnet",
113
- "owners": [
114
- "0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
115
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
116
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
117
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
118
- "0xCa81360a91504500674E926b1b301165b2CA9807",
119
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
120
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
121
- ],
122
- "threshold": "3",
123
- "saltNonce": "0"
124
- }
125
- },
126
- "nana-core": {
127
- "projectId": "290d6007-345d-4bcc-af08-5e5a26ca2dc5",
128
- "projectName": "nana-core",
129
- "defaultSafe": {
130
- "safeName": "nana-core",
131
- "owners": [
132
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
133
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
134
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
135
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
136
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
137
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
138
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
139
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
140
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
141
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
142
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
143
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
144
- "0xCa81360a91504500674E926b1b301165b2CA9807",
145
- "0xD78285eef93E13D1F96062265b68099C480121b8",
146
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
147
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
148
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
149
- ],
150
- "threshold": "9",
151
- "saltNonce": "0"
152
- }
153
- },
154
- "revnet-core-v5": {
155
- "projectId": "cf581f7f-8bab-4773-b1bf-6389b6891056",
156
- "projectName": "revnet-core-v5",
157
- "defaultSafe": {
158
- "safeName": "revnet",
159
- "owners": [
160
- "0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
161
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
162
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
163
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
164
- "0xCa81360a91504500674E926b1b301165b2CA9807",
165
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
166
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
167
- ],
168
- "threshold": "3",
169
- "saltNonce": "0"
170
- }
171
- },
172
- "croptop-core-v5": {
173
- "projectId": "c98d4514-1c9c-4ae5-a31f-8bf705c01fb1",
174
- "projectName": "croptop-core-v5",
175
- "defaultSafe": {
176
- "safeName": "croptop",
177
- "owners": [
178
- "0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
179
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
180
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
181
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
182
- "0xCa81360a91504500674E926b1b301165b2CA9807"
183
- ],
184
- "threshold": "2",
185
- "saltNonce": "0"
186
- }
187
- },
188
- "nana-address-registry": {
189
- "projectId": "b1c7e214-2927-4042-a3c9-d5751940ce28",
190
- "projectName": "nana-address-registry",
191
- "defaultSafe": {
192
- "safeName": "nana-core",
193
- "owners": [
194
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
195
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
196
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
197
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
198
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
199
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
200
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
201
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
202
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
203
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
204
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
205
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
206
- "0xCa81360a91504500674E926b1b301165b2CA9807",
207
- "0xD78285eef93E13D1F96062265b68099C480121b8",
208
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
209
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
210
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
211
- ],
212
- "threshold": "9",
213
- "saltNonce": "0"
214
- }
215
- },
216
- "nana-core-v5": {
217
- "projectId": "43d1f453-3129-4383-a056-d1da4f3b1ee8",
218
- "projectName": "nana-core-v5",
219
- "defaultSafe": {
220
- "safeName": "nana-core-v5",
221
- "owners": [
222
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
223
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
224
- "0xCa81360a91504500674E926b1b301165b2CA9807",
225
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
226
- ],
227
- "threshold": "2",
228
- "saltNonce": "0"
229
- }
230
- },
231
- "nana-721-hook": {
232
- "projectId": "67cfcad1-d38b-4b4d-b137-a24797c31991",
233
- "projectName": "nana-721-hook",
234
- "defaultSafe": {
235
- "safeName": "nana-core",
236
- "owners": [
237
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
238
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
239
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
240
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
241
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
242
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
243
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
244
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
245
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
246
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
247
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
248
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
249
- "0xCa81360a91504500674E926b1b301165b2CA9807",
250
- "0xD78285eef93E13D1F96062265b68099C480121b8",
251
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
252
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
253
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
254
- ],
255
- "threshold": "9",
256
- "saltNonce": "0"
257
- }
258
- },
259
- "banny-core": {
260
- "projectId": "26678812-e6ca-443d-a5e0-7b62fcdd455f",
261
- "projectName": "banny-core",
262
- "defaultSafe": {
263
- "safeName": "banny-core",
264
- "owners": [
265
- "0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
266
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
267
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
268
- "0xCa81360a91504500674E926b1b301165b2CA9807",
269
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1"
270
- ],
271
- "threshold": "2",
272
- "saltNonce": "0"
273
- }
274
- },
275
- "nana-suckers-v5": {
276
- "projectId": "55b45d45-a209-4197-83e1-aa096e19ddbc",
277
- "projectName": "nana-suckers-v5",
278
- "defaultSafe": {
279
- "safeName": "nana-core-v5",
280
- "owners": [
281
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
282
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
283
- "0xCa81360a91504500674E926b1b301165b2CA9807",
284
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
285
- ],
286
- "threshold": "2",
287
- "saltNonce": "0"
288
- }
289
- },
290
- "nana-omnichain-deployers-v5": {
291
- "projectId": "85f08b91-0786-425c-a5bc-4e31a2fbedaa",
292
- "projectName": "nana-omnichain-deployers-v5",
293
- "defaultSafe": {
294
- "safeName": "nana-core-v5",
295
- "owners": [
296
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
297
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
298
- "0xCa81360a91504500674E926b1b301165b2CA9807",
299
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
300
- ],
301
- "threshold": "2",
302
- "saltNonce": "0"
303
- }
304
- },
305
- "defifa-v5": {
306
- "projectId": "f9a87629-200a-4919-859d-eb64f4e3fa89",
307
- "projectName": "defifa-v5",
308
- "defaultSafe": {
309
- "safeName": "defifa",
310
- "owners": [
311
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
312
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
313
- "0xCa81360a91504500674E926b1b301165b2CA9807"
314
- ],
315
- "threshold": "2",
316
- "saltNonce": "0"
317
- }
318
- },
319
- "nana-swap-terminal": {
320
- "projectId": "a804c33d-fd0c-4dea-930b-ab72fec9f557",
321
- "projectName": "nana-swap-terminal",
322
- "defaultSafe": {
323
- "safeName": "nana-core-small",
324
- "owners": [
325
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
326
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
327
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
328
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
329
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
330
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
331
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
332
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
333
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
334
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
335
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
336
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
337
- "0xCa81360a91504500674E926b1b301165b2CA9807",
338
- "0xD78285eef93E13D1F96062265b68099C480121b8",
339
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
340
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
341
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
342
- ],
343
- "threshold": "5",
344
- "saltNonce": "0"
345
- }
346
- },
347
- "croptop-core": {
348
- "projectId": "0c213583-47a4-4212-a7cb-b2c0cfdcdac4",
349
- "projectName": "croptop-core",
350
- "defaultSafe": {
351
- "safeName": "croptop",
352
- "owners": [
353
- "0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
354
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
355
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
356
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
357
- "0xCa81360a91504500674E926b1b301165b2CA9807"
358
- ],
359
- "threshold": "2",
360
- "saltNonce": "0"
361
- }
362
- },
363
- "nana-721-hook-v5": {
364
- "projectId": "b29a3b81-3722-40ad-b831-66472be6d6a8",
365
- "projectName": "nana-721-hook-v5",
366
- "defaultSafe": {
367
- "safeName": "nana-core-v5",
368
- "owners": [
369
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
370
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
371
- "0xCa81360a91504500674E926b1b301165b2CA9807",
372
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
373
- ],
374
- "threshold": "2",
375
- "saltNonce": "0"
376
- }
377
- },
378
- "nana-buyback-hook-v5": {
379
- "projectId": "cf0b6f77-d870-4ccf-bbdc-6b22dceb11b6",
380
- "projectName": "nana-buyback-hook-v5",
381
- "defaultSafe": {
382
- "safeName": "nana-core-v5",
383
- "owners": [
384
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
385
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
386
- "0xCa81360a91504500674E926b1b301165b2CA9807",
387
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
388
- ],
389
- "threshold": "2",
390
- "saltNonce": "0"
391
- }
392
- },
393
- "nana-periphery": {
394
- "projectId": "0de1ae41-0a43-4bc3-8eec-208718afaa51",
395
- "projectName": "nana-periphery",
396
- "defaultSafe": {
397
- "safeName": "nana-core",
398
- "owners": [
399
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
400
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
401
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
402
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
403
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
404
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
405
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
406
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
407
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
408
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
409
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
410
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
411
- "0xCa81360a91504500674E926b1b301165b2CA9807",
412
- "0xD78285eef93E13D1F96062265b68099C480121b8",
413
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
414
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
415
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
416
- ],
417
- "threshold": "9",
418
- "saltNonce": "0"
419
- }
420
- },
421
- "nana-project-handles": {
422
- "projectId": "67c86da0-a089-4b0f-a04d-4dffda844ff9",
423
- "projectName": "nana-project-handles",
424
- "defaultSafe": {
425
- "safeName": "nana-core-small",
426
- "owners": [
427
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
428
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
429
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
430
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
431
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
432
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
433
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
434
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
435
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
436
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
437
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
438
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
439
- "0xCa81360a91504500674E926b1b301165b2CA9807",
440
- "0xD78285eef93E13D1F96062265b68099C480121b8",
441
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
442
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
443
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
444
- ],
445
- "threshold": "5",
446
- "saltNonce": "0"
447
- }
448
- },
449
- "nana-omnichain-deployers": {
450
- "projectId": "4c8b18a7-99c8-431a-b575-e6817503fbd2",
451
- "projectName": "nana-omnichain-deployers",
452
- "defaultSafe": {
453
- "safeName": "nana-core-small",
454
- "owners": [
455
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
456
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
457
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
458
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
459
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
460
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
461
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
462
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
463
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
464
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
465
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
466
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
467
- "0xCa81360a91504500674E926b1b301165b2CA9807",
468
- "0xD78285eef93E13D1F96062265b68099C480121b8",
469
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
470
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
471
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
472
- ],
473
- "threshold": "5",
474
- "saltNonce": "0"
475
- }
476
- },
477
- "nana-suckers": {
478
- "projectId": "1b040a9e-0764-4173-880e-b5ebf312bc44",
479
- "projectName": "nana-suckers",
480
- "defaultSafe": {
481
- "safeName": "nana-core",
482
- "owners": [
483
- "0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
484
- "0x34aA3F359A9D614239015126635CE7732c18fDF3",
485
- "0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
486
- "0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
487
- "0x63A2368F4B509438ca90186cb1C15156713D5834",
488
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
489
- "0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
490
- "0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
491
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
492
- "0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
493
- "0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
494
- "0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
495
- "0xCa81360a91504500674E926b1b301165b2CA9807",
496
- "0xD78285eef93E13D1F96062265b68099C480121b8",
497
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651",
498
- "0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
499
- "0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
500
- ],
501
- "threshold": "9",
502
- "saltNonce": "0"
503
- }
504
- },
505
- "nana-swap-terminal-v5": {
506
- "projectId": "b476ccb3-4857-4d11-87cf-9b5cb3ac27c2",
507
- "projectName": "nana-swap-terminal-v5",
508
- "defaultSafe": {
509
- "safeName": "nana-core-v5",
510
- "owners": [
511
- "0x6849310926127F819d48894DeA667f3ECD18a07c",
512
- "0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
513
- "0xCa81360a91504500674E926b1b301165b2CA9807",
514
- "0xDc6Dd6Bc601448541A4862a91De1B86291839651"
515
- ],
516
- "threshold": "2",
517
- "saltNonce": "0"
518
- }
519
- }
520
- }
521
- }