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
fix: bind changesets and proposal operations using changeset uuids (#919)
Change how we associate proposal operations and changesets. Previously
we relied on the "operation id"s, which had recently been added to the
proposal's operation types. However, that change had to be reverted and
the latest release of mcms no longer contains the operation id
attributes.
As an alternative, we now reverse the association by assigning a unique
(uu)id to each changeset, and then add a tag to the operations that were
generated by the changeset:
```json
{
...
"metadata": {
"changesets": [{
"id": "c00e5d67-c275-4389-aded-7d8b151cbd5b",
"name": "my_changeset",
"input": {
"payload": {
"key": "value"
}
}
}]
},
"operations": [{
"chainSelector": 12345678901234567890,
"transactions": [{
"to": "0x02",
"data": "",
"additionalFields": { "value": 0 },
"contractType": "",
"tags": [ "changeset:c00e5d67-c275-4389-aded-7d8b151cbd5b" ]
}]
}]
}
```
This pull-request also applies a couple of change requests from CCIP
after initial tests with the proposal hooks API:
1. return a failure in fork tests and the "mcms hooks" command when a
hook with failure policy set as "abort" returns an error
2. expose an new interface in the ProposalHookEnv (`ForkContext`) and a
corresponding implementation for EVM (`EVMForkContext`) which allows
hooks to identify that they're running inside a "forked environment" and
gives them the configuration so that they can directly access it (e.g.,
the URL of the RPC spawned by the anvil container).
---
OPT-467
0 commit comments