@aztec/ethereum 2.0.0-rc.3 → 2.0.0-rc.31
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/dest/config.d.ts.map +1 -1
- package/dest/config.js +100 -32
- package/dest/contracts/empire_slashing_proposer.d.ts +1 -1
- package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/empire_slashing_proposer.js +1 -1
- package/dest/contracts/rollup.d.ts +8 -5
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +30 -21
- package/dest/deploy_l1_contracts.js +2 -2
- package/dest/l1_artifacts.d.ts +77 -27
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_tx_utils.d.ts +4 -2
- package/dest/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils.js +21 -13
- package/dest/l1_tx_utils_with_blobs.d.ts +2 -1
- package/dest/l1_tx_utils_with_blobs.d.ts.map +1 -1
- package/dest/l1_tx_utils_with_blobs.js +7 -5
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +3 -10
- package/dest/test/chain_monitor.d.ts +4 -0
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +55 -9
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +10 -161
- package/dest/zkPassportVerifierAddress.js +1 -1
- package/package.json +5 -5
- package/src/config.ts +109 -32
- package/src/contracts/empire_slashing_proposer.ts +6 -2
- package/src/contracts/rollup.ts +39 -20
- package/src/deploy_l1_contracts.ts +2 -2
- package/src/l1_tx_utils.ts +28 -9
- package/src/l1_tx_utils_with_blobs.ts +8 -2
- package/src/queries.ts +3 -7
- package/src/test/chain_monitor.ts +62 -6
- package/src/utils.ts +13 -185
- package/src/zkPassportVerifierAddress.ts +1 -1
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAOlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAOlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AA2D9B,eAAO,MAAM,0BAA0B,GAAI,aAAa,YAAY;;;;;;;;;;;;CAanE,CAAC;AAsBF,eAAO,MAAM,mBAAmB,GAAI,aAAa,YAAY;;;CAa5D,CAAC;AAaF,eAAO,MAAM,eAAe,GAAI,aAAa,YAAY;;;;;CAUxD,CAAC;AAkCF,eAAO,MAAM,oBAAoB,GAAI,aAAa,YAAY;;;;;;CAa7D,CAAC;AAmCF,eAAO,MAAM,mBAAmB,GAAI,aAAa,YAAY;;;;;;CAa5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAkH3E,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAW7E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC,GAAG,IAAI,CAmH3F"}
|
package/dest/config.js
CHANGED
|
@@ -36,6 +36,19 @@ const LocalGovernanceConfiguration = {
|
|
|
36
36
|
requiredYeaMargin: 4n * 10n ** 16n,
|
|
37
37
|
minimumVotes: 400n * 10n ** 18n
|
|
38
38
|
};
|
|
39
|
+
const StagingPublicGovernanceConfiguration = {
|
|
40
|
+
proposeConfig: {
|
|
41
|
+
lockDelay: 60n * 60n * 24n * 30n,
|
|
42
|
+
lockAmount: DefaultL1ContractsConfig.activationThreshold * 100n
|
|
43
|
+
},
|
|
44
|
+
votingDelay: 60n,
|
|
45
|
+
votingDuration: 60n * 60n,
|
|
46
|
+
executionDelay: 60n,
|
|
47
|
+
gracePeriod: 60n * 60n * 24n * 7n,
|
|
48
|
+
quorum: 3n * 10n ** 17n,
|
|
49
|
+
requiredYeaMargin: 4n * 10n ** 16n,
|
|
50
|
+
minimumVotes: DefaultL1ContractsConfig.ejectionThreshold * 200n
|
|
51
|
+
};
|
|
39
52
|
const TestnetGovernanceConfiguration = {
|
|
40
53
|
proposeConfig: {
|
|
41
54
|
lockDelay: 60n * 60n * 24n,
|
|
@@ -49,46 +62,67 @@ const TestnetGovernanceConfiguration = {
|
|
|
49
62
|
requiredYeaMargin: 4n * 10n ** 16n,
|
|
50
63
|
minimumVotes: DefaultL1ContractsConfig.ejectionThreshold * 200n
|
|
51
64
|
};
|
|
65
|
+
const StagingIgnitionGovernanceConfiguration = {
|
|
66
|
+
proposeConfig: {
|
|
67
|
+
lockDelay: 60n * 60n * 24n * 30n,
|
|
68
|
+
lockAmount: DefaultL1ContractsConfig.activationThreshold * 100n
|
|
69
|
+
},
|
|
70
|
+
votingDelay: 60n,
|
|
71
|
+
votingDuration: 60n * 60n,
|
|
72
|
+
executionDelay: 60n,
|
|
73
|
+
gracePeriod: 60n * 60n * 24n * 7n,
|
|
74
|
+
quorum: 3n * 10n ** 17n,
|
|
75
|
+
requiredYeaMargin: 4n * 10n ** 16n,
|
|
76
|
+
minimumVotes: DefaultL1ContractsConfig.ejectionThreshold * 200n
|
|
77
|
+
};
|
|
52
78
|
export const getGovernanceConfiguration = (networkName)=>{
|
|
53
79
|
switch(networkName){
|
|
54
|
-
case 'alpha-testnet':
|
|
55
|
-
case 'testnet':
|
|
56
|
-
return TestnetGovernanceConfiguration;
|
|
57
80
|
case 'local':
|
|
58
81
|
return LocalGovernanceConfiguration;
|
|
82
|
+
case 'staging-public':
|
|
83
|
+
return StagingPublicGovernanceConfiguration;
|
|
84
|
+
case 'testnet':
|
|
85
|
+
return TestnetGovernanceConfiguration;
|
|
86
|
+
case 'staging-ignition':
|
|
87
|
+
return StagingIgnitionGovernanceConfiguration;
|
|
59
88
|
default:
|
|
60
|
-
throw new Error(
|
|
89
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
61
90
|
}
|
|
62
91
|
};
|
|
63
|
-
const
|
|
92
|
+
const LocalGSEConfiguration = {
|
|
64
93
|
activationThreshold: BigInt(100e18),
|
|
65
94
|
ejectionThreshold: BigInt(50e18)
|
|
66
95
|
};
|
|
67
|
-
const
|
|
96
|
+
const StagingPublicGSEConfiguration = {
|
|
97
|
+
activationThreshold: DefaultL1ContractsConfig.activationThreshold,
|
|
98
|
+
ejectionThreshold: DefaultL1ContractsConfig.ejectionThreshold
|
|
99
|
+
};
|
|
100
|
+
const TestnetGSEConfiguration = {
|
|
68
101
|
activationThreshold: BigInt(100e18),
|
|
69
102
|
ejectionThreshold: BigInt(50e18)
|
|
70
103
|
};
|
|
104
|
+
const StagingIgnitionGSEConfiguration = {
|
|
105
|
+
activationThreshold: DefaultL1ContractsConfig.activationThreshold,
|
|
106
|
+
ejectionThreshold: DefaultL1ContractsConfig.ejectionThreshold
|
|
107
|
+
};
|
|
71
108
|
export const getGSEConfiguration = (networkName)=>{
|
|
72
109
|
switch(networkName){
|
|
73
|
-
case 'alpha-testnet':
|
|
74
|
-
case 'testnet':
|
|
75
|
-
return TestnetGSEConfiguration;
|
|
76
110
|
case 'local':
|
|
77
111
|
return LocalGSEConfiguration;
|
|
112
|
+
case 'staging-public':
|
|
113
|
+
return StagingPublicGSEConfiguration;
|
|
114
|
+
case 'testnet':
|
|
115
|
+
return TestnetGSEConfiguration;
|
|
116
|
+
case 'staging-ignition':
|
|
117
|
+
return StagingIgnitionGSEConfiguration;
|
|
78
118
|
default:
|
|
79
|
-
throw new Error(
|
|
119
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
80
120
|
}
|
|
81
121
|
};
|
|
82
122
|
// Making a default config here as we are only using it thought the deployment
|
|
83
123
|
// and do not expect to be using different setups, so having environment variables
|
|
84
124
|
// for it seems overkill
|
|
85
|
-
const
|
|
86
|
-
sequencerBps: 5000,
|
|
87
|
-
rewardDistributor: EthAddress.ZERO.toString(),
|
|
88
|
-
booster: EthAddress.ZERO.toString(),
|
|
89
|
-
blockReward: BigInt(50e18)
|
|
90
|
-
};
|
|
91
|
-
const TestnetRewardConfig = {
|
|
125
|
+
const DefaultRewardConfig = {
|
|
92
126
|
sequencerBps: 5000,
|
|
93
127
|
rewardDistributor: EthAddress.ZERO.toString(),
|
|
94
128
|
booster: EthAddress.ZERO.toString(),
|
|
@@ -96,13 +130,13 @@ const TestnetRewardConfig = {
|
|
|
96
130
|
};
|
|
97
131
|
export const getRewardConfig = (networkName)=>{
|
|
98
132
|
switch(networkName){
|
|
99
|
-
case 'alpha-testnet':
|
|
100
|
-
case 'testnet':
|
|
101
|
-
return TestnetRewardConfig;
|
|
102
133
|
case 'local':
|
|
103
|
-
|
|
134
|
+
case 'staging-public':
|
|
135
|
+
case 'testnet':
|
|
136
|
+
case 'staging-ignition':
|
|
137
|
+
return DefaultRewardConfig;
|
|
104
138
|
default:
|
|
105
|
-
throw new Error(
|
|
139
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
106
140
|
}
|
|
107
141
|
};
|
|
108
142
|
const LocalRewardBoostConfig = {
|
|
@@ -112,6 +146,13 @@ const LocalRewardBoostConfig = {
|
|
|
112
146
|
k: 1000000,
|
|
113
147
|
minimum: 100000
|
|
114
148
|
};
|
|
149
|
+
const StagingPublicRewardBoostConfig = {
|
|
150
|
+
increment: 200000,
|
|
151
|
+
maxScore: 5000000,
|
|
152
|
+
a: 5000,
|
|
153
|
+
k: 1000000,
|
|
154
|
+
minimum: 100000
|
|
155
|
+
};
|
|
115
156
|
const TestnetRewardBoostConfig = {
|
|
116
157
|
increment: 125000,
|
|
117
158
|
maxScore: 15000000,
|
|
@@ -119,15 +160,25 @@ const TestnetRewardBoostConfig = {
|
|
|
119
160
|
k: 1000000,
|
|
120
161
|
minimum: 100000
|
|
121
162
|
};
|
|
163
|
+
const StagingIgnitionRewardBoostConfig = {
|
|
164
|
+
increment: 200000,
|
|
165
|
+
maxScore: 5000000,
|
|
166
|
+
a: 5000,
|
|
167
|
+
k: 1000000,
|
|
168
|
+
minimum: 100000
|
|
169
|
+
};
|
|
122
170
|
export const getRewardBoostConfig = (networkName)=>{
|
|
123
171
|
switch(networkName){
|
|
124
|
-
case 'alpha-testnet':
|
|
125
|
-
case 'testnet':
|
|
126
|
-
return TestnetRewardBoostConfig;
|
|
127
172
|
case 'local':
|
|
128
173
|
return LocalRewardBoostConfig;
|
|
174
|
+
case 'staging-public':
|
|
175
|
+
return StagingPublicRewardBoostConfig;
|
|
176
|
+
case 'testnet':
|
|
177
|
+
return TestnetRewardBoostConfig;
|
|
178
|
+
case 'staging-ignition':
|
|
179
|
+
return StagingIgnitionRewardBoostConfig;
|
|
129
180
|
default:
|
|
130
|
-
throw new Error(
|
|
181
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
131
182
|
}
|
|
132
183
|
};
|
|
133
184
|
// Similar to the above, no need for environment variables for this.
|
|
@@ -136,24 +187,41 @@ const LocalEntryQueueConfig = {
|
|
|
136
187
|
bootstrapFlushSize: 0n,
|
|
137
188
|
normalFlushSizeMin: 48n,
|
|
138
189
|
normalFlushSizeQuotient: 2n,
|
|
139
|
-
maxQueueFlushSize:
|
|
190
|
+
maxQueueFlushSize: 32n
|
|
191
|
+
};
|
|
192
|
+
const StagingPublicEntryQueueConfig = {
|
|
193
|
+
bootstrapValidatorSetSize: 48n,
|
|
194
|
+
bootstrapFlushSize: 32n,
|
|
195
|
+
normalFlushSizeMin: 32n,
|
|
196
|
+
normalFlushSizeQuotient: 2475n,
|
|
197
|
+
maxQueueFlushSize: 32n
|
|
140
198
|
};
|
|
141
199
|
const TestnetEntryQueueConfig = {
|
|
142
200
|
bootstrapValidatorSetSize: 750n,
|
|
143
|
-
bootstrapFlushSize:
|
|
201
|
+
bootstrapFlushSize: 48n,
|
|
202
|
+
normalFlushSizeMin: 1n,
|
|
203
|
+
normalFlushSizeQuotient: 2475n,
|
|
204
|
+
maxQueueFlushSize: 32n
|
|
205
|
+
};
|
|
206
|
+
const StagingIgnitionEntryQueueConfig = {
|
|
207
|
+
bootstrapValidatorSetSize: 750n,
|
|
208
|
+
bootstrapFlushSize: 48n,
|
|
144
209
|
normalFlushSizeMin: 1n,
|
|
145
210
|
normalFlushSizeQuotient: 2475n,
|
|
146
211
|
maxQueueFlushSize: 32n
|
|
147
212
|
};
|
|
148
213
|
export const getEntryQueueConfig = (networkName)=>{
|
|
149
214
|
switch(networkName){
|
|
150
|
-
case 'alpha-testnet':
|
|
151
|
-
case 'testnet':
|
|
152
|
-
return TestnetEntryQueueConfig;
|
|
153
215
|
case 'local':
|
|
154
216
|
return LocalEntryQueueConfig;
|
|
217
|
+
case 'staging-public':
|
|
218
|
+
return StagingPublicEntryQueueConfig;
|
|
219
|
+
case 'testnet':
|
|
220
|
+
return TestnetEntryQueueConfig;
|
|
221
|
+
case 'staging-ignition':
|
|
222
|
+
return StagingIgnitionEntryQueueConfig;
|
|
155
223
|
default:
|
|
156
|
-
throw new Error(
|
|
224
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
157
225
|
}
|
|
158
226
|
};
|
|
159
227
|
export const l1ContractsConfigMappings = {
|
|
@@ -12,7 +12,7 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
|
|
|
12
12
|
private readonly logger;
|
|
13
13
|
private readonly proposer;
|
|
14
14
|
readonly type: "empire";
|
|
15
|
-
constructor(client: ViemClient, address: Hex);
|
|
15
|
+
constructor(client: ViemClient, address: Hex | EthAddress);
|
|
16
16
|
get address(): EthAddress;
|
|
17
17
|
getQuorumSize(): Promise<bigint>;
|
|
18
18
|
getRoundSize(): Promise<bigint>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAA8D,MAAM,kBAAkB,CAAC;AAEhH,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,WAAW;aAOnE,MAAM,EAAE,UAAU;IANpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;IACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsE;IAE/F,SAAgB,IAAI,EAAG,QAAQ,CAAU;gBAGvB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAA8D,MAAM,kBAAkB,CAAC;AAEhH,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,WAAW;aAOnE,MAAM,EAAE,UAAU;IANpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;IACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsE;IAE/F,SAAgB,IAAI,EAAG,QAAQ,CAAU;gBAGvB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU;IAU3B,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;IAIZ,mBAAmB;IAInB,yBAAyB;IAIzB,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C,WAAW;IAIL,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAI/E,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW;IAOxC,gCAAgC,CAC3C,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC;IAehB,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO;IAiBlG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAgB/F,oBAAoB,CACzB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAiBjG,6EAA6E;IACtE,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAW3D,qEAAqE;IAC9D,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;;IAIlD;;;;;;OAMG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3E,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC;CAiDxD"}
|
|
@@ -19,7 +19,7 @@ export class EmpireSlashingProposerContract extends EventEmitter {
|
|
|
19
19
|
constructor(client, address){
|
|
20
20
|
super(), this.client = client, this.logger = createLogger('ethereum:contracts:empire_slashing_proposer'), this.type = 'empire';
|
|
21
21
|
this.proposer = getContract({
|
|
22
|
-
address,
|
|
22
|
+
address: typeof address === 'string' ? address : address.toString(),
|
|
23
23
|
abi: EmpireSlashingProposerAbi,
|
|
24
24
|
client
|
|
25
25
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
2
|
import type { ViemSignature } from '@aztec/foundation/eth-signature';
|
|
3
3
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
4
|
-
import { type Account, type GetContractReturnType, type Hex, type StateOverride } from 'viem';
|
|
4
|
+
import { type Account, type GetContractReturnType, type Hex, type StateOverride, type WatchContractEventReturnType } from 'viem';
|
|
5
5
|
import type { DeployL1ContractsReturnType } from '../deploy_l1_contracts.js';
|
|
6
6
|
import type { L1ContractAddresses } from '../l1_contract_addresses.js';
|
|
7
7
|
import type { L1ReaderConfig } from '../l1_reader.js';
|
|
@@ -101,11 +101,11 @@ export declare class RollupContract {
|
|
|
101
101
|
epochDuration: number;
|
|
102
102
|
proofSubmissionEpochs: number;
|
|
103
103
|
}>;
|
|
104
|
-
|
|
104
|
+
getSlasherAddress(): Promise<`0x${string}`>;
|
|
105
105
|
/**
|
|
106
106
|
* Returns a SlasherContract instance for interacting with the slasher contract.
|
|
107
107
|
*/
|
|
108
|
-
getSlasherContract(): Promise<SlasherContract>;
|
|
108
|
+
getSlasherContract(): Promise<SlasherContract | undefined>;
|
|
109
109
|
getOwner(): Promise<`0x${string}`>;
|
|
110
110
|
getActiveAttesterCount(): Promise<bigint>;
|
|
111
111
|
getSlashingProposerAddress(): Promise<EthAddress>;
|
|
@@ -244,7 +244,10 @@ export declare class RollupContract {
|
|
|
244
244
|
listenToSlasherChanged(callback: (args: {
|
|
245
245
|
oldSlasher: `0x${string}`;
|
|
246
246
|
newSlasher: `0x${string}`;
|
|
247
|
-
}) => unknown):
|
|
247
|
+
}) => unknown): WatchContractEventReturnType;
|
|
248
|
+
listenToBlockInvalidated(callback: (args: {
|
|
249
|
+
blockNumber: bigint;
|
|
250
|
+
}) => unknown): WatchContractEventReturnType;
|
|
248
251
|
getSlashEvents(l1BlockHash: Hex): Promise<{
|
|
249
252
|
amount: bigint;
|
|
250
253
|
attester: EthAddress;
|
|
@@ -252,6 +255,6 @@ export declare class RollupContract {
|
|
|
252
255
|
listenToSlash(callback: (args: {
|
|
253
256
|
amount: bigint;
|
|
254
257
|
attester: EthAddress;
|
|
255
|
-
}) => unknown):
|
|
258
|
+
}) => unknown): WatchContractEventReturnType;
|
|
256
259
|
}
|
|
257
260
|
//# sourceMappingURL=rollup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
|
package/dest/contracts/rollup.js
CHANGED
|
@@ -8,9 +8,8 @@ import { memoize } from '@aztec/foundation/decorators';
|
|
|
8
8
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
9
9
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
10
10
|
import { RollupStorage } from '@aztec/l1-artifacts/RollupStorage';
|
|
11
|
-
import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
|
|
12
11
|
import chunk from 'lodash.chunk';
|
|
13
|
-
import { encodeFunctionData,
|
|
12
|
+
import { encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
|
|
14
13
|
import { getPublicClient } from '../client.js';
|
|
15
14
|
import { formatViemError } from '../utils.js';
|
|
16
15
|
import { EmpireSlashingProposerContract } from './empire_slashing_proposer.js';
|
|
@@ -68,16 +67,11 @@ export class RollupContract {
|
|
|
68
67
|
return this.rollup;
|
|
69
68
|
}
|
|
70
69
|
async getSlashingProposer() {
|
|
71
|
-
const
|
|
72
|
-
if (
|
|
70
|
+
const slasher = await this.getSlasherContract();
|
|
71
|
+
if (!slasher) {
|
|
73
72
|
return undefined;
|
|
74
73
|
}
|
|
75
|
-
const
|
|
76
|
-
address: slasherAddress,
|
|
77
|
-
abi: SlasherAbi,
|
|
78
|
-
client: this.client
|
|
79
|
-
});
|
|
80
|
-
const proposerAddress = await slasher.read.PROPOSER();
|
|
74
|
+
const proposerAddress = await slasher.getProposer();
|
|
81
75
|
const proposerAbi = [
|
|
82
76
|
{
|
|
83
77
|
type: 'function',
|
|
@@ -94,7 +88,7 @@ export class RollupContract {
|
|
|
94
88
|
}
|
|
95
89
|
];
|
|
96
90
|
const proposer = getContract({
|
|
97
|
-
address: proposerAddress,
|
|
91
|
+
address: proposerAddress.toString(),
|
|
98
92
|
abi: proposerAbi,
|
|
99
93
|
client: this.client
|
|
100
94
|
});
|
|
@@ -175,14 +169,17 @@ export class RollupContract {
|
|
|
175
169
|
proofSubmissionEpochs: Number(proofSubmissionEpochs)
|
|
176
170
|
};
|
|
177
171
|
}
|
|
178
|
-
|
|
172
|
+
getSlasherAddress() {
|
|
179
173
|
return this.rollup.read.getSlasher();
|
|
180
174
|
}
|
|
181
175
|
/**
|
|
182
176
|
* Returns a SlasherContract instance for interacting with the slasher contract.
|
|
183
177
|
*/ async getSlasherContract() {
|
|
184
|
-
const slasherAddress = await this.
|
|
185
|
-
|
|
178
|
+
const slasherAddress = EthAddress.fromString(await this.getSlasherAddress());
|
|
179
|
+
if (slasherAddress.isZero()) {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
return new SlasherContract(this.client, slasherAddress);
|
|
186
183
|
}
|
|
187
184
|
getOwner() {
|
|
188
185
|
return this.rollup.read.owner();
|
|
@@ -191,13 +188,11 @@ export class RollupContract {
|
|
|
191
188
|
return this.rollup.read.getActiveAttesterCount();
|
|
192
189
|
}
|
|
193
190
|
async getSlashingProposerAddress() {
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
});
|
|
200
|
-
return EthAddress.fromString(await slasher.read.PROPOSER());
|
|
191
|
+
const slasher = await this.getSlasherContract();
|
|
192
|
+
if (!slasher) {
|
|
193
|
+
return EthAddress.ZERO;
|
|
194
|
+
}
|
|
195
|
+
return await slasher.getProposer();
|
|
201
196
|
}
|
|
202
197
|
getBlockReward() {
|
|
203
198
|
return this.rollup.read.getBlockReward();
|
|
@@ -631,6 +626,20 @@ export class RollupContract {
|
|
|
631
626
|
}
|
|
632
627
|
});
|
|
633
628
|
}
|
|
629
|
+
listenToBlockInvalidated(callback) {
|
|
630
|
+
return this.rollup.watchEvent.BlockInvalidated({}, {
|
|
631
|
+
onLogs: (logs)=>{
|
|
632
|
+
for (const log of logs){
|
|
633
|
+
const args = log.args;
|
|
634
|
+
if (args.blockNumber !== undefined) {
|
|
635
|
+
callback({
|
|
636
|
+
blockNumber: args.blockNumber
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
}
|
|
634
643
|
async getSlashEvents(l1BlockHash) {
|
|
635
644
|
const events = await this.rollup.getEvents.Slashed({}, {
|
|
636
645
|
blockHash: l1BlockHash,
|
|
@@ -22,7 +22,7 @@ import { ZK_PASSPORT_DOMAIN, ZK_PASSPORT_SCOPE, ZK_PASSPORT_VERIFIER_ADDRESS } f
|
|
|
22
22
|
export const DEPLOYER_ADDRESS = '0x4e59b44847b379578588920cA78FbF26c0B4956C';
|
|
23
23
|
const networkName = getActiveNetworkName();
|
|
24
24
|
export const deploySharedContracts = async (l1Client, deployer, args, logger)=>{
|
|
25
|
-
logger.info(`Deploying shared contracts for network
|
|
25
|
+
logger.info(`Deploying shared contracts for network configuration: ${networkName}`);
|
|
26
26
|
const txHashes = [];
|
|
27
27
|
const feeAssetAddress = await deployer.deploy(FeeAssetArtifact, [
|
|
28
28
|
'FeeJuice',
|
|
@@ -814,7 +814,7 @@ export const cheat_initializeFeeAssetHandler = async (extendedClient, deployer,
|
|
|
814
814
|
});
|
|
815
815
|
// Include Slasher and SlashingProposer (if deployed) in verification data
|
|
816
816
|
try {
|
|
817
|
-
const slasherAddrHex = await rollup.
|
|
817
|
+
const slasherAddrHex = await rollup.getSlasherAddress();
|
|
818
818
|
const slasherAddr = EthAddress.fromString(slasherAddrHex);
|
|
819
819
|
if (!slasherAddr.isZero()) {
|
|
820
820
|
// Slasher constructor: (address _vetoer, address _governance)
|
package/dest/l1_artifacts.d.ts
CHANGED
|
@@ -50341,6 +50341,10 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
50341
50341
|
readonly type: "error";
|
|
50342
50342
|
readonly name: "DevNet__NoPruningAllowed";
|
|
50343
50343
|
readonly inputs: readonly [];
|
|
50344
|
+
}, {
|
|
50345
|
+
readonly type: "error";
|
|
50346
|
+
readonly name: "ExtraDiscloseDataNonZero";
|
|
50347
|
+
readonly inputs: readonly [];
|
|
50344
50348
|
}, {
|
|
50345
50349
|
readonly type: "error";
|
|
50346
50350
|
readonly name: "FeeJuicePortal__AlreadyInitialized";
|
|
@@ -50485,6 +50489,18 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
50485
50489
|
readonly type: "error";
|
|
50486
50490
|
readonly name: "Inbox__Unauthorized";
|
|
50487
50491
|
readonly inputs: readonly [];
|
|
50492
|
+
}, {
|
|
50493
|
+
readonly type: "error";
|
|
50494
|
+
readonly name: "InvalidAge";
|
|
50495
|
+
readonly inputs: readonly [];
|
|
50496
|
+
}, {
|
|
50497
|
+
readonly type: "error";
|
|
50498
|
+
readonly name: "InvalidCountry";
|
|
50499
|
+
readonly inputs: readonly [];
|
|
50500
|
+
}, {
|
|
50501
|
+
readonly type: "error";
|
|
50502
|
+
readonly name: "InvalidCurrentDate";
|
|
50503
|
+
readonly inputs: readonly [];
|
|
50488
50504
|
}, {
|
|
50489
50505
|
readonly type: "error";
|
|
50490
50506
|
readonly name: "InvalidDomain";
|
|
@@ -50497,6 +50513,10 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
50497
50513
|
readonly type: "error";
|
|
50498
50514
|
readonly name: "InvalidScope";
|
|
50499
50515
|
readonly inputs: readonly [];
|
|
50516
|
+
}, {
|
|
50517
|
+
readonly type: "error";
|
|
50518
|
+
readonly name: "InvalidValidityPeriod";
|
|
50519
|
+
readonly inputs: readonly [];
|
|
50500
50520
|
}, {
|
|
50501
50521
|
readonly type: "error";
|
|
50502
50522
|
readonly name: "MerkleLib__InvalidIndexForPathLength";
|
|
@@ -50721,6 +50741,26 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
50721
50741
|
readonly internalType: "string";
|
|
50722
50742
|
}];
|
|
50723
50743
|
readonly stateMutability: "view";
|
|
50744
|
+
}, {
|
|
50745
|
+
readonly type: "function";
|
|
50746
|
+
readonly name: "validMaxAge";
|
|
50747
|
+
readonly inputs: readonly [];
|
|
50748
|
+
readonly outputs: readonly [{
|
|
50749
|
+
readonly name: "";
|
|
50750
|
+
readonly type: "uint256";
|
|
50751
|
+
readonly internalType: "uint256";
|
|
50752
|
+
}];
|
|
50753
|
+
readonly stateMutability: "view";
|
|
50754
|
+
}, {
|
|
50755
|
+
readonly type: "function";
|
|
50756
|
+
readonly name: "validMinAge";
|
|
50757
|
+
readonly inputs: readonly [];
|
|
50758
|
+
readonly outputs: readonly [{
|
|
50759
|
+
readonly name: "";
|
|
50760
|
+
readonly type: "uint256";
|
|
50761
|
+
readonly internalType: "uint256";
|
|
50762
|
+
}];
|
|
50763
|
+
readonly stateMutability: "view";
|
|
50724
50764
|
}, {
|
|
50725
50765
|
readonly type: "function";
|
|
50726
50766
|
readonly name: "validScope";
|
|
@@ -50731,6 +50771,16 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
50731
50771
|
readonly internalType: "string";
|
|
50732
50772
|
}];
|
|
50733
50773
|
readonly stateMutability: "view";
|
|
50774
|
+
}, {
|
|
50775
|
+
readonly type: "function";
|
|
50776
|
+
readonly name: "validValidityPeriodInSeconds";
|
|
50777
|
+
readonly inputs: readonly [];
|
|
50778
|
+
readonly outputs: readonly [{
|
|
50779
|
+
readonly name: "";
|
|
50780
|
+
readonly type: "uint256";
|
|
50781
|
+
readonly internalType: "uint256";
|
|
50782
|
+
}];
|
|
50783
|
+
readonly stateMutability: "view";
|
|
50734
50784
|
}, {
|
|
50735
50785
|
readonly type: "function";
|
|
50736
50786
|
readonly name: "withdrawer";
|
|
@@ -51930,6 +51980,30 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
51930
51980
|
readonly type: "uint256";
|
|
51931
51981
|
readonly internalType: "uint256";
|
|
51932
51982
|
}];
|
|
51983
|
+
}, {
|
|
51984
|
+
readonly type: "error";
|
|
51985
|
+
readonly name: "InvalidBoundAddress";
|
|
51986
|
+
readonly inputs: readonly [{
|
|
51987
|
+
readonly name: "_expected";
|
|
51988
|
+
readonly type: "address";
|
|
51989
|
+
readonly internalType: "address";
|
|
51990
|
+
}, {
|
|
51991
|
+
readonly name: "_received";
|
|
51992
|
+
readonly type: "address";
|
|
51993
|
+
readonly internalType: "address";
|
|
51994
|
+
}];
|
|
51995
|
+
}, {
|
|
51996
|
+
readonly type: "error";
|
|
51997
|
+
readonly name: "InvalidChainId";
|
|
51998
|
+
readonly inputs: readonly [{
|
|
51999
|
+
readonly name: "_expected";
|
|
52000
|
+
readonly type: "uint256";
|
|
52001
|
+
readonly internalType: "uint256";
|
|
52002
|
+
}, {
|
|
52003
|
+
readonly name: "_received";
|
|
52004
|
+
readonly type: "uint256";
|
|
52005
|
+
readonly internalType: "uint256";
|
|
52006
|
+
}];
|
|
51933
52007
|
}, {
|
|
51934
52008
|
readonly type: "error";
|
|
51935
52009
|
readonly name: "Outbox__AlreadyNullified";
|
|
@@ -52005,30 +52079,6 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
52005
52079
|
readonly type: "uint256";
|
|
52006
52080
|
readonly internalType: "Timestamp";
|
|
52007
52081
|
}];
|
|
52008
|
-
}, {
|
|
52009
|
-
readonly type: "error";
|
|
52010
|
-
readonly name: "ProofNotBoundToAddress";
|
|
52011
|
-
readonly inputs: readonly [{
|
|
52012
|
-
readonly name: "_expected";
|
|
52013
|
-
readonly type: "address";
|
|
52014
|
-
readonly internalType: "address";
|
|
52015
|
-
}, {
|
|
52016
|
-
readonly name: "_received";
|
|
52017
|
-
readonly type: "address";
|
|
52018
|
-
readonly internalType: "address";
|
|
52019
|
-
}];
|
|
52020
|
-
}, {
|
|
52021
|
-
readonly type: "error";
|
|
52022
|
-
readonly name: "ProofNotBoundToChainId";
|
|
52023
|
-
readonly inputs: readonly [{
|
|
52024
|
-
readonly name: "_expected";
|
|
52025
|
-
readonly type: "uint256";
|
|
52026
|
-
readonly internalType: "uint256";
|
|
52027
|
-
}, {
|
|
52028
|
-
readonly name: "_received";
|
|
52029
|
-
readonly type: "uint256";
|
|
52030
|
-
readonly internalType: "uint256";
|
|
52031
|
-
}];
|
|
52032
52082
|
}, {
|
|
52033
52083
|
readonly type: "error";
|
|
52034
52084
|
readonly name: "RewardDistributor__InvalidCaller";
|
|
@@ -52842,7 +52892,7 @@ export declare const StakingAssetHandlerArtifact: {
|
|
|
52842
52892
|
readonly type: "uint256[]";
|
|
52843
52893
|
readonly internalType: "uint256[]";
|
|
52844
52894
|
}, {
|
|
52845
|
-
readonly name: "
|
|
52895
|
+
readonly name: "validityPeriodInSeconds";
|
|
52846
52896
|
readonly type: "uint256";
|
|
52847
52897
|
readonly internalType: "uint256";
|
|
52848
52898
|
}, {
|
|
@@ -62286,7 +62336,7 @@ export declare const MockZkPassportVerifierArtifact: {
|
|
|
62286
62336
|
readonly type: "uint256[]";
|
|
62287
62337
|
readonly internalType: "uint256[]";
|
|
62288
62338
|
}, {
|
|
62289
|
-
readonly name: "
|
|
62339
|
+
readonly name: "validityPeriodInSeconds";
|
|
62290
62340
|
readonly type: "uint256";
|
|
62291
62341
|
readonly internalType: "uint256";
|
|
62292
62342
|
}, {
|
|
@@ -68033,7 +68083,7 @@ export declare const mockVerifiers: {
|
|
|
68033
68083
|
readonly type: "uint256[]";
|
|
68034
68084
|
readonly internalType: "uint256[]";
|
|
68035
68085
|
}, {
|
|
68036
|
-
readonly name: "
|
|
68086
|
+
readonly name: "validityPeriodInSeconds";
|
|
68037
68087
|
readonly type: "uint256";
|
|
68038
68088
|
readonly internalType: "uint256";
|
|
68039
68089
|
}, {
|