1
- # Notes on splitting token from base
1
+ # Notes on changes made in this integration branch
2
2
3
- ## MangerBase
3
+ ## Change that wasn't made
4
4
5
- ### Implements (Should it implement all these?)
5
+ It is unfortunate that ` token ` and ` mode ` exist in ` ManagerBase ` rather than ` NttManager ` .
6
+ I tried moving them, but that increases
6
7
7
- - IManagerBase,
8
- - TransceiverRegistry,
9
- - PausableOwnable,
10
- - ReentrancyGuardUpgradeable,
11
- - Implementation
8
+ ### Before we started
12
9
13
- ### Functionality Provided
10
+ ``` bash
11
+ evm (main)$ forge build --sizes --via-ir --skip test
14
12
15
- - Stores the following:
16
- - Transceiver registry
17
- - Thresholds
18
- - Attestations
19
- - Message sequence number
20
- - Has the following functionality:
21
- - ` quoteDeliveryPrice `
22
- - Record attestation
23
- - Send message
13
+ ╭-----------------------------------------+------------------+-------------------+--------------------+---------------------╮
14
+ | Contract | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) |
15
+ +===========================================================================================================================+
16
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
17
+ | NttManager | 24,066 | 25,673 | 510 | 23,479 |
18
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
19
+ | NttManagerNoRateLimiting | 17,141 | 18,557 | 7,435 | 30,595 |
20
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
24
21
25
- ### Simple Changes Made
22
+ ```
26
23
27
- - Moved the following from ` ManagerBase ` to `NttManager:
24
+ ### After moving token and mode
28
25
29
- - Token
30
- - Mode
31
- - ` _prepareForTransfer `
26
+ ``` bash
27
+ evm (main)$ forge build --sizes --via-ir --skip test
28
+
29
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
30
+ | NttManager | 24,066 | 25,676 | 510 | 23,476 |
31
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
32
+ | NttManagerNoRateLimiting | 18,788 | 20,281 | 5,788 | 28,871 |
33
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
32
34
33
- ### Possible Ideas
35
+ ```
34
36
35
- - Maybe we could [ like an external library ] ( https://book.getfoundry.sh/reference/forge/forge-create#linker-options ) for admin functionality .
37
+ Question: Why did ` NttManagerNoRateLimiting ` grow so much?? Because of this, I am not pursuing moving these fields at this time .
36
38
37
- ### Contract Sizes
39
+ ## Creating TransceiverRegistryAdmin
38
40
39
- #### Before we started
41
+ ### Before
40
42
41
43
``` bash
42
44
evm (main)$ forge build --sizes --via-ir --skip test
@@ -49,43 +51,27 @@ evm (main)$ forge build --sizes --via-ir --skip test
49
51
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
50
52
| NttManagerNoRateLimiting | 17,141 | 18,557 | 7,435 | 30,595 |
51
53
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
52
- | TestManager | 8,981 | 10,259 | 15,595 | 38,893 |
53
- | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
54
54
55
55
```
56
56
57
- - Note the ` TestManager ` just instantiates ` ManagerBase.sol ` .
58
-
59
- #### After simple changes
57
+ ### After
60
58
61
59
``` bash
62
60
evm (main)$ forge build --sizes --via-ir --skip test
63
61
64
62
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
65
- | NttManager | 24,066 | 25,676 | 510 | 23,476 |
66
- | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
67
- | NttManagerNoRateLimiting | 18,788 | 20,281 | 5,788 | 28,871 |
63
+ | NttManager | 23,220 | 26,937 | 1,356 | 22,215 |
68
64
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
69
- | TestManager | 8,368 | 9,511 | 16,208 | 39,641 |
65
+ | NttManagerNoRateLimiting | 16,254 | 19,713 | 8,322 | 29,439 |
70
66
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
71
67
72
68
```
73
69
74
- ```
75
- |-----------------------------------------+------------------+-------------------+--------------------+---------------------|
76
- | NttManager | 23,907 | 25,510 | 669 | 23,642 |
77
- |-----------------------------------------+------------------+-------------------+--------------------+---------------------|
78
- | NttManagerHelpersLib | 58 | 87 | 24,518 | 49,065 |
79
- |-----------------------------------------+------------------+-------------------+--------------------+---------------------|
80
- | NttManagerNoRateLimiting | 18,644 | 20,130 | 5,932 | 29,022 |
81
- |-----------------------------------------+------------------+-------------------+--------------------+---------------------|
82
- ```
83
-
84
- - Question: Why did ` NttManagerNoRateLimiting ` grow so much??
70
+ ## Creating MsgManagerBase
85
71
86
- #### Creating TransceiverRegistryAdmin
72
+ Note that this change is not dependent on ` TransceiverRegistryAdmin ` .
87
73
88
- #### Before
74
+ ### Before
89
75
90
76
``` bash
91
77
evm (main)$ forge build --sizes --via-ir --skip test
@@ -101,15 +87,19 @@ evm (main)$ forge build --sizes --via-ir --skip test
101
87
102
88
```
103
89
104
- #### After
90
+ ### After
105
91
106
92
``` bash
107
93
evm (main)$ forge build --sizes --via-ir --skip test
108
94
109
95
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
110
- | NttManager | 23,220 | 26,937 | 1,356 | 22,215 |
96
+ | NttManager | 24,076 | 25,719 | 500 | 23,433 |
111
97
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
112
- | NttManagerNoRateLimiting | 16,254 | 19,713 | 8,322 | 29,439 |
98
+ | NttManagerNoRateLimiting | 18,496 | 19,949 | 6,080 | 29,203 |
99
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
100
+ | MsgManager | 12,540 | 13,745 | 12,036 | 35,407 |
101
+ | -----------------------------------------+------------------+-------------------+--------------------+---------------------|
102
+ | MsgManagerWithExecutor | 13,145 | 14,400 | 11,431 | 34,752 |
113
103
| -----------------------------------------+------------------+-------------------+--------------------+---------------------|
114
104
115
105
```
0 commit comments