@diamondslab/diamonds 1.0.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schemas/DeploymentSchema.d.ts +34 -248
- package/dist/schemas/DeploymentSchema.d.ts.map +1 -1
- package/package.json +4 -8
- package/docs/DIAMOND_ABI_CONFIGURATION_SUMMARY.md +0 -40
- package/docs/DIAMOND_ABI_GENERATION.md +0 -220
- package/docs/DIAMOND_ABI_GENERATOR_EXAMPLES.md +0 -1204
- package/docs/DIAMOND_ABI_GENERATOR_IMPLEMENTATION.md +0 -947
- package/docs/DIAMOND_ABI_GENERATOR_QUICK_REFERENCE.md +0 -336
- package/docs/README-DEFENDER.md +0 -394
- package/docs/README_DIAMOND_ABI_GENERATOR.md +0 -303
- package/docs/ROADMAP.md +0 -250
- package/docs/assets/image.png +0 -0
- package/docs/defender-integration.md +0 -451
- package/docs/diamond_module-BaseStrategy_design-v2.uxf +0 -247
- package/docs/diamond_module-BaseStrategy_design.uxf +0 -272
- package/docs/monitoring-troubleshooting.md +0 -556
- package/docs/testing-guide.md +0 -713
- package/examples/Diamond_Config_and_Deployment_examples/diamonds/ProxyDiamond/callbacks/ERC20ProxyFacet.ts +0 -31
- package/examples/Diamond_Config_and_Deployment_examples/diamonds/ProxyDiamond/proxydiamond.config.json +0 -27
- package/examples/Local_Hardhat_Deployer_Script_example/LocalDiamondDeployer.ts +0 -180
- package/examples/OZ_Defender_Deployer_Script_example/OZDiamondDeployer.ts +0 -107
- package/examples/OZ_Defender_Deployer_Script_example/run-oz-deploy.ts +0 -17
- package/examples/Test_examples/ProxyDiamondDeployment.test.ts +0 -202
- package/examples/defender-deployment/.env.example +0 -35
- package/examples/defender-deployment/contracts/ExampleDiamond.sol +0 -41
- package/examples/defender-deployment/contracts/ExampleFacet1.sol +0 -84
- package/examples/defender-deployment/contracts/ExampleFacet2.sol +0 -104
- package/examples/defender-deployment/contracts/UpgradeFacet.sol +0 -92
- package/examples/defender-deployment/deploy-script.ts +0 -170
- package/examples/defender-deployment/diamond-config.json +0 -36
- package/examples/defender-deployment/upgrade-script.ts +0 -237
- package/examples/hardhat-diamonds-config.example.ts +0 -41
- package/src/core/CallbackManager.ts +0 -70
- package/src/core/DeploymentManager.ts +0 -64
- package/src/core/Diamond.ts +0 -197
- package/src/core/DiamondDeployer.ts +0 -36
- package/src/core/index.ts +0 -4
- package/src/index.ts +0 -5
- package/src/repositories/DBDeploymentRepository.ts +0 -22
- package/src/repositories/DeploymentRepository.ts +0 -12
- package/src/repositories/FileDeploymentRepository.ts +0 -67
- package/src/repositories/databaseHandler.ts +0 -14
- package/src/repositories/index.ts +0 -4
- package/src/repositories/jsonFileHandler.ts +0 -252
- package/src/repositories/prismaDBHandler.ts +0 -10
- package/src/schemas/DeploymentSchema.ts +0 -71
- package/src/schemas/index.ts +0 -1
- package/src/strategies/BaseDeploymentStrategy.ts +0 -649
- package/src/strategies/DeploymentStrategy.ts +0 -25
- package/src/strategies/LocalDeploymentStrategy.ts +0 -5
- package/src/strategies/OZDefenderDeploymentStrategy.ts +0 -849
- package/src/strategies/RPCDeploymentStrategy.ts +0 -881
- package/src/strategies/index.ts +0 -5
- package/src/types/config.ts +0 -34
- package/src/types/defender.ts +0 -24
- package/src/types/deployments.ts +0 -102
- package/src/types/index.ts +0 -4
- package/src/types/rpc.ts +0 -37
- package/src/utils/common.ts +0 -54
- package/src/utils/configurationResolver.ts +0 -141
- package/src/utils/contractMapping.ts +0 -220
- package/src/utils/defenderClients.ts +0 -22
- package/src/utils/defenderStore.ts +0 -62
- package/src/utils/diamondAbiGenerator.ts +0 -523
- package/src/utils/diffDeployedFacets.ts +0 -131
- package/src/utils/index.ts +0 -15
- package/src/utils/loupe.ts +0 -159
- package/src/utils/rpcStore.ts +0 -152
- package/src/utils/signer.ts +0 -93
- package/src/utils/txlogging.ts +0 -97
- package/src/utils/workspaceSetup.ts +0 -315
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
<diagram program="umletino" version="15.1"><zoom_level>9</zoom_level><help_text>lt=<<
|
|
2
|
-
exclusionFilter</help_text><element><id>UMLClass</id><coordinates><x>486</x><y>487</y><w>225</w><h>108</h></coordinates><panel_attributes>prioritySortedDeployedFuncSelectors
|
|
3
|
-
--
|
|
4
|
-
> funcSel: 0x
|
|
5
|
-
> facetAddress: 0x address
|
|
6
|
-
> priority: int
|
|
7
|
-
|
|
8
|
-
From previous deployment file
|
|
9
|
-
sorted by priority
|
|
10
|
-
group=group-0
|
|
11
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>477</x><y>631</y><w>234</w><h>369</h></coordinates><panel_attributes>functionSelectorRegistry
|
|
12
|
-
--
|
|
13
|
-
> key: 0x function selector
|
|
14
|
-
> facetAddress: 0x address
|
|
15
|
-
> priority: number
|
|
16
|
-
> status: enum {
|
|
17
|
-
deployed,
|
|
18
|
-
add
|
|
19
|
-
replace
|
|
20
|
-
remove
|
|
21
|
-
|
|
22
|
-
Initiallly includes all selectors from deployedFuncSelectors as deployed
|
|
23
|
-
|
|
24
|
-
style=wordwrap
|
|
25
|
-
|
|
26
|
-
group=group-0
|
|
27
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>405</x><y>1054</y><w>189</w><h>36</h></coordinates><panel_attributes>*5. DiamonCut Transaction*
|
|
28
|
-
|
|
29
|
-
fontsize=15
|
|
30
|
-
|
|
31
|
-
group=group-0
|
|
32
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>585</x><y>586</y><w>27</w><h>63</h></coordinates><panel_attributes>lt=<<-
|
|
33
|
-
group=group-0
|
|
34
|
-
layer=3</panel_attributes><additional_attributes>10;50;10;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>801</x><y>469</y><w>207</w><h>99</h></coordinates><panel_attributes>higherPriorityDeployedFuncSelectors
|
|
35
|
-
--
|
|
36
|
-
> funcSel: 0x
|
|
37
|
-
> priority: int
|
|
38
|
-
|
|
39
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>801</x><y>829</y><w>189</w><h>63</h></coordinates><panel_attributes>lowerPriorityDeployedFuncSelectors
|
|
40
|
-
--
|
|
41
|
-
> funcSel: 0x
|
|
42
|
-
> priority: int
|
|
43
|
-
|
|
44
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1323</x><y>397</y><w>135</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
45
|
-
</panel_attributes><additional_attributes>10;10;130;60</additional_attributes></element><element><id>UMLClass</id><coordinates><x>1152</x><y>316</y><w>180</w><h>135</h></coordinates><panel_attributes>diamond.newDeployedFacets
|
|
46
|
-
--
|
|
47
|
-
> facetName {
|
|
48
|
-
> facetAddress: 0x address
|
|
49
|
-
> tx_hash: string
|
|
50
|
-
> initFunction: string
|
|
51
|
-
> priority: int
|
|
52
|
-
> version: number
|
|
53
|
-
> allFuncSels: string[ ]
|
|
54
|
-
> deployInclude: string[ ];
|
|
55
|
-
> verified: boolean;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
style=wordwrap
|
|
59
|
-
layer=3
|
|
60
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1125</x><y>163</y><w>189</w><h>90</h></coordinates><panel_attributes>facetConfig
|
|
61
|
-
--
|
|
62
|
-
> facetName:
|
|
63
|
-
>> address
|
|
64
|
-
>> priority
|
|
65
|
-
>> versions
|
|
66
|
-
layer=3
|
|
67
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>198</x><y>163</y><w>252</w><h>180</h></coordinates><panel_attributes>*deployedDiamondData*
|
|
68
|
-
--
|
|
69
|
-
> DiamondAddress: 0x address
|
|
70
|
-
> DiamondDeployer: 0x address
|
|
71
|
-
> Version: float
|
|
72
|
-
> Facets: [
|
|
73
|
-
> facetName:
|
|
74
|
-
> address
|
|
75
|
-
> version
|
|
76
|
-
> functionSelectors: funcSelector[ ]
|
|
77
|
-
|
|
78
|
-
group=group-0
|
|
79
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>882</x><y>172</y><w>189</w><h>81</h></coordinates><panel_attributes>diamond.config.facets
|
|
80
|
-
--
|
|
81
|
-
ProtocolInitFacet: string facetName
|
|
82
|
-
exlude: 0x[ ] (function selectors to be excluded from all facets)</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>702</x><y>631</y><w>126</w><h>81</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>120;10;10;70</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>810</x><y>622</y><w>171</w><h>36</h></coordinates><panel_attributes>lt=-
|
|
83
|
-
priority split
|
|
84
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>441</x><y>190</y><w>117</w><h>54</h></coordinates><panel_attributes>*facets*
|
|
85
|
-
|
|
86
|
-
lt=<<-
|
|
87
|
-
|
|
88
|
-
layer=3
|
|
89
|
-
group=group-0</panel_attributes><additional_attributes>110;22;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>972</x><y>694</y><w>108</w><h>99</h></coordinates><panel_attributes>lt=<<.</panel_attributes><additional_attributes>10;90;100;10</additional_attributes></element><element><id>Relation</id><coordinates><x>891</x><y>559</y><w>27</w><h>81</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;10;10;70</additional_attributes></element><element><id>Relation</id><coordinates><x>1206</x><y>244</y><w>63</w><h>90</h></coordinates><panel_attributes>lt=<<-
|
|
90
|
-
|
|
91
|
-
</panel_attributes><additional_attributes>50;80;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1062</x><y>199</y><w>81</w><h>27</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>70;10;10;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>1440</x><y>433</y><w>90</w><h>36</h></coordinates><panel_attributes>facetContractAbi
|
|
92
|
-
layer=3
|
|
93
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>702</x><y>379</y><w>144</w><h>306</h></coordinates><panel_attributes>add/replace
|
|
94
|
-
lt=<<-</panel_attributes><additional_attributes>10;320;140;10</additional_attributes></element><element><id>Relation</id><coordinates><x>891</x><y>406</y><w>27</w><h>81</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;10;10;70</additional_attributes></element><element><id>Relation</id><coordinates><x>972</x><y>370</y><w>198</w><h>54</h></coordinates><panel_attributes>lt=<<.
|
|
95
|
-
|
|
96
|
-
confirm function selector
|
|
97
|
-
in facet</panel_attributes><additional_attributes>10;20;200;20</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>828</x><y>352</y><w>153</w><h>63</h></coordinates><panel_attributes>lt=.
|
|
98
|
-
adhoc
|
|
99
|
-
inclusion Filter
|
|
100
|
-
fg=red
|
|
101
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>549</x><y>424</y><w>108</w><h>36</h></coordinates><panel_attributes>lt=.
|
|
102
|
-
prioritySort
|
|
103
|
-
|
|
104
|
-
group=group-0
|
|
105
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>648</x><y>217</y><w>252</w><h>243</h></coordinates><panel_attributes>lt=<<.</panel_attributes><additional_attributes>10;250;80;250;80;10;260;10</additional_attributes></element><element><id>Relation</id><coordinates><x>594</x><y>451</y><w>27</w><h>54</h></coordinates><panel_attributes>lt=<<-
|
|
106
|
-
group=group-0
|
|
107
|
-
layer=3</panel_attributes><additional_attributes>10;40;10;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>1071</x><y>568</y><w>126</w><h>63</h></coordinates><panel_attributes>lt=.
|
|
108
|
-
priority removal filter
|
|
109
|
-
halign=center
|
|
110
|
-
style=wordwrap
|
|
111
|
-
fg=red
|
|
112
|
-
layer=3
|
|
113
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>999</x><y>505</y><w>90</w><h>108</h></coordinates><panel_attributes>lt=<<.
|
|
114
|
-
bg=red
|
|
115
|
-
fg=red</panel_attributes><additional_attributes>80;100;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1134</x><y>442</y><w>72</w><h>144</h></coordinates><panel_attributes>lt=<<-
|
|
116
|
-
</panel_attributes><additional_attributes>17;140;60;10</additional_attributes></element><element><id>Relation</id><coordinates><x>675</x><y>190</y><w>225</w><h>36</h></coordinates><panel_attributes>facets in config
|
|
117
|
-
lt=<<.</panel_attributes><additional_attributes>10;20;230;20</additional_attributes></element><element><id>UMLClass</id><coordinates><x>495</x><y>280</y><w>216</w><h>99</h></coordinates><panel_attributes>filteredDeployedFacets
|
|
118
|
-
--
|
|
119
|
-
> facetName:
|
|
120
|
-
> address
|
|
121
|
-
> version
|
|
122
|
-
> status: deployed | remove
|
|
123
|
-
> functionSelectors: [ ]functionselector
|
|
124
|
-
|
|
125
|
-
group=group-0
|
|
126
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>540</x><y>190</y><w>144</w><h>45</h></coordinates><panel_attributes>lt=.
|
|
127
|
-
removedFacetFilter
|
|
128
|
-
group=group-0
|
|
129
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>594</x><y>226</y><w>27</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
130
|
-
group=group-0
|
|
131
|
-
layer=3</panel_attributes><additional_attributes>10;60;10;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>819</x><y>919</y><w>153</w><h>63</h></coordinates><panel_attributes>lt=.
|
|
132
|
-
replace existing lower priority filter
|
|
133
|
-
fg=red
|
|
134
|
-
style=wordwrap
|
|
135
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>891</x><y>883</y><w>27</w><h>54</h></coordinates><panel_attributes>lt=<<.</panel_attributes><additional_attributes>10;40;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>594</x><y>370</y><w>27</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
136
|
-
group=group-0
|
|
137
|
-
layer=3</panel_attributes><additional_attributes>10;60;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>702</x><y>928</y><w>135</w><h>36</h></coordinates><panel_attributes>lt=<<-
|
|
138
|
-
replace existing</panel_attributes><additional_attributes>10;20;130;20</additional_attributes></element><element><id>Relation</id><coordinates><x>621</x><y>973</y><w>297</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
139
|
-
add new function selectors</panel_attributes><additional_attributes>10;30;10;60;310;60;310;10</additional_attributes></element><element><id>Relation</id><coordinates><x>495</x><y>991</y><w>126</w><h>81</h></coordinates><panel_attributes>lt=<<-
|
|
140
|
-
add,replace,remove
|
|
141
|
-
|
|
142
|
-
group=group-0
|
|
143
|
-
layer=3</panel_attributes><additional_attributes>10;70;10;10</additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>774</x><y>271</y><w>864</w><h>783</h></coordinates><panel_attributes>*3. Iterate over facets*
|
|
144
|
-
- Perform Filtering
|
|
145
|
-
- Update FunctionSelectorRegistry
|
|
146
|
-
bg=dark_gray
|
|
147
|
-
halign=left
|
|
148
|
-
valign=top
|
|
149
|
-
fontsize=16</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1278</x><y>595</y><w>369</w><h>423</h></coordinates><panel_attributes>Filtering Details
|
|
150
|
-
--
|
|
151
|
-
--
|
|
152
|
-
*1. adhoc inclusion filter*
|
|
153
|
-
This is essentially an "override higher priority" function. Currently, if a multiple facets list the same FuncSel as 'include' the LOWER PRIORITY will be used.
|
|
154
|
-
|
|
155
|
-
A. Confirm this FuncSel is in the facet list and the higherPriorityDeployedFuncSelectors, return if not.
|
|
156
|
-
B. FuncSels present in Facet Config 'include' list and already in Registry but associated with higher priority facets will have the Registry updated with the new Facet Address. Additionally:
|
|
157
|
-
i. If the FuncSel is already be set to 'add' or 'replace' then these should remain.
|
|
158
|
-
ii. If the status is set to 'deployed' then set status to 'replace'
|
|
159
|
-
iii. If the status is set to 'remove' then set status to 'replace'
|
|
160
|
-
|
|
161
|
-
*2. Priority Removal Filter*
|
|
162
|
-
Removes FunSels that are already being included by other higher priority facets (different names) and aren't being overridden by the adhoc include list
|
|
163
|
-
|
|
164
|
-
3. Replace Existing from Same Facet Name
|
|
165
|
-
|
|
166
|
-
*4. Replace Existing Lower Priority Filter*
|
|
167
|
-
Change facet address for FuncSels.
|
|
168
|
-
Set status to `replace` for existing `deploy` FuncSels, facets that are first time deployments of lower priority will not have been processed yet there is no need to account for FuncSels marked as 'add'.
|
|
169
|
-
|
|
170
|
-
*5. Add New Function Selectors*
|
|
171
|
-
Remaining FuncSels are added.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
style=wordwrap
|
|
175
|
-
bg=blue
|
|
176
|
-
layer=2
|
|
177
|
-
|
|
178
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>189</x><y>388</y><w>261</w><h>612</h></coordinates><panel_attributes>Diamonds Module Base Strategy
|
|
179
|
-
--
|
|
180
|
-
--
|
|
181
|
-
|
|
182
|
-
Function Selector DiamondCut Process
|
|
183
|
-
|
|
184
|
-
1. Deploy Facet contracts for new versions
|
|
185
|
-
2. Create functionSelectorRegistry from deployedf facets
|
|
186
|
-
|
|
187
|
-
3. Iterate over facets in facetConfig
|
|
188
|
-
a. Perform facet function selector filtering
|
|
189
|
-
b. Update action functionSelectorRegistry
|
|
190
|
-
|
|
191
|
-
4. Protocol Wide Exclusion Filter: Remove FuncSels in ProtocolExclude
|
|
192
|
-
|
|
193
|
-
5. DiamondCut Transaction
|
|
194
|
-
|
|
195
|
-
fontsize=14
|
|
196
|
-
style=wordwrap
|
|
197
|
-
bg=blue
|
|
198
|
-
halign=left
|
|
199
|
-
transparency=0
|
|
200
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1359</x><y>163</y><w>234</w><h>90</h></coordinates><panel_attributes>*1. Deploy Facets*
|
|
201
|
-
--
|
|
202
|
-
Version comparison / existance
|
|
203
|
-
Config -> deployedDiamondData
|
|
204
|
-
Deploy New Facets
|
|
205
|
-
|
|
206
|
-
bg=dark_gray
|
|
207
|
-
|
|
208
|
-
fontsize=15</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1305</x><y>199</y><w>72</w><h>27</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>60;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1476</x><y>244</y><w>27</w><h>207</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;210;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>954</x><y>694</y><w>126</w><h>27</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;10;120;10</additional_attributes></element><element><id>Text</id><coordinates><x>576</x><y>100</y><w>792</w><h>63</h></coordinates><panel_attributes>*Base Strategy: Facet Deployment and Upgrades, Function Selector & DiamondCut Process*
|
|
209
|
-
|
|
210
|
-
fg=#a3ffff
|
|
211
|
-
fontsize=19
|
|
212
|
-
valign=top
|
|
213
|
-
halign=center
|
|
214
|
-
style=autoresize</panel_attributes><additional_attributes></additional_attributes></element><element><id>Text</id><coordinates><x>873</x><y>37</y><w>225</w><h>72</h></coordinates><panel_attributes>*Diamonds Module*
|
|
215
|
-
fontsize=25
|
|
216
|
-
valign=top
|
|
217
|
-
halign=center
|
|
218
|
-
style=autoresize
|
|
219
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Text</id><coordinates><x>612</x><y>73</y><w>738</w><h>36</h></coordinates><panel_attributes>Robust Extensible Deployment of ERC-2535 Diamond Proxy Standard Contract Systems
|
|
220
|
-
|
|
221
|
-
fontsize=13
|
|
222
|
-
valign=top
|
|
223
|
-
halign=center
|
|
224
|
-
style=wordwrap</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>468</x><y>163</y><w>261</w><h>846</h></coordinates><panel_attributes>*2. Create FunctionSelectorRegistry*
|
|
225
|
-
|
|
226
|
-
fontsize=15
|
|
227
|
-
fg=white
|
|
228
|
-
bg=#8F20EF
|
|
229
|
-
layer=1
|
|
230
|
-
transparency=97
|
|
231
|
-
group=group-0</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1062</x><y>676</y><w>189</w><h>63</h></coordinates><panel_attributes>priorityFilteredNewDeployedFacets
|
|
232
|
-
--
|
|
233
|
-
id: Long="36548"
|
|
234
|
-
[waiting for message]</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>837</x><y>676</y><w>126</w><h>63</h></coordinates><panel_attributes>lt=.
|
|
235
|
-
replace existing
|
|
236
|
-
same facet filter
|
|
237
|
-
halign=center
|
|
238
|
-
style=wordwrap
|
|
239
|
-
fg=red
|
|
240
|
-
layer=3
|
|
241
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>954</x><y>442</y><w>216</w><h>207</h></coordinates><panel_attributes>lt=<<.</panel_attributes><additional_attributes>10;210;220;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1125</x><y>622</y><w>63</w><h>72</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>50;60;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>702</x><y>676</y><w>171</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
242
|
-
replace for same name facet</panel_attributes><additional_attributes>10;60;170;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>810</x><y>757</y><w>171</w><h>36</h></coordinates><panel_attributes>lt=-
|
|
243
|
-
priority split
|
|
244
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>702</x><y>766</y><w>126</w><h>45</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>120;10;10;30</additional_attributes></element><element><id>UMLClass</id><coordinates><x>1053</x><y>955</y><w>189</w><h>63</h></coordinates><panel_attributes>remove Function selectors that have same facet name but different address
|
|
245
|
-
--
|
|
246
|
-
id: Long="36548"
|
|
247
|
-
[waiting for message]</panel_attributes><additional_attributes></additional_attributes></element></diagram>
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
<diagram program="umletino" version="15.1"><zoom_level>8</zoom_level><help_text>lt=<<
|
|
2
|
-
exclusionFilter</help_text><element><id>UMLClass</id><coordinates><x>264</x><y>400</y><w>200</w><h>96</h></coordinates><panel_attributes>prioritySortedDeployedFuncSelectors
|
|
3
|
-
--
|
|
4
|
-
> funcSel: 0x
|
|
5
|
-
> facetAddress: 0x address
|
|
6
|
-
> priority: int
|
|
7
|
-
|
|
8
|
-
From previous deployment file
|
|
9
|
-
sorted by priority
|
|
10
|
-
group=group-0
|
|
11
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>256</x><y>528</y><w>208</w><h>328</h></coordinates><panel_attributes>functionSelectorRegistry
|
|
12
|
-
--
|
|
13
|
-
> key: 0x function selector
|
|
14
|
-
> facetAddress: 0x address
|
|
15
|
-
> priority: number
|
|
16
|
-
> status: enum {
|
|
17
|
-
deployed,
|
|
18
|
-
add
|
|
19
|
-
replace
|
|
20
|
-
remove
|
|
21
|
-
|
|
22
|
-
Initiallly includes all selectors from deployedFuncSelectors as deployed
|
|
23
|
-
|
|
24
|
-
style=wordwrap
|
|
25
|
-
|
|
26
|
-
group=group-0
|
|
27
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1320</x><y>424</y><w>168</w><h>168</h></coordinates><panel_attributes>facetFuncSelectors
|
|
28
|
-
--
|
|
29
|
-
> facaddress: 0x address
|
|
30
|
-
> funcSel: 0x
|
|
31
|
-
|
|
32
|
-
all functionSelectors contained in current Facet.
|
|
33
|
-
|
|
34
|
-
style=wordwrap
|
|
35
|
-
layer=3
|
|
36
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>192</x><y>904</y><w>168</w><h>32</h></coordinates><panel_attributes>*5. DiamonCut Transaction*
|
|
37
|
-
|
|
38
|
-
fontsize=15
|
|
39
|
-
|
|
40
|
-
group=group-0
|
|
41
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>352</x><y>488</y><w>24</w><h>56</h></coordinates><panel_attributes>lt=<<-
|
|
42
|
-
group=group-0
|
|
43
|
-
layer=3</panel_attributes><additional_attributes>10;50;10;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>616</x><y>608</y><w>184</w><h>88</h></coordinates><panel_attributes>higherPriorityDeployedFuncSelectors
|
|
44
|
-
--
|
|
45
|
-
> funcSel: 0x
|
|
46
|
-
> priority: int
|
|
47
|
-
|
|
48
|
-
layer=3
|
|
49
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>616</x><y>800</y><w>168</w><h>56</h></coordinates><panel_attributes>lowerPriorityDeployedFuncSelectors
|
|
50
|
-
--
|
|
51
|
-
> funcSel: 0x
|
|
52
|
-
> priority: int
|
|
53
|
-
|
|
54
|
-
layer=3
|
|
55
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1104</x><y>496</y><w>72</w><h>24</h></coordinates><panel_attributes>lt=<<-
|
|
56
|
-
group=group-3</panel_attributes><additional_attributes>10;10;70;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>624</x><y>408</y><w>168</w><h>56</h></coordinates><panel_attributes>facetIncludeFunctionSelectors
|
|
57
|
-
--
|
|
58
|
-
> funcSel: 0x
|
|
59
|
-
layer=3
|
|
60
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>904</x><y>456</y><w>208</w><h>112</h></coordinates><panel_attributes>exclusionFilteredFacetFunctionSelectors
|
|
61
|
-
--
|
|
62
|
-
> facetAddress: 0x address
|
|
63
|
-
> priority: int
|
|
64
|
-
> funcSel: 0x
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
style=wordwrap
|
|
69
|
-
layer=3
|
|
70
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1128</x><y>392</y><w>168</w><h>56</h></coordinates><panel_attributes>facetExcludeFunctionSelectors
|
|
71
|
-
--
|
|
72
|
-
> funcSel: 0x
|
|
73
|
-
layer=3
|
|
74
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>952</x><y>256</y><w>168</w><h>88</h></coordinates><panel_attributes>facetConfig
|
|
75
|
-
--
|
|
76
|
-
> facetName:
|
|
77
|
-
>> address
|
|
78
|
-
>> priority
|
|
79
|
-
>> versions
|
|
80
|
-
layer=3
|
|
81
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>8</x><y>112</y><w>224</w><h>160</h></coordinates><panel_attributes>*deployedDiamondData*
|
|
82
|
-
--
|
|
83
|
-
> DiamondAddress: 0x address
|
|
84
|
-
> DiamondDeployer: 0x address
|
|
85
|
-
> Version: float
|
|
86
|
-
> Facets: [
|
|
87
|
-
> facetName:
|
|
88
|
-
> address
|
|
89
|
-
> version
|
|
90
|
-
> functionSelectors: funcSelector[ ]
|
|
91
|
-
|
|
92
|
-
group=group-0
|
|
93
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>952</x><y>120</y><w>168</w><h>72</h></coordinates><panel_attributes>diamond.config
|
|
94
|
-
--
|
|
95
|
-
ProtocolInitFacet: string facetName
|
|
96
|
-
exlude: 0x[ ] (function selectors to be excluded from all facets)</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>696</x><y>336</y><w>320</w><h>88</h></coordinates><panel_attributes>lt=<<-
|
|
97
|
-
|
|
98
|
-
group=group-3</panel_attributes><additional_attributes>10;90;10;20;380;20;380;10</additional_attributes></element><element><id>Relation</id><coordinates><x>456</x><y>736</y><w>184</w><h>24</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>210;10;10;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>624</x><y>728</y><w>152</w><h>32</h></coordinates><panel_attributes>lt=-
|
|
99
|
-
priority split
|
|
100
|
-
layer=3
|
|
101
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>224</x><y>136</y><w>104</w><h>48</h></coordinates><panel_attributes>*facets*
|
|
102
|
-
|
|
103
|
-
lt=<<-
|
|
104
|
-
|
|
105
|
-
layer=3
|
|
106
|
-
group=group-0</panel_attributes><additional_attributes>110;22;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>696</x><y>752</y><w>24</w><h>64</h></coordinates><panel_attributes>lt=<<-
|
|
107
|
-
group=group-3</panel_attributes><additional_attributes>10;60;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>696</x><y>688</y><w>24</w><h>56</h></coordinates><panel_attributes>lt=<<-
|
|
108
|
-
group=group-3</panel_attributes><additional_attributes>10;10;10;50</additional_attributes></element><element><id>Relation</id><coordinates><x>1056</x><y>336</y><w>176</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
109
|
-
|
|
110
|
-
group=group-3</panel_attributes><additional_attributes>200;70;200;20;10;20;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1024</x><y>184</y><w>24</w><h>88</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;90;10;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>1368</x><y>336</y><w>80</w><h>32</h></coordinates><panel_attributes>facetContractAbi
|
|
111
|
-
layer=3
|
|
112
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1400</x><y>360</y><w>24</w><h>80</h></coordinates><panel_attributes>lt=<<-
|
|
113
|
-
group=group-3</panel_attributes><additional_attributes>10;80;10;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>1160</x><y>480</y><w>120</w><h>48</h></coordinates><panel_attributes>lt=.
|
|
114
|
-
adhoc
|
|
115
|
-
exclusion filter
|
|
116
|
-
fg=red
|
|
117
|
-
layer=3
|
|
118
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1208</x><y>440</y><w>24</w><h>56</h></coordinates><panel_attributes>lt=<<.
|
|
119
|
-
group=group-3</panel_attributes><additional_attributes>10;50;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1272</x><y>496</y><w>64</w><h>24</h></coordinates><panel_attributes>lt=<<-
|
|
120
|
-
group=group-3</panel_attributes><additional_attributes>10;10;60;10</additional_attributes></element><element><id>Relation</id><coordinates><x>456</x><y>544</y><w>200</w><h>32</h></coordinates><panel_attributes>add/replace
|
|
121
|
-
lt=<<-</panel_attributes><additional_attributes>10;20;230;20</additional_attributes></element><element><id>Relation</id><coordinates><x>696</x><y>576</y><w>24</w><h>48</h></coordinates><panel_attributes>lt=<<-
|
|
122
|
-
group=group-3</panel_attributes><additional_attributes>10;10;10;40</additional_attributes></element><element><id>Relation</id><coordinates><x>712</x><y>488</y><w>208</w><h>56</h></coordinates><panel_attributes>lt=<<.
|
|
123
|
-
|
|
124
|
-
confirm function selector
|
|
125
|
-
in facet
|
|
126
|
-
group=group-3</panel_attributes><additional_attributes>10;50;10;20;240;20</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>640</x><y>528</y><w>136</w><h>56</h></coordinates><panel_attributes>lt=.
|
|
127
|
-
adhoc
|
|
128
|
-
inclusion Filter
|
|
129
|
-
fg=red
|
|
130
|
-
layer=3
|
|
131
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>696</x><y>456</y><w>24</w><h>88</h></coordinates><panel_attributes>lt=<<-
|
|
132
|
-
group=group-3</panel_attributes><additional_attributes>10;90;10;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>320</x><y>344</y><w>96</w><h>32</h></coordinates><panel_attributes>lt=.
|
|
133
|
-
prioritySort
|
|
134
|
-
|
|
135
|
-
group=group-0
|
|
136
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>408</x><y>160</y><w>560</w><h>216</h></coordinates><panel_attributes>lt=<<.</panel_attributes><additional_attributes>10;250;80;250;80;10;680;10</additional_attributes></element><element><id>Relation</id><coordinates><x>360</x><y>368</y><w>24</w><h>48</h></coordinates><panel_attributes>lt=<<-
|
|
137
|
-
group=group-0
|
|
138
|
-
layer=3</panel_attributes><additional_attributes>10;40;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1112</x><y>296</y><w>312</w><h>56</h></coordinates><panel_attributes>lt=<<-
|
|
139
|
-
group=group-3</panel_attributes><additional_attributes>370;50;370;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>768</x><y>560</y><w>248</w><h>200</h></coordinates><panel_attributes>lt=<<.
|
|
140
|
-
group=group-3</panel_attributes><additional_attributes>10;230;290;230;290;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>832</x><y>624</y><w>112</w><h>56</h></coordinates><panel_attributes>lt=.
|
|
141
|
-
priority removal filter
|
|
142
|
-
halign=center
|
|
143
|
-
style=wordwrap
|
|
144
|
-
fg=red
|
|
145
|
-
layer=3
|
|
146
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>792</x><y>640</y><w>56</w><h>24</h></coordinates><panel_attributes>lt=<<.
|
|
147
|
-
bg=red
|
|
148
|
-
fg=red</panel_attributes><additional_attributes>50;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>928</x><y>560</y><w>48</w><h>112</h></coordinates><panel_attributes>lt=<<-
|
|
149
|
-
group=group-3</panel_attributes><additional_attributes>17;120;40;120;40;10</additional_attributes></element><element><id>Relation</id><coordinates><x>432</x><y>136</y><w>536</w><h>32</h></coordinates><panel_attributes>facets in config
|
|
150
|
-
lt=<<.</panel_attributes><additional_attributes>10;20;650;20</additional_attributes></element><element><id>UMLClass</id><coordinates><x>272</x><y>216</y><w>192</w><h>88</h></coordinates><panel_attributes>filteredDeployedFacets
|
|
151
|
-
--
|
|
152
|
-
> facetName:
|
|
153
|
-
> address
|
|
154
|
-
> version
|
|
155
|
-
> status: deployed | remove
|
|
156
|
-
> functionSelectors: [ ]functionselector
|
|
157
|
-
|
|
158
|
-
group=group-0
|
|
159
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>312</x><y>136</y><w>128</w><h>40</h></coordinates><panel_attributes>lt=.
|
|
160
|
-
removedFacetFilter
|
|
161
|
-
group=group-0
|
|
162
|
-
layer=3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>360</x><y>168</y><w>24</w><h>64</h></coordinates><panel_attributes>lt=<<-
|
|
163
|
-
group=group-0
|
|
164
|
-
layer=3</panel_attributes><additional_attributes>10;60;10;10</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>632</x><y>912</y><w>136</w><h>56</h></coordinates><panel_attributes>lt=.
|
|
165
|
-
replace existing lower priority filter
|
|
166
|
-
fg=red
|
|
167
|
-
style=wordwrap
|
|
168
|
-
layer=3
|
|
169
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>696</x><y>848</y><w>24</w><h>80</h></coordinates><panel_attributes>lt=<<.
|
|
170
|
-
group=group-3</panel_attributes><additional_attributes>10;80;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>360</x><y>296</y><w>24</w><h>64</h></coordinates><panel_attributes>lt=<<-
|
|
171
|
-
group=group-0
|
|
172
|
-
layer=3</panel_attributes><additional_attributes>10;60;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>440</x><y>848</y><w>208</w><h>112</h></coordinates><panel_attributes>lt=<<-
|
|
173
|
-
replace existing</panel_attributes><additional_attributes>10;10;10;120;240;120</additional_attributes></element><element><id>UMLUseCase</id><coordinates><x>504</x><y>176</y><w>112</w><h>56</h></coordinates><panel_attributes>*4. Protocol Wide*
|
|
174
|
-
*Exclusion Filter*
|
|
175
|
-
|
|
176
|
-
fontsize=14
|
|
177
|
-
bg=dark_gray</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>384</x><y>848</y><w>336</w><h>152</h></coordinates><panel_attributes>lt=<<-
|
|
178
|
-
add new function selectors</panel_attributes><additional_attributes>10;10;10;170;400;170;400;150</additional_attributes></element><element><id>Relation</id><coordinates><x>272</x><y>848</y><w>104</w><h>72</h></coordinates><panel_attributes>lt=<<-
|
|
179
|
-
add,replace,remove
|
|
180
|
-
|
|
181
|
-
group=group-0
|
|
182
|
-
layer=3</panel_attributes><additional_attributes>10;70;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>608</x><y>184</y><w>416</w><h>40</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;30;500;30;500;10</additional_attributes></element><element><id>Relation</id><coordinates><x>456</x><y>224</y><w>96</w><h>328</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;390;100;390;100;10</additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>592</x><y>240</y><w>904</w><h>776</h></coordinates><panel_attributes>*3. Iterate over facets*
|
|
183
|
-
- Perform Filtering
|
|
184
|
-
- Update FunctionSelectorRegistry
|
|
185
|
-
bg=dark_gray
|
|
186
|
-
halign=left
|
|
187
|
-
valign=top
|
|
188
|
-
fontsize=16
|
|
189
|
-
group=group-3</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1016</x><y>600</y><w>472</w><h>360</h></coordinates><panel_attributes>Filtering Details
|
|
190
|
-
--
|
|
191
|
-
--
|
|
192
|
-
*1. adhoc exclusion filter*
|
|
193
|
-
FuncSels in Facet Config 'exclude' list will be removed from future processing. This is priority over 'include'
|
|
194
|
-
|
|
195
|
-
*2. adhoc inclusion filter*
|
|
196
|
-
This is essentially an "override higher priority" function. Currently, if a multiple facets list the same FuncSel as 'include' the LOWER PRIORITY will be used.
|
|
197
|
-
|
|
198
|
-
A. Confirm this FuncSel is in the facet list and the higherPriorityDeployedFuncSelectors, return if not.
|
|
199
|
-
B. FuncSels present in Facet Config 'include' list and already in Registry but associated with higher priority facets will have the Registry updated with the new Facet Address. Additionally:
|
|
200
|
-
i. If the FuncSel is already be set to 'add' or 'replace' then these should remain.
|
|
201
|
-
ii. If the status is set to 'deployed' then set status to 'replace'
|
|
202
|
-
iii. If the status is set to 'remove' then set status to 'replace'
|
|
203
|
-
|
|
204
|
-
*3. Priority Remove Filter*
|
|
205
|
-
Removes FunSels that are already being included by higher priority facets and aren't being overridden by the adhoc include list
|
|
206
|
-
|
|
207
|
-
*4. Replace Existing Lower Priority Filter*
|
|
208
|
-
Change facet address for FuncSels.
|
|
209
|
-
Set status to `replace` for existing `deploy` FuncSels, facets that are first time deployments of lower priority will not have been processed yet there is no need to account for FuncSels marked as 'add'.
|
|
210
|
-
|
|
211
|
-
*5. Add New Function Selectors*
|
|
212
|
-
Remaining FuncSels are added.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
style=wordwrap
|
|
216
|
-
bg=blue
|
|
217
|
-
layer=2
|
|
218
|
-
group=group-3
|
|
219
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>0</x><y>312</y><w>232</w><h>544</h></coordinates><panel_attributes>Diamonds Module Base Strategy
|
|
220
|
-
--
|
|
221
|
-
--
|
|
222
|
-
|
|
223
|
-
Function Selector DiamondCut Process
|
|
224
|
-
|
|
225
|
-
1. Deploy Facet contracts for new versions
|
|
226
|
-
2. Create functionSelectorRegistry from deployedf facets
|
|
227
|
-
|
|
228
|
-
3. Iterate over facets in facetConfig
|
|
229
|
-
a. Perform facet function selector filtering
|
|
230
|
-
b. Update action functionSelectorRegistry
|
|
231
|
-
|
|
232
|
-
4. Protocol Wide Exclusion Filter: Remove FuncSels in ProtocolExclude
|
|
233
|
-
|
|
234
|
-
5. DiamondCut Transaction
|
|
235
|
-
|
|
236
|
-
fontsize=14
|
|
237
|
-
style=wordwrap
|
|
238
|
-
bg=blue
|
|
239
|
-
halign=left
|
|
240
|
-
transparency=0
|
|
241
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1200</x><y>104</y><w>184</w><h>96</h></coordinates><panel_attributes>*1. Deploy Facets*
|
|
242
|
-
--
|
|
243
|
-
Version comparison / existance
|
|
244
|
-
Config -> deployedDiamondData
|
|
245
|
-
Deploy New Facets
|
|
246
|
-
|
|
247
|
-
bg=dark_gray
|
|
248
|
-
style=autoresize
|
|
249
|
-
fontsize=15</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1112</x><y>136</y><w>104</w><h>24</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>110;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1304</x><y>192</y><w>24</w><h>64</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;60;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>760</x><y>672</y><w>160</w><h>288</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>10;340;160;340;160;110;180;90;160;70;160;10</additional_attributes></element><element><id>Text</id><coordinates><x>360</x><y>56</y><w>672</w><h>56</h></coordinates><panel_attributes>*Base Strategy: Facet Deployment and Upgrades, Function Selector & DiamondCut Process*
|
|
250
|
-
|
|
251
|
-
fg=#a3ffff
|
|
252
|
-
fontsize=19
|
|
253
|
-
valign=top
|
|
254
|
-
halign=center
|
|
255
|
-
style=autoresize</panel_attributes><additional_attributes></additional_attributes></element><element><id>Text</id><coordinates><x>616</x><y>0</y><w>184</w><h>64</h></coordinates><panel_attributes>*Diamonds Module*
|
|
256
|
-
fontsize=25
|
|
257
|
-
valign=top
|
|
258
|
-
halign=center
|
|
259
|
-
style=autoresize
|
|
260
|
-
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Text</id><coordinates><x>376</x><y>32</y><w>656</w><h>32</h></coordinates><panel_attributes>Robust Extensible Deployment of ERC-2535 Diamond Proxy Standard Contract Systems
|
|
261
|
-
|
|
262
|
-
fontsize=13
|
|
263
|
-
valign=top
|
|
264
|
-
halign=center
|
|
265
|
-
style=wordwrap</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>248</x><y>112</y><w>232</w><h>752</h></coordinates><panel_attributes>*2. Create FunctionSelectorRegistry*
|
|
266
|
-
|
|
267
|
-
fontsize=15
|
|
268
|
-
fg=white
|
|
269
|
-
bg=#8F20EF
|
|
270
|
-
layer=1
|
|
271
|
-
transparency=97
|
|
272
|
-
group=group-0</panel_attributes><additional_attributes></additional_attributes></element></diagram>
|