|
| 1 | +# Notes on changes made in this integration branch |
| 2 | + |
| 3 | +This file is meant to document the work in progress on this integration branch. It can probably be deleted (or the information moved some place better) before this PR is merged. |
| 4 | + |
| 5 | +This integration branch is PR #21. |
| 6 | + |
| 7 | +## Sub Branches |
| 8 | + |
| 9 | +Note that the indentation indicates branch dependencies. |
| 10 | + |
| 11 | +- **evm_TransceiverRegistry_split** (PR #22) - This branch splits transceiver admin into a separate contract. |
| 12 | + - **evm_per_chain_transceivers** (PR #26) - This branch adds per-chain transceiver support, should also add per-chain thresholds. |
| 13 | +- **evm/add_MsgManager** (PR #23) - Creates `MsgManagerBase` and `MsgManager` and makes `NttManager` inherit from `MsgManagerBase`. |
| 14 | + - **evm/add_SharedWormholeTransceiver** (PR #25) - Adds a shareable transceiver. |
| 15 | + |
| 16 | +## The change that wasn't made |
| 17 | + |
| 18 | +It is unfortunate that `token` and `mode` exist in `ManagerBase` rather than `NttManager`. |
| 19 | +I tried moving them, but that increases the size of `NttManagerNoRateLimiting` considerably. |
| 20 | +I'm not sure why that is, or how to avoid it, so I did not pursue that change at this time. |
| 21 | +However, some of the other changes also cause that increase, so maybe we can revist this. |
| 22 | + |
| 23 | +## Contract Sizes |
| 24 | + |
| 25 | +### Before we started |
| 26 | + |
| 27 | +```bash |
| 28 | +evm (main)$ forge build --sizes --via-ir --skip test |
| 29 | + |
| 30 | +╭-----------------------------------------+------------------+-------------------+--------------------+---------------------╮ |
| 31 | +| Contract | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) | |
| 32 | ++===========================================================================================================================+ |
| 33 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 34 | +| NttManager | 24,066 | 25,673 | 510 | 23,479 | |
| 35 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 36 | +| NttManagerNoRateLimiting | 17,141 | 18,557 | 7,435 | 30,595 | |
| 37 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 38 | + |
| 39 | +``` |
| 40 | + |
| 41 | +### After moving token and mode (the change that wasn't made) |
| 42 | + |
| 43 | +```bash |
| 44 | +evm (main)$ forge build --sizes --via-ir --skip test |
| 45 | + |
| 46 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 47 | +| NttManager | 24,066 | 25,676 | 510 | 23,476 | |
| 48 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 49 | +| NttManagerNoRateLimiting | 18,788 | 20,281 | 5,788 | 28,871 | |
| 50 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 51 | + |
| 52 | +``` |
| 53 | + |
| 54 | +## Creating TransceiverRegistryAdmin |
| 55 | + |
| 56 | +```bash |
| 57 | +evm (main)$ forge build --sizes --via-ir --skip test |
| 58 | + |
| 59 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 60 | +| NttManager | 23,220 | 26,937 | 1,356 | 22,215 | |
| 61 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 62 | +| NttManagerNoRateLimiting | 16,254 | 19,713 | 8,322 | 29,439 | |
| 63 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 64 | + |
| 65 | +``` |
| 66 | + |
| 67 | +## Creating MsgManagerBase |
| 68 | + |
| 69 | +```bash |
| 70 | +evm (main)$ forge build --sizes --via-ir --skip test |
| 71 | + |
| 72 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 73 | +| NttManager | 24,076 | 25,719 | 500 | 23,433 | |
| 74 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 75 | +| NttManagerNoRateLimiting | 18,496 | 19,949 | 6,080 | 29,203 | |
| 76 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 77 | +| MsgManager | 12,540 | 13,745 | 12,036 | 35,407 | |
| 78 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 79 | +| MsgManagerWithExecutor | 13,145 | 14,400 | 11,431 | 34,752 | |
| 80 | +|-----------------------------------------+------------------+-------------------+--------------------+---------------------| |
| 81 | + |
| 82 | +``` |
0 commit comments