UMAprotocol / protocol

UMA Protocol Running on Ethereum
https://uma.xyz
GNU Affero General Public License v3.0
363 stars 178 forks source link

Create smart contract release process #1860

Closed mrice32 closed 8 months ago

mrice32 commented 4 years ago

Why

We would like to have a consistent way for external developers to access contract ABIs and addresses as they are deployed on different networks.

How

Proposal:

This release process is mostly semantic, as it will be implemented using human judgement. However, this task tracks the addition of this to the README of the core package.

Resolution

A README outlining the release process in core.

Difficulty Score [1-10]

3: ~1 hour

mrice32 commented 4 years ago

Probably out of scope in the initial release process is curating a registry of deployed financial contracts of which there can be multiple, immutable deployments of the same contract type.

One proposed solution to that is having a mapping from ContractType X DeploymentName -> ABI X address to allow users to access them.

To actually implement something like that, here are some thoughts/options (although there are probably others!):

While this will be important down the road, the most of the asks from developers have originated from wanting to use our contracts on testnet and having easy access to the ABIs and singleton addresses there so they can deploy their own financial contracts. We also don't currently have any legacy financial contracts; even proposed updates to the EMP will not affect the ABI.