@aztec/ethereum 0.0.1-commit.fce3e4f → 0.0.1-commit.ff7989d6c

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.
Files changed (199) hide show
  1. package/dest/client.js +6 -2
  2. package/dest/config.d.ts +19 -68
  3. package/dest/config.d.ts.map +1 -1
  4. package/dest/config.js +55 -380
  5. package/dest/contracts/empire_base.d.ts +4 -1
  6. package/dest/contracts/empire_base.d.ts.map +1 -1
  7. package/dest/contracts/empire_slashing_proposer.d.ts +4 -1
  8. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  9. package/dest/contracts/empire_slashing_proposer.js +31 -15
  10. package/dest/contracts/fee_asset_handler.d.ts +6 -5
  11. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  12. package/dest/contracts/fee_asset_handler.js +11 -9
  13. package/dest/contracts/fee_asset_price_oracle.d.ts +101 -0
  14. package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
  15. package/dest/contracts/fee_asset_price_oracle.js +651 -0
  16. package/dest/contracts/governance.d.ts +3 -1
  17. package/dest/contracts/governance.d.ts.map +1 -1
  18. package/dest/contracts/governance.js +14 -4
  19. package/dest/contracts/governance_proposer.d.ts +4 -1
  20. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  21. package/dest/contracts/governance_proposer.js +404 -9
  22. package/dest/contracts/inbox.d.ts +24 -3
  23. package/dest/contracts/inbox.d.ts.map +1 -1
  24. package/dest/contracts/inbox.js +36 -1
  25. package/dest/contracts/index.d.ts +4 -1
  26. package/dest/contracts/index.d.ts.map +1 -1
  27. package/dest/contracts/index.js +3 -0
  28. package/dest/contracts/log.d.ts +13 -0
  29. package/dest/contracts/log.d.ts.map +1 -0
  30. package/dest/contracts/log.js +1 -0
  31. package/dest/contracts/multicall.d.ts +1 -1
  32. package/dest/contracts/multicall.d.ts.map +1 -1
  33. package/dest/contracts/multicall.js +2 -1
  34. package/dest/contracts/outbox.d.ts +41 -0
  35. package/dest/contracts/outbox.d.ts.map +1 -0
  36. package/dest/contracts/outbox.js +86 -0
  37. package/dest/contracts/rollup.d.ts +177 -96
  38. package/dest/contracts/rollup.d.ts.map +1 -1
  39. package/dest/contracts/rollup.js +707 -144
  40. package/dest/contracts/tally_slashing_proposer.d.ts +3 -2
  41. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  42. package/dest/contracts/tally_slashing_proposer.js +8 -1
  43. package/dest/deploy_aztec_l1_contracts.d.ts +259 -0
  44. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
  45. package/dest/deploy_aztec_l1_contracts.js +413 -0
  46. package/dest/deploy_l1_contract.d.ts +68 -0
  47. package/dest/deploy_l1_contract.d.ts.map +1 -0
  48. package/dest/deploy_l1_contract.js +312 -0
  49. package/dest/forwarder_proxy.d.ts +32 -0
  50. package/dest/forwarder_proxy.d.ts.map +1 -0
  51. package/dest/forwarder_proxy.js +93 -0
  52. package/dest/generated/l1-contracts-defaults.d.ts +30 -0
  53. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  54. package/dest/generated/l1-contracts-defaults.js +30 -0
  55. package/dest/l1_artifacts.d.ts +5975 -1575
  56. package/dest/l1_artifacts.d.ts.map +1 -1
  57. package/dest/l1_contract_addresses.d.ts +1 -1
  58. package/dest/l1_contract_addresses.d.ts.map +1 -1
  59. package/dest/l1_contract_addresses.js +3 -3
  60. package/dest/l1_reader.d.ts +3 -1
  61. package/dest/l1_reader.d.ts.map +1 -1
  62. package/dest/l1_reader.js +6 -0
  63. package/dest/l1_tx_utils/config.d.ts +9 -3
  64. package/dest/l1_tx_utils/config.d.ts.map +1 -1
  65. package/dest/l1_tx_utils/config.js +31 -4
  66. package/dest/l1_tx_utils/constants.d.ts +8 -2
  67. package/dest/l1_tx_utils/constants.d.ts.map +1 -1
  68. package/dest/l1_tx_utils/constants.js +27 -2
  69. package/dest/l1_tx_utils/factory.d.ts +18 -10
  70. package/dest/l1_tx_utils/factory.d.ts.map +1 -1
  71. package/dest/l1_tx_utils/factory.js +17 -7
  72. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  73. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  74. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  75. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  76. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  77. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  78. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  79. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  80. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  81. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  82. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  83. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  84. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
  85. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
  86. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +42 -0
  87. package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
  88. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
  89. package/dest/l1_tx_utils/index-blobs.js +2 -0
  90. package/dest/l1_tx_utils/index.d.ts +4 -1
  91. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  92. package/dest/l1_tx_utils/index.js +3 -0
  93. package/dest/l1_tx_utils/interfaces.d.ts +2 -2
  94. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -1
  95. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  96. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  97. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  98. package/dest/l1_tx_utils/l1_tx_utils.d.ts +15 -5
  99. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  100. package/dest/l1_tx_utils/l1_tx_utils.js +64 -17
  101. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +4 -15
  102. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  103. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +53 -160
  104. package/dest/l1_tx_utils/tx_delayer.d.ts +56 -0
  105. package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
  106. package/dest/{test → l1_tx_utils}/tx_delayer.js +65 -36
  107. package/dest/publisher_manager.d.ts +3 -2
  108. package/dest/publisher_manager.d.ts.map +1 -1
  109. package/dest/publisher_manager.js +2 -2
  110. package/dest/queries.d.ts +2 -2
  111. package/dest/queries.d.ts.map +1 -1
  112. package/dest/queries.js +12 -4
  113. package/dest/test/chain_monitor.d.ts +15 -13
  114. package/dest/test/chain_monitor.d.ts.map +1 -1
  115. package/dest/test/chain_monitor.js +7 -9
  116. package/dest/test/eth_cheat_codes.d.ts +13 -1
  117. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  118. package/dest/test/eth_cheat_codes.js +4 -2
  119. package/dest/test/index.d.ts +1 -3
  120. package/dest/test/index.d.ts.map +1 -1
  121. package/dest/test/index.js +0 -2
  122. package/dest/test/rollup_cheat_codes.d.ts +9 -6
  123. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  124. package/dest/test/rollup_cheat_codes.js +32 -6
  125. package/dest/test/start_anvil.d.ts +3 -1
  126. package/dest/test/start_anvil.d.ts.map +1 -1
  127. package/dest/test/start_anvil.js +1 -1
  128. package/dest/test/upgrade_utils.js +2 -2
  129. package/dest/types.d.ts +57 -2
  130. package/dest/types.d.ts.map +1 -1
  131. package/dest/utils.d.ts +16 -3
  132. package/dest/utils.d.ts.map +1 -1
  133. package/dest/utils.js +64 -0
  134. package/package.json +33 -14
  135. package/src/client.ts +2 -2
  136. package/src/config.ts +65 -459
  137. package/src/contracts/README.md +157 -0
  138. package/src/contracts/empire_base.ts +3 -1
  139. package/src/contracts/empire_slashing_proposer.ts +28 -28
  140. package/src/contracts/fee_asset_handler.ts +10 -7
  141. package/src/contracts/fee_asset_price_oracle.ts +280 -0
  142. package/src/contracts/governance.ts +13 -4
  143. package/src/contracts/governance_proposer.ts +16 -2
  144. package/src/contracts/inbox.ts +55 -3
  145. package/src/contracts/index.ts +3 -0
  146. package/src/contracts/log.ts +13 -0
  147. package/src/contracts/multicall.ts +5 -2
  148. package/src/contracts/outbox.ts +98 -0
  149. package/src/contracts/rollup.ts +390 -118
  150. package/src/contracts/tally_slashing_proposer.ts +7 -1
  151. package/src/deploy_aztec_l1_contracts.ts +650 -0
  152. package/src/deploy_l1_contract.ts +362 -0
  153. package/src/forwarder_proxy.ts +108 -0
  154. package/src/generated/l1-contracts-defaults.ts +32 -0
  155. package/src/l1_contract_addresses.ts +22 -20
  156. package/src/l1_reader.ts +8 -0
  157. package/src/l1_tx_utils/config.ts +44 -6
  158. package/src/l1_tx_utils/constants.ts +13 -2
  159. package/src/l1_tx_utils/factory.ts +31 -31
  160. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  161. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  162. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  163. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  164. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +108 -0
  165. package/src/l1_tx_utils/index-blobs.ts +2 -0
  166. package/src/l1_tx_utils/index.ts +3 -0
  167. package/src/l1_tx_utils/interfaces.ts +1 -1
  168. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  169. package/src/l1_tx_utils/l1_tx_utils.ts +76 -21
  170. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +67 -206
  171. package/src/{test → l1_tx_utils}/tx_delayer.ts +82 -52
  172. package/src/publisher_manager.ts +4 -2
  173. package/src/queries.ts +11 -3
  174. package/src/test/chain_monitor.ts +18 -16
  175. package/src/test/eth_cheat_codes.ts +2 -2
  176. package/src/test/index.ts +0 -2
  177. package/src/test/rollup_cheat_codes.ts +32 -9
  178. package/src/test/start_anvil.ts +3 -1
  179. package/src/test/upgrade_utils.ts +2 -2
  180. package/src/types.ts +62 -0
  181. package/src/utils.ts +83 -1
  182. package/dest/deploy_l1_contracts.d.ts +0 -673
  183. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  184. package/dest/deploy_l1_contracts.js +0 -1491
  185. package/dest/index.d.ts +0 -18
  186. package/dest/index.d.ts.map +0 -1
  187. package/dest/index.js +0 -17
  188. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +0 -26
  189. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
  190. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
  191. package/dest/test/delayed_tx_utils.d.ts +0 -13
  192. package/dest/test/delayed_tx_utils.d.ts.map +0 -1
  193. package/dest/test/delayed_tx_utils.js +0 -28
  194. package/dest/test/tx_delayer.d.ts +0 -36
  195. package/dest/test/tx_delayer.d.ts.map +0 -1
  196. package/src/deploy_l1_contracts.ts +0 -1869
  197. package/src/index.ts +0 -17
  198. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
  199. package/src/test/delayed_tx_utils.ts +0 -52
@@ -0,0 +1,651 @@
1
+ function applyDecs2203RFactory() {
2
+ function createAddInitializerMethod(initializers, decoratorFinishedRef) {
3
+ return function addInitializer(initializer) {
4
+ assertNotFinished(decoratorFinishedRef, "addInitializer");
5
+ assertCallable(initializer, "An initializer");
6
+ initializers.push(initializer);
7
+ };
8
+ }
9
+ function memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value) {
10
+ var kindStr;
11
+ switch(kind){
12
+ case 1:
13
+ kindStr = "accessor";
14
+ break;
15
+ case 2:
16
+ kindStr = "method";
17
+ break;
18
+ case 3:
19
+ kindStr = "getter";
20
+ break;
21
+ case 4:
22
+ kindStr = "setter";
23
+ break;
24
+ default:
25
+ kindStr = "field";
26
+ }
27
+ var ctx = {
28
+ kind: kindStr,
29
+ name: isPrivate ? "#" + name : name,
30
+ static: isStatic,
31
+ private: isPrivate,
32
+ metadata: metadata
33
+ };
34
+ var decoratorFinishedRef = {
35
+ v: false
36
+ };
37
+ ctx.addInitializer = createAddInitializerMethod(initializers, decoratorFinishedRef);
38
+ var get, set;
39
+ if (kind === 0) {
40
+ if (isPrivate) {
41
+ get = desc.get;
42
+ set = desc.set;
43
+ } else {
44
+ get = function() {
45
+ return this[name];
46
+ };
47
+ set = function(v) {
48
+ this[name] = v;
49
+ };
50
+ }
51
+ } else if (kind === 2) {
52
+ get = function() {
53
+ return desc.value;
54
+ };
55
+ } else {
56
+ if (kind === 1 || kind === 3) {
57
+ get = function() {
58
+ return desc.get.call(this);
59
+ };
60
+ }
61
+ if (kind === 1 || kind === 4) {
62
+ set = function(v) {
63
+ desc.set.call(this, v);
64
+ };
65
+ }
66
+ }
67
+ ctx.access = get && set ? {
68
+ get: get,
69
+ set: set
70
+ } : get ? {
71
+ get: get
72
+ } : {
73
+ set: set
74
+ };
75
+ try {
76
+ return dec(value, ctx);
77
+ } finally{
78
+ decoratorFinishedRef.v = true;
79
+ }
80
+ }
81
+ function assertNotFinished(decoratorFinishedRef, fnName) {
82
+ if (decoratorFinishedRef.v) {
83
+ throw new Error("attempted to call " + fnName + " after decoration was finished");
84
+ }
85
+ }
86
+ function assertCallable(fn, hint) {
87
+ if (typeof fn !== "function") {
88
+ throw new TypeError(hint + " must be a function");
89
+ }
90
+ }
91
+ function assertValidReturnValue(kind, value) {
92
+ var type = typeof value;
93
+ if (kind === 1) {
94
+ if (type !== "object" || value === null) {
95
+ throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
96
+ }
97
+ if (value.get !== undefined) {
98
+ assertCallable(value.get, "accessor.get");
99
+ }
100
+ if (value.set !== undefined) {
101
+ assertCallable(value.set, "accessor.set");
102
+ }
103
+ if (value.init !== undefined) {
104
+ assertCallable(value.init, "accessor.init");
105
+ }
106
+ } else if (type !== "function") {
107
+ var hint;
108
+ if (kind === 0) {
109
+ hint = "field";
110
+ } else if (kind === 10) {
111
+ hint = "class";
112
+ } else {
113
+ hint = "method";
114
+ }
115
+ throw new TypeError(hint + " decorators must return a function or void 0");
116
+ }
117
+ }
118
+ function applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata) {
119
+ var decs = decInfo[0];
120
+ var desc, init, value;
121
+ if (isPrivate) {
122
+ if (kind === 0 || kind === 1) {
123
+ desc = {
124
+ get: decInfo[3],
125
+ set: decInfo[4]
126
+ };
127
+ } else if (kind === 3) {
128
+ desc = {
129
+ get: decInfo[3]
130
+ };
131
+ } else if (kind === 4) {
132
+ desc = {
133
+ set: decInfo[3]
134
+ };
135
+ } else {
136
+ desc = {
137
+ value: decInfo[3]
138
+ };
139
+ }
140
+ } else if (kind !== 0) {
141
+ desc = Object.getOwnPropertyDescriptor(base, name);
142
+ }
143
+ if (kind === 1) {
144
+ value = {
145
+ get: desc.get,
146
+ set: desc.set
147
+ };
148
+ } else if (kind === 2) {
149
+ value = desc.value;
150
+ } else if (kind === 3) {
151
+ value = desc.get;
152
+ } else if (kind === 4) {
153
+ value = desc.set;
154
+ }
155
+ var newValue, get, set;
156
+ if (typeof decs === "function") {
157
+ newValue = memberDec(decs, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);
158
+ if (newValue !== void 0) {
159
+ assertValidReturnValue(kind, newValue);
160
+ if (kind === 0) {
161
+ init = newValue;
162
+ } else if (kind === 1) {
163
+ init = newValue.init;
164
+ get = newValue.get || value.get;
165
+ set = newValue.set || value.set;
166
+ value = {
167
+ get: get,
168
+ set: set
169
+ };
170
+ } else {
171
+ value = newValue;
172
+ }
173
+ }
174
+ } else {
175
+ for(var i = decs.length - 1; i >= 0; i--){
176
+ var dec = decs[i];
177
+ newValue = memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);
178
+ if (newValue !== void 0) {
179
+ assertValidReturnValue(kind, newValue);
180
+ var newInit;
181
+ if (kind === 0) {
182
+ newInit = newValue;
183
+ } else if (kind === 1) {
184
+ newInit = newValue.init;
185
+ get = newValue.get || value.get;
186
+ set = newValue.set || value.set;
187
+ value = {
188
+ get: get,
189
+ set: set
190
+ };
191
+ } else {
192
+ value = newValue;
193
+ }
194
+ if (newInit !== void 0) {
195
+ if (init === void 0) {
196
+ init = newInit;
197
+ } else if (typeof init === "function") {
198
+ init = [
199
+ init,
200
+ newInit
201
+ ];
202
+ } else {
203
+ init.push(newInit);
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ if (kind === 0 || kind === 1) {
210
+ if (init === void 0) {
211
+ init = function(instance, init) {
212
+ return init;
213
+ };
214
+ } else if (typeof init !== "function") {
215
+ var ownInitializers = init;
216
+ init = function(instance, init) {
217
+ var value = init;
218
+ for(var i = 0; i < ownInitializers.length; i++){
219
+ value = ownInitializers[i].call(instance, value);
220
+ }
221
+ return value;
222
+ };
223
+ } else {
224
+ var originalInitializer = init;
225
+ init = function(instance, init) {
226
+ return originalInitializer.call(instance, init);
227
+ };
228
+ }
229
+ ret.push(init);
230
+ }
231
+ if (kind !== 0) {
232
+ if (kind === 1) {
233
+ desc.get = value.get;
234
+ desc.set = value.set;
235
+ } else if (kind === 2) {
236
+ desc.value = value;
237
+ } else if (kind === 3) {
238
+ desc.get = value;
239
+ } else if (kind === 4) {
240
+ desc.set = value;
241
+ }
242
+ if (isPrivate) {
243
+ if (kind === 1) {
244
+ ret.push(function(instance, args) {
245
+ return value.get.call(instance, args);
246
+ });
247
+ ret.push(function(instance, args) {
248
+ return value.set.call(instance, args);
249
+ });
250
+ } else if (kind === 2) {
251
+ ret.push(value);
252
+ } else {
253
+ ret.push(function(instance, args) {
254
+ return value.call(instance, args);
255
+ });
256
+ }
257
+ } else {
258
+ Object.defineProperty(base, name, desc);
259
+ }
260
+ }
261
+ }
262
+ function applyMemberDecs(Class, decInfos, metadata) {
263
+ var ret = [];
264
+ var protoInitializers;
265
+ var staticInitializers;
266
+ var existingProtoNonFields = new Map();
267
+ var existingStaticNonFields = new Map();
268
+ for(var i = 0; i < decInfos.length; i++){
269
+ var decInfo = decInfos[i];
270
+ if (!Array.isArray(decInfo)) continue;
271
+ var kind = decInfo[1];
272
+ var name = decInfo[2];
273
+ var isPrivate = decInfo.length > 3;
274
+ var isStatic = kind >= 5;
275
+ var base;
276
+ var initializers;
277
+ if (isStatic) {
278
+ base = Class;
279
+ kind = kind - 5;
280
+ staticInitializers = staticInitializers || [];
281
+ initializers = staticInitializers;
282
+ } else {
283
+ base = Class.prototype;
284
+ protoInitializers = protoInitializers || [];
285
+ initializers = protoInitializers;
286
+ }
287
+ if (kind !== 0 && !isPrivate) {
288
+ var existingNonFields = isStatic ? existingStaticNonFields : existingProtoNonFields;
289
+ var existingKind = existingNonFields.get(name) || 0;
290
+ if (existingKind === true || existingKind === 3 && kind !== 4 || existingKind === 4 && kind !== 3) {
291
+ throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + name);
292
+ } else if (!existingKind && kind > 2) {
293
+ existingNonFields.set(name, kind);
294
+ } else {
295
+ existingNonFields.set(name, true);
296
+ }
297
+ }
298
+ applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata);
299
+ }
300
+ pushInitializers(ret, protoInitializers);
301
+ pushInitializers(ret, staticInitializers);
302
+ return ret;
303
+ }
304
+ function pushInitializers(ret, initializers) {
305
+ if (initializers) {
306
+ ret.push(function(instance) {
307
+ for(var i = 0; i < initializers.length; i++){
308
+ initializers[i].call(instance);
309
+ }
310
+ return instance;
311
+ });
312
+ }
313
+ }
314
+ function applyClassDecs(targetClass, classDecs, metadata) {
315
+ if (classDecs.length > 0) {
316
+ var initializers = [];
317
+ var newClass = targetClass;
318
+ var name = targetClass.name;
319
+ for(var i = classDecs.length - 1; i >= 0; i--){
320
+ var decoratorFinishedRef = {
321
+ v: false
322
+ };
323
+ try {
324
+ var nextNewClass = classDecs[i](newClass, {
325
+ kind: "class",
326
+ name: name,
327
+ addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef),
328
+ metadata
329
+ });
330
+ } finally{
331
+ decoratorFinishedRef.v = true;
332
+ }
333
+ if (nextNewClass !== undefined) {
334
+ assertValidReturnValue(10, nextNewClass);
335
+ newClass = nextNewClass;
336
+ }
337
+ }
338
+ return [
339
+ defineMetadata(newClass, metadata),
340
+ function() {
341
+ for(var i = 0; i < initializers.length; i++){
342
+ initializers[i].call(newClass);
343
+ }
344
+ }
345
+ ];
346
+ }
347
+ }
348
+ function defineMetadata(Class, metadata) {
349
+ return Object.defineProperty(Class, Symbol.metadata || Symbol.for("Symbol.metadata"), {
350
+ configurable: true,
351
+ enumerable: true,
352
+ value: metadata
353
+ });
354
+ }
355
+ return function applyDecs2203R(targetClass, memberDecs, classDecs, parentClass) {
356
+ if (parentClass !== void 0) {
357
+ var parentMetadata = parentClass[Symbol.metadata || Symbol.for("Symbol.metadata")];
358
+ }
359
+ var metadata = Object.create(parentMetadata === void 0 ? null : parentMetadata);
360
+ var e = applyMemberDecs(targetClass, memberDecs, metadata);
361
+ if (!classDecs.length) defineMetadata(targetClass, metadata);
362
+ return {
363
+ e: e,
364
+ get c () {
365
+ return applyClassDecs(targetClass, classDecs, metadata);
366
+ }
367
+ };
368
+ };
369
+ }
370
+ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
371
+ return (_apply_decs_2203_r = applyDecs2203RFactory())(targetClass, memberDecs, classDecs, parentClass);
372
+ }
373
+ var _initProto, _initProto1;
374
+ import { memoize } from '@aztec/foundation/decorators';
375
+ import { EthAddress } from '@aztec/foundation/eth-address';
376
+ import { createLogger } from '@aztec/foundation/log';
377
+ import { encodeAbiParameters, getContract, keccak256, parseAbiParameters } from 'viem';
378
+ /** Maximum price modifier per checkpoint in basis points. ±100 bps = ±1% */ export const MAX_FEE_ASSET_PRICE_MODIFIER_BPS = 100n;
379
+ /**
380
+ * Validates that a fee asset price modifier is within the allowed range.
381
+ * Validators should call this before attesting to a checkpoint proposal.
382
+ *
383
+ * @param modifier - The fee asset price modifier in basis points
384
+ * @returns true if the modifier is valid (between -100 and +100 bps)
385
+ */ export function validateFeeAssetPriceModifier(modifier) {
386
+ return modifier >= -MAX_FEE_ASSET_PRICE_MODIFIER_BPS && modifier <= MAX_FEE_ASSET_PRICE_MODIFIER_BPS;
387
+ }
388
+ /**
389
+ * Oracle for computing fee asset price modifiers based on Uniswap V4 pool prices.
390
+ * Only active on Ethereum mainnet - returns 0 on other chains.
391
+ */ export class FeeAssetPriceOracle {
392
+ client;
393
+ rollupContract;
394
+ log;
395
+ static{
396
+ ({ e: [_initProto] } = _apply_decs_2203_r(this, [
397
+ [
398
+ memoize,
399
+ 2,
400
+ "getUniswapOracle"
401
+ ]
402
+ ], []));
403
+ }
404
+ constructor(client, rollupContract, log = createLogger('fee-asset-price-oracle')){
405
+ this.client = client;
406
+ this.rollupContract = rollupContract;
407
+ this.log = log;
408
+ _initProto(this);
409
+ }
410
+ async getUniswapOracle() {
411
+ const code = await this.client.getCode({
412
+ address: STATE_VIEW_ADDRESS.toString()
413
+ });
414
+ if (code === undefined || code === '0x') {
415
+ this.log.warn('Uniswap V4 StateView contract not found, skipping fee asset price oracle');
416
+ return undefined;
417
+ }
418
+ this.log.info('Uniswap V4 StateView contract found, initializing fee asset price oracle');
419
+ const oracle = new UniswapPriceOracle(this.client, this.log);
420
+ try {
421
+ if (!await oracle.isPoolInitialized()) {
422
+ this.log.warn('Uniswap V4 pool not initialized, skipping fee asset price oracle');
423
+ return undefined;
424
+ }
425
+ } catch (err) {
426
+ this.log.warn(`Failed to check if Uniswap V4 pool is initialized: ${err}`);
427
+ return undefined;
428
+ }
429
+ return oracle;
430
+ }
431
+ /**
432
+ * Computes the fee asset price modifier to be used in the next checkpoint proposal.
433
+ *
434
+ * The modifier adjusts the on-chain fee asset price toward the oracle price,
435
+ * clamped to ±1% (±100 basis points) per checkpoint.
436
+ *
437
+ * Returns 0 if not on mainnet or if the oracle query fails.
438
+ *
439
+ * @returns The price modifier in basis points (positive to increase price, negative to decrease)
440
+ */ async computePriceModifier() {
441
+ const uniswapOracle = await this.getUniswapOracle();
442
+ if (!uniswapOracle) {
443
+ return 0n;
444
+ }
445
+ try {
446
+ // Get current on-chain price (ETH per fee asset, E12)
447
+ const currentPriceE12 = await this.rollupContract.getEthPerFeeAsset();
448
+ // Get oracle price (median of last N blocks, ETH per fee asset, E12)
449
+ const oraclePriceE12 = await uniswapOracle.getMeanEthPerFeeAssetE12();
450
+ // Compute modifier in basis points
451
+ const modifier = this.computePriceModifierBps(currentPriceE12, oraclePriceE12);
452
+ this.log.debug('Computed price modifier', {
453
+ currentPriceE12: currentPriceE12.toString(),
454
+ oraclePriceE12: oraclePriceE12.toString(),
455
+ modifierBps: modifier.toString()
456
+ });
457
+ return modifier;
458
+ } catch (err) {
459
+ this.log.warn(`Failed to compute price modifier, using 0: ${err}`);
460
+ return 0n;
461
+ }
462
+ }
463
+ /**
464
+ * Gets the current oracle price (ETH per fee asset, scaled by 1e12).
465
+ * Returns undefined if not on mainnet or if the oracle query fails.
466
+ */ async getOraclePrice() {
467
+ const uniswapOracle = await this.getUniswapOracle();
468
+ if (!uniswapOracle) {
469
+ return undefined;
470
+ }
471
+ try {
472
+ return await uniswapOracle.getMeanEthPerFeeAssetE12();
473
+ } catch (err) {
474
+ this.log.warn(`Failed to get oracle price: ${err}`);
475
+ return undefined;
476
+ }
477
+ }
478
+ /**
479
+ * Computes the basis points modifier needed to move from current price toward target price.
480
+ *
481
+ * @param currentPrice - Current ETH per fee asset (E12 scale)
482
+ * @param targetPrice - Target ETH per fee asset (E12 scale)
483
+ * @returns Basis points modifier clamped to ±100 (±1%)
484
+ */ computePriceModifierBps(currentPrice, targetPrice) {
485
+ if (currentPrice === 0n) {
486
+ return MAX_FEE_ASSET_PRICE_MODIFIER_BPS;
487
+ }
488
+ // Calculate percentage difference in basis points
489
+ // modifierBps = ((targetPrice - currentPrice) / currentPrice) * 10000
490
+ const diff = targetPrice - currentPrice;
491
+ const rawModifierBps = diff * 10_000n / currentPrice;
492
+ // Clamp to ±MAX_FEE_ASSET_PRICE_MODIFIER_BPS
493
+ if (rawModifierBps > MAX_FEE_ASSET_PRICE_MODIFIER_BPS) {
494
+ return MAX_FEE_ASSET_PRICE_MODIFIER_BPS;
495
+ }
496
+ if (rawModifierBps < -MAX_FEE_ASSET_PRICE_MODIFIER_BPS) {
497
+ return -MAX_FEE_ASSET_PRICE_MODIFIER_BPS;
498
+ }
499
+ return rawModifierBps;
500
+ }
501
+ }
502
+ /** Mainnet Uniswap V4 StateView contract address */ export const STATE_VIEW_ADDRESS = EthAddress.fromString('0x7ffe42c4a5deea5b0fec41c94c136cf115597227');
503
+ const PRECISION_Q192 = 10n ** 12n * 2n ** 192n;
504
+ /**
505
+ * Converts Uniswap's sqrtPriceX96 directly to ETH per FeeAsset (E12).
506
+ *
507
+ * For an ETH/FeeAsset pool where ETH is currency0 and FeeAsset is currency1:
508
+ * - Uniswap's sqrtPriceX96 = sqrt(FeeAsset/ETH) * 2^96
509
+ * - We need: ETH/FeeAsset with 1e12 precision
510
+ *
511
+ * Math:
512
+ * price = (sqrtPriceX96 / 2^96)^2 = sqrtPriceX96^2 / 2^192 (FeeAsset per ETH)
513
+ * ethPerFeeAsset = 1 / price = 2^192 / sqrtPriceX96^2
514
+ * ethPerFeeAssetE12 = ethPerFeeAsset * 1e12 = 1e12 * 2^192 / sqrtPriceX96^2
515
+ */ export function sqrtPriceX96ToEthPerFeeAssetE12(sqrtPriceX96) {
516
+ if (sqrtPriceX96 === 0n) {
517
+ throw new Error('Cannot convert zero sqrtPriceX96');
518
+ }
519
+ return PRECISION_Q192 / (sqrtPriceX96 * sqrtPriceX96);
520
+ }
521
+ /**
522
+ * Uniswap V4 StateView ABI - only the functions we need
523
+ */ const StateViewAbi = [
524
+ {
525
+ type: 'function',
526
+ name: 'getSlot0',
527
+ inputs: [
528
+ {
529
+ name: 'poolId',
530
+ type: 'bytes32',
531
+ internalType: 'PoolId'
532
+ }
533
+ ],
534
+ outputs: [
535
+ {
536
+ name: 'sqrtPriceX96',
537
+ type: 'uint160',
538
+ internalType: 'uint160'
539
+ },
540
+ {
541
+ name: 'tick',
542
+ type: 'int24',
543
+ internalType: 'int24'
544
+ },
545
+ {
546
+ name: 'protocolFee',
547
+ type: 'uint24',
548
+ internalType: 'uint24'
549
+ },
550
+ {
551
+ name: 'lpFee',
552
+ type: 'uint24',
553
+ internalType: 'uint24'
554
+ }
555
+ ],
556
+ stateMutability: 'view'
557
+ }
558
+ ];
559
+ /**
560
+ * Client for querying the ETH/FeeAsset price from Uniswap V4.
561
+ * Returns prices in ETH per FeeAsset format (E12) to match the rollup contract.
562
+ */ class UniswapPriceOracle {
563
+ client;
564
+ static{
565
+ ({ e: [_initProto1] } = _apply_decs_2203_r(this, [
566
+ [
567
+ memoize,
568
+ 2,
569
+ "computePoolId"
570
+ ]
571
+ ], []));
572
+ }
573
+ stateView;
574
+ poolId;
575
+ log;
576
+ constructor(client, log){
577
+ this.client = client;
578
+ _initProto1(this);
579
+ this.log = log ?? createLogger('uniswap-price-oracle');
580
+ this.stateView = getContract({
581
+ address: STATE_VIEW_ADDRESS.toString(),
582
+ abi: StateViewAbi,
583
+ client
584
+ });
585
+ this.poolId = this.computePoolId();
586
+ this.log.debug(`Initialized UniswapPriceOracle with poolId: ${this.poolId}`);
587
+ }
588
+ /**
589
+ * Computes the PoolId from the pool configuration by hashing its components.
590
+ * PoolId = keccak256(abi.encode(currency0, currency1, fee, tickSpacing, hooks))
591
+ * For mainnet, the value is expected to be: 0xce2899b16743cfd5a954d8122d5e07f410305b1aebee39fd73d9f3b9ebf10c2f
592
+ * Derived anyway to make it simpler to change if needed.
593
+ */ computePoolId() {
594
+ /** ETH/FeeAsset pool configuration (hardcoded for mainnet) */ const encoded = encodeAbiParameters(parseAbiParameters('address, address, uint24, int24, address'), [
595
+ EthAddress.ZERO.toString(),
596
+ EthAddress.fromString('0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2').toString(),
597
+ 500,
598
+ 10,
599
+ EthAddress.fromString('0xd53006d1e3110fD319a79AEEc4c527a0d265E080').toString()
600
+ ]);
601
+ return keccak256(encoded);
602
+ }
603
+ async isPoolInitialized() {
604
+ const [sqrtPriceX96] = await this.stateView.read.getSlot0([
605
+ this.poolId
606
+ ], undefined);
607
+ return sqrtPriceX96 !== 0n;
608
+ }
609
+ /**
610
+ * Gets the price as ETH per FeeAsset, scaled by 1e12.
611
+ * This is the format expected by the rollup contract.
612
+ *
613
+ * @param blockNumber - Optional block number to query at (defaults to latest)
614
+ */ async getEthPerFeeAssetE12(blockNumber) {
615
+ const [sqrtPriceX96] = await this.stateView.read.getSlot0([
616
+ this.poolId
617
+ ], blockNumber !== undefined ? {
618
+ blockNumber
619
+ } : undefined);
620
+ return sqrtPriceX96ToEthPerFeeAssetE12(sqrtPriceX96);
621
+ }
622
+ /**
623
+ * Gets the median price over the last N blocks as ETH per FeeAsset (E12).
624
+ * Using median helps protect against single-block manipulation.
625
+ *
626
+ * @param numBlocks - Number of recent blocks to sample (default: 5)
627
+ * @returns Median price as ETH per FeeAsset, scaled by 1e12
628
+ */ async getMeanEthPerFeeAssetE12(numBlocks = 5) {
629
+ const currentBlock = await this.client.getBlockNumber();
630
+ const prices = [];
631
+ for(let i = 0; i < numBlocks; i++){
632
+ const blockNumber = currentBlock - BigInt(i);
633
+ if (blockNumber < 0n) {
634
+ break;
635
+ }
636
+ try {
637
+ const price = await this.getEthPerFeeAssetE12(blockNumber);
638
+ prices.push(price);
639
+ } catch (err) {
640
+ this.log.warn(`Failed to get price at block ${blockNumber}: ${err}`);
641
+ // Continue with fewer samples
642
+ }
643
+ }
644
+ const filteredPrices = prices.filter((price)=>price !== 0n);
645
+ if (filteredPrices.length === 0) {
646
+ throw new Error('Failed to get any price samples from Uniswap oracle');
647
+ }
648
+ const mean = filteredPrices.reduce((a, b)=>a + b, 0n) / BigInt(filteredPrices.length);
649
+ return mean;
650
+ }
651
+ }
@@ -74,6 +74,8 @@ export declare class GovernanceContract extends ReadOnlyGovernanceContract {
74
74
  withdrawAddress: Hex;
75
75
  }): Promise<bigint>;
76
76
  getPower(): Promise<bigint>;
77
+ /** Returns the user's voting power for a specific proposal, checked at pendingThrough timestamp. */
78
+ getPowerForProposal(proposalId: bigint): Promise<bigint>;
77
79
  vote({ proposalId, voteAmount, inFavor, retries, logger }: {
78
80
  proposalId: bigint;
79
81
  voteAmount: bigint | undefined;
@@ -87,4 +89,4 @@ export declare class GovernanceContract extends ReadOnlyGovernanceContract {
87
89
  logger: Logger;
88
90
  }): Promise<void>;
89
91
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9nb3Zlcm5hbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUVMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUlULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsS0FBSyx3QkFBd0IsRUFBRSxLQUFLLFVBQVUsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFFL0YsTUFBTSxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FDOUMsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUFHLGVBQWUsR0FBRyxpQkFBaUIsR0FBRywyQkFBMkIsQ0FDeEYsQ0FBQztBQUdGLG9CQUFZLGFBQWE7SUFDdkIsT0FBTyxJQUFBO0lBQ1AsTUFBTSxJQUFBO0lBQ04sTUFBTSxJQUFBO0lBQ04sVUFBVSxJQUFBO0lBQ1YsUUFBUSxJQUFBO0lBQ1IsUUFBUSxJQUFBO0lBQ1IsT0FBTyxJQUFBO0lBQ1AsT0FBTyxJQUFBO0NBQ1I7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FXN0Q7QUFFRCxxQkFBYSwwQkFBMEI7YUFLbkIsTUFBTSxFQUFFLFVBQVU7SUFKcEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUvRixZQUNFLE9BQU8sRUFBRSxHQUFHLEVBQ0ksTUFBTSxFQUFFLFVBQVUsRUFHbkM7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFWSw0QkFBNEIsd0JBRXhDO0lBRU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7T0FFdEI7SUFFTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVwQztJQUVZLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQU94RTtJQUVZLG1CQUFtQixDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7S0FBRSxpQkFvQjlGO0lBRVksdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQTtLQUFFLGlCQXlCbEc7Q0FDRjtBQUVELHFCQUFhLGtCQUFtQixTQUFRLDBCQUEwQjthQUtyQyxNQUFNLEVBQUUsd0JBQXdCO0lBSjNELG1CQUE0QixrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBRXRILFlBQ0UsT0FBTyxFQUFFLEdBQUcsR0FBRyxVQUFVLEVBQ0EsTUFBTSxFQUFFLHdCQUF3QixFQVUxRDtJQUVZLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUduRDtJQUVZLGVBQWUsQ0FBQyxFQUMzQixjQUFjLEVBQ2QsZUFBZSxFQUNoQixFQUFFO1FBQ0QsY0FBYyxFQUFFLEdBQUcsQ0FBQztRQUNwQixlQUFlLEVBQUUsR0FBRyxDQUFDO0tBQ3RCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQU9sQjtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBR3ZDO0lBRVksSUFBSSxDQUFDLEVBQ2hCLFVBQVUsRUFDVixVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQVksRUFDWixNQUFNLEVBQ1AsRUFBRTtRQUNELFVBQVUsRUFBRSxNQUFNLENBQUM7UUFDbkIsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDL0IsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUNqQixPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDaEIsaUJBK0NBO0lBRVksZUFBZSxDQUFDLEVBQzNCLFVBQVUsRUFDVixPQUFZLEVBQ1osTUFBTSxFQUNQLEVBQUU7UUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztLQUNoQixpQkF5Q0E7Q0FDRiJ9
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9nb3Zlcm5hbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUVMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUlULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsS0FBSyx3QkFBd0IsRUFBRSxLQUFLLFVBQVUsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFFL0YsTUFBTSxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FDOUMsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUFHLGVBQWUsR0FBRyxpQkFBaUIsR0FBRywyQkFBMkIsQ0FDeEYsQ0FBQztBQUdGLG9CQUFZLGFBQWE7SUFDdkIsT0FBTyxJQUFBO0lBQ1AsTUFBTSxJQUFBO0lBQ04sTUFBTSxJQUFBO0lBQ04sVUFBVSxJQUFBO0lBQ1YsUUFBUSxJQUFBO0lBQ1IsUUFBUSxJQUFBO0lBQ1IsT0FBTyxJQUFBO0lBQ1AsT0FBTyxJQUFBO0NBQ1I7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FXN0Q7QUFFRCxxQkFBYSwwQkFBMEI7YUFLbkIsTUFBTSxFQUFFLFVBQVU7SUFKcEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUvRixZQUNFLE9BQU8sRUFBRSxHQUFHLEVBQ0ksTUFBTSxFQUFFLFVBQVUsRUFHbkM7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFWSw0QkFBNEIsd0JBRXhDO0lBRU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7T0FFdEI7SUFFTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVwQztJQUVZLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQU94RTtJQUVZLG1CQUFtQixDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7S0FBRSxpQkFvQjlGO0lBRVksdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQTtLQUFFLGlCQXlCbEc7Q0FDRjtBQUVELHFCQUFhLGtCQUFtQixTQUFRLDBCQUEwQjthQUtyQyxNQUFNLEVBQUUsd0JBQXdCO0lBSjNELG1CQUE0QixrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBRXRILFlBQ0UsT0FBTyxFQUFFLEdBQUcsR0FBRyxVQUFVLEVBQ0EsTUFBTSxFQUFFLHdCQUF3QixFQVUxRDtJQUVZLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUduRDtJQUVZLGVBQWUsQ0FBQyxFQUMzQixjQUFjLEVBQ2QsZUFBZSxFQUNoQixFQUFFO1FBQ0QsY0FBYyxFQUFFLEdBQUcsQ0FBQztRQUNwQixlQUFlLEVBQUUsR0FBRyxDQUFDO0tBQ3RCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQU9sQjtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBR3ZDO0lBRUQsb0dBQW9HO0lBQ3ZGLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUlwRTtJQUVZLElBQUksQ0FBQyxFQUNoQixVQUFVLEVBQ1YsVUFBVSxFQUNWLE9BQU8sRUFDUCxPQUFZLEVBQ1osTUFBTSxFQUNQLEVBQUU7UUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQ25CLFVBQVUsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0tBQ2hCLGlCQWdEQTtJQUVZLGVBQWUsQ0FBQyxFQUMzQixVQUFVLEVBQ1YsT0FBWSxFQUNaLE1BQU0sRUFDUCxFQUFFO1FBQ0QsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUNuQixPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDaEIsaUJBMENBO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"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"}