@croptop/core-v6 0.0.37 → 0.0.39
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.
- package/README.md +2 -2
- package/foundry.toml +2 -1
- package/package.json +25 -13
- package/script/ConfigureFeeProject.s.sol +8 -5
- package/src/CTDeployer.sol +52 -51
- package/src/CTPublisher.sol +20 -5
- package/src/interfaces/ICTDeployer.sol +2 -2
- package/ADMINISTRATION.md +0 -94
- package/ARCHITECTURE.md +0 -96
- package/AUDIT_INSTRUCTIONS.md +0 -88
- package/RISKS.md +0 -78
- package/SKILLS.md +0 -46
- package/STYLE_GUIDE.md +0 -610
- package/USER_JOURNEYS.md +0 -134
- package/foundry.lock +0 -11
- package/slither-ci.config.json +0 -10
- package/sphinx.lock +0 -507
- package/test/CTDeployer.t.sol +0 -616
- package/test/CTProjectOwner.t.sol +0 -185
- package/test/CTPublisher.t.sol +0 -869
- package/test/ClaimCollectionOwnership.t.sol +0 -315
- package/test/CroptopAttacks.t.sol +0 -437
- package/test/Fork.t.sol +0 -227
- package/test/TestAuditGaps.sol +0 -696
- package/test/Test_MetadataGeneration.t.sol +0 -79
- package/test/audit/CodexNemesisCroptopPublisherBoundary.t.sol +0 -329
- package/test/audit/CodexNemesisCurrencyPoCs.t.sol +0 -371
- package/test/audit/CodexNemesisFreshRound.t.sol +0 -395
- package/test/audit/CodexNemesisMetadataShadow.t.sol +0 -203
- package/test/audit/CodexNemesisPoCs.t.sol +0 -263
- package/test/audit/CodexNemesisPolicyReuse.t.sol +0 -168
- package/test/audit/CodexNemesisUriDrift.t.sol +0 -252
- package/test/audit/DeployerPermissionBypass.t.sol +0 -213
- package/test/audit/EmptyPostFeeBypass.t.sol +0 -53
- package/test/audit/FeeBeneficiaryReentrancy.t.sol +0 -247
- package/test/audit/FeeFallbackBlackhole.t.sol +0 -263
- package/test/fork/PublishFork.t.sol +0 -440
- package/test/regression/DuplicateUriFeeEvasion.t.sol +0 -312
- package/test/regression/FeeEvasion.t.sol +0 -286
- package/test/regression/StaleTierIdMapping.t.sol +0 -218
package/USER_JOURNEYS.md
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
# User Journeys
|
|
2
|
-
|
|
3
|
-
## Repo Purpose
|
|
4
|
-
|
|
5
|
-
This repo turns a Juicebox 721 project into a permissioned publishing system. It owns post validation, Croptop fee routing, and the deployment packaging that turns a project into a Croptop-managed publisher. It does not own base terminal accounting or the underlying 721 tier mechanics.
|
|
6
|
-
|
|
7
|
-
## Primary Actors
|
|
8
|
-
|
|
9
|
-
- project owners creating a Croptop publishing surface
|
|
10
|
-
- publishers minting posts into an existing Croptop project
|
|
11
|
-
- auditors reviewing fee routing, posting policy, and owner-lock semantics
|
|
12
|
-
|
|
13
|
-
## Key Surfaces
|
|
14
|
-
|
|
15
|
-
- `CTPublisher`: validates posts, adjusts tiers, mints the first copy, and routes Croptop fees
|
|
16
|
-
- `CTDeployer`: launches a Croptop-shaped project and can compose omnichain deployment
|
|
17
|
-
- `CTProjectOwner`: owner helper that can burn-lock administration into Croptop
|
|
18
|
-
- `mintFrom(...)`: main publishing entrypoint
|
|
19
|
-
|
|
20
|
-
## Journey 1: Turn A Project Into A Croptop Publisher
|
|
21
|
-
|
|
22
|
-
**Actor:** project owner.
|
|
23
|
-
|
|
24
|
-
**Intent:** install Croptop publishing policy on a project.
|
|
25
|
-
|
|
26
|
-
**Preconditions**
|
|
27
|
-
|
|
28
|
-
- the project already exists or will be launched through `CTDeployer`
|
|
29
|
-
- the owner has chosen category rules and the expected 721 hook shape
|
|
30
|
-
|
|
31
|
-
**Main Flow**
|
|
32
|
-
|
|
33
|
-
1. Configure category-level constraints such as price floor, supply, splits, and allowlists.
|
|
34
|
-
2. Install or verify the expected 721 hook setup.
|
|
35
|
-
3. Route publishing through Croptop so future posts are policy-checked instead of free-form tier edits.
|
|
36
|
-
|
|
37
|
-
**Failure Modes**
|
|
38
|
-
|
|
39
|
-
- category rules do not match the intended publishing product
|
|
40
|
-
- teams assume Croptop replaces the need to audit the underlying 721 hook
|
|
41
|
-
|
|
42
|
-
**Postconditions**
|
|
43
|
-
|
|
44
|
-
- the project now routes publishing through Croptop policy instead of direct free-form tier creation
|
|
45
|
-
|
|
46
|
-
## Journey 2: Publish Content Into An Existing Croptop Project
|
|
47
|
-
|
|
48
|
-
**Actor:** publisher.
|
|
49
|
-
|
|
50
|
-
**Intent:** publish one post into a Croptop project and mint the first copy.
|
|
51
|
-
|
|
52
|
-
**Preconditions**
|
|
53
|
-
|
|
54
|
-
- the post satisfies the target project's category policy
|
|
55
|
-
- the caller can receive ETH if the fee refund fallback is needed
|
|
56
|
-
- duplicate-content and stale-tier implications are understood
|
|
57
|
-
|
|
58
|
-
**Main Flow**
|
|
59
|
-
|
|
60
|
-
1. Call `mintFrom(...)` with the content URI and pricing data.
|
|
61
|
-
2. `CTPublisher` validates the post against category and fee policy.
|
|
62
|
-
3. It creates or reuses the underlying tier, mints the first copy, and routes project revenue plus the Croptop fee.
|
|
63
|
-
|
|
64
|
-
**Failure Modes**
|
|
65
|
-
|
|
66
|
-
- duplicate URIs or stale tier mappings
|
|
67
|
-
- publisher inputs satisfy the base 721 hook but violate Croptop's stricter rules
|
|
68
|
-
- the fee terminal rejects the fee payment and `_msgSender()` cannot receive the refund
|
|
69
|
-
|
|
70
|
-
**Postconditions**
|
|
71
|
-
|
|
72
|
-
- the post is minted or reused as a tier under Croptop policy and the fee path is accounted for
|
|
73
|
-
|
|
74
|
-
## Journey 3: Launch A New Croptop Project End To End
|
|
75
|
-
|
|
76
|
-
**Actor:** product team or deployer.
|
|
77
|
-
|
|
78
|
-
**Intent:** launch a project already wired for Croptop publishing.
|
|
79
|
-
|
|
80
|
-
**Preconditions**
|
|
81
|
-
|
|
82
|
-
- the team has project config, posting rules, and any omnichain requirements ready
|
|
83
|
-
- the correct `FEE_PROJECT_ID` is known
|
|
84
|
-
|
|
85
|
-
**Main Flow**
|
|
86
|
-
|
|
87
|
-
1. Use `CTDeployer` with project config, posting rules, and optional omnichain config.
|
|
88
|
-
2. The deployer launches the project, configures Croptop ownership assumptions, and wires publisher behavior.
|
|
89
|
-
3. The resulting project is ready for publishers without a manual post-launch setup gap.
|
|
90
|
-
|
|
91
|
-
**Failure Modes**
|
|
92
|
-
|
|
93
|
-
- the fee project is misconfigured or omitted
|
|
94
|
-
- teams treat `CTDeployer` as packaging only and miss its policy implications
|
|
95
|
-
|
|
96
|
-
**Postconditions**
|
|
97
|
-
|
|
98
|
-
- the project is ready for Croptop publishers without a post-launch wiring gap
|
|
99
|
-
|
|
100
|
-
## Journey 4: Lock Administration Into Croptop's Owner Surface
|
|
101
|
-
|
|
102
|
-
**Actor:** project owner.
|
|
103
|
-
|
|
104
|
-
**Intent:** keep governance inside Croptop's constrained owner surface.
|
|
105
|
-
|
|
106
|
-
**Preconditions**
|
|
107
|
-
|
|
108
|
-
- the owner wants irreversible product-shaping constraints, not ordinary owner flexibility
|
|
109
|
-
|
|
110
|
-
**Main Flow**
|
|
111
|
-
|
|
112
|
-
1. Transfer or configure ownership so `CTProjectOwner` controls the relevant admin surface.
|
|
113
|
-
2. Restrict future edits to the paths Croptop intentionally exposes.
|
|
114
|
-
3. Accept that this is an ownership-model decision, not cosmetic packaging.
|
|
115
|
-
|
|
116
|
-
**Failure Modes**
|
|
117
|
-
|
|
118
|
-
- teams burn-lock before validating the publishing policy in production-like conditions
|
|
119
|
-
- reviewers miss that prior owner discretion no longer exists directly
|
|
120
|
-
|
|
121
|
-
**Postconditions**
|
|
122
|
-
|
|
123
|
-
- future administration is constrained to the Croptop owner surface instead of ordinary owner discretion
|
|
124
|
-
|
|
125
|
-
## Trust Boundaries
|
|
126
|
-
|
|
127
|
-
- this repo is trusted for publishing policy and fee routing
|
|
128
|
-
- the underlying 721 hook remains trusted for tier issuance and lower-level NFT accounting
|
|
129
|
-
- Croptop fee behavior depends on the fee project and its terminal remaining correctly configured
|
|
130
|
-
|
|
131
|
-
## Hand-Offs
|
|
132
|
-
|
|
133
|
-
- Use [nana-721-hook-v6](../nana-721-hook-v6/USER_JOURNEYS.md) for the underlying tier issuance behavior Croptop wraps.
|
|
134
|
-
- Use [nana-core-v6](../nana-core-v6/USER_JOURNEYS.md) when the question is about base project accounting rather than post validation or fee routing.
|
package/foundry.lock
DELETED
package/slither-ci.config.json
DELETED
|
@@ -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,507 +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-buyback-hook": {
|
|
7
|
-
"projectId": "f348713c-83c9-4a85-9b34-acce562d5593",
|
|
8
|
-
"projectName": "nana-buyback-hook",
|
|
9
|
-
"defaultSafe": {
|
|
10
|
-
"safeName": "nana-core-small",
|
|
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": "5",
|
|
31
|
-
"saltNonce": "0"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"nana-fee-project": {
|
|
35
|
-
"projectId": "8420d3da-9977-4908-be04-d600a090744d",
|
|
36
|
-
"projectName": "nana-fee-project",
|
|
37
|
-
"defaultSafe": {
|
|
38
|
-
"safeName": "nana-core",
|
|
39
|
-
"owners": [
|
|
40
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
41
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
42
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
43
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
44
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
45
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
46
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
47
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
48
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
49
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
50
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
51
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
52
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
53
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
54
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
55
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
56
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
57
|
-
],
|
|
58
|
-
"threshold": "9",
|
|
59
|
-
"saltNonce": "0"
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
"revnet-core": {
|
|
63
|
-
"projectId": "ff72a6d2-9324-49ef-a415-57e253550e9e",
|
|
64
|
-
"projectName": "revnet-core",
|
|
65
|
-
"defaultSafe": {
|
|
66
|
-
"safeName": "revnet",
|
|
67
|
-
"owners": [
|
|
68
|
-
"0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
|
|
69
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
70
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
71
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
72
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
73
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
74
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
75
|
-
],
|
|
76
|
-
"threshold": "3",
|
|
77
|
-
"saltNonce": "0"
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
"nana-address-registry-v5": {
|
|
81
|
-
"projectId": "cc6ec42f-5bb5-451a-a66a-928fd3231d2f",
|
|
82
|
-
"projectName": "nana-address-registry-v5",
|
|
83
|
-
"defaultSafe": {
|
|
84
|
-
"safeName": "nana-core-v5",
|
|
85
|
-
"owners": [
|
|
86
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
87
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
88
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
89
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
90
|
-
],
|
|
91
|
-
"threshold": "2",
|
|
92
|
-
"saltNonce": "0"
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
"croptop-core-v5": {
|
|
96
|
-
"projectId": "c98d4514-1c9c-4ae5-a31f-8bf705c01fb1",
|
|
97
|
-
"projectName": "croptop-core-v5",
|
|
98
|
-
"defaultSafe": {
|
|
99
|
-
"safeName": "croptop",
|
|
100
|
-
"owners": [
|
|
101
|
-
"0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
|
|
102
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
103
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
104
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
105
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807"
|
|
106
|
-
],
|
|
107
|
-
"threshold": "2",
|
|
108
|
-
"saltNonce": "0"
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
"nana-721-hook-v5": {
|
|
112
|
-
"projectId": "b29a3b81-3722-40ad-b831-66472be6d6a8",
|
|
113
|
-
"projectName": "nana-721-hook-v5",
|
|
114
|
-
"defaultSafe": {
|
|
115
|
-
"safeName": "nana-core-v5",
|
|
116
|
-
"owners": [
|
|
117
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
118
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
119
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
120
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
121
|
-
],
|
|
122
|
-
"threshold": "2",
|
|
123
|
-
"saltNonce": "0"
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
"nana-buyback-hook-v5": {
|
|
127
|
-
"projectId": "cf0b6f77-d870-4ccf-bbdc-6b22dceb11b6",
|
|
128
|
-
"projectName": "nana-buyback-hook-v5",
|
|
129
|
-
"defaultSafe": {
|
|
130
|
-
"safeName": "nana-core-v5",
|
|
131
|
-
"owners": [
|
|
132
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
133
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
134
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
135
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
136
|
-
],
|
|
137
|
-
"threshold": "2",
|
|
138
|
-
"saltNonce": "0"
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
"nana-swap-terminal-v5": {
|
|
142
|
-
"projectId": "b476ccb3-4857-4d11-87cf-9b5cb3ac27c2",
|
|
143
|
-
"projectName": "nana-swap-terminal-v5",
|
|
144
|
-
"defaultSafe": {
|
|
145
|
-
"safeName": "nana-core-v5",
|
|
146
|
-
"owners": [
|
|
147
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
148
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
149
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
150
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
151
|
-
],
|
|
152
|
-
"threshold": "2",
|
|
153
|
-
"saltNonce": "0"
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
"nana-project-handles": {
|
|
157
|
-
"projectId": "67c86da0-a089-4b0f-a04d-4dffda844ff9",
|
|
158
|
-
"projectName": "nana-project-handles",
|
|
159
|
-
"defaultSafe": {
|
|
160
|
-
"safeName": "nana-core-small",
|
|
161
|
-
"owners": [
|
|
162
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
163
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
164
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
165
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
166
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
167
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
168
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
169
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
170
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
171
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
172
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
173
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
174
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
175
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
176
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
177
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
178
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
179
|
-
],
|
|
180
|
-
"threshold": "5",
|
|
181
|
-
"saltNonce": "0"
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
"banny-core": {
|
|
185
|
-
"projectId": "26678812-e6ca-443d-a5e0-7b62fcdd455f",
|
|
186
|
-
"projectName": "banny-core",
|
|
187
|
-
"defaultSafe": {
|
|
188
|
-
"safeName": "banny-core",
|
|
189
|
-
"owners": [
|
|
190
|
-
"0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
|
|
191
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
192
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
193
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
194
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1"
|
|
195
|
-
],
|
|
196
|
-
"threshold": "2",
|
|
197
|
-
"saltNonce": "0"
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
"nana-suckers-v5": {
|
|
201
|
-
"projectId": "55b45d45-a209-4197-83e1-aa096e19ddbc",
|
|
202
|
-
"projectName": "nana-suckers-v5",
|
|
203
|
-
"defaultSafe": {
|
|
204
|
-
"safeName": "nana-core-v5",
|
|
205
|
-
"owners": [
|
|
206
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
207
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
208
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
209
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
210
|
-
],
|
|
211
|
-
"threshold": "2",
|
|
212
|
-
"saltNonce": "0"
|
|
213
|
-
}
|
|
214
|
-
},
|
|
215
|
-
"croptop-core": {
|
|
216
|
-
"projectId": "0c213583-47a4-4212-a7cb-b2c0cfdcdac4",
|
|
217
|
-
"projectName": "croptop-core",
|
|
218
|
-
"defaultSafe": {
|
|
219
|
-
"safeName": "croptop",
|
|
220
|
-
"owners": [
|
|
221
|
-
"0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
|
|
222
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
223
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
224
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
225
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807"
|
|
226
|
-
],
|
|
227
|
-
"threshold": "2",
|
|
228
|
-
"saltNonce": "0"
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
"nana-address-registry": {
|
|
232
|
-
"projectId": "b1c7e214-2927-4042-a3c9-d5751940ce28",
|
|
233
|
-
"projectName": "nana-address-registry",
|
|
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
|
-
"nana-core": {
|
|
260
|
-
"projectId": "290d6007-345d-4bcc-af08-5e5a26ca2dc5",
|
|
261
|
-
"projectName": "nana-core",
|
|
262
|
-
"defaultSafe": {
|
|
263
|
-
"safeName": "nana-core",
|
|
264
|
-
"owners": [
|
|
265
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
266
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
267
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
268
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
269
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
270
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
271
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
272
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
273
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
274
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
275
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
276
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
277
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
278
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
279
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
280
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
281
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
282
|
-
],
|
|
283
|
-
"threshold": "9",
|
|
284
|
-
"saltNonce": "0"
|
|
285
|
-
}
|
|
286
|
-
},
|
|
287
|
-
"nana-suckers": {
|
|
288
|
-
"projectId": "1b040a9e-0764-4173-880e-b5ebf312bc44",
|
|
289
|
-
"projectName": "nana-suckers",
|
|
290
|
-
"defaultSafe": {
|
|
291
|
-
"safeName": "nana-core",
|
|
292
|
-
"owners": [
|
|
293
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
294
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
295
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
296
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
297
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
298
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
299
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
300
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
301
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
302
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
303
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
304
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
305
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
306
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
307
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
308
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
309
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
310
|
-
],
|
|
311
|
-
"threshold": "9",
|
|
312
|
-
"saltNonce": "0"
|
|
313
|
-
}
|
|
314
|
-
},
|
|
315
|
-
"nana-periphery": {
|
|
316
|
-
"projectId": "0de1ae41-0a43-4bc3-8eec-208718afaa51",
|
|
317
|
-
"projectName": "nana-periphery",
|
|
318
|
-
"defaultSafe": {
|
|
319
|
-
"safeName": "nana-core",
|
|
320
|
-
"owners": [
|
|
321
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
322
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
323
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
324
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
325
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
326
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
327
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
328
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
329
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
330
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
331
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
332
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
333
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
334
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
335
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
336
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
337
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
338
|
-
],
|
|
339
|
-
"threshold": "9",
|
|
340
|
-
"saltNonce": "0"
|
|
341
|
-
}
|
|
342
|
-
},
|
|
343
|
-
"nana-core-v5": {
|
|
344
|
-
"projectId": "43d1f453-3129-4383-a056-d1da4f3b1ee8",
|
|
345
|
-
"projectName": "nana-core-v5",
|
|
346
|
-
"defaultSafe": {
|
|
347
|
-
"safeName": "nana-core-v5",
|
|
348
|
-
"owners": [
|
|
349
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
350
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
351
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
352
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
353
|
-
],
|
|
354
|
-
"threshold": "2",
|
|
355
|
-
"saltNonce": "0"
|
|
356
|
-
}
|
|
357
|
-
},
|
|
358
|
-
"nana-swap-terminal": {
|
|
359
|
-
"projectId": "a804c33d-fd0c-4dea-930b-ab72fec9f557",
|
|
360
|
-
"projectName": "nana-swap-terminal",
|
|
361
|
-
"defaultSafe": {
|
|
362
|
-
"safeName": "nana-core-small",
|
|
363
|
-
"owners": [
|
|
364
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
365
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
366
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
367
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
368
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
369
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
370
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
371
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
372
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
373
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
374
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
375
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
376
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
377
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
378
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
379
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
380
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
381
|
-
],
|
|
382
|
-
"threshold": "5",
|
|
383
|
-
"saltNonce": "0"
|
|
384
|
-
}
|
|
385
|
-
},
|
|
386
|
-
"nana-omnichain-deployers": {
|
|
387
|
-
"projectId": "4c8b18a7-99c8-431a-b575-e6817503fbd2",
|
|
388
|
-
"projectName": "nana-omnichain-deployers",
|
|
389
|
-
"defaultSafe": {
|
|
390
|
-
"safeName": "nana-core-small",
|
|
391
|
-
"owners": [
|
|
392
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
393
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
394
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
395
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
396
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
397
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
398
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
399
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
400
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
401
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
402
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
403
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
404
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
405
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
406
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
407
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
408
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
409
|
-
],
|
|
410
|
-
"threshold": "5",
|
|
411
|
-
"saltNonce": "0"
|
|
412
|
-
}
|
|
413
|
-
},
|
|
414
|
-
"banny-core-v5": {
|
|
415
|
-
"projectId": "47a1f9c8-f418-4907-8402-bfc456ada246",
|
|
416
|
-
"projectName": "banny-core-v5",
|
|
417
|
-
"defaultSafe": {
|
|
418
|
-
"safeName": "banny-core",
|
|
419
|
-
"owners": [
|
|
420
|
-
"0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
|
|
421
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
422
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
423
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
424
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1"
|
|
425
|
-
],
|
|
426
|
-
"threshold": "2",
|
|
427
|
-
"saltNonce": "0"
|
|
428
|
-
}
|
|
429
|
-
},
|
|
430
|
-
"nana-project-handles-v5": {
|
|
431
|
-
"projectId": "8795935f-e0ba-4b84-9ec2-44315fbdf4d8",
|
|
432
|
-
"projectName": "nana-project-handles-v5",
|
|
433
|
-
"defaultSafe": {
|
|
434
|
-
"safeName": "nana-core-v5",
|
|
435
|
-
"owners": [
|
|
436
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
437
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
438
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
439
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
440
|
-
],
|
|
441
|
-
"threshold": "2",
|
|
442
|
-
"saltNonce": "0"
|
|
443
|
-
}
|
|
444
|
-
},
|
|
445
|
-
"revnet-core-v5": {
|
|
446
|
-
"projectId": "cf581f7f-8bab-4773-b1bf-6389b6891056",
|
|
447
|
-
"projectName": "revnet-core-v5",
|
|
448
|
-
"defaultSafe": {
|
|
449
|
-
"safeName": "revnet",
|
|
450
|
-
"owners": [
|
|
451
|
-
"0x14293560A2dde4fFA136A647b7a2f927b0774AB6",
|
|
452
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
453
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
454
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
455
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
456
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
457
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
458
|
-
],
|
|
459
|
-
"threshold": "3",
|
|
460
|
-
"saltNonce": "0"
|
|
461
|
-
}
|
|
462
|
-
},
|
|
463
|
-
"nana-omnichain-deployers-v5": {
|
|
464
|
-
"projectId": "85f08b91-0786-425c-a5bc-4e31a2fbedaa",
|
|
465
|
-
"projectName": "nana-omnichain-deployers-v5",
|
|
466
|
-
"defaultSafe": {
|
|
467
|
-
"safeName": "nana-core-v5",
|
|
468
|
-
"owners": [
|
|
469
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
470
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
471
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
472
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651"
|
|
473
|
-
],
|
|
474
|
-
"threshold": "2",
|
|
475
|
-
"saltNonce": "0"
|
|
476
|
-
}
|
|
477
|
-
},
|
|
478
|
-
"nana-721-hook": {
|
|
479
|
-
"projectId": "67cfcad1-d38b-4b4d-b137-a24797c31991",
|
|
480
|
-
"projectName": "nana-721-hook",
|
|
481
|
-
"defaultSafe": {
|
|
482
|
-
"safeName": "nana-core",
|
|
483
|
-
"owners": [
|
|
484
|
-
"0x1bb1e3F6818FeB7c1F1674e6E7D6c30BA2725643",
|
|
485
|
-
"0x34aA3F359A9D614239015126635CE7732c18fDF3",
|
|
486
|
-
"0x5a3f5ac3D6f1a0061D3bB91f38606F7103eCdBe8",
|
|
487
|
-
"0x5EE9F1cdD9588A3c800441CBd7A38Ffeff40cBc2",
|
|
488
|
-
"0x63A2368F4B509438ca90186cb1C15156713D5834",
|
|
489
|
-
"0x6849310926127F819d48894DeA667f3ECD18a07c",
|
|
490
|
-
"0x721b19e30EF791FF2A67FF4b375E591aAf84136B",
|
|
491
|
-
"0x73aEd5a32E898644Acb841C3Ac40663202CfD485",
|
|
492
|
-
"0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD",
|
|
493
|
-
"0x8d3CC5b1a5268Ff0C119c5c03252EB8c1bFEBbB2",
|
|
494
|
-
"0x99368d83F73b803Caf924956C5EE6E0b8f86Fb3B",
|
|
495
|
-
"0xc109636a2b47f8b290cc134dd446Fcd7d7e0cC94",
|
|
496
|
-
"0xCa81360a91504500674E926b1b301165b2CA9807",
|
|
497
|
-
"0xD78285eef93E13D1F96062265b68099C480121b8",
|
|
498
|
-
"0xDc6Dd6Bc601448541A4862a91De1B86291839651",
|
|
499
|
-
"0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1",
|
|
500
|
-
"0xf33CFe55655B0190eAF5aC2749F954c64E06d887"
|
|
501
|
-
],
|
|
502
|
-
"threshold": "9",
|
|
503
|
-
"saltNonce": "0"
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
}
|