@layerzerolabs/dw-model 0.2.45 → 0.2.46
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/.turbo/turbo-build.log +55 -55
- package/.turbo/turbo-lint.log +1 -1
- package/dist/{PUY2AOFE.cjs → 5HUE42Q5.cjs} +4 -4
- package/dist/{PUY2AOFE.cjs.map → 5HUE42Q5.cjs.map} +1 -1
- package/dist/{46VB3YIH.js → BZJPR5LC.js} +36 -4
- package/dist/BZJPR5LC.js.map +1 -0
- package/dist/{S5CHYZ3I.cjs → JRNCOEFO.cjs} +36 -2
- package/dist/JRNCOEFO.cjs.map +1 -0
- package/dist/{IUFXXZ2R.js → MKV6NR6C.js} +3 -3
- package/dist/{IUFXXZ2R.js.map → MKV6NR6C.js.map} +1 -1
- package/dist/deploy/index.cjs +17 -17
- package/dist/deploy/index.js +2 -2
- package/dist/deploy/resources.cjs +17 -17
- package/dist/deploy/resources.js +2 -2
- package/dist/index.cjs +41 -33
- package/dist/index.js +2 -2
- package/dist/upgrade/index.cjs +25 -17
- package/dist/upgrade/index.js +1 -1
- package/dist/upgrade/types.cjs +25 -17
- package/dist/upgrade/types.d.ts +7 -12
- package/dist/upgrade/types.d.ts.map +1 -1
- package/dist/upgrade/types.js +1 -1
- package/package.json +9 -9
- package/src/upgrade/types.ts +61 -12
- package/dist/46VB3YIH.js.map +0 -1
- package/dist/S5CHYZ3I.cjs.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -19,125 +19,125 @@ Generated an empty chunk: "SBZPLPCB".
|
|
|
19
19
|
Generated an empty chunk: "N5VNZXZB".
|
|
20
20
|
Generated an empty chunk: "CA6UC3D3".
|
|
21
21
|
Generated an empty chunk: "ZCFXJFGI".
|
|
22
|
-
[32mESM[39m [1mdist/upgrade/index.js [22m[
|
|
23
|
-
[32mESM[39m [1mdist/
|
|
22
|
+
[32mESM[39m [1mdist/upgrade/index.js [22m[32m521.00 B[39m
|
|
23
|
+
[32mESM[39m [1mdist/wire/index.js [22m[32m316.00 B[39m
|
|
24
24
|
[32mESM[39m [1mdist/role-management/index.js [22m[32m932.00 B[39m
|
|
25
25
|
[32mESM[39m [1mdist/role-management/schemata.js [22m[32m738.00 B[39m
|
|
26
|
-
[32mESM[39m [1mdist/
|
|
26
|
+
[32mESM[39m [1mdist/role-management/types.js [22m[32m143.00 B[39m
|
|
27
|
+
[32mESM[39m [1mdist/upgrade/types.js [22m[32m496.00 B[39m
|
|
27
28
|
[32mESM[39m [1mdist/wire/schemata.js [22m[32m297.00 B[39m
|
|
29
|
+
[32mESM[39m [1mdist/index.js [22m[32m3.00 KB[39m
|
|
28
30
|
[32mESM[39m [1mdist/SBZPLPCB.js [22m[32m74.00 B[39m
|
|
29
|
-
[32mESM[39m [1mdist/wire/index.js [22m[32m316.00 B[39m
|
|
30
|
-
[32mESM[39m [1mdist/index.js [22m[32m2.96 KB[39m
|
|
31
|
-
[32mESM[39m [1mdist/JBKF52KU.js [22m[32m4.81 KB[39m
|
|
32
31
|
[32mESM[39m [1mdist/JSK5QSWJ.js [22m[32m392.00 B[39m
|
|
33
|
-
[32mESM[39m [1mdist/deploy/artifact.js [22m[32m394.00 B[39m
|
|
34
32
|
[32mESM[39m [1mdist/N5VNZXZB.js [22m[32m74.00 B[39m
|
|
35
33
|
[32mESM[39m [1mdist/I5L5NLZY.js [22m[32m1.88 KB[39m
|
|
34
|
+
[32mESM[39m [1mdist/deploy/artifact.js [22m[32m394.00 B[39m
|
|
36
35
|
[32mESM[39m [1mdist/deploy/factoryInterfaces.js [22m[32m370.00 B[39m
|
|
36
|
+
[32mESM[39m [1mdist/JBKF52KU.js [22m[32m4.81 KB[39m
|
|
37
37
|
[32mESM[39m [1mdist/deploy/index.js [22m[32m1.61 KB[39m
|
|
38
38
|
[32mESM[39m [1mdist/CA6UC3D3.js [22m[32m74.00 B[39m
|
|
39
39
|
[32mESM[39m [1mdist/deploy/resourceBuilder.js [22m[32m168.00 B[39m
|
|
40
40
|
[32mESM[39m [1mdist/RYSOAAMJ.js [22m[32m5.67 KB[39m
|
|
41
|
-
[32mESM[39m [1mdist/deploy/resources.js [22m[32m657.00 B[39m
|
|
42
41
|
[32mESM[39m [1mdist/3BD3OCGS.js [22m[32m1.19 KB[39m
|
|
43
|
-
[32mESM[39m [1mdist/deploy/
|
|
42
|
+
[32mESM[39m [1mdist/deploy/resources.js [22m[32m657.00 B[39m
|
|
43
|
+
[32mESM[39m [1mdist/MKV6NR6C.js [22m[32m3.99 KB[39m
|
|
44
44
|
[32mESM[39m [1mdist/ZCFXJFGI.js [22m[32m74.00 B[39m
|
|
45
|
-
[32mESM[39m [1mdist/
|
|
46
|
-
[32mESM[39m [1mdist/
|
|
45
|
+
[32mESM[39m [1mdist/BZJPR5LC.js [22m[32m4.09 KB[39m
|
|
46
|
+
[32mESM[39m [1mdist/deploy/workflow.js [22m[32m539.00 B[39m
|
|
47
47
|
[32mESM[39m [1mdist/3CKHMU36.js [22m[32m3.07 KB[39m
|
|
48
|
+
[32mESM[39m [1mdist/7MOCL6HP.js [22m[32m2.24 KB[39m
|
|
48
49
|
[32mESM[39m [1mdist/role-management/generator.js [22m[32m224.00 B[39m
|
|
49
|
-
[32mESM[39m [1mdist/VUOMXK5T.js [22m[32m222.00 B[39m
|
|
50
50
|
[32mESM[39m [1mdist/45LWGDPP.js [22m[32m774.00 B[39m
|
|
51
|
-
[32mESM[39m [1mdist/
|
|
51
|
+
[32mESM[39m [1mdist/VUOMXK5T.js [22m[32m222.00 B[39m
|
|
52
52
|
[32mESM[39m [1mdist/upgrade/index.js.map [22m[32m69.00 B[39m
|
|
53
|
-
[32mESM[39m [1mdist/
|
|
53
|
+
[32mESM[39m [1mdist/wire/index.js.map [22m[32m69.00 B[39m
|
|
54
54
|
[32mESM[39m [1mdist/role-management/index.js.map [22m[32m69.00 B[39m
|
|
55
55
|
[32mESM[39m [1mdist/role-management/schemata.js.map [22m[32m72.00 B[39m
|
|
56
|
+
[32mESM[39m [1mdist/role-management/types.js.map [22m[32m69.00 B[39m
|
|
56
57
|
[32mESM[39m [1mdist/upgrade/types.js.map [22m[32m69.00 B[39m
|
|
57
58
|
[32mESM[39m [1mdist/wire/schemata.js.map [22m[32m72.00 B[39m
|
|
58
|
-
[32mESM[39m [1mdist/wire/index.js.map [22m[32m69.00 B[39m
|
|
59
|
-
[32mESM[39m [1mdist/SBZPLPCB.js.map [22m[32m72.00 B[39m
|
|
60
59
|
[32mESM[39m [1mdist/index.js.map [22m[32m69.00 B[39m
|
|
60
|
+
[32mESM[39m [1mdist/SBZPLPCB.js.map [22m[32m72.00 B[39m
|
|
61
61
|
[32mESM[39m [1mdist/JSK5QSWJ.js.map [22m[32m343.00 B[39m
|
|
62
|
-
[32mESM[39m [1mdist/deploy/artifact.js.map [22m[32m72.00 B[39m
|
|
63
|
-
[32mESM[39m [1mdist/JBKF52KU.js.map [22m[32m10.80 KB[39m
|
|
64
62
|
[32mESM[39m [1mdist/N5VNZXZB.js.map [22m[32m72.00 B[39m
|
|
65
|
-
[32mESM[39m [1mdist/deploy/index.js.map [22m[32m69.00 B[39m
|
|
66
63
|
[32mESM[39m [1mdist/I5L5NLZY.js.map [22m[32m4.72 KB[39m
|
|
64
|
+
[32mESM[39m [1mdist/deploy/artifact.js.map [22m[32m72.00 B[39m
|
|
67
65
|
[32mESM[39m [1mdist/deploy/factoryInterfaces.js.map [22m[32m81.00 B[39m
|
|
66
|
+
[32mESM[39m [1mdist/JBKF52KU.js.map [22m[32m10.80 KB[39m
|
|
67
|
+
[32mESM[39m [1mdist/deploy/index.js.map [22m[32m69.00 B[39m
|
|
68
68
|
[32mESM[39m [1mdist/CA6UC3D3.js.map [22m[32m72.00 B[39m
|
|
69
|
-
[32mESM[39m [1mdist/RYSOAAMJ.js.map [22m[32m13.78 KB[39m
|
|
70
69
|
[32mESM[39m [1mdist/deploy/resourceBuilder.js.map [22m[32m79.00 B[39m
|
|
71
|
-
[32mESM[39m [1mdist/
|
|
70
|
+
[32mESM[39m [1mdist/RYSOAAMJ.js.map [22m[32m13.78 KB[39m
|
|
72
71
|
[32mESM[39m [1mdist/3BD3OCGS.js.map [22m[32m4.02 KB[39m
|
|
72
|
+
[32mESM[39m [1mdist/deploy/resources.js.map [22m[32m73.00 B[39m
|
|
73
|
+
[32mESM[39m [1mdist/MKV6NR6C.js.map [22m[32m12.60 KB[39m
|
|
74
|
+
[32mESM[39m [1mdist/ZCFXJFGI.js.map [22m[32m72.00 B[39m
|
|
75
|
+
[32mESM[39m [1mdist/BZJPR5LC.js.map [22m[32m9.27 KB[39m
|
|
73
76
|
[32mESM[39m [1mdist/deploy/workflow.js.map [22m[32m72.00 B[39m
|
|
74
|
-
[32mESM[39m [1mdist/46VB3YIH.js.map [22m[32m6.22 KB[39m
|
|
75
|
-
[32mESM[39m [1mdist/IUFXXZ2R.js.map [22m[32m12.60 KB[39m
|
|
76
|
-
[32mESM[39m [1mdist/role-management/generator.js.map [22m[32m73.00 B[39m
|
|
77
77
|
[32mESM[39m [1mdist/3CKHMU36.js.map [22m[32m9.28 KB[39m
|
|
78
|
-
[32mESM[39m [1mdist/VUOMXK5T.js.map [22m[32m72.00 B[39m
|
|
79
|
-
[32mESM[39m [1mdist/45LWGDPP.js.map [22m[32m1.18 KB[39m
|
|
80
78
|
[32mESM[39m [1mdist/7MOCL6HP.js.map [22m[32m5.83 KB[39m
|
|
81
|
-
[32mESM[39m [1mdist/
|
|
82
|
-
[32mESM[39m
|
|
83
|
-
[
|
|
84
|
-
[
|
|
79
|
+
[32mESM[39m [1mdist/role-management/generator.js.map [22m[32m73.00 B[39m
|
|
80
|
+
[32mESM[39m [1mdist/45LWGDPP.js.map [22m[32m1.18 KB[39m
|
|
81
|
+
[32mESM[39m [1mdist/VUOMXK5T.js.map [22m[32m72.00 B[39m
|
|
82
|
+
[32mESM[39m ⚡️ Build success in 561ms
|
|
83
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m14.10 KB[39m
|
|
85
84
|
[32mCJS[39m [1mdist/deploy/artifact.cjs [22m[32m1.58 KB[39m
|
|
86
85
|
[32mCJS[39m [1mdist/role-management/generator.cjs [22m[32m658.00 B[39m
|
|
87
|
-
[32mCJS[39m [1mdist/wire/schemata.cjs [22m[32m1010.00 B[39m
|
|
88
86
|
[32mCJS[39m [1mdist/3QBHS4UZ.cjs [22m[32m90.00 B[39m
|
|
87
|
+
[32mCJS[39m [1mdist/5AQDLSY6.cjs [22m[32m6.35 KB[39m
|
|
89
88
|
[32mCJS[39m [1mdist/X7GZKVDG.cjs [22m[32m425.00 B[39m
|
|
90
89
|
[32mCJS[39m [1mdist/X4ZNR5GZ.cjs [22m[32m90.00 B[39m
|
|
90
|
+
[32mCJS[39m [1mdist/QLEJL4UB.cjs [22m[32m2.35 KB[39m
|
|
91
91
|
[32mCJS[39m [1mdist/deploy/factoryInterfaces.cjs [22m[32m1.17 KB[39m
|
|
92
|
+
[32mCJS[39m [1mdist/deploy/index.cjs [22m[32m7.21 KB[39m
|
|
92
93
|
[32mCJS[39m [1mdist/NCHH4VK3.cjs [22m[32m90.00 B[39m
|
|
93
|
-
[32mCJS[39m [1mdist/deploy/index.cjs [22m[32m7.20 KB[39m
|
|
94
|
-
[32mCJS[39m [1mdist/QLEJL4UB.cjs [22m[32m2.35 KB[39m
|
|
95
|
-
[32mCJS[39m [1mdist/5AQDLSY6.cjs [22m[32m6.35 KB[39m
|
|
96
|
-
[32mCJS[39m [1mdist/deploy/resourceBuilder.cjs [22m[32m330.00 B[39m
|
|
97
94
|
[32mCJS[39m [1mdist/KOUHMVGI.cjs [22m[32m7.17 KB[39m
|
|
98
|
-
[32mCJS[39m [1mdist/deploy/
|
|
95
|
+
[32mCJS[39m [1mdist/deploy/resourceBuilder.cjs [22m[32m330.00 B[39m
|
|
96
|
+
[32mCJS[39m [1mdist/deploy/resources.cjs [22m[32m2.66 KB[39m
|
|
99
97
|
[32mCJS[39m [1mdist/ECJRGALM.cjs [22m[32m1.31 KB[39m
|
|
98
|
+
[32mCJS[39m [1mdist/5HUE42Q5.cjs [22m[32m5.21 KB[39m
|
|
100
99
|
[32mCJS[39m [1mdist/IN5O3BJZ.cjs [22m[32m90.00 B[39m
|
|
101
|
-
[32mCJS[39m [1mdist/PUY2AOFE.cjs [22m[32m5.21 KB[39m
|
|
102
|
-
[32mCJS[39m [1mdist/S5CHYZ3I.cjs [22m[32m3.48 KB[39m
|
|
103
100
|
[32mCJS[39m [1mdist/deploy/workflow.cjs [22m[32m2.05 KB[39m
|
|
101
|
+
[32mCJS[39m [1mdist/JRNCOEFO.cjs [22m[32m5.03 KB[39m
|
|
104
102
|
[32mCJS[39m [1mdist/7W7RMRK7.cjs [22m[32m3.76 KB[39m
|
|
105
103
|
[32mCJS[39m [1mdist/6G3GY5VH.cjs [22m[32m2.83 KB[39m
|
|
106
104
|
[32mCJS[39m [1mdist/ONIG6I4S.cjs [22m[32m943.00 B[39m
|
|
107
105
|
[32mCJS[39m [1mdist/YJF4D23A.cjs [22m[32m245.00 B[39m
|
|
108
|
-
[32mCJS[39m [1mdist/upgrade/types.cjs [22m[32m2.39 KB[39m
|
|
109
106
|
[32mCJS[39m [1mdist/role-management/index.cjs [22m[32m3.58 KB[39m
|
|
110
|
-
[32mCJS[39m [1mdist/role-management/types.cjs [22m[32m300.00 B[39m
|
|
111
107
|
[32mCJS[39m [1mdist/role-management/schemata.cjs [22m[32m2.86 KB[39m
|
|
112
|
-
[32mCJS[39m [1mdist/
|
|
108
|
+
[32mCJS[39m [1mdist/role-management/types.cjs [22m[32m300.00 B[39m
|
|
109
|
+
[32mCJS[39m [1mdist/upgrade/index.cjs [22m[32m2.70 KB[39m
|
|
110
|
+
[32mCJS[39m [1mdist/upgrade/types.cjs [22m[32m2.68 KB[39m
|
|
111
|
+
[32mCJS[39m [1mdist/wire/index.cjs [22m[32m1.01 KB[39m
|
|
112
|
+
[32mCJS[39m [1mdist/wire/schemata.cjs [22m[32m1010.00 B[39m
|
|
113
113
|
[32mCJS[39m [1mdist/index.cjs.map [22m[32m70.00 B[39m
|
|
114
|
-
[32mCJS[39m [1mdist/wire/index.cjs.map [22m[32m70.00 B[39m
|
|
115
114
|
[32mCJS[39m [1mdist/deploy/artifact.cjs.map [22m[32m73.00 B[39m
|
|
116
115
|
[32mCJS[39m [1mdist/role-management/generator.cjs.map [22m[32m74.00 B[39m
|
|
117
|
-
[32mCJS[39m [1mdist/wire/schemata.cjs.map [22m[32m73.00 B[39m
|
|
118
116
|
[32mCJS[39m [1mdist/3QBHS4UZ.cjs.map [22m[32m73.00 B[39m
|
|
117
|
+
[32mCJS[39m [1mdist/5AQDLSY6.cjs.map [22m[32m10.84 KB[39m
|
|
119
118
|
[32mCJS[39m [1mdist/X7GZKVDG.cjs.map [22m[32m346.00 B[39m
|
|
120
119
|
[32mCJS[39m [1mdist/X4ZNR5GZ.cjs.map [22m[32m73.00 B[39m
|
|
120
|
+
[32mCJS[39m [1mdist/QLEJL4UB.cjs.map [22m[32m4.73 KB[39m
|
|
121
121
|
[32mCJS[39m [1mdist/deploy/factoryInterfaces.cjs.map [22m[32m82.00 B[39m
|
|
122
122
|
[32mCJS[39m [1mdist/deploy/index.cjs.map [22m[32m70.00 B[39m
|
|
123
|
-
[32mCJS[39m [1mdist/
|
|
124
|
-
[32mCJS[39m [1mdist/deploy/resourceBuilder.cjs.map [22m[32m80.00 B[39m
|
|
125
|
-
[32mCJS[39m [1mdist/5AQDLSY6.cjs.map [22m[32m10.84 KB[39m
|
|
123
|
+
[32mCJS[39m [1mdist/NCHH4VK3.cjs.map [22m[32m73.00 B[39m
|
|
126
124
|
[32mCJS[39m [1mdist/KOUHMVGI.cjs.map [22m[32m13.88 KB[39m
|
|
125
|
+
[32mCJS[39m [1mdist/deploy/resourceBuilder.cjs.map [22m[32m80.00 B[39m
|
|
126
|
+
[32mCJS[39m [1mdist/deploy/resources.cjs.map [22m[32m74.00 B[39m
|
|
127
127
|
[32mCJS[39m [1mdist/ECJRGALM.cjs.map [22m[32m4.04 KB[39m
|
|
128
|
+
[32mCJS[39m [1mdist/5HUE42Q5.cjs.map [22m[32m12.65 KB[39m
|
|
128
129
|
[32mCJS[39m [1mdist/IN5O3BJZ.cjs.map [22m[32m73.00 B[39m
|
|
129
|
-
[32mCJS[39m [1mdist/deploy/resources.cjs.map [22m[32m74.00 B[39m
|
|
130
|
-
[32mCJS[39m [1mdist/PUY2AOFE.cjs.map [22m[32m12.65 KB[39m
|
|
131
130
|
[32mCJS[39m [1mdist/deploy/workflow.cjs.map [22m[32m73.00 B[39m
|
|
132
|
-
[32mCJS[39m [1mdist/
|
|
133
|
-
[32mCJS[39m [1mdist/ONIG6I4S.cjs.map [22m[32m1.20 KB[39m
|
|
131
|
+
[32mCJS[39m [1mdist/JRNCOEFO.cjs.map [22m[32m9.31 KB[39m
|
|
134
132
|
[32mCJS[39m [1mdist/7W7RMRK7.cjs.map [22m[32m9.29 KB[39m
|
|
135
133
|
[32mCJS[39m [1mdist/6G3GY5VH.cjs.map [22m[32m5.84 KB[39m
|
|
134
|
+
[32mCJS[39m [1mdist/ONIG6I4S.cjs.map [22m[32m1.20 KB[39m
|
|
136
135
|
[32mCJS[39m [1mdist/YJF4D23A.cjs.map [22m[32m73.00 B[39m
|
|
137
|
-
[32mCJS[39m [1mdist/NCHH4VK3.cjs.map [22m[32m73.00 B[39m
|
|
138
|
-
[32mCJS[39m [1mdist/upgrade/types.cjs.map [22m[32m70.00 B[39m
|
|
139
|
-
[32mCJS[39m [1mdist/upgrade/index.cjs.map [22m[32m70.00 B[39m
|
|
140
|
-
[32mCJS[39m [1mdist/role-management/types.cjs.map [22m[32m70.00 B[39m
|
|
141
136
|
[32mCJS[39m [1mdist/role-management/index.cjs.map [22m[32m70.00 B[39m
|
|
142
137
|
[32mCJS[39m [1mdist/role-management/schemata.cjs.map [22m[32m73.00 B[39m
|
|
143
|
-
[32mCJS[39m
|
|
138
|
+
[32mCJS[39m [1mdist/role-management/types.cjs.map [22m[32m70.00 B[39m
|
|
139
|
+
[32mCJS[39m [1mdist/upgrade/index.cjs.map [22m[32m70.00 B[39m
|
|
140
|
+
[32mCJS[39m [1mdist/upgrade/types.cjs.map [22m[32m70.00 B[39m
|
|
141
|
+
[32mCJS[39m [1mdist/wire/index.cjs.map [22m[32m70.00 B[39m
|
|
142
|
+
[32mCJS[39m [1mdist/wire/schemata.cjs.map [22m[32m73.00 B[39m
|
|
143
|
+
[32mCJS[39m ⚡️ Build success in 567ms
|
package/.turbo/turbo-lint.log
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
> @layerzerolabs/dw-model@0.0.0 lint /home/runner/work/monorepo-internal/monorepo-internal/packages/dw-model
|
|
3
3
|
> eslint . --max-warnings 0 || (eslint . --fix --max-warnings 0 && false)
|
|
4
4
|
|
|
5
|
-
(node:
|
|
5
|
+
(node:44171) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/eslint.config.js?mtime=1772821610321 is not specified and it doesn't parse as CommonJS.
|
|
6
6
|
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
|
|
7
7
|
To eliminate this warning, add "type": "module" to /home/runner/work/monorepo-internal/monorepo-internal/package.json.
|
|
8
8
|
(Use `node --trace-warnings ...` to show where the warning was created)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var JRNCOEFO_cjs = require('./JRNCOEFO.cjs');
|
|
4
4
|
var YJF4D23A_cjs = require('./YJF4D23A.cjs');
|
|
5
5
|
var z = require('zod');
|
|
6
6
|
var commonChainModel = require('@layerzerolabs/common-chain-model');
|
|
@@ -24,7 +24,7 @@ var baseContractResourceSchema = z__default.default.object({
|
|
|
24
24
|
...baseResourceSchema.shape,
|
|
25
25
|
resourceBaseType: z__default.default.literal("CONTRACT"),
|
|
26
26
|
chainName: z__default.default.enum(layerzeroDefinitions.ChainName),
|
|
27
|
-
upgradeConfig:
|
|
27
|
+
upgradeConfig: JRNCOEFO_cjs.upgradeableConfigSchema.optional(),
|
|
28
28
|
verifyContract: z__default.default.boolean().optional(),
|
|
29
29
|
chainConfig: z__default.default.any().optional()
|
|
30
30
|
});
|
|
@@ -82,5 +82,5 @@ exports.meshResourceReferenceSchemaFor = meshResourceReferenceSchemaFor;
|
|
|
82
82
|
exports.resolvedContractResourceReferenceSchema = resolvedContractResourceReferenceSchema;
|
|
83
83
|
exports.resolvedMeshResourceReferenceSchema = resolvedMeshResourceReferenceSchema;
|
|
84
84
|
exports.withIntrinsicAddress = withIntrinsicAddress;
|
|
85
|
-
//# sourceMappingURL=
|
|
86
|
-
//# sourceMappingURL=
|
|
85
|
+
//# sourceMappingURL=5HUE42Q5.cjs.map
|
|
86
|
+
//# sourceMappingURL=5HUE42Q5.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","withIntrinsicAddress","__name","resourceSchema","_INTRINSIC_normalizedAddress","normalizedHexSchema","extractIdFromContractResourceReference","ref","startsWith","slice","length","throwError","JSON","stringify","contractResourceReferenceSchema","meta","title","description","contractResourceDependencyForSchemaZodMetaIdIdx","contractResourceReferenceSchemaFor","_resource","resolvedContractResourceReferenceSchema","custom","meshResourceReferenceSchema","meshResourceDependencyForSchemaZodMetaIdIdx","meshResourceReferenceSchemaFor","extractIdFromMeshResourceReference","resolvedMeshResourceReferenceSchema","extractContractResourceReferences","resource","Object","entries","filter","extractMeshResourceReferences","createResolvedResourceSchema"],"mappings":"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","file":"PUY2AOFE.cjs","sourcesContent":["import z from 'zod';\n\nimport { normalizedHexSchema, type NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { throwError } from '@layerzerolabs/common-error-utils';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport const withIntrinsicAddress = <T extends typeof baseContractResourceSchema>(\n resourceSchema: T,\n) =>\n z.object({\n ...resourceSchema.shape,\n _INTRINSIC_normalizedAddress: normalizedHexSchema,\n }) as z.ZodObject<\n T['shape'] & { _INTRINSIC_normalizedAddress: typeof normalizedHexSchema },\n z.core.$strip\n >;\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\nexport type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;\n\n// the actual expected runtime value for this type is #C_REF:${id}\nexport type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__CONTRACT_RESOURCE_REFERENCE']: true;\n};\n\nexport const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>\n ((ref as unknown as string).startsWith('#C_REF:') &&\n (ref as unknown as string).slice('#C_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);\n\n// use z.ZodType<BaseContractResource> because want to allow unions\nexport type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<\n ContractResourceReference<z.infer<T>>\n>;\n\nexport const contractResourceReferenceSchema: ContractResourceReferenceSchema<\n z.ZodType<BaseContractResource>\n // at runtime, we expect a string\n> = z.string().meta({\n id: 'contract-resource-dependency',\n title: 'Contract dependency to any',\n description: 'A reference to another contract resource (any)',\n}) as unknown as z.ZodType<ContractResourceReference>;\n\nlet contractResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContractResource>>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceReferenceSchema<T> =>\n z.string().meta({\n id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,\n // we can't generate this properly yet because this function needs more information\n // will be fixed when we clean up the runtime of dependencies id\n title: 'Contract dependency to (unknown)',\n description: 'A reference to another contract resource (unknown)',\n }) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;\n\nexport type ResolvedContractResourceReference<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> =\n z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;\n\nexport const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceReference<any>>();\n\n// the actual expected runtime value for this type is #M_REF:${id}\nexport type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__MESH_RESOURCE_REFERENCE']: true;\n};\n\nexport type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceReference<z.infer<T>>\n>;\n\nexport const meshResourceReferenceSchema: MeshResourceReferenceSchema<\n typeof baseMeshResourceSchema\n> = z.string().meta({\n id: 'mesh-resource-dependency',\n title: 'Mesh dependency to any',\n description: 'A reference to another mesh resource (any)',\n}) as unknown as z.ZodType<MeshResourceReference>;\n\nlet meshResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceReferenceSchema<T> =>\n z.string().meta({\n id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,\n title: 'Mesh dependency to (unknown)',\n description: 'A reference to another mesh resource (unknown)',\n }) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;\n\nexport type ResolvedMeshResourceReference<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>\n ((ref as unknown as string).startsWith('#M_REF:') &&\n (ref as unknown as string).slice('#M_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);\n\nexport type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;\n\nexport const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =\n z.custom<ResolvedMeshResourceReference<any>>();\n\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in Exclude<\n keyof Resource['shape'],\n '_INTRINSIC_normalizedAddress'\n >]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceReferenceSchema<infer I>\n ? ResolvedContractResourceReferenceSchema<I>\n : R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>\n : R extends MeshResourceReferenceSchema<infer I>\n ? ResolvedMeshResourceReferenceSchema<I>\n : R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in Exclude<keyof Resource, '_INTRINSIC_normalizedAddress'>]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceReference<infer I>\n ? ResolvedContractResourceReference<I>\n : R extends ContractResourceReference<infer I> | undefined\n ? ResolvedContractResourceReference<I> | undefined\n : R extends MeshResourceReference<infer I>\n ? ResolvedMeshResourceReference<I>\n : R extends MeshResourceReference<infer I> | undefined\n ? ResolvedMeshResourceReference<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceReferences = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),\n ) as unknown as [prop: string, id: ContractResourceReference][];\n\nexport const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),\n ) as unknown as [prop: string, id: MeshResourceReference][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","withIntrinsicAddress","__name","resourceSchema","_INTRINSIC_normalizedAddress","normalizedHexSchema","extractIdFromContractResourceReference","ref","startsWith","slice","length","throwError","JSON","stringify","contractResourceReferenceSchema","meta","title","description","contractResourceDependencyForSchemaZodMetaIdIdx","contractResourceReferenceSchemaFor","_resource","resolvedContractResourceReferenceSchema","custom","meshResourceReferenceSchema","meshResourceDependencyForSchemaZodMetaIdIdx","meshResourceReferenceSchemaFor","extractIdFromMeshResourceReference","resolvedMeshResourceReferenceSchema","extractContractResourceReferences","resource","Object","entries","filter","extractMeshResourceReferences","createResolvedResourceSchema"],"mappings":"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","file":"5HUE42Q5.cjs","sourcesContent":["import z from 'zod';\n\nimport { normalizedHexSchema, type NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { throwError } from '@layerzerolabs/common-error-utils';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport const withIntrinsicAddress = <T extends typeof baseContractResourceSchema>(\n resourceSchema: T,\n) =>\n z.object({\n ...resourceSchema.shape,\n _INTRINSIC_normalizedAddress: normalizedHexSchema,\n }) as z.ZodObject<\n T['shape'] & { _INTRINSIC_normalizedAddress: typeof normalizedHexSchema },\n z.core.$strip\n >;\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\nexport type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;\n\n// the actual expected runtime value for this type is #C_REF:${id}\nexport type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__CONTRACT_RESOURCE_REFERENCE']: true;\n};\n\nexport const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>\n ((ref as unknown as string).startsWith('#C_REF:') &&\n (ref as unknown as string).slice('#C_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);\n\n// use z.ZodType<BaseContractResource> because want to allow unions\nexport type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<\n ContractResourceReference<z.infer<T>>\n>;\n\nexport const contractResourceReferenceSchema: ContractResourceReferenceSchema<\n z.ZodType<BaseContractResource>\n // at runtime, we expect a string\n> = z.string().meta({\n id: 'contract-resource-dependency',\n title: 'Contract dependency to any',\n description: 'A reference to another contract resource (any)',\n}) as unknown as z.ZodType<ContractResourceReference>;\n\nlet contractResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContractResource>>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceReferenceSchema<T> =>\n z.string().meta({\n id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,\n // we can't generate this properly yet because this function needs more information\n // will be fixed when we clean up the runtime of dependencies id\n title: 'Contract dependency to (unknown)',\n description: 'A reference to another contract resource (unknown)',\n }) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;\n\nexport type ResolvedContractResourceReference<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> =\n z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;\n\nexport const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceReference<any>>();\n\n// the actual expected runtime value for this type is #M_REF:${id}\nexport type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__MESH_RESOURCE_REFERENCE']: true;\n};\n\nexport type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceReference<z.infer<T>>\n>;\n\nexport const meshResourceReferenceSchema: MeshResourceReferenceSchema<\n typeof baseMeshResourceSchema\n> = z.string().meta({\n id: 'mesh-resource-dependency',\n title: 'Mesh dependency to any',\n description: 'A reference to another mesh resource (any)',\n}) as unknown as z.ZodType<MeshResourceReference>;\n\nlet meshResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceReferenceSchema<T> =>\n z.string().meta({\n id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,\n title: 'Mesh dependency to (unknown)',\n description: 'A reference to another mesh resource (unknown)',\n }) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;\n\nexport type ResolvedMeshResourceReference<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>\n ((ref as unknown as string).startsWith('#M_REF:') &&\n (ref as unknown as string).slice('#M_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);\n\nexport type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;\n\nexport const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =\n z.custom<ResolvedMeshResourceReference<any>>();\n\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in Exclude<\n keyof Resource['shape'],\n '_INTRINSIC_normalizedAddress'\n >]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceReferenceSchema<infer I>\n ? ResolvedContractResourceReferenceSchema<I>\n : R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>\n : R extends MeshResourceReferenceSchema<infer I>\n ? ResolvedMeshResourceReferenceSchema<I>\n : R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in Exclude<keyof Resource, '_INTRINSIC_normalizedAddress'>]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceReference<infer I>\n ? ResolvedContractResourceReference<I>\n : R extends ContractResourceReference<infer I> | undefined\n ? ResolvedContractResourceReference<I> | undefined\n : R extends MeshResourceReference<infer I>\n ? ResolvedMeshResourceReference<I>\n : R extends MeshResourceReference<infer I> | undefined\n ? ResolvedMeshResourceReference<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceReferences = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),\n ) as unknown as [prop: string, id: ContractResourceReference][];\n\nexport const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),\n ) as unknown as [prop: string, id: MeshResourceReference][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { __name } from './VUOMXK5T.js';
|
|
2
2
|
import z from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { hexSchema, decimalStringSchema } from '@layerzerolabs/common-chain-model';
|
|
4
|
+
import { assertUnreachable, NonRetryableError } from '@layerzerolabs/common-error-utils';
|
|
4
5
|
|
|
5
6
|
var initializeDataResultSchema = z.object({
|
|
7
|
+
/** Encoded initialization data (e.g., encodeFunctionData for initialize(...)) */
|
|
6
8
|
data: hexSchema,
|
|
9
|
+
/** Optional gas limit override for the initialization transaction */
|
|
7
10
|
gasLimit: decimalStringSchema.optional()
|
|
8
11
|
});
|
|
9
12
|
var UpgradeType = /* @__PURE__ */ (function(UpgradeType2) {
|
|
@@ -56,7 +59,36 @@ var upgradeableConfigSchema = z.discriminatedUnion("upgradeType", [
|
|
|
56
59
|
notUpgradeableConfigSchema,
|
|
57
60
|
codeUpgradeableConfigSchema
|
|
58
61
|
]);
|
|
62
|
+
var weakAssertUpgradability = /* @__PURE__ */ __name((allowedUpgradeConfigs, upgradeableConfig) => {
|
|
63
|
+
if (!upgradeableConfig) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (allowedUpgradeConfigs.some((allowedConfig) => {
|
|
67
|
+
if (allowedConfig.upgradeType !== upgradeableConfig.upgradeType) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
if (allowedConfig.upgradeType === "NOT_UPGRADEABLE") {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
if (allowedConfig.upgradeType === "CODE_UPGRADE") {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
if (allowedConfig.upgradeType === "PROXY") {
|
|
77
|
+
return allowedConfig.proxyType === upgradeableConfig.proxyType;
|
|
78
|
+
}
|
|
79
|
+
assertUnreachable(allowedConfig);
|
|
80
|
+
})) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
throw new NonRetryableError(`Upgrade config ${JSON.stringify(upgradeableConfig)} is not compatible with any of the allowed upgrade configs ${JSON.stringify(allowedUpgradeConfigs)}`);
|
|
84
|
+
}, "weakAssertUpgradability");
|
|
85
|
+
var assertUpgradability = /* @__PURE__ */ __name((allowedUpgradeConfigs, upgradeableConfig) => {
|
|
86
|
+
if (!upgradeableConfig) {
|
|
87
|
+
throw new NonRetryableError("Will not handle undefined upgrade config");
|
|
88
|
+
}
|
|
89
|
+
return weakAssertUpgradability(allowedUpgradeConfigs, upgradeableConfig);
|
|
90
|
+
}, "assertUpgradability");
|
|
59
91
|
|
|
60
|
-
export { EvmProxyType, ProxyType, SEPARATE_PROXY_ADMIN_TYPES, TUP_PROXY_TYPES, UUPS_PROXY_TYPES, UpgradeType, codeUpgradeableConfigSchema, initializeDataResultSchema, isTupProxy, isUupsProxy, notUpgradeableConfigSchema, proxyConfigSchema, proxyTypeSchema, requiresSeparateProxyAdminDeploy, upgradeTypeSchema, upgradeableConfigSchema };
|
|
61
|
-
//# sourceMappingURL=
|
|
62
|
-
//# sourceMappingURL=
|
|
92
|
+
export { EvmProxyType, ProxyType, SEPARATE_PROXY_ADMIN_TYPES, TUP_PROXY_TYPES, UUPS_PROXY_TYPES, UpgradeType, assertUpgradability, codeUpgradeableConfigSchema, initializeDataResultSchema, isTupProxy, isUupsProxy, notUpgradeableConfigSchema, proxyConfigSchema, proxyTypeSchema, requiresSeparateProxyAdminDeploy, upgradeTypeSchema, upgradeableConfigSchema, weakAssertUpgradability };
|
|
93
|
+
//# sourceMappingURL=BZJPR5LC.js.map
|
|
94
|
+
//# sourceMappingURL=BZJPR5LC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/upgrade/types.ts"],"names":["initializeDataResultSchema","z","object","data","hexSchema","gasLimit","decimalStringSchema","optional","UpgradeType","EvmProxyType","UUPS_PROXY_TYPES","Set","TUP_PROXY_TYPES","SEPARATE_PROXY_ADMIN_TYPES","isUupsProxy","proxyType","has","isTupProxy","requiresSeparateProxyAdminDeploy","ProxyType","upgradeTypeSchema","enum","proxyTypeSchema","proxyConfigSchema","upgradeType","literal","notUpgradeableConfigSchema","codeUpgradeableConfigSchema","upgradeableConfigSchema","discriminatedUnion","weakAssertUpgradability","allowedUpgradeConfigs","upgradeableConfig","some","allowedConfig","assertUnreachable","NonRetryableError","JSON","stringify","assertUpgradability"],"mappings":";;;;;AASO,IAAMA,0BAAAA,GAA6BC,EAAEC,MAAAA,CAAO;;EAE/CC,IAAAA,EAAMC,SAAAA;;AAENC,EAAAA,QAAAA,EAAUC,oBAAoBC,QAAAA;AAClC,CAAA;AAKO,IAAKC,WAAAA,6BAAAA,YAAAA,EAAAA;;;;AAAAA,EAAAA,OAAAA,YAAAA;;AASL,IAAKC,YAAAA,6BAAAA,aAAAA,EAAAA;;;;;;AAAAA,EAAAA,OAAAA,aAAAA;;AAcL,IAAMC,gBAAAA,uBAAkDC,GAAAA,CAAI;;;AAGlE,CAAA;AAGM,IAAMC,eAAAA,uBAAiDD,GAAAA,CAAI;;;;AAIjE,CAAA;AAGM,IAAME,0BAAAA,uBAA4DF,GAAAA,CAAI;;;AAG5E,CAAA;AAGM,IAAMG,8BAAc,MAAA,CAAA,CAACC,SAAAA,KAAqCL,gBAAAA,CAAiBM,GAAAA,CAAID,SAAAA,CAAAA,EAA3D,aAAA;AAGpB,IAAME,6BAAa,MAAA,CAAA,CAACF,SAAAA,KAAqCH,eAAAA,CAAgBI,GAAAA,CAAID,SAAAA,CAAAA,EAA1D,YAAA;AAGnB,IAAMG,mDAAmC,MAAA,CAAA,CAACH,SAAAA,KAC7CF,0BAAAA,CAA2BG,GAAAA,CAAID,SAAAA,CAAAA,EADa,kCAAA;AAGzC,IAAMI,SAAAA,GAAY;EACrB,GAAGV;AACP;AAIO,IAAMW,iBAAAA,GAAoBnB,CAAAA,CAAEoB,IAAAA,CAAKb,WAAAA;AAEjC,IAAMc,eAAAA,GAAkBrB,CAAAA,CAAEoB,IAAAA,CAAKF,SAAAA;AAC/B,IAAMI,iBAAAA,GAAoBtB,EAAEC,MAAAA,CAAO;EACtCsB,WAAAA,EAAavB,CAAAA,CAAEwB,QAAO,OAAA,CAAA;EACtBV,SAAAA,EAAWO;AACf,CAAA;AAIO,IAAMI,0BAAAA,GAA6BzB,EAAEC,MAAAA,CAAO;EAC/CsB,WAAAA,EAAavB,CAAAA,CAAEwB,QAAO,iBAAA;AAC1B,CAAA;AAIO,IAAME,2BAAAA,GAA8B1B,EAAEC,MAAAA,CAAO;EAChDsB,WAAAA,EAAavB,CAAAA,CAAEwB,QAAO,cAAA;AAC1B,CAAA;AAIO,IAAMG,uBAAAA,GAA0B3B,CAAAA,CAAE4B,kBAAAA,CAAmB,aAAA,EAAe;AACvEN,EAAAA,iBAAAA;AACAG,EAAAA,0BAAAA;AACAC,EAAAA;AACH,CAAA;AAKM,IAAMG,uBAAAA,mBAA0B,MAAA,CAAA,CACnCC,qBAAAA,EACAC,iBAAAA,KAAAA;AAEA,EAAA,IAAI,CAACA,iBAAAA,EAAmB;AACpB,IAAA;AACJ,EAAA;AAEA,EAAA,IACID,qBAAAA,CAAsBE,IAAAA,CAAK,CAACC,aAAAA,KAAAA;AACxB,IAAA,IAAIA,aAAAA,CAAcV,WAAAA,KAAgBQ,iBAAAA,CAAkBR,WAAAA,EAAa;AAC7D,MAAA,OAAO,KAAA;AACX,IAAA;AAEA,IAAA,IAAIU,aAAAA,CAAcV,gBAAW,iBAAA,EAAkC;AAC3D,MAAA,OAAO,IAAA;AACX,IAAA;AAEA,IAAA,IAAIU,aAAAA,CAAcV,gBAAW,cAAA,EAA+B;AACxD,MAAA,OAAO,IAAA;AACX,IAAA;AAEA,IAAA,IAAIU,aAAAA,CAAcV,gBAAW,OAAA,EAAwB;AACjD,MAAA,OACIU,aAAAA,CAAcnB,cACbiB,iBAAAA,CAA6CjB,SAAAA;AAEtD,IAAA;AAEAoB,IAAAA,iBAAAA,CAAkBD,aAAAA,CAAAA;AACtB,EAAA,CAAA,CAAA,EACF;AAEE,IAAA;AACJ,EAAA;AAEA,EAAA,MAAM,IAAIE,iBAAAA,CACN,CAAA,eAAA,EAAkBC,IAAAA,CAAKC,SAAAA,CAAUN,iBAAAA,CAAAA,CAAAA,2DAAAA,EAAgFK,IAAAA,CAAKC,SAAAA,CAAUP,qBAAAA,CAAAA,CAAAA,CAAwB,CAAA;AAEhK,CAAA,EAvCuC,yBAAA;AAyChC,IAAMQ,mBAAAA,mBAAsB,MAAA,CAAA,CAC/BR,qBAAAA,EAEAC,iBAAAA,KAAAA;AAEA,EAAA,IAAI,CAACA,iBAAAA,EAAmB;AACpB,IAAA,MAAM,IAAII,kBAAkB,0CAAA,CAAA;AAChC,EAAA;AAEA,EAAA,OAAON,uBAAAA,CAAwBC,uBAAuBC,iBAAAA,CAAAA;AAC1D,CAAA,EAVmC,qBAAA","file":"BZJPR5LC.js","sourcesContent":["import z from 'zod';\n\nimport { decimalStringSchema, hexSchema } from '@layerzerolabs/common-chain-model';\nimport { assertUnreachable, NonRetryableError } from '@layerzerolabs/common-error-utils';\nimport type { Identity } from '@layerzerolabs/typescript-utils';\n\n/**\n * `InitializeDataResult` schema.\n */\nexport const initializeDataResultSchema = z.object({\n /** Encoded initialization data (e.g., encodeFunctionData for initialize(...)) */\n data: hexSchema,\n /** Optional gas limit override for the initialization transaction */\n gasLimit: decimalStringSchema.optional(),\n});\n\nexport interface InitializeDataResult\n extends Identity<z.infer<typeof initializeDataResultSchema>> {}\n\nexport enum UpgradeType {\n // This doesn't necessarily prevent the contract from being upgraded\n NOT_UPGRADEABLE = 'NOT_UPGRADEABLE',\n // Deploy a separate 'proxy' contract that will route calls to a swappable implementation\n PROXY = 'PROXY',\n // This doesn't necessarily allow the contract to be upgraded\n CODE_UPGRADE = 'CODE_UPGRADE',\n}\n\nexport enum EvmProxyType {\n // TUP v5 https://docs.openzeppelin.com/contracts/5.x/api/proxy#transparentupgradeableproxy\n TRANSPARENT_UPGRADEABLE_V5 = 'TRANSPARENT_UPGRADEABLE_V5',\n // UUPS v5 https://docs.openzeppelin.com/contracts/5.x/api/proxy#uupsupgradeable\n UNIVERSAL_UPGRADEABLE_V5 = 'UNIVERSAL_UPGRADEABLE_V5',\n // OTUP v4 https://github.com/wighawag/hardhat-deploy/blob/v0.12.1/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol\n OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4 = 'OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4',\n // TUP v4 https://docs.openzeppelin.com/contracts/4.x/api/proxy#TransparentUpgradeableProxy\n TRANSPARENT_UPGRADEABLE_V4 = 'TRANSPARENT_UPGRADEABLE_V4',\n // UUPS v4 https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable\n UNIVERSAL_UPGRADEABLE_V4 = 'UNIVERSAL_UPGRADEABLE_V4',\n}\n\n/** UUPS-based proxy types (no separate `ProxyAdmin`). */\nexport const UUPS_PROXY_TYPES: ReadonlySet<EvmProxyType> = new Set([\n EvmProxyType.UNIVERSAL_UPGRADEABLE_V4,\n EvmProxyType.UNIVERSAL_UPGRADEABLE_V5,\n]);\n\n/** TUP-based proxy types (have a `ProxyAdmin` with `getOwner`/`setOwner`). */\nexport const TUP_PROXY_TYPES: ReadonlySet<EvmProxyType> = new Set([\n EvmProxyType.TRANSPARENT_UPGRADEABLE_V4,\n EvmProxyType.TRANSPARENT_UPGRADEABLE_V5,\n EvmProxyType.OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4,\n]);\n\n/** Proxy types that deploy a separate `ProxyAdmin` contract (v4 variants only). */\nexport const SEPARATE_PROXY_ADMIN_TYPES: ReadonlySet<EvmProxyType> = new Set([\n EvmProxyType.TRANSPARENT_UPGRADEABLE_V4,\n EvmProxyType.OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4,\n]);\n\n/** Whether the proxy type is UUPS (Universal Upgradeable Proxy Standard). */\nexport const isUupsProxy = (proxyType: EvmProxyType): boolean => UUPS_PROXY_TYPES.has(proxyType);\n\n/** Whether the proxy type is TUP (Transparent Upgradeable Proxy). */\nexport const isTupProxy = (proxyType: EvmProxyType): boolean => TUP_PROXY_TYPES.has(proxyType);\n\n/** Whether the proxy type requires a separate `ProxyAdmin` deployment (v4 variants). */\nexport const requiresSeparateProxyAdminDeploy = (proxyType: EvmProxyType): boolean =>\n SEPARATE_PROXY_ADMIN_TYPES.has(proxyType);\n\nexport const ProxyType = {\n ...EvmProxyType,\n};\n\nexport type ProxyType = (typeof ProxyType)[keyof typeof ProxyType];\n\nexport const upgradeTypeSchema = z.enum(UpgradeType);\n\nexport const proxyTypeSchema = z.enum(ProxyType);\nexport const proxyConfigSchema = z.object({\n upgradeType: z.literal(UpgradeType.PROXY),\n proxyType: proxyTypeSchema,\n});\n\nexport type ProxyUpgradeableConfig = z.infer<typeof proxyConfigSchema>;\n\nexport const notUpgradeableConfigSchema = z.object({\n upgradeType: z.literal(UpgradeType.NOT_UPGRADEABLE),\n});\n\nexport type NotUpgradeableConfig = z.infer<typeof notUpgradeableConfigSchema>;\n\nexport const codeUpgradeableConfigSchema = z.object({\n upgradeType: z.literal(UpgradeType.CODE_UPGRADE),\n});\n\nexport type CodeUpgradeableConfig = z.infer<typeof codeUpgradeableConfigSchema>;\n\nexport const upgradeableConfigSchema = z.discriminatedUnion('upgradeType', [\n proxyConfigSchema,\n notUpgradeableConfigSchema,\n codeUpgradeableConfigSchema,\n]);\n\nexport type UpgradeableConfig = z.infer<typeof upgradeableConfigSchema>;\n\n/** @deprecated use assertUpgradability, ensure your config is nonoptional */\nexport const weakAssertUpgradability = <AllowedUpgradeConfigs extends UpgradeableConfig[]>(\n allowedUpgradeConfigs: AllowedUpgradeConfigs,\n upgradeableConfig?: UpgradeableConfig,\n): asserts upgradeableConfig is AllowedUpgradeConfigs[number] => {\n if (!upgradeableConfig) {\n return;\n }\n\n if (\n allowedUpgradeConfigs.some((allowedConfig) => {\n if (allowedConfig.upgradeType !== upgradeableConfig.upgradeType) {\n return false;\n }\n\n if (allowedConfig.upgradeType === UpgradeType.NOT_UPGRADEABLE) {\n return true;\n }\n\n if (allowedConfig.upgradeType === UpgradeType.CODE_UPGRADE) {\n return true;\n }\n\n if (allowedConfig.upgradeType === UpgradeType.PROXY) {\n return (\n allowedConfig.proxyType ===\n (upgradeableConfig as ProxyUpgradeableConfig).proxyType\n );\n }\n\n assertUnreachable(allowedConfig);\n })\n ) {\n // included in allowed array\n return;\n }\n\n throw new NonRetryableError(\n `Upgrade config ${JSON.stringify(upgradeableConfig)} is not compatible with any of the allowed upgrade configs ${JSON.stringify(allowedUpgradeConfigs)}`,\n );\n};\n\nexport const assertUpgradability = <AllowedUpgradeConfigs extends UpgradeableConfig[]>(\n allowedUpgradeConfigs: AllowedUpgradeConfigs,\n // eventually make this nonoptional once callers are upgraded\n upgradeableConfig?: UpgradeableConfig,\n): asserts upgradeableConfig is AllowedUpgradeConfigs[number] => {\n if (!upgradeableConfig) {\n throw new NonRetryableError('Will not handle undefined upgrade config');\n }\n\n return weakAssertUpgradability(allowedUpgradeConfigs, upgradeableConfig);\n};\n"]}
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
var YJF4D23A_cjs = require('./YJF4D23A.cjs');
|
|
4
4
|
var z = require('zod');
|
|
5
5
|
var commonChainModel = require('@layerzerolabs/common-chain-model');
|
|
6
|
+
var commonErrorUtils = require('@layerzerolabs/common-error-utils');
|
|
6
7
|
|
|
7
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
9
|
|
|
9
10
|
var z__default = /*#__PURE__*/_interopDefault(z);
|
|
10
11
|
|
|
11
12
|
var initializeDataResultSchema = z__default.default.object({
|
|
13
|
+
/** Encoded initialization data (e.g., encodeFunctionData for initialize(...)) */
|
|
12
14
|
data: commonChainModel.hexSchema,
|
|
15
|
+
/** Optional gas limit override for the initialization transaction */
|
|
13
16
|
gasLimit: commonChainModel.decimalStringSchema.optional()
|
|
14
17
|
});
|
|
15
18
|
var UpgradeType = /* @__PURE__ */ (function(UpgradeType2) {
|
|
@@ -62,6 +65,35 @@ var upgradeableConfigSchema = z__default.default.discriminatedUnion("upgradeType
|
|
|
62
65
|
notUpgradeableConfigSchema,
|
|
63
66
|
codeUpgradeableConfigSchema
|
|
64
67
|
]);
|
|
68
|
+
var weakAssertUpgradability = /* @__PURE__ */ YJF4D23A_cjs.__name((allowedUpgradeConfigs, upgradeableConfig) => {
|
|
69
|
+
if (!upgradeableConfig) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (allowedUpgradeConfigs.some((allowedConfig) => {
|
|
73
|
+
if (allowedConfig.upgradeType !== upgradeableConfig.upgradeType) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
if (allowedConfig.upgradeType === "NOT_UPGRADEABLE") {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
if (allowedConfig.upgradeType === "CODE_UPGRADE") {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
if (allowedConfig.upgradeType === "PROXY") {
|
|
83
|
+
return allowedConfig.proxyType === upgradeableConfig.proxyType;
|
|
84
|
+
}
|
|
85
|
+
commonErrorUtils.assertUnreachable(allowedConfig);
|
|
86
|
+
})) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
throw new commonErrorUtils.NonRetryableError(`Upgrade config ${JSON.stringify(upgradeableConfig)} is not compatible with any of the allowed upgrade configs ${JSON.stringify(allowedUpgradeConfigs)}`);
|
|
90
|
+
}, "weakAssertUpgradability");
|
|
91
|
+
var assertUpgradability = /* @__PURE__ */ YJF4D23A_cjs.__name((allowedUpgradeConfigs, upgradeableConfig) => {
|
|
92
|
+
if (!upgradeableConfig) {
|
|
93
|
+
throw new commonErrorUtils.NonRetryableError("Will not handle undefined upgrade config");
|
|
94
|
+
}
|
|
95
|
+
return weakAssertUpgradability(allowedUpgradeConfigs, upgradeableConfig);
|
|
96
|
+
}, "assertUpgradability");
|
|
65
97
|
|
|
66
98
|
exports.EvmProxyType = EvmProxyType;
|
|
67
99
|
exports.ProxyType = ProxyType;
|
|
@@ -69,6 +101,7 @@ exports.SEPARATE_PROXY_ADMIN_TYPES = SEPARATE_PROXY_ADMIN_TYPES;
|
|
|
69
101
|
exports.TUP_PROXY_TYPES = TUP_PROXY_TYPES;
|
|
70
102
|
exports.UUPS_PROXY_TYPES = UUPS_PROXY_TYPES;
|
|
71
103
|
exports.UpgradeType = UpgradeType;
|
|
104
|
+
exports.assertUpgradability = assertUpgradability;
|
|
72
105
|
exports.codeUpgradeableConfigSchema = codeUpgradeableConfigSchema;
|
|
73
106
|
exports.initializeDataResultSchema = initializeDataResultSchema;
|
|
74
107
|
exports.isTupProxy = isTupProxy;
|
|
@@ -79,5 +112,6 @@ exports.proxyTypeSchema = proxyTypeSchema;
|
|
|
79
112
|
exports.requiresSeparateProxyAdminDeploy = requiresSeparateProxyAdminDeploy;
|
|
80
113
|
exports.upgradeTypeSchema = upgradeTypeSchema;
|
|
81
114
|
exports.upgradeableConfigSchema = upgradeableConfigSchema;
|
|
82
|
-
|
|
83
|
-
//# sourceMappingURL=
|
|
115
|
+
exports.weakAssertUpgradability = weakAssertUpgradability;
|
|
116
|
+
//# sourceMappingURL=JRNCOEFO.cjs.map
|
|
117
|
+
//# sourceMappingURL=JRNCOEFO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/upgrade/types.ts"],"names":["initializeDataResultSchema","z","object","data","hexSchema","gasLimit","decimalStringSchema","optional","UpgradeType","EvmProxyType","UUPS_PROXY_TYPES","Set","TUP_PROXY_TYPES","SEPARATE_PROXY_ADMIN_TYPES","isUupsProxy","__name","proxyType","has","isTupProxy","requiresSeparateProxyAdminDeploy","ProxyType","upgradeTypeSchema","enum","proxyTypeSchema","proxyConfigSchema","upgradeType","literal","notUpgradeableConfigSchema","codeUpgradeableConfigSchema","upgradeableConfigSchema","discriminatedUnion","weakAssertUpgradability","allowedUpgradeConfigs","upgradeableConfig","some","allowedConfig","assertUnreachable","NonRetryableError","JSON","stringify","assertUpgradability"],"mappings":"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","file":"JRNCOEFO.cjs","sourcesContent":["import z from 'zod';\n\nimport { decimalStringSchema, hexSchema } from '@layerzerolabs/common-chain-model';\nimport { assertUnreachable, NonRetryableError } from '@layerzerolabs/common-error-utils';\nimport type { Identity } from '@layerzerolabs/typescript-utils';\n\n/**\n * `InitializeDataResult` schema.\n */\nexport const initializeDataResultSchema = z.object({\n /** Encoded initialization data (e.g., encodeFunctionData for initialize(...)) */\n data: hexSchema,\n /** Optional gas limit override for the initialization transaction */\n gasLimit: decimalStringSchema.optional(),\n});\n\nexport interface InitializeDataResult\n extends Identity<z.infer<typeof initializeDataResultSchema>> {}\n\nexport enum UpgradeType {\n // This doesn't necessarily prevent the contract from being upgraded\n NOT_UPGRADEABLE = 'NOT_UPGRADEABLE',\n // Deploy a separate 'proxy' contract that will route calls to a swappable implementation\n PROXY = 'PROXY',\n // This doesn't necessarily allow the contract to be upgraded\n CODE_UPGRADE = 'CODE_UPGRADE',\n}\n\nexport enum EvmProxyType {\n // TUP v5 https://docs.openzeppelin.com/contracts/5.x/api/proxy#transparentupgradeableproxy\n TRANSPARENT_UPGRADEABLE_V5 = 'TRANSPARENT_UPGRADEABLE_V5',\n // UUPS v5 https://docs.openzeppelin.com/contracts/5.x/api/proxy#uupsupgradeable\n UNIVERSAL_UPGRADEABLE_V5 = 'UNIVERSAL_UPGRADEABLE_V5',\n // OTUP v4 https://github.com/wighawag/hardhat-deploy/blob/v0.12.1/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol\n OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4 = 'OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4',\n // TUP v4 https://docs.openzeppelin.com/contracts/4.x/api/proxy#TransparentUpgradeableProxy\n TRANSPARENT_UPGRADEABLE_V4 = 'TRANSPARENT_UPGRADEABLE_V4',\n // UUPS v4 https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable\n UNIVERSAL_UPGRADEABLE_V4 = 'UNIVERSAL_UPGRADEABLE_V4',\n}\n\n/** UUPS-based proxy types (no separate `ProxyAdmin`). */\nexport const UUPS_PROXY_TYPES: ReadonlySet<EvmProxyType> = new Set([\n EvmProxyType.UNIVERSAL_UPGRADEABLE_V4,\n EvmProxyType.UNIVERSAL_UPGRADEABLE_V5,\n]);\n\n/** TUP-based proxy types (have a `ProxyAdmin` with `getOwner`/`setOwner`). */\nexport const TUP_PROXY_TYPES: ReadonlySet<EvmProxyType> = new Set([\n EvmProxyType.TRANSPARENT_UPGRADEABLE_V4,\n EvmProxyType.TRANSPARENT_UPGRADEABLE_V5,\n EvmProxyType.OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4,\n]);\n\n/** Proxy types that deploy a separate `ProxyAdmin` contract (v4 variants only). */\nexport const SEPARATE_PROXY_ADMIN_TYPES: ReadonlySet<EvmProxyType> = new Set([\n EvmProxyType.TRANSPARENT_UPGRADEABLE_V4,\n EvmProxyType.OPTIMIZED_TRANSPARENT_UPGRADEABLE_V4,\n]);\n\n/** Whether the proxy type is UUPS (Universal Upgradeable Proxy Standard). */\nexport const isUupsProxy = (proxyType: EvmProxyType): boolean => UUPS_PROXY_TYPES.has(proxyType);\n\n/** Whether the proxy type is TUP (Transparent Upgradeable Proxy). */\nexport const isTupProxy = (proxyType: EvmProxyType): boolean => TUP_PROXY_TYPES.has(proxyType);\n\n/** Whether the proxy type requires a separate `ProxyAdmin` deployment (v4 variants). */\nexport const requiresSeparateProxyAdminDeploy = (proxyType: EvmProxyType): boolean =>\n SEPARATE_PROXY_ADMIN_TYPES.has(proxyType);\n\nexport const ProxyType = {\n ...EvmProxyType,\n};\n\nexport type ProxyType = (typeof ProxyType)[keyof typeof ProxyType];\n\nexport const upgradeTypeSchema = z.enum(UpgradeType);\n\nexport const proxyTypeSchema = z.enum(ProxyType);\nexport const proxyConfigSchema = z.object({\n upgradeType: z.literal(UpgradeType.PROXY),\n proxyType: proxyTypeSchema,\n});\n\nexport type ProxyUpgradeableConfig = z.infer<typeof proxyConfigSchema>;\n\nexport const notUpgradeableConfigSchema = z.object({\n upgradeType: z.literal(UpgradeType.NOT_UPGRADEABLE),\n});\n\nexport type NotUpgradeableConfig = z.infer<typeof notUpgradeableConfigSchema>;\n\nexport const codeUpgradeableConfigSchema = z.object({\n upgradeType: z.literal(UpgradeType.CODE_UPGRADE),\n});\n\nexport type CodeUpgradeableConfig = z.infer<typeof codeUpgradeableConfigSchema>;\n\nexport const upgradeableConfigSchema = z.discriminatedUnion('upgradeType', [\n proxyConfigSchema,\n notUpgradeableConfigSchema,\n codeUpgradeableConfigSchema,\n]);\n\nexport type UpgradeableConfig = z.infer<typeof upgradeableConfigSchema>;\n\n/** @deprecated use assertUpgradability, ensure your config is nonoptional */\nexport const weakAssertUpgradability = <AllowedUpgradeConfigs extends UpgradeableConfig[]>(\n allowedUpgradeConfigs: AllowedUpgradeConfigs,\n upgradeableConfig?: UpgradeableConfig,\n): asserts upgradeableConfig is AllowedUpgradeConfigs[number] => {\n if (!upgradeableConfig) {\n return;\n }\n\n if (\n allowedUpgradeConfigs.some((allowedConfig) => {\n if (allowedConfig.upgradeType !== upgradeableConfig.upgradeType) {\n return false;\n }\n\n if (allowedConfig.upgradeType === UpgradeType.NOT_UPGRADEABLE) {\n return true;\n }\n\n if (allowedConfig.upgradeType === UpgradeType.CODE_UPGRADE) {\n return true;\n }\n\n if (allowedConfig.upgradeType === UpgradeType.PROXY) {\n return (\n allowedConfig.proxyType ===\n (upgradeableConfig as ProxyUpgradeableConfig).proxyType\n );\n }\n\n assertUnreachable(allowedConfig);\n })\n ) {\n // included in allowed array\n return;\n }\n\n throw new NonRetryableError(\n `Upgrade config ${JSON.stringify(upgradeableConfig)} is not compatible with any of the allowed upgrade configs ${JSON.stringify(allowedUpgradeConfigs)}`,\n );\n};\n\nexport const assertUpgradability = <AllowedUpgradeConfigs extends UpgradeableConfig[]>(\n allowedUpgradeConfigs: AllowedUpgradeConfigs,\n // eventually make this nonoptional once callers are upgraded\n upgradeableConfig?: UpgradeableConfig,\n): asserts upgradeableConfig is AllowedUpgradeConfigs[number] => {\n if (!upgradeableConfig) {\n throw new NonRetryableError('Will not handle undefined upgrade config');\n }\n\n return weakAssertUpgradability(allowedUpgradeConfigs, upgradeableConfig);\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { upgradeableConfigSchema } from './
|
|
1
|
+
import { upgradeableConfigSchema } from './BZJPR5LC.js';
|
|
2
2
|
import { __name } from './VUOMXK5T.js';
|
|
3
3
|
import z from 'zod';
|
|
4
4
|
import { normalizedHexSchema } from '@layerzerolabs/common-chain-model';
|
|
@@ -62,5 +62,5 @@ var extractMeshResourceReferences = /* @__PURE__ */ __name((resource) => Object.
|
|
|
62
62
|
var createResolvedResourceSchema = /* @__PURE__ */ __name((resource) => resource, "createResolvedResourceSchema");
|
|
63
63
|
|
|
64
64
|
export { baseContractResourceSchema, baseMeshResourceSchema, baseResourceSchema, contractResourceReferenceSchema, contractResourceReferenceSchemaFor, createResolvedResourceSchema, extractContractResourceReferences, extractIdFromContractResourceReference, extractIdFromMeshResourceReference, extractMeshResourceReferences, meshResourceReferenceSchema, meshResourceReferenceSchemaFor, resolvedContractResourceReferenceSchema, resolvedMeshResourceReferenceSchema, withIntrinsicAddress };
|
|
65
|
-
//# sourceMappingURL=
|
|
66
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=MKV6NR6C.js.map
|
|
66
|
+
//# sourceMappingURL=MKV6NR6C.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","withIntrinsicAddress","resourceSchema","_INTRINSIC_normalizedAddress","normalizedHexSchema","extractIdFromContractResourceReference","ref","startsWith","slice","length","throwError","JSON","stringify","contractResourceReferenceSchema","meta","title","description","contractResourceDependencyForSchemaZodMetaIdIdx","contractResourceReferenceSchemaFor","_resource","resolvedContractResourceReferenceSchema","custom","meshResourceReferenceSchema","meshResourceDependencyForSchemaZodMetaIdIdx","meshResourceReferenceSchemaFor","extractIdFromMeshResourceReference","resolvedMeshResourceReferenceSchema","extractContractResourceReferences","resource","Object","entries","filter","extractMeshResourceReferences","createResolvedResourceSchema"],"mappings":"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","file":"IUFXXZ2R.js","sourcesContent":["import z from 'zod';\n\nimport { normalizedHexSchema, type NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { throwError } from '@layerzerolabs/common-error-utils';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport const withIntrinsicAddress = <T extends typeof baseContractResourceSchema>(\n resourceSchema: T,\n) =>\n z.object({\n ...resourceSchema.shape,\n _INTRINSIC_normalizedAddress: normalizedHexSchema,\n }) as z.ZodObject<\n T['shape'] & { _INTRINSIC_normalizedAddress: typeof normalizedHexSchema },\n z.core.$strip\n >;\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\nexport type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;\n\n// the actual expected runtime value for this type is #C_REF:${id}\nexport type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__CONTRACT_RESOURCE_REFERENCE']: true;\n};\n\nexport const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>\n ((ref as unknown as string).startsWith('#C_REF:') &&\n (ref as unknown as string).slice('#C_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);\n\n// use z.ZodType<BaseContractResource> because want to allow unions\nexport type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<\n ContractResourceReference<z.infer<T>>\n>;\n\nexport const contractResourceReferenceSchema: ContractResourceReferenceSchema<\n z.ZodType<BaseContractResource>\n // at runtime, we expect a string\n> = z.string().meta({\n id: 'contract-resource-dependency',\n title: 'Contract dependency to any',\n description: 'A reference to another contract resource (any)',\n}) as unknown as z.ZodType<ContractResourceReference>;\n\nlet contractResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContractResource>>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceReferenceSchema<T> =>\n z.string().meta({\n id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,\n // we can't generate this properly yet because this function needs more information\n // will be fixed when we clean up the runtime of dependencies id\n title: 'Contract dependency to (unknown)',\n description: 'A reference to another contract resource (unknown)',\n }) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;\n\nexport type ResolvedContractResourceReference<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> =\n z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;\n\nexport const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceReference<any>>();\n\n// the actual expected runtime value for this type is #M_REF:${id}\nexport type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__MESH_RESOURCE_REFERENCE']: true;\n};\n\nexport type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceReference<z.infer<T>>\n>;\n\nexport const meshResourceReferenceSchema: MeshResourceReferenceSchema<\n typeof baseMeshResourceSchema\n> = z.string().meta({\n id: 'mesh-resource-dependency',\n title: 'Mesh dependency to any',\n description: 'A reference to another mesh resource (any)',\n}) as unknown as z.ZodType<MeshResourceReference>;\n\nlet meshResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceReferenceSchema<T> =>\n z.string().meta({\n id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,\n title: 'Mesh dependency to (unknown)',\n description: 'A reference to another mesh resource (unknown)',\n }) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;\n\nexport type ResolvedMeshResourceReference<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>\n ((ref as unknown as string).startsWith('#M_REF:') &&\n (ref as unknown as string).slice('#M_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);\n\nexport type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;\n\nexport const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =\n z.custom<ResolvedMeshResourceReference<any>>();\n\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in Exclude<\n keyof Resource['shape'],\n '_INTRINSIC_normalizedAddress'\n >]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceReferenceSchema<infer I>\n ? ResolvedContractResourceReferenceSchema<I>\n : R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>\n : R extends MeshResourceReferenceSchema<infer I>\n ? ResolvedMeshResourceReferenceSchema<I>\n : R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in Exclude<keyof Resource, '_INTRINSIC_normalizedAddress'>]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceReference<infer I>\n ? ResolvedContractResourceReference<I>\n : R extends ContractResourceReference<infer I> | undefined\n ? ResolvedContractResourceReference<I> | undefined\n : R extends MeshResourceReference<infer I>\n ? ResolvedMeshResourceReference<I>\n : R extends MeshResourceReference<infer I> | undefined\n ? ResolvedMeshResourceReference<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceReferences = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),\n ) as unknown as [prop: string, id: ContractResourceReference][];\n\nexport const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),\n ) as unknown as [prop: string, id: MeshResourceReference][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","withIntrinsicAddress","resourceSchema","_INTRINSIC_normalizedAddress","normalizedHexSchema","extractIdFromContractResourceReference","ref","startsWith","slice","length","throwError","JSON","stringify","contractResourceReferenceSchema","meta","title","description","contractResourceDependencyForSchemaZodMetaIdIdx","contractResourceReferenceSchemaFor","_resource","resolvedContractResourceReferenceSchema","custom","meshResourceReferenceSchema","meshResourceDependencyForSchemaZodMetaIdIdx","meshResourceReferenceSchemaFor","extractIdFromMeshResourceReference","resolvedMeshResourceReferenceSchema","extractContractResourceReferences","resource","Object","entries","filter","extractMeshResourceReferences","createResolvedResourceSchema"],"mappings":";;;;;;;AASO,IAAMA,kBAAAA,GAAqBC,EAAEC,MAAAA,CAAO;AACvCC,EAAAA,EAAAA,EAAIF,EAAEG,MAAAA,EAAM;EACZC,IAAAA,EAAMJ,CAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA,EAAQ;AACzBC,EAAAA,gBAAAA,EAAkBN,EAAEG,MAAAA;AACxB,CAAA;AAEO,IAAMI,sBAAAA,GAAyBP,EAAEC,MAAAA,CAAO;AAC3C,EAAA,GAAGF,kBAAAA,CAAmBS,KAAAA;EACtBF,gBAAAA,EAAkBN,CAAAA,CAAES,QAAQ,MAAA;AAChC,CAAA;AAEO,IAAMC,0BAAAA,GAA6BV,EAAEC,MAAAA,CAAO;AAC/C,EAAA,GAAGF,kBAAAA,CAAmBS,KAAAA;EACtBF,gBAAAA,EAAkBN,CAAAA,CAAES,QAAQ,UAAA,CAAA;EAC5BE,SAAAA,EAAWX,CAAAA,CAAEY,KAAKC,SAAAA,CAAAA;AAClBC,EAAAA,aAAAA,EAAeC,wBAAwBV,QAAAA,EAAQ;EAC/CW,cAAAA,EAAgBhB,CAAAA,CAAEiB,OAAAA,EAAO,CAAGZ,QAAAA,EAAQ;EAEpCa,WAAAA,EAAalB,CAAAA,CAAEmB,GAAAA,EAAG,CAAGd,QAAAA;AACzB,CAAA;AAEO,IAAMe,oBAAAA,mBAAuB,MAAA,CAAA,CAChCC,cAAAA,KAEArB,CAAAA,CAAEC,MAAAA,CAAO;AACL,EAAA,GAAGoB,cAAAA,CAAeb,KAAAA;EAClBc,4BAAAA,EAA8BC;AAClC,CAAA,CAAA,EANgC,sBAAA;AAuB7B,IAAMC,yDAAyC,MAAA,CAAA,CAACC,GAAAA,KACjDA,IAA0BC,UAAAA,CAAW,SAAA,KAClCD,GAAAA,CAA0BE,KAAAA,CAAM,UAAUC,MAAM,CAAA,IACrDC,WAAW,CAAA,IAAA,EAAOC,IAAAA,CAAKC,UAAUN,GAAAA,CAAAA,iCAAqC,CAAA,EAHpB,wCAAA;AAU/C,IAAMO,+BAAAA,GAGThC,CAAAA,CAAEG,MAAAA,EAAM,CAAG8B,IAAAA,CAAK;EAChB/B,EAAAA,EAAI,8BAAA;EACJgC,KAAAA,EAAO,4BAAA;EACPC,WAAAA,EAAa;AACjB,CAAA;AAEA,IAAIC,+CAAAA,GAAkD,CAAA;AAC/C,IAAMC,qDAAqC,MAAA,CAAA,CAE9CC,SAAAA,KAEAtC,CAAAA,CAAEG,MAAAA,GAAS8B,IAAAA,CAAK;EACZ/B,EAAAA,EAAI,CAAA,iCAAA,EAAoC,EAAEkC,+CAAAA,CAAAA,CAAAA;;;EAG1CF,KAAAA,EAAO,kCAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAV8C,oCAAA;AAqB3C,IAAMI,uCAAAA;;AAETvC,EAAAA,CAAAA,CAAEwC,MAAAA;;AAaC,IAAMC,2BAAAA,GAETzC,CAAAA,CAAEG,MAAAA,EAAM,CAAG8B,IAAAA,CAAK;EAChB/B,EAAAA,EAAI,0BAAA;EACJgC,KAAAA,EAAO,wBAAA;EACPC,WAAAA,EAAa;AACjB,CAAA;AAEA,IAAIO,2CAAAA,GAA8C,CAAA;AAC3C,IAAMC,iDAAiC,MAAA,CAAA,CAE1CL,SAAAA,KAEAtC,CAAAA,CAAEG,MAAAA,GAAS8B,IAAAA,CAAK;EACZ/B,EAAAA,EAAI,CAAA,6BAAA,EAAgC,EAAEwC,2CAAAA,CAAAA,CAAAA;EACtCR,KAAAA,EAAO,8BAAA;EACPC,WAAAA,EAAa;AACjB,CAAA,CAAA,EAR0C,gCAAA;AAgBvC,IAAMS,qDAAqC,MAAA,CAAA,CAACnB,GAAAA,KAC7CA,IAA0BC,UAAAA,CAAW,SAAA,KAClCD,GAAAA,CAA0BE,KAAAA,CAAM,UAAUC,MAAM,CAAA,IACrDC,WAAW,CAAA,IAAA,EAAOC,IAAAA,CAAKC,UAAUN,GAAAA,CAAAA,6BAAiC,CAAA,EAHpB,oCAAA;AAS3C,IAAMoB,mCAAAA,GACT7C,EAAEwC,MAAAA;AA8CC,IAAMM,iCAAAA,2BACTC,QAAAA,KAEAC,MAAAA,CAAOC,QAAQF,QAAAA,CAAAA,CAAUG,OACrB,CAAC,GAAGhD,EAAAA,CAAAA,KAAQ,OAAOA,EAAAA,KAAO,QAAA,IAAYA,GAAGwB,UAAAA,CAAW,SAAA,CAAA,CAAA,EAJX,mCAAA;AAO1C,IAAMyB,6BAAAA,2BAAgEJ,QAAAA,KACzEC,MAAAA,CAAOC,QAAQF,QAAAA,CAAAA,CAAUG,OACrB,CAAC,GAAGhD,EAAAA,CAAAA,KAAQ,OAAOA,EAAAA,KAAO,QAAA,IAAYA,GAAGwB,UAAAA,CAAW,SAAA,CAAA,CAAA,EAFf,+BAAA;AAMtC,IAAM0B,4BAAAA,mBAA+B,MAAA,CAAA,CACxCL,QAAAA,KACCA,QAAAA,EAFuC,8BAAA","file":"MKV6NR6C.js","sourcesContent":["import z from 'zod';\n\nimport { normalizedHexSchema, type NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { throwError } from '@layerzerolabs/common-error-utils';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport const withIntrinsicAddress = <T extends typeof baseContractResourceSchema>(\n resourceSchema: T,\n) =>\n z.object({\n ...resourceSchema.shape,\n _INTRINSIC_normalizedAddress: normalizedHexSchema,\n }) as z.ZodObject<\n T['shape'] & { _INTRINSIC_normalizedAddress: typeof normalizedHexSchema },\n z.core.$strip\n >;\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\nexport type BaseIntrinsicAddressContractResource = z.infer<ReturnType<typeof withIntrinsicAddress>>;\n\n// the actual expected runtime value for this type is #C_REF:${id}\nexport type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__CONTRACT_RESOURCE_REFERENCE']: true;\n};\n\nexport const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>\n ((ref as unknown as string).startsWith('#C_REF:') &&\n (ref as unknown as string).slice('#C_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);\n\n// use z.ZodType<BaseContractResource> because want to allow unions\nexport type ContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> = z.ZodType<\n ContractResourceReference<z.infer<T>>\n>;\n\nexport const contractResourceReferenceSchema: ContractResourceReferenceSchema<\n z.ZodType<BaseContractResource>\n // at runtime, we expect a string\n> = z.string().meta({\n id: 'contract-resource-dependency',\n title: 'Contract dependency to any',\n description: 'A reference to another contract resource (any)',\n}) as unknown as z.ZodType<ContractResourceReference>;\n\nlet contractResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const contractResourceReferenceSchemaFor = <T extends z.ZodType<BaseContractResource>>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceReferenceSchema<T> =>\n z.string().meta({\n id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,\n // we can't generate this properly yet because this function needs more information\n // will be fixed when we clean up the runtime of dependencies id\n title: 'Contract dependency to (unknown)',\n description: 'A reference to another contract resource (unknown)',\n }) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;\n\nexport type ResolvedContractResourceReference<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceReferenceSchema<T extends z.ZodType<BaseContractResource>> =\n z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;\n\nexport const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceReference<any>>();\n\n// the actual expected runtime value for this type is #M_REF:${id}\nexport type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {\n /** WARNING: these fields are not present at runtime */\n __resourceReferenceType: T;\n ['__MESH_RESOURCE_REFERENCE']: true;\n};\n\nexport type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceReference<z.infer<T>>\n>;\n\nexport const meshResourceReferenceSchema: MeshResourceReferenceSchema<\n typeof baseMeshResourceSchema\n> = z.string().meta({\n id: 'mesh-resource-dependency',\n title: 'Mesh dependency to any',\n description: 'A reference to another mesh resource (any)',\n}) as unknown as z.ZodType<MeshResourceReference>;\n\nlet meshResourceDependencyForSchemaZodMetaIdIdx = 0;\nexport const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceReferenceSchema<T> =>\n z.string().meta({\n id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,\n title: 'Mesh dependency to (unknown)',\n description: 'A reference to another mesh resource (unknown)',\n }) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;\n\nexport type ResolvedMeshResourceReference<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>\n ((ref as unknown as string).startsWith('#M_REF:') &&\n (ref as unknown as string).slice('#M_REF:'.length)) ||\n throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);\n\nexport type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;\n\nexport const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =\n z.custom<ResolvedMeshResourceReference<any>>();\n\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in Exclude<\n keyof Resource['shape'],\n '_INTRINSIC_normalizedAddress'\n >]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceReferenceSchema<infer I>\n ? ResolvedContractResourceReferenceSchema<I>\n : R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>\n : R extends MeshResourceReferenceSchema<infer I>\n ? ResolvedMeshResourceReferenceSchema<I>\n : R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in Exclude<keyof Resource, '_INTRINSIC_normalizedAddress'>]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceReference<infer I>\n ? ResolvedContractResourceReference<I>\n : R extends ContractResourceReference<infer I> | undefined\n ? ResolvedContractResourceReference<I> | undefined\n : R extends MeshResourceReference<infer I>\n ? ResolvedMeshResourceReference<I>\n : R extends MeshResourceReference<infer I> | undefined\n ? ResolvedMeshResourceReference<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceReferences = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),\n ) as unknown as [prop: string, id: ContractResourceReference][];\n\nexport const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>\n Object.entries(resource).filter(\n ([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),\n ) as unknown as [prop: string, id: MeshResourceReference][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|