7
7
bigIntToBytes ,
8
8
bytesToBigInt ,
9
9
bytesToHex ,
10
- bytesToInt ,
11
10
concatBytes ,
12
11
createAddressFromString ,
13
12
setLengthLeft ,
@@ -22,11 +21,11 @@ const WITHDRAWAL_CREDENTIALS_OFFSET = BigInt(256)
22
21
const AMOUNT_OFFSET = BigInt ( 320 )
23
22
const SIGNATURE_OFFSET = BigInt ( 384 )
24
23
const INDEX_OFFSET = BigInt ( 512 )
25
- const PUBKEY_SIZE = 48
26
- const WITHDRAWAL_CREDENTIALS_SIZE = 32
27
- const AMOUNT_SIZE = 8
28
- const SIGNATURE_SIZE = 96
29
- const INDEX_SIZE = 8
24
+ const PUBKEY_SIZE = BigInt ( 48 )
25
+ const WITHDRAWAL_CREDENTIALS_SIZE = BigInt ( 32 )
26
+ const AMOUNT_SIZE = BigInt ( 8 )
27
+ const SIGNATURE_SIZE = BigInt ( 96 )
28
+ const INDEX_SIZE = BigInt ( 8 )
30
29
const LOG_SIZE = 576
31
30
const LOG_LAYOUT_MISMATCH = 'invalid deposit log: unsupported data layout'
32
31
@@ -204,24 +203,30 @@ function parseDepositLog(requestData: Uint8Array) {
204
203
const sigIdx = Number ( sigIdxBigInt )
205
204
const indexIdx = Number ( indexIdxBigInt )
206
205
207
- const pubKeySize = bytesToInt ( requestData . slice ( pubKeyIdx , pubKeyIdx + 32 ) )
208
- const withdrawalCreditsSize = bytesToInt (
206
+ const pubKeySizeBigInt = bytesToBigInt ( requestData . slice ( pubKeyIdx , pubKeyIdx + 32 ) )
207
+ const withdrawalCreditsSizeBigInt = bytesToBigInt (
209
208
requestData . slice ( withdrawalCreditsIdx , withdrawalCreditsIdx + 32 ) ,
210
209
)
211
- const amountSize = bytesToInt ( requestData . slice ( amountIdx , amountIdx + 32 ) )
212
- const sigSize = bytesToInt ( requestData . slice ( sigIdx , sigIdx + 32 ) )
213
- const indexSize = bytesToInt ( requestData . slice ( indexIdx , indexIdx + 32 ) )
210
+ const amountSizeBigInt = bytesToBigInt ( requestData . slice ( amountIdx , amountIdx + 32 ) )
211
+ const sigSizeBigInt = bytesToBigInt ( requestData . slice ( sigIdx , sigIdx + 32 ) )
212
+ const indexSizeBigInt = bytesToBigInt ( requestData . slice ( indexIdx , indexIdx + 32 ) )
214
213
215
214
if (
216
- pubKeySize !== PUBKEY_SIZE ||
217
- withdrawalCreditsSize !== WITHDRAWAL_CREDENTIALS_SIZE ||
218
- amountSize !== AMOUNT_SIZE ||
219
- sigSize !== SIGNATURE_SIZE ||
220
- indexSize !== INDEX_SIZE
215
+ pubKeySizeBigInt !== PUBKEY_SIZE ||
216
+ withdrawalCreditsSizeBigInt !== WITHDRAWAL_CREDENTIALS_SIZE ||
217
+ amountSizeBigInt !== AMOUNT_SIZE ||
218
+ sigSizeBigInt !== SIGNATURE_SIZE ||
219
+ indexSizeBigInt !== INDEX_SIZE
221
220
) {
222
221
throw EthereumJSErrorWithoutCode ( LOG_LAYOUT_MISMATCH )
223
222
}
224
223
224
+ const pubKeySize = Number ( pubKeySizeBigInt )
225
+ const withdrawalCreditsSize = Number ( withdrawalCreditsSizeBigInt )
226
+ const amountSize = Number ( amountSizeBigInt )
227
+ const sigSize = Number ( sigSizeBigInt )
228
+ const indexSize = Number ( indexSizeBigInt )
229
+
225
230
const pubkey = requestData . slice ( pubKeyIdx + 32 , pubKeyIdx + 32 + pubKeySize )
226
231
const withdrawalCredentials = requestData . slice (
227
232
withdrawalCreditsIdx + 32 ,
0 commit comments