Skip to content

Commit

Permalink
updated readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas Wiesner authored and Thomas Wiesner committed Aug 26, 2022
1 parent 0d10369 commit 6ba7c80
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 5 deletions.
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,34 @@ There are two versions of the smart contracts:

Initially MorpherProtocol was written in a non-proxy way using Solidity 0.5 and the Eternal Storage Pattern.

Contracts are residing on [the nonproxy-master Branch](/Morpher-io/MorpherProtocol/tree/dev)
Contracts are residing on [the nonproxy-master Branch](/Morpher-io/MorpherProtocol/tree/unproxied-contracts).

Updates are barely possible, that's also why the deployments are not managed through truffle artifacts. Addresses are stored in [addressesAndRoles.json](./docs/addressesAndRoles.json).

## Proxied Contracts

Q1/2022 the Contracts were updated to support the following things:

1. Proxied through transparent proxies for updating the contract logic

* No more Eternal Storage Pattern.
* Contract storage is now used directly.
* Lowered Gas costs and made maintenance easier
* MorpherState now holds only a Pointer to the Contracts in the Ecosystem, instead of the Storage.

2. Advanced Roles and Access Lists instead of a simple Ownable

* Allows for more fine-grained access control
* State having Administrators and Owner roles are not managed through [OpenZeppelin Access Control](https://docs.openzeppelin.com/contracts/4.x/access-control)

3. Usage of Foundry over Truffle for Unit-Testing

* Usage for Foundry over Truffle for Tests
* Still maintain the migration functionality from Truffle
* Run Truffle and Foundry in Parallel

The Proxied Contracts can be found in [the proxy-master Branch](/Morpher-io/MorpherProtocol/tree/proxied-contracts)

# Contracts

## Interfaces
Expand Down
14 changes: 10 additions & 4 deletions docs/addressesAndRoles.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,13 @@
"address": "0x62e26AB4444E24E42e63A0857bF56Ea1c70AAEc8"
},
"MorpherBridge": {
"address": "0xa937787581b17236f3efb2618c38270baac685ba"
"address": "0x005cb9Ad7C713bfF25ED07F3d9e1C3945e543cd5",
"oldAddresses": [
{
"address": "0xa937787581b17236f3efb2618c38270baac685ba",
"replacedOn": "20220627"
}
]
},
"MorpherGovernance": {
"address": "0x51c5cE7C4926D5cA74f4824e11a062f1Ef491762"
Expand All @@ -120,9 +126,9 @@
"administrator": "0xB59b29423e5Aa1E0E2cB8966DC14e553E580314D",
"airdropAdministrator": "0x831A893730701D2a2865542b71b847f8259F797f",
"sidechainOperator": "0x70Dcdb66E128738189012dee12d7e13b377A1D3B",
"callbackAddress1": "0x4caD8E39530f2c356BFdB1C42605a7eEDC4b253F",
"callbackAddress2": "0x5120219c545cFCC1f63ef1aC5f4777B92D93790f",
"callbackAddress3": "0x6cf9aE55ba941AdD181A7c5b51f99733F2BeD7D0"
"callbackAddress1": "0xccccc0405e2ea54ca901f929965227c50235d87b",
"callbackAddress2": "0xcccc18fc4663510ce02f77f302cac00fc5f87153",
"callbackAddress3": "0xcccc2709f13f5d738c2f906c997d103198893dc8"
},
"accounts": {
"gasCollectionAddress": "0x4caD8E39530f2c356BFdB1C42605a7eEDC4b253F",
Expand Down

0 comments on commit 6ba7c80

Please sign in to comment.