Files
smom-dbis-138/contracts/mainnet-checkpoint/storage/CheckpointStorage.sol
defiQUG c336809676
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m3s
CI/CD Pipeline / Security Scanning (push) Successful in 2m18s
CI/CD Pipeline / Lint and Format (push) Failing after 34s
CI/CD Pipeline / Terraform Validation (push) Failing after 20s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 22s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 40s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 49s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 21s
Validation / validate-genesis (push) Successful in 25s
Validation / validate-terraform (push) Failing after 21s
Validation / validate-kubernetes (push) Failing after 8s
Validation / validate-smart-contracts (push) Failing after 8s
Validation / validate-security (push) Failing after 1m11s
Validation / validate-documentation (push) Failing after 14s
Verify Deployment / Verify Deployment (push) Failing after 45s
Add mainnet checkpoint stack: ISO attestation, participant Etherscan surface, and services.
Ship AddressActivityRegistry V1/V2, ISO20022IntakeGateway, Chain138ParticipantSurface,
checkpoint hub contracts, checkpoint-core package, aggregator/indexer/sdk services,
relay profile guards, M00 diamond bridge facet, and OMNL compliance contracts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 00:30:45 -07:00

74 lines
2.2 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {CheckpointLeaf} from "../libraries/CheckpointLeaf.sol";
/**
* @title CheckpointStorage
* @notice EIP-7201 namespaced storage for upgradeable checkpoint hub.
*/
library CheckpointStorage {
/// @custom:storage-location erc7201:dbis.storage.Chain138MainnetCheckpoint
struct CheckpointStorageStruct {
uint64 latestBatchId;
uint256 latestCheckpointBlock;
bytes32 latestPaymentsRoot;
uint64 chainId;
uint16 batchSize;
uint32 maxBatchWaitSeconds;
uint256 minPaymentValueWei;
bool requireValidatorSigs;
bool allowCalldataOnlySubmit;
bool allowCCIPIngress;
bool enforcePreviousBatchId;
bool paused;
uint64 expectedSourceChainSelector;
address batchEmitterOnSource;
address ccipRouter;
address legacyMirrorV1;
address legacyTetherV1;
address submitterAttestationSigner;
mapping(uint64 => CheckpointHeader) checkpoints;
mapping(bytes32 => bool) processedProofHashes;
mapping(bytes32 => uint64) txHashToBatchId;
mapping(uint64 => bool) processedBatchIds;
mapping(bytes32 => ExtensionConfig) extensions;
bytes32[] extensionList;
uint256[37] __gap;
}
struct CheckpointHeader {
uint64 batchId;
uint64 previousBatchId;
uint64 chainId;
uint256 checkpointBlock;
uint256 startBlock;
uint256 endBlock;
bytes32 blockHash;
bytes32 stateRoot;
bytes32 paymentsRoot;
bytes32 receiptsRoot;
uint16 txCount;
uint32 flags;
uint64 submittedAt;
address submitter;
bytes32 contentURI;
}
struct ExtensionConfig {
address module;
uint32 hooks;
bool active;
}
// keccak256(abi.encode(uint256(keccak256("dbis.storage.Chain138MainnetCheckpoint")) - 1)) & ~bytes32(uint256(0xff))
bytes32 private constant CHECKPOINT_STORAGE_LOCATION =
0x94db105fe8bb9354ca3efbce04a4b0527821f7a844cf050ca0ad49fe0d3aad00;
function get() internal pure returns (CheckpointStorageStruct storage $) {
assembly {
$.slot := CHECKPOINT_STORAGE_LOCATION
}
}
}