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
feat: changes the data structure of operations and it's use in proposals (#140)
This is a large change that changes the data structure of operations.
The current implementation promotes confusion with the usage of terms
operations and transactions. This change aims to make the codebase more
readable and maintainable, and provide a clear distinction between
operations and transactions.
Operations are now a separate entity from transactions. Operations are
defined as a piece of work that the MCMS can execute, while transactions
are the low level chain specific data structure that the MCMS can hash,
sign and execute on chain.
Chain Metadata is shared across all proposal types and contains the information that allow transactions to be hashed and executed for it's respective chain. It is a map of chain-specific configuration for each blockchain involved in the proposal. The key of the object is the chain selector ID, and the value is the metadata object. An entry is required for every chain referenced in the proposal's operations.
4
+
5
+
<!-- panels:start -->
6
+
<!-- div:left-panel -->
7
+
### Chain Metadata Structure
8
+
9
+
```json
10
+
{
11
+
"16015286601757825753": {
12
+
"startingOpCount": 1,
13
+
"mcmAddress": "0x0"
14
+
}
15
+
}
16
+
```
17
+
18
+
<!-- div:right-panel -->
19
+
20
+
### Chain Selector ID
21
+
22
+
**Key** uint64<br/>
23
+
The chain selector ID matching the chain based on the [Chain Selectors](https://github.com/smartcontractkit/chain-selectors) library.
24
+
25
+
### Metadata Object
26
+
27
+
**startingOpCount** uint64<br/>
28
+
The starting operation count, typically used for parallel signing processes.
29
+
30
+
---
31
+
32
+
**mcmAddress** string<br/>
33
+
The MCM contract address that will process this proposal on the respective chain.
0 commit comments