You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Membership is a way to control who has access to your Catalog. The default implementation defines any address as a "member", which means anyone can register tracks in the Catalog. You can extend this logic to define your own rules such as NFT-gates, minimal ERC-20 balance amounts, or a generic whitelist. See Membership.sol in `./moda-contracts/src/Membership.sol`
23
+
Membership is a way to control who has access to your Registry. The default implementation defines any address as a "member", which means anyone can register tracks in the Catalog. You can extend this logic to define your own rules such as NFT-gates, minimal ERC-20 balance amounts, or a generic whitelist. See Membership.sol in `./contracts/src/Membership.sol`
Then look in the console for your Catalog address:
46
27
47
-
```
48
-
$ Your Catalog was deployed to:
49
-
$ <ADDRESS>
50
-
```
28
+
### Registry
51
29
52
-
##(Optional, but not recommended) Deploy Common-Good Contracts
30
+
#### Technical Overview
53
31
54
-
These contracts have already been deployed on Mumbai. It is recommended that you use the ones already deployed so that the creators can benefit, but if you need to change certain features you are free to redeploy these. If you would like these contracts on a particular chain please reach out to the team and we will help facilitate.
32
+
The Registry is an upgradeable contract and the only one in the protocol. It follows an Upgradeable Beacon pattern in which a Beacon contract containing the the implementation address is deployed and controlled by an Authorized account. Any proxy that is deployed will refer to this Beacon contract for the implementation address.
55
33
56
-
### Deploy Registry
57
-
`pnpm c:deploy_Registry --chain mumbai`
34
+
The Registry uses a Namespaced Storage Layout defined in [ERC-7201](https://eips.ethereum.org/EIPS/eip-7201)
58
35
59
-
### Deploy Profile
60
-
`pnpm c:deploy_Profile --chain mumbai`
36
+
The [Foundry Upgrades](https://docs.openzeppelin.com/upgrades-plugins/1.x/api-foundry-upgrades) library is used for ease of upgradeable contract deployment and customizable upgrade safety validations.
61
37
62
-
### Deploy Management
63
-
`pnpm c:deploy_Management --chain mumbai`
64
38
65
-
### Deploy Splits Factory
66
-
`pnpm c:deploy_SplitsFactory --chain mumbai`
67
39
68
-
### Deploy CatalogFactory
69
-
`pnpm c:deploy_CatalogFactory --chain mumbai`
70
40
71
-
### Register Contracts with Registry
72
-
`pnpm c:set_OfficialContracts --chain mumbai --sender <public address of who deployed the Registry>`
73
41
74
42
75
43
## Automatic track verification
@@ -88,7 +56,7 @@ All registered tracks have a status that is used to represent their authenticity
0 commit comments