@aztec/ethereum 0.0.1-commit.a89ec08 → 0.0.1-commit.aa0c64f
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/client.d.ts +17 -3
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +49 -3
- package/dest/config.d.ts +27 -8
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +60 -13
- package/dest/contracts/chain_state_override.d.ts +78 -0
- package/dest/contracts/chain_state_override.d.ts.map +1 -0
- package/dest/contracts/chain_state_override.js +137 -0
- package/dest/contracts/empire_base.d.ts +1 -3
- package/dest/contracts/empire_base.d.ts.map +1 -1
- package/dest/contracts/fee_asset_price_oracle.d.ts +6 -2
- package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -1
- package/dest/contracts/fee_asset_price_oracle.js +11 -6
- package/dest/contracts/governance.d.ts +108 -33
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +193 -12
- package/dest/contracts/governance_proposer.d.ts +33 -3
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +51 -9
- package/dest/contracts/gse.d.ts +4 -2
- package/dest/contracts/gse.d.ts.map +1 -1
- package/dest/contracts/gse.js +2 -2
- package/dest/contracts/inbox.d.ts +3 -3
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/inbox.js +12 -7
- package/dest/contracts/index.d.ts +3 -3
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +2 -2
- package/dest/contracts/multicall.d.ts +130 -13
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +203 -94
- package/dest/contracts/outbox.d.ts +27 -4
- package/dest/contracts/outbox.d.ts.map +1 -1
- package/dest/contracts/outbox.js +34 -7
- package/dest/contracts/rollup.d.ts +5400 -25
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +341 -66
- package/dest/contracts/{tally_slashing_proposer.d.ts → slashing_proposer.d.ts} +3 -4
- package/dest/contracts/slashing_proposer.d.ts.map +1 -0
- package/dest/contracts/{tally_slashing_proposer.js → slashing_proposer.js} +13 -15
- package/dest/deploy_aztec_l1_contracts.d.ts +18 -10
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +28 -17
- package/dest/foundry_binary.d.ts +13 -0
- package/dest/foundry_binary.d.ts.map +1 -0
- package/dest/foundry_binary.js +52 -0
- package/dest/l1_artifacts.d.ts +14941 -16273
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_artifacts.js +9 -24
- package/dest/l1_contract_addresses.d.ts +61 -65
- package/dest/l1_contract_addresses.d.ts.map +1 -1
- package/dest/l1_contract_addresses.js +101 -82
- package/dest/l1_reader.d.ts +3 -5
- package/dest/l1_reader.d.ts.map +1 -1
- package/dest/l1_reader.js +3 -6
- package/dest/l1_tx_utils/config.js +3 -3
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +23 -4
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_fee_analyzer.js +65 -3
- package/dest/l1_tx_utils/l1_tx_utils.d.ts +9 -1
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.js +138 -57
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +2 -1
- package/dest/l1_tx_utils/tx_delayer.d.ts +5 -3
- package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -1
- package/dest/l1_tx_utils/tx_delayer.js +7 -5
- package/dest/l1_tx_utils/types.d.ts +27 -1
- package/dest/l1_tx_utils/types.d.ts.map +1 -1
- package/dest/l1_tx_utils/types.js +10 -0
- package/dest/publisher_manager.d.ts +34 -8
- package/dest/publisher_manager.d.ts.map +1 -1
- package/dest/publisher_manager.js +119 -8
- package/dest/queries.d.ts +13 -2
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +69 -4
- package/dest/test/blob_kzg_warmup.d.ts +19 -0
- package/dest/test/blob_kzg_warmup.d.ts.map +1 -0
- package/dest/test/blob_kzg_warmup.js +64 -0
- package/dest/test/chain_monitor.d.ts +34 -2
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +76 -6
- package/dest/test/eth_cheat_codes.d.ts +32 -3
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/eth_cheat_codes.js +83 -37
- package/dest/test/index.d.ts +2 -1
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/dest/test/rollup_cheat_codes.d.ts +56 -3
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +77 -6
- package/dest/test/start_anvil.d.ts +1 -1
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +41 -5
- package/dest/utils.d.ts +9 -2
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +48 -16
- package/package.json +6 -9
- package/src/client.ts +57 -1
- package/src/config.ts +83 -17
- package/src/contracts/chain_state_override.ts +200 -0
- package/src/contracts/empire_base.ts +0 -2
- package/src/contracts/fee_asset_price_oracle.ts +10 -5
- package/src/contracts/governance.ts +266 -9
- package/src/contracts/governance_proposer.ts +52 -5
- package/src/contracts/gse.ts +7 -2
- package/src/contracts/inbox.ts +13 -5
- package/src/contracts/index.ts +2 -2
- package/src/contracts/multicall.ts +247 -106
- package/src/contracts/outbox.ts +42 -8
- package/src/contracts/rollup.ts +379 -63
- package/src/contracts/{tally_slashing_proposer.ts → slashing_proposer.ts} +14 -16
- package/src/deploy_aztec_l1_contracts.ts +32 -18
- package/src/foundry_binary.ts +57 -0
- package/src/l1_artifacts.ts +12 -35
- package/src/l1_contract_addresses.ts +120 -94
- package/src/l1_reader.ts +4 -9
- package/src/l1_tx_utils/config.ts +3 -3
- package/src/l1_tx_utils/l1_fee_analyzer.ts +75 -3
- package/src/l1_tx_utils/l1_tx_utils.ts +122 -48
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +2 -1
- package/src/l1_tx_utils/tx_delayer.ts +16 -7
- package/src/l1_tx_utils/types.ts +32 -0
- package/src/publisher_manager.ts +143 -12
- package/src/queries.ts +76 -4
- package/src/test/blob_kzg_warmup.ts +65 -0
- package/src/test/chain_monitor.ts +93 -5
- package/src/test/eth_cheat_codes.ts +76 -41
- package/src/test/index.ts +1 -0
- package/src/test/rollup_cheat_codes.ts +104 -5
- package/src/test/start_anvil.ts +38 -6
- package/src/utils.ts +45 -18
- package/dest/contracts/empire_slashing_proposer.d.ts +0 -69
- package/dest/contracts/empire_slashing_proposer.d.ts.map +0 -1
- package/dest/contracts/empire_slashing_proposer.js +0 -216
- package/dest/contracts/tally_slashing_proposer.d.ts.map +0 -1
- package/dest/generated/l1-contracts-defaults.d.ts +0 -30
- package/dest/generated/l1-contracts-defaults.d.ts.map +0 -1
- package/dest/generated/l1-contracts-defaults.js +0 -30
- package/src/contracts/empire_slashing_proposer.ts +0 -265
- package/src/generated/l1-contracts-defaults.ts +0 -32
|
@@ -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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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAG1C;IAED,sEAAsE;IAChE,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA8BtG;IAED,sFAAsF;IACtF,MAAM,CAAC,aAAa,CAAC,uBAAuB,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,GAAG,MAAM,CAE5F;IAED,gFAAgF;IAChF,MAAM,KAAK,oBAAoB,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACG,+BAA+B,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAMjB;IAED,OAAO,CAAC,mCAAmC;CAiB5C"}
|
package/dest/contracts/rollup.js
CHANGED
|
@@ -376,25 +376,20 @@ import { Buffer32 } from '@aztec/foundation/buffer';
|
|
|
376
376
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
377
377
|
import { memoize } from '@aztec/foundation/decorators';
|
|
378
378
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
379
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
379
380
|
import { makeBackoff, retry } from '@aztec/foundation/retry';
|
|
381
|
+
import { getErrorCause } from '@aztec/foundation/types';
|
|
380
382
|
import { EscapeHatchAbi } from '@aztec/l1-artifacts/EscapeHatchAbi';
|
|
381
383
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
382
384
|
import { RollupStorage } from '@aztec/l1-artifacts/RollupStorage';
|
|
383
385
|
import chunk from 'lodash.chunk';
|
|
384
|
-
import { encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
|
|
386
|
+
import { ContractFunctionRevertedError, RpcRequestError, decodeErrorResult, encodeAbiParameters, encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
|
|
385
387
|
import { getPublicClient } from '../client.js';
|
|
386
388
|
import { formatViemError } from '../utils.js';
|
|
387
|
-
import { EmpireSlashingProposerContract } from './empire_slashing_proposer.js';
|
|
388
389
|
import { GSEContract } from './gse.js';
|
|
389
390
|
import { SlasherContract } from './slasher_contract.js';
|
|
390
|
-
import {
|
|
391
|
+
import { SlashingProposerContract } from './slashing_proposer.js';
|
|
391
392
|
import { checkBlockTag } from './utils.js';
|
|
392
|
-
export var SlashingProposerType = /*#__PURE__*/ function(SlashingProposerType) {
|
|
393
|
-
SlashingProposerType[SlashingProposerType["None"] = 0] = "None";
|
|
394
|
-
SlashingProposerType[SlashingProposerType["Tally"] = 1] = "Tally";
|
|
395
|
-
SlashingProposerType[SlashingProposerType["Empire"] = 2] = "Empire";
|
|
396
|
-
return SlashingProposerType;
|
|
397
|
-
}({});
|
|
398
393
|
/**
|
|
399
394
|
* Status of a validator/attester in the staking system.
|
|
400
395
|
* Matches the Status enum in StakingLib.sol
|
|
@@ -405,6 +400,37 @@ export var SlashingProposerType = /*#__PURE__*/ function(SlashingProposerType) {
|
|
|
405
400
|
AttesterStatus[AttesterStatus["EXITING"] = 3] = "EXITING";
|
|
406
401
|
return AttesterStatus;
|
|
407
402
|
}({});
|
|
403
|
+
/** Field offsets within the CompressedTempCheckpointLog struct in Solidity storage. */ export var TempCheckpointLogField = /*#__PURE__*/ function(TempCheckpointLogField) {
|
|
404
|
+
TempCheckpointLogField[TempCheckpointLogField["HeaderHash"] = 0] = "HeaderHash";
|
|
405
|
+
TempCheckpointLogField[TempCheckpointLogField["BlobCommitmentsHash"] = 1] = "BlobCommitmentsHash";
|
|
406
|
+
TempCheckpointLogField[TempCheckpointLogField["OutHash"] = 2] = "OutHash";
|
|
407
|
+
TempCheckpointLogField[TempCheckpointLogField["AttestationsHash"] = 3] = "AttestationsHash";
|
|
408
|
+
TempCheckpointLogField[TempCheckpointLogField["PayloadDigest"] = 4] = "PayloadDigest";
|
|
409
|
+
TempCheckpointLogField[TempCheckpointLogField["SlotNumber"] = 5] = "SlotNumber";
|
|
410
|
+
TempCheckpointLogField[TempCheckpointLogField["FeeHeader"] = 6] = "FeeHeader";
|
|
411
|
+
return TempCheckpointLogField;
|
|
412
|
+
}({});
|
|
413
|
+
const INSUFFICIENT_VALIDATOR_SET_SIZE_ERROR = 'ValidatorSelection__InsufficientValidatorSetSize';
|
|
414
|
+
function isValidatorSelectionError(err, errorName) {
|
|
415
|
+
return getErrorCause(err, ContractFunctionRevertedError)?.data?.errorName === errorName || decodeRpcRequestErrorName(err) === errorName;
|
|
416
|
+
}
|
|
417
|
+
function decodeRpcRequestErrorName(err) {
|
|
418
|
+
const data = getErrorCause(err, RpcRequestError)?.data;
|
|
419
|
+
if (!isHexString(data)) {
|
|
420
|
+
return undefined;
|
|
421
|
+
}
|
|
422
|
+
try {
|
|
423
|
+
return decodeErrorResult({
|
|
424
|
+
abi: RollupAbi,
|
|
425
|
+
data
|
|
426
|
+
}).errorName;
|
|
427
|
+
} catch {
|
|
428
|
+
return undefined;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
function isHexString(value) {
|
|
432
|
+
return typeof value === 'string' && value.startsWith('0x');
|
|
433
|
+
}
|
|
408
434
|
export class RollupContract {
|
|
409
435
|
client;
|
|
410
436
|
static{
|
|
@@ -517,6 +543,7 @@ export class RollupContract {
|
|
|
517
543
|
], []));
|
|
518
544
|
}
|
|
519
545
|
rollup;
|
|
546
|
+
logger;
|
|
520
547
|
static cachedStfStorageSlot;
|
|
521
548
|
cachedEscapeHatch;
|
|
522
549
|
static get checkBlobStorageSlot() {
|
|
@@ -535,12 +562,12 @@ export class RollupContract {
|
|
|
535
562
|
}
|
|
536
563
|
static getFromConfig(config) {
|
|
537
564
|
const client = getPublicClient(config);
|
|
538
|
-
const address = config.
|
|
565
|
+
const address = config.rollupAddress.toString();
|
|
539
566
|
return new RollupContract(client, address);
|
|
540
567
|
}
|
|
541
568
|
constructor(client, address){
|
|
542
569
|
this.client = client;
|
|
543
|
-
_initProto(this);
|
|
570
|
+
this.logger = (_initProto(this), createLogger('ethereum:rollup'));
|
|
544
571
|
if (address instanceof EthAddress) {
|
|
545
572
|
address = address.toString();
|
|
546
573
|
}
|
|
@@ -565,34 +592,10 @@ export class RollupContract {
|
|
|
565
592
|
return undefined;
|
|
566
593
|
}
|
|
567
594
|
const proposerAddress = await slasher.getProposer();
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
type: 'function',
|
|
571
|
-
name: 'SLASHING_PROPOSER_TYPE',
|
|
572
|
-
inputs: [],
|
|
573
|
-
outputs: [
|
|
574
|
-
{
|
|
575
|
-
name: '',
|
|
576
|
-
type: 'uint8',
|
|
577
|
-
internalType: 'enum SlasherFlavor'
|
|
578
|
-
}
|
|
579
|
-
],
|
|
580
|
-
stateMutability: 'view'
|
|
581
|
-
}
|
|
582
|
-
];
|
|
583
|
-
const proposer = getContract({
|
|
584
|
-
address: proposerAddress.toString(),
|
|
585
|
-
abi: proposerAbi,
|
|
586
|
-
client: this.client
|
|
587
|
-
});
|
|
588
|
-
const proposerType = await proposer.read.SLASHING_PROPOSER_TYPE();
|
|
589
|
-
if (proposerType === 1..valueOf()) {
|
|
590
|
-
return new TallySlashingProposerContract(this.client, proposerAddress);
|
|
591
|
-
} else if (proposerType === 2..valueOf()) {
|
|
592
|
-
return new EmpireSlashingProposerContract(this.client, proposerAddress);
|
|
593
|
-
} else {
|
|
594
|
-
throw new Error(`Unknown slashing proposer type: ${proposerType}`);
|
|
595
|
+
if (proposerAddress.isZero()) {
|
|
596
|
+
return undefined;
|
|
595
597
|
}
|
|
598
|
+
return new SlashingProposerContract(this.client, proposerAddress);
|
|
596
599
|
}
|
|
597
600
|
getL1StartBlock() {
|
|
598
601
|
return this.rollup.read.L1_BLOCK_AT_GENESIS();
|
|
@@ -733,7 +736,11 @@ export class RollupContract {
|
|
|
733
736
|
BigInt(epoch)
|
|
734
737
|
]);
|
|
735
738
|
return isOpen;
|
|
736
|
-
} catch
|
|
739
|
+
} catch (err) {
|
|
740
|
+
this.logger.warn('isEscapeHatchOpen failed (treating as closed); RPC or contract error may cause liveness risk', {
|
|
741
|
+
epoch: Number(epoch),
|
|
742
|
+
error: err
|
|
743
|
+
});
|
|
737
744
|
return false;
|
|
738
745
|
}
|
|
739
746
|
}
|
|
@@ -749,8 +756,9 @@ export class RollupContract {
|
|
|
749
756
|
async getOwner() {
|
|
750
757
|
return EthAddress.fromString(await this.rollup.read.owner());
|
|
751
758
|
}
|
|
752
|
-
async getActiveAttesterCount() {
|
|
753
|
-
|
|
759
|
+
async getActiveAttesterCount(options) {
|
|
760
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
761
|
+
return Number(await this.rollup.read.getActiveAttesterCount(options));
|
|
754
762
|
}
|
|
755
763
|
async getSlashingProposerAddress() {
|
|
756
764
|
const slasher = await this.getSlasherContract();
|
|
@@ -762,25 +770,40 @@ export class RollupContract {
|
|
|
762
770
|
getCheckpointReward() {
|
|
763
771
|
return this.rollup.read.getCheckpointReward();
|
|
764
772
|
}
|
|
765
|
-
async getCheckpointNumber() {
|
|
766
|
-
|
|
773
|
+
async getCheckpointNumber(options) {
|
|
774
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
775
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getPendingCheckpointNumber(options));
|
|
767
776
|
}
|
|
768
777
|
async getProvenCheckpointNumber(options) {
|
|
769
778
|
await checkBlockTag(options?.blockNumber, this.client);
|
|
770
779
|
return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber(options));
|
|
771
780
|
}
|
|
772
|
-
async getSlotNumber() {
|
|
773
|
-
|
|
781
|
+
async getSlotNumber(options) {
|
|
782
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
783
|
+
return SlotNumber.fromBigInt(await this.rollup.read.getCurrentSlot(options));
|
|
774
784
|
}
|
|
775
|
-
async getL1FeesAt(timestamp) {
|
|
785
|
+
async getL1FeesAt(timestamp, options) {
|
|
786
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
776
787
|
const result = await this.rollup.read.getL1FeesAt([
|
|
777
788
|
timestamp
|
|
778
|
-
]);
|
|
789
|
+
], options);
|
|
779
790
|
return {
|
|
780
791
|
baseFee: result.baseFee,
|
|
781
792
|
blobFee: result.blobFee
|
|
782
793
|
};
|
|
783
794
|
}
|
|
795
|
+
async getFeeHeader(checkpointNumber) {
|
|
796
|
+
const result = await this.rollup.read.getFeeHeader([
|
|
797
|
+
checkpointNumber
|
|
798
|
+
]);
|
|
799
|
+
return {
|
|
800
|
+
excessMana: result.excessMana,
|
|
801
|
+
manaUsed: result.manaUsed,
|
|
802
|
+
ethPerFeeAsset: result.ethPerFeeAsset,
|
|
803
|
+
congestionCost: result.congestionCost,
|
|
804
|
+
proverCost: result.proverCost
|
|
805
|
+
};
|
|
806
|
+
}
|
|
784
807
|
getEthPerFeeAsset() {
|
|
785
808
|
return this.rollup.read.getEthPerFeeAsset();
|
|
786
809
|
}
|
|
@@ -793,7 +816,7 @@ export class RollupContract {
|
|
|
793
816
|
timestamp
|
|
794
817
|
]
|
|
795
818
|
}).catch((e)=>{
|
|
796
|
-
if (e
|
|
819
|
+
if (isValidatorSelectionError(e, INSUFFICIENT_VALIDATOR_SET_SIZE_ERROR)) {
|
|
797
820
|
return {
|
|
798
821
|
result: undefined
|
|
799
822
|
};
|
|
@@ -820,7 +843,7 @@ export class RollupContract {
|
|
|
820
843
|
functionName: 'getCurrentEpochCommittee',
|
|
821
844
|
args: []
|
|
822
845
|
}).catch((e)=>{
|
|
823
|
-
if (e
|
|
846
|
+
if (isValidatorSelectionError(e, INSUFFICIENT_VALIDATOR_SET_SIZE_ERROR)) {
|
|
824
847
|
return {
|
|
825
848
|
result: undefined
|
|
826
849
|
};
|
|
@@ -849,10 +872,11 @@ export class RollupContract {
|
|
|
849
872
|
});
|
|
850
873
|
return EthAddress.fromString(result);
|
|
851
874
|
}
|
|
852
|
-
async getCheckpoint(checkpointNumber) {
|
|
875
|
+
async getCheckpoint(checkpointNumber, options) {
|
|
876
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
853
877
|
const result = await this.rollup.read.getCheckpoint([
|
|
854
878
|
BigInt(checkpointNumber)
|
|
855
|
-
]);
|
|
879
|
+
], options);
|
|
856
880
|
return {
|
|
857
881
|
archive: Fr.fromString(result.archive),
|
|
858
882
|
headerHash: Buffer32.fromString(result.headerHash),
|
|
@@ -882,6 +906,28 @@ export class RollupContract {
|
|
|
882
906
|
0.5
|
|
883
907
|
]));
|
|
884
908
|
}
|
|
909
|
+
/**
|
|
910
|
+
* Returns the effective pending checkpoint, accounting for potential prunes.
|
|
911
|
+
* When a prune can happen, the L1 contract uses the proven checkpoint instead of the pending one.
|
|
912
|
+
* This mirrors the behavior of getEffectivePendingCheckpointNumber in STFLib.sol.
|
|
913
|
+
* @param atTimestamp - The timestamp to evaluate pruneability at. Defaults to the current L1 block timestamp.
|
|
914
|
+
* @param options - Optional L1 block number to pin the queries to.
|
|
915
|
+
*/ getEffectivePendingCheckpoint(atTimestamp, options) {
|
|
916
|
+
return retry(async ()=>{
|
|
917
|
+
const timestamp = atTimestamp ?? (await this.client.getBlock()).timestamp;
|
|
918
|
+
const canPrune = await this.canPruneAtTime(timestamp, options);
|
|
919
|
+
if (canPrune) {
|
|
920
|
+
const provenCheckpointNumber = await this.getProvenCheckpointNumber(options);
|
|
921
|
+
return await this.getCheckpoint(provenCheckpointNumber, options);
|
|
922
|
+
}
|
|
923
|
+
const pendingCheckpointNumber = await this.getCheckpointNumber(options);
|
|
924
|
+
return await this.getCheckpoint(pendingCheckpointNumber, options);
|
|
925
|
+
}, 'getting effective pending checkpoint', makeBackoff([
|
|
926
|
+
0.5,
|
|
927
|
+
0.5,
|
|
928
|
+
0.5
|
|
929
|
+
]));
|
|
930
|
+
}
|
|
885
931
|
async getTips() {
|
|
886
932
|
const { pending, proven } = await this.rollup.read.getTips();
|
|
887
933
|
return {
|
|
@@ -966,7 +1012,7 @@ export class RollupContract {
|
|
|
966
1012
|
* @return [slot, checkpointNumber, timeOfNextL1Slot] - If you can propose, the L2 slot number, checkpoint number and
|
|
967
1013
|
* timestamp of the next L1 block
|
|
968
1014
|
* @throws otherwise
|
|
969
|
-
*/ async canProposeAt(archive, account, timestamp,
|
|
1015
|
+
*/ async canProposeAt(archive, account, timestamp, stateOverride = []) {
|
|
970
1016
|
const timeOfNextL1Slot = timestamp;
|
|
971
1017
|
const who = typeof account === 'string' ? account : account.address;
|
|
972
1018
|
try {
|
|
@@ -980,7 +1026,7 @@ export class RollupContract {
|
|
|
980
1026
|
who
|
|
981
1027
|
],
|
|
982
1028
|
account,
|
|
983
|
-
stateOverride
|
|
1029
|
+
stateOverride
|
|
984
1030
|
});
|
|
985
1031
|
return {
|
|
986
1032
|
slot: SlotNumber.fromBigInt(slot),
|
|
@@ -992,11 +1038,15 @@ export class RollupContract {
|
|
|
992
1038
|
}
|
|
993
1039
|
}
|
|
994
1040
|
/**
|
|
995
|
-
* Returns a state override that sets the pending
|
|
996
|
-
*
|
|
997
|
-
*
|
|
998
|
-
|
|
999
|
-
|
|
1041
|
+
* Returns a state override that sets the pending and/or proven checkpoint numbers. Useful for simulations.
|
|
1042
|
+
* Both values share a single storage slot (pending in the upper 128 bits, proven in the lower 128 bits), so
|
|
1043
|
+
* a single combined override is emitted to avoid the second state-diff clobbering the first. The current live
|
|
1044
|
+
* value is read once to preserve any half not being overridden. Returns an empty override if neither is set.
|
|
1045
|
+
*
|
|
1046
|
+
* Throws if the resulting `proven > pending`, which would crash the simulation: `STFLib.canPruneAtTime` calls
|
|
1047
|
+
* `getEpochForCheckpoint(proven + 1)` whenever `pending != proven`, and that asserts `_n <= tips.pending`.
|
|
1048
|
+
*/ async makeChainTipsOverride(override) {
|
|
1049
|
+
if (override.pending === undefined && override.proven === undefined) {
|
|
1000
1050
|
return [];
|
|
1001
1051
|
}
|
|
1002
1052
|
const slot = RollupContract.stfStorageSlot;
|
|
@@ -1004,8 +1054,15 @@ export class RollupContract {
|
|
|
1004
1054
|
address: this.address,
|
|
1005
1055
|
slot
|
|
1006
1056
|
});
|
|
1007
|
-
const
|
|
1008
|
-
const
|
|
1057
|
+
const currentRaw = currentValue ? hexToBigInt(currentValue) : 0n;
|
|
1058
|
+
const currentPending = currentRaw >> 128n;
|
|
1059
|
+
const currentProven = currentRaw & (1n << 128n) - 1n;
|
|
1060
|
+
const newPending = override.pending !== undefined ? BigInt(override.pending) : currentPending;
|
|
1061
|
+
const newProven = override.proven !== undefined ? BigInt(override.proven) : currentProven;
|
|
1062
|
+
if (newProven > newPending) {
|
|
1063
|
+
throw new Error(`Invalid chain tips override: proven (${newProven}) > pending (${newPending})`);
|
|
1064
|
+
}
|
|
1065
|
+
const newValue = newPending << 128n | newProven;
|
|
1009
1066
|
return [
|
|
1010
1067
|
{
|
|
1011
1068
|
address: this.address,
|
|
@@ -1018,6 +1075,161 @@ export class RollupContract {
|
|
|
1018
1075
|
}
|
|
1019
1076
|
];
|
|
1020
1077
|
}
|
|
1078
|
+
/**
|
|
1079
|
+
* Returns a state override that patches `tempCheckpointLogs[checkpointNumber]` with every field that
|
|
1080
|
+
* the L1 contract reads during `propose()` for the checkpoint that builds on top of it (proposer
|
|
1081
|
+
* pipelining simulation). Mirrors the writes done by `ProposeLib.addTempCheckpointLog`.
|
|
1082
|
+
*
|
|
1083
|
+
* `blobCommitmentsHash` and `attestationsHash` are intentionally not exposed here — the propose path
|
|
1084
|
+
* never asserts against them, so leaving them at storage zero is harmless.
|
|
1085
|
+
*/ async makeTempCheckpointLogOverride(checkpointNumber, fields) {
|
|
1086
|
+
const constants = await this.getRollupConstants();
|
|
1087
|
+
const slotAt = (field)=>`0x${this.computeTempCheckpointLogStorageSlot(checkpointNumber, field, constants).toString(16).padStart(64, '0')}`;
|
|
1088
|
+
const word = (v)=>`0x${v.toString(16).padStart(64, '0')}`;
|
|
1089
|
+
const stateDiff = [];
|
|
1090
|
+
if (fields.headerHash) {
|
|
1091
|
+
stateDiff.push({
|
|
1092
|
+
slot: slotAt(0),
|
|
1093
|
+
value: fields.headerHash.toString()
|
|
1094
|
+
});
|
|
1095
|
+
}
|
|
1096
|
+
if (fields.outHash) {
|
|
1097
|
+
stateDiff.push({
|
|
1098
|
+
slot: slotAt(2),
|
|
1099
|
+
value: fields.outHash.toString()
|
|
1100
|
+
});
|
|
1101
|
+
}
|
|
1102
|
+
if (fields.payloadDigest) {
|
|
1103
|
+
stateDiff.push({
|
|
1104
|
+
slot: slotAt(4),
|
|
1105
|
+
value: fields.payloadDigest.toString()
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1108
|
+
if (fields.slotNumber !== undefined) {
|
|
1109
|
+
// CompressedSlot is uint32 on L1 (SafeCast.toUint32 reverts on overflow). Match that behavior here
|
|
1110
|
+
// so a malformed override surfaces immediately rather than silently truncating into a wrong slot.
|
|
1111
|
+
const slotNumber = BigInt(fields.slotNumber);
|
|
1112
|
+
if (slotNumber < 0n || slotNumber > 0xffffffffn) {
|
|
1113
|
+
throw new Error(`slotNumber ${slotNumber} does not fit in uint32`);
|
|
1114
|
+
}
|
|
1115
|
+
stateDiff.push({
|
|
1116
|
+
slot: slotAt(5),
|
|
1117
|
+
value: word(slotNumber)
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1120
|
+
if (fields.feeHeader) {
|
|
1121
|
+
stateDiff.push({
|
|
1122
|
+
slot: slotAt(6),
|
|
1123
|
+
value: word(RollupContract.compressFeeHeader(fields.feeHeader))
|
|
1124
|
+
});
|
|
1125
|
+
}
|
|
1126
|
+
if (stateDiff.length === 0) {
|
|
1127
|
+
return [];
|
|
1128
|
+
}
|
|
1129
|
+
return [
|
|
1130
|
+
{
|
|
1131
|
+
address: this.address,
|
|
1132
|
+
stateDiff
|
|
1133
|
+
}
|
|
1134
|
+
];
|
|
1135
|
+
}
|
|
1136
|
+
/**
|
|
1137
|
+
* Returns a state override that sets archives[checkpointNumber] to the given archive value.
|
|
1138
|
+
* Used when simulating a canProposeAtTime call where the local archive differs from L1
|
|
1139
|
+
* (e.g. pipelining where the parent checkpoint hasn't landed on L1 yet).
|
|
1140
|
+
*/ makeArchiveOverride(checkpointNumber, archive) {
|
|
1141
|
+
const archivesMappingBase = hexToBigInt(RollupContract.stfStorageSlot) + 1n;
|
|
1142
|
+
const archiveSlot = hexToBigInt(keccak256(encodeAbiParameters([
|
|
1143
|
+
{
|
|
1144
|
+
type: 'uint256'
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
type: 'uint256'
|
|
1148
|
+
}
|
|
1149
|
+
], [
|
|
1150
|
+
BigInt(checkpointNumber),
|
|
1151
|
+
archivesMappingBase
|
|
1152
|
+
])));
|
|
1153
|
+
return [
|
|
1154
|
+
{
|
|
1155
|
+
address: this.address,
|
|
1156
|
+
stateDiff: [
|
|
1157
|
+
{
|
|
1158
|
+
slot: `0x${archiveSlot.toString(16).padStart(64, '0')}`,
|
|
1159
|
+
value: archive.toString()
|
|
1160
|
+
}
|
|
1161
|
+
]
|
|
1162
|
+
}
|
|
1163
|
+
];
|
|
1164
|
+
}
|
|
1165
|
+
/** Merges multiple StateOverride arrays, combining stateDiff entries for the same address. */ static mergeStateOverrides(...overrides) {
|
|
1166
|
+
const byAddress = new Map();
|
|
1167
|
+
for (const override of overrides){
|
|
1168
|
+
for (const entry of override){
|
|
1169
|
+
const key = entry.address.toLowerCase();
|
|
1170
|
+
const existing = byAddress.get(key);
|
|
1171
|
+
if (existing) {
|
|
1172
|
+
existing.stateDiff.push(...entry.stateDiff ?? []);
|
|
1173
|
+
if (entry.balance !== undefined) {
|
|
1174
|
+
existing.balance = entry.balance;
|
|
1175
|
+
}
|
|
1176
|
+
} else {
|
|
1177
|
+
byAddress.set(key, {
|
|
1178
|
+
address: entry.address,
|
|
1179
|
+
balance: entry.balance,
|
|
1180
|
+
stateDiff: [
|
|
1181
|
+
...entry.stateDiff ?? []
|
|
1182
|
+
]
|
|
1183
|
+
});
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
return [
|
|
1188
|
+
...byAddress.values()
|
|
1189
|
+
];
|
|
1190
|
+
}
|
|
1191
|
+
/** Compresses a FeeHeader into a uint256 matching FeeHeaderLib.compress() in FeeStructs.sol. */ static compressFeeHeader(feeHeader) {
|
|
1192
|
+
const MASK_48_BITS = (1n << 48n) - 1n;
|
|
1193
|
+
const MASK_64_BITS = (1n << 64n) - 1n;
|
|
1194
|
+
const MASK_63_BITS = (1n << 63n) - 1n;
|
|
1195
|
+
let value = BigInt(feeHeader.manaUsed) & (1n << 32n) - 1n; // bits [0:31]
|
|
1196
|
+
value |= (feeHeader.excessMana < MASK_48_BITS ? feeHeader.excessMana : MASK_48_BITS) << 32n; // bits [32:79]
|
|
1197
|
+
value |= (BigInt(feeHeader.ethPerFeeAsset) & MASK_48_BITS) << 80n; // bits [80:127]
|
|
1198
|
+
value |= (feeHeader.congestionCost < MASK_64_BITS ? feeHeader.congestionCost : MASK_64_BITS) << 128n; // bits [128:191]
|
|
1199
|
+
value |= (feeHeader.proverCost < MASK_63_BITS ? feeHeader.proverCost : MASK_63_BITS) << 192n; // bits [192:254]
|
|
1200
|
+
value |= 1n << 255n; // preheat flag
|
|
1201
|
+
return value;
|
|
1202
|
+
}
|
|
1203
|
+
/** Computes the fee header for a child checkpoint given parent fee header and child data.
|
|
1204
|
+
* Must stay in sync with Solidity FeeLib.sol (computeNewEthPerFeeAsset, clampedAdd). */ static computeChildFeeHeader(parentFeeHeader, childManaUsed, feeAssetPriceModifier, manaTarget) {
|
|
1205
|
+
const MIN_ETH_PER_FEE_ASSET = 100n;
|
|
1206
|
+
const MAX_ETH_PER_FEE_ASSET = 100_000_000_000_000n; // 1e14, matches FeeLib.sol
|
|
1207
|
+
// excessMana = clampedAdd(parent.excessMana + parent.manaUsed, -manaTarget)
|
|
1208
|
+
const sum = parentFeeHeader.excessMana + parentFeeHeader.manaUsed;
|
|
1209
|
+
const excessMana = sum > manaTarget ? sum - manaTarget : 0n;
|
|
1210
|
+
// ethPerFeeAsset = computeNewEthPerFeeAsset(max(parent.ethPerFeeAsset, MIN), modifier)
|
|
1211
|
+
const parentPrice = parentFeeHeader.ethPerFeeAsset > MIN_ETH_PER_FEE_ASSET ? parentFeeHeader.ethPerFeeAsset : MIN_ETH_PER_FEE_ASSET;
|
|
1212
|
+
let newPrice;
|
|
1213
|
+
if (feeAssetPriceModifier >= 0n) {
|
|
1214
|
+
newPrice = parentPrice * (10_000n + feeAssetPriceModifier) / 10_000n;
|
|
1215
|
+
} else {
|
|
1216
|
+
const absMod = -feeAssetPriceModifier;
|
|
1217
|
+
newPrice = parentPrice * (10_000n - absMod) / 10_000n;
|
|
1218
|
+
}
|
|
1219
|
+
if (newPrice < MIN_ETH_PER_FEE_ASSET) {
|
|
1220
|
+
newPrice = MIN_ETH_PER_FEE_ASSET;
|
|
1221
|
+
}
|
|
1222
|
+
if (newPrice > MAX_ETH_PER_FEE_ASSET) {
|
|
1223
|
+
newPrice = MAX_ETH_PER_FEE_ASSET;
|
|
1224
|
+
}
|
|
1225
|
+
return {
|
|
1226
|
+
excessMana,
|
|
1227
|
+
manaUsed: childManaUsed,
|
|
1228
|
+
ethPerFeeAsset: newPrice,
|
|
1229
|
+
congestionCost: 0n,
|
|
1230
|
+
proverCost: 0n
|
|
1231
|
+
};
|
|
1232
|
+
}
|
|
1021
1233
|
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(checkpointNumber, attestationsAndSigners, committee, invalidIndex) {
|
|
1022
1234
|
return {
|
|
1023
1235
|
to: this.address,
|
|
@@ -1059,11 +1271,13 @@ export class RollupContract {
|
|
|
1059
1271
|
prover
|
|
1060
1272
|
]);
|
|
1061
1273
|
}
|
|
1062
|
-
getManaMinFeeAt(timestamp, inFeeAsset) {
|
|
1274
|
+
getManaMinFeeAt(timestamp, inFeeAsset, stateOverride) {
|
|
1063
1275
|
return this.rollup.read.getManaMinFeeAt([
|
|
1064
1276
|
timestamp,
|
|
1065
1277
|
inFeeAsset
|
|
1066
|
-
]
|
|
1278
|
+
], {
|
|
1279
|
+
stateOverride
|
|
1280
|
+
});
|
|
1067
1281
|
}
|
|
1068
1282
|
async getManaMinFeeComponentsAt(timestamp, inFeeAsset) {
|
|
1069
1283
|
const result = await this.rollup.read.getManaMinFeeComponentsAt([
|
|
@@ -1127,14 +1341,23 @@ export class RollupContract {
|
|
|
1127
1341
|
]);
|
|
1128
1342
|
}
|
|
1129
1343
|
async getAttesters(timestamp) {
|
|
1130
|
-
|
|
1344
|
+
// Pin every read to a single L1 block so the attester count and the chunked index reads
|
|
1345
|
+
// observe a consistent set. Without this, the count and each chunk default to `latest` and
|
|
1346
|
+
// can straddle a block boundary (or reorg), yielding an inconsistent or truncated set.
|
|
1347
|
+
const block = await this.client.getBlock();
|
|
1348
|
+
const blockNumber = block.number ?? undefined;
|
|
1349
|
+
const ts = timestamp ?? block.timestamp;
|
|
1350
|
+
const attesterSize = await this.getActiveAttesterCount({
|
|
1351
|
+
blockNumber
|
|
1352
|
+
});
|
|
1131
1353
|
const gse = new GSEContract(this.client, await this.getGSE());
|
|
1132
|
-
const ts = timestamp ?? (await this.client.getBlock()).timestamp;
|
|
1133
1354
|
const indices = Array.from({
|
|
1134
1355
|
length: attesterSize
|
|
1135
1356
|
}, (_, i)=>BigInt(i));
|
|
1136
1357
|
const chunks = chunk(indices, 1000);
|
|
1137
|
-
const results = await Promise.all(chunks.map((chunk)=>gse.getAttestersFromIndicesAtTime(this.address, ts, chunk
|
|
1358
|
+
const results = await Promise.all(chunks.map((chunk)=>gse.getAttestersFromIndicesAtTime(this.address, ts, chunk, {
|
|
1359
|
+
blockNumber
|
|
1360
|
+
})));
|
|
1138
1361
|
return results.flat().map((addr)=>EthAddress.fromString(addr));
|
|
1139
1362
|
}
|
|
1140
1363
|
async getAttesterView(address) {
|
|
@@ -1235,7 +1458,8 @@ export class RollupContract {
|
|
|
1235
1458
|
const args = log.args;
|
|
1236
1459
|
if (args.checkpointNumber !== undefined) {
|
|
1237
1460
|
callback({
|
|
1238
|
-
checkpointNumber: CheckpointNumber.fromBigInt(args.checkpointNumber)
|
|
1461
|
+
checkpointNumber: CheckpointNumber.fromBigInt(args.checkpointNumber),
|
|
1462
|
+
event: log
|
|
1239
1463
|
});
|
|
1240
1464
|
}
|
|
1241
1465
|
}
|
|
@@ -1266,6 +1490,18 @@ export class RollupContract {
|
|
|
1266
1490
|
}
|
|
1267
1491
|
});
|
|
1268
1492
|
}
|
|
1493
|
+
/**
|
|
1494
|
+
* Fetches OwnershipTransferred events emitted on the L1 block this rollup was deployed on.
|
|
1495
|
+
* The Rollup inherits from Ownable and emits this event in its constructor, so the event
|
|
1496
|
+
* is guaranteed to exist on `l1StartBlock` for any correctly deployed rollup. Used as a
|
|
1497
|
+
* probe to detect RPC nodes that prune historical logs.
|
|
1498
|
+
*/ async getOwnershipTransferredEventsAtDeploy() {
|
|
1499
|
+
const l1StartBlock = await this.getL1StartBlock();
|
|
1500
|
+
return await this.rollup.getEvents.OwnershipTransferred({}, {
|
|
1501
|
+
fromBlock: l1StartBlock,
|
|
1502
|
+
toBlock: l1StartBlock
|
|
1503
|
+
});
|
|
1504
|
+
}
|
|
1269
1505
|
/** Fetches CheckpointProposed events within the given block range. */ async getCheckpointProposedEvents(fromBlock, toBlock) {
|
|
1270
1506
|
const logs = await this.rollup.getEvents.CheckpointProposed({}, {
|
|
1271
1507
|
fromBlock,
|
|
@@ -1294,4 +1530,43 @@ export class RollupContract {
|
|
|
1294
1530
|
}
|
|
1295
1531
|
}));
|
|
1296
1532
|
}
|
|
1533
|
+
/** Packs pending and proven checkpoint numbers into the chain tips storage format. */ static packChainTips(pendingCheckpointNumber, provenCheckpointNumber) {
|
|
1534
|
+
return pendingCheckpointNumber << 128n | provenCheckpointNumber & (1n << 128n) - 1n;
|
|
1535
|
+
}
|
|
1536
|
+
/** Storage slot for the chain tips (offset 0 within the STF storage struct). */ static get chainTipsStorageSlot() {
|
|
1537
|
+
return BigInt(RollupContract.stfStorageSlot);
|
|
1538
|
+
}
|
|
1539
|
+
/**
|
|
1540
|
+
* Computes the storage slot for a field within a tempCheckpointLog entry.
|
|
1541
|
+
* @param checkpointNumber - The checkpoint number
|
|
1542
|
+
* @param field - The field within the CompressedTempCheckpointLog struct
|
|
1543
|
+
*/ async getTempCheckpointLogStorageSlot(checkpointNumber, field) {
|
|
1544
|
+
const [epochDuration, proofSubmissionEpochs] = await Promise.all([
|
|
1545
|
+
this.getEpochDuration(),
|
|
1546
|
+
this.getProofSubmissionEpochs()
|
|
1547
|
+
]);
|
|
1548
|
+
return this.computeTempCheckpointLogStorageSlot(checkpointNumber, field, {
|
|
1549
|
+
epochDuration,
|
|
1550
|
+
proofSubmissionEpochs
|
|
1551
|
+
});
|
|
1552
|
+
}
|
|
1553
|
+
computeTempCheckpointLogStorageSlot(checkpointNumber, field, constants) {
|
|
1554
|
+
const fieldOffset = BigInt(field);
|
|
1555
|
+
const { epochDuration, proofSubmissionEpochs } = constants;
|
|
1556
|
+
const roundaboutSize = BigInt(epochDuration) * (BigInt(proofSubmissionEpochs) + 1n) + 1n;
|
|
1557
|
+
const tempCheckpointLogsBase = BigInt(RollupContract.stfStorageSlot) + 2n;
|
|
1558
|
+
const circularIndex = BigInt(checkpointNumber) % roundaboutSize;
|
|
1559
|
+
const entryBase = BigInt(keccak256(encodeAbiParameters([
|
|
1560
|
+
{
|
|
1561
|
+
type: 'uint256'
|
|
1562
|
+
},
|
|
1563
|
+
{
|
|
1564
|
+
type: 'uint256'
|
|
1565
|
+
}
|
|
1566
|
+
], [
|
|
1567
|
+
circularIndex,
|
|
1568
|
+
tempCheckpointLogsBase
|
|
1569
|
+
])));
|
|
1570
|
+
return entryBase + fieldOffset;
|
|
1571
|
+
}
|
|
1297
1572
|
}
|