@aztec/ethereum 3.0.0-nightly.20250908 → 3.0.0-nightly.20250910
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/rollup.d.ts +3 -9
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +4 -62
- package/dest/deploy_l1_contracts.js +1 -1
- package/dest/l1_artifacts.d.ts +257 -223
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/config.ts +109 -32
- package/src/contracts/rollup.ts +5 -79
- package/src/deploy_l1_contracts.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: 48n,
|
|
195
|
+
normalFlushSizeMin: 1n,
|
|
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 = {
|
|
@@ -155,6 +155,7 @@ export declare class RollupContract {
|
|
|
155
155
|
ViemHeader,
|
|
156
156
|
ViemCommitteeAttestations,
|
|
157
157
|
`0x${string}`[],
|
|
158
|
+
ViemSignature,
|
|
158
159
|
`0x${string}`,
|
|
159
160
|
`0x${string}`,
|
|
160
161
|
{
|
|
@@ -162,13 +163,6 @@ export declare class RollupContract {
|
|
|
162
163
|
ignoreSignatures: boolean;
|
|
163
164
|
}
|
|
164
165
|
], account: `0x${string}` | Account): Promise<void>;
|
|
165
|
-
/**
|
|
166
|
-
* Packs an array of committee attestations into the format expected by the Solidity contract
|
|
167
|
-
*
|
|
168
|
-
* @param attestations - Array of committee attestations with addresses and signatures
|
|
169
|
-
* @returns Packed attestations with bitmap and tightly packed signature/address data
|
|
170
|
-
*/
|
|
171
|
-
static packAttestations(attestations: ViemCommitteeAttestation[]): ViemCommitteeAttestations;
|
|
172
166
|
/**
|
|
173
167
|
* @notice Calls `canProposeAtTime` with the time of the next Ethereum block and the sender address
|
|
174
168
|
*
|
|
@@ -192,9 +186,9 @@ export declare class RollupContract {
|
|
|
192
186
|
*/
|
|
193
187
|
makePendingBlockNumberOverride(forcePendingBlockNumber: number | undefined): Promise<StateOverride>;
|
|
194
188
|
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */
|
|
195
|
-
buildInvalidateBadAttestationRequest(blockNumber: number,
|
|
189
|
+
buildInvalidateBadAttestationRequest(blockNumber: number, attestationsAndSigners: ViemCommitteeAttestations, committee: EthAddress[], invalidIndex: number): L1TxRequest;
|
|
196
190
|
/** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */
|
|
197
|
-
buildInvalidateInsufficientAttestationsRequest(blockNumber: number,
|
|
191
|
+
buildInvalidateInsufficientAttestationsRequest(blockNumber: number, attestationsAndSigners: ViemCommitteeAttestations, committee: EthAddress[]): L1TxRequest;
|
|
198
192
|
/** Calls getHasSubmitted directly. Returns whether the given prover has submitted a proof with the given length for the given epoch. */
|
|
199
193
|
getHasSubmittedProof(epochNumber: number, numberOfBlocksInEpoch: number, prover: Hex | EthAddress): Promise<boolean>;
|
|
200
194
|
getManaBaseFeeAt(timestamp: bigint, inFeeAsset: boolean): Promise<bigint>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -352,64 +352,6 @@ export class RollupContract {
|
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
354
|
/**
|
|
355
|
-
* Packs an array of committee attestations into the format expected by the Solidity contract
|
|
356
|
-
*
|
|
357
|
-
* @param attestations - Array of committee attestations with addresses and signatures
|
|
358
|
-
* @returns Packed attestations with bitmap and tightly packed signature/address data
|
|
359
|
-
*/ static packAttestations(attestations) {
|
|
360
|
-
const length = attestations.length;
|
|
361
|
-
// Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
|
|
362
|
-
const bitmapSize = Math.ceil(length / 8);
|
|
363
|
-
const signatureIndices = new Uint8Array(bitmapSize);
|
|
364
|
-
// Calculate total data size needed
|
|
365
|
-
let totalDataSize = 0;
|
|
366
|
-
for(let i = 0; i < length; i++){
|
|
367
|
-
const signature = attestations[i].signature;
|
|
368
|
-
// Check if signature is empty (v = 0)
|
|
369
|
-
const isEmpty = signature.v === 0;
|
|
370
|
-
if (!isEmpty) {
|
|
371
|
-
totalDataSize += 65; // v (1) + r (32) + s (32)
|
|
372
|
-
} else {
|
|
373
|
-
totalDataSize += 20; // address only
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
const signaturesOrAddresses = new Uint8Array(totalDataSize);
|
|
377
|
-
let dataIndex = 0;
|
|
378
|
-
// Pack the data
|
|
379
|
-
for(let i = 0; i < length; i++){
|
|
380
|
-
const attestation = attestations[i];
|
|
381
|
-
const signature = attestation.signature;
|
|
382
|
-
// Check if signature is empty
|
|
383
|
-
const isEmpty = signature.v === 0;
|
|
384
|
-
if (!isEmpty) {
|
|
385
|
-
// Set bit in bitmap (bit 7-0 in each byte, left to right)
|
|
386
|
-
const byteIndex = Math.floor(i / 8);
|
|
387
|
-
const bitIndex = 7 - i % 8;
|
|
388
|
-
signatureIndices[byteIndex] |= 1 << bitIndex;
|
|
389
|
-
// Pack signature: v + r + s
|
|
390
|
-
signaturesOrAddresses[dataIndex] = signature.v;
|
|
391
|
-
dataIndex++;
|
|
392
|
-
// Pack r (32 bytes)
|
|
393
|
-
const rBytes = Buffer.from(signature.r.slice(2), 'hex');
|
|
394
|
-
signaturesOrAddresses.set(rBytes, dataIndex);
|
|
395
|
-
dataIndex += 32;
|
|
396
|
-
// Pack s (32 bytes)
|
|
397
|
-
const sBytes = Buffer.from(signature.s.slice(2), 'hex');
|
|
398
|
-
signaturesOrAddresses.set(sBytes, dataIndex);
|
|
399
|
-
dataIndex += 32;
|
|
400
|
-
} else {
|
|
401
|
-
// Pack address only (20 bytes)
|
|
402
|
-
const addrBytes = Buffer.from(attestation.addr.slice(2), 'hex');
|
|
403
|
-
signaturesOrAddresses.set(addrBytes, dataIndex);
|
|
404
|
-
dataIndex += 20;
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
return {
|
|
408
|
-
signatureIndices: `0x${Buffer.from(signatureIndices).toString('hex')}`,
|
|
409
|
-
signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
/**
|
|
413
355
|
* @notice Calls `canProposeAtTime` with the time of the next Ethereum block and the sender address
|
|
414
356
|
*
|
|
415
357
|
* @dev Throws if unable to propose
|
|
@@ -473,7 +415,7 @@ export class RollupContract {
|
|
|
473
415
|
}
|
|
474
416
|
];
|
|
475
417
|
}
|
|
476
|
-
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(blockNumber,
|
|
418
|
+
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(blockNumber, attestationsAndSigners, committee, invalidIndex) {
|
|
477
419
|
return {
|
|
478
420
|
to: this.address,
|
|
479
421
|
data: encodeFunctionData({
|
|
@@ -481,14 +423,14 @@ export class RollupContract {
|
|
|
481
423
|
functionName: 'invalidateBadAttestation',
|
|
482
424
|
args: [
|
|
483
425
|
BigInt(blockNumber),
|
|
484
|
-
|
|
426
|
+
attestationsAndSigners,
|
|
485
427
|
committee.map((addr)=>addr.toString()),
|
|
486
428
|
BigInt(invalidIndex)
|
|
487
429
|
]
|
|
488
430
|
})
|
|
489
431
|
};
|
|
490
432
|
}
|
|
491
|
-
/** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */ buildInvalidateInsufficientAttestationsRequest(blockNumber,
|
|
433
|
+
/** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */ buildInvalidateInsufficientAttestationsRequest(blockNumber, attestationsAndSigners, committee) {
|
|
492
434
|
return {
|
|
493
435
|
to: this.address,
|
|
494
436
|
data: encodeFunctionData({
|
|
@@ -496,7 +438,7 @@ export class RollupContract {
|
|
|
496
438
|
functionName: 'invalidateInsufficientAttestations',
|
|
497
439
|
args: [
|
|
498
440
|
BigInt(blockNumber),
|
|
499
|
-
|
|
441
|
+
attestationsAndSigners,
|
|
500
442
|
committee.map((addr)=>addr.toString())
|
|
501
443
|
]
|
|
502
444
|
})
|
|
@@ -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',
|