For the complete documentation index, see llms.txt. This page is also available as Markdown.

Contracts Data Structures

Below is a clear overview of each major CryptoLegacy contract data structure: purpose, fields, types, relationships, and usage within contracts.

Table of Contents

BeneficiaryRegistry (BR1)

cryptoLegacyByBeneficiary (BR1-D1)

Data Type: mapping(bytes32 => EnumerableSet.AddressSet) Visibility / Mutability: internal, none Storage Location: direct storage Description: Maps a beneficiary hash to the set of CryptoLegacy contract addresses associated with that beneficiary.

Modified by:

Read by:

cryptoLegacyByOwner (BR1-D2)

Data Type: mapping(bytes32 => EnumerableSet.AddressSet) Visibility / Mutability: internal, none Storage Location: direct storage Description: Maps an owner hash to the set of CryptoLegacy contract addresses associated with that owner.

Modified by:

Read by:

cryptoLegacyByGuardian (BR1-D3)

Data Type: mapping(bytes32 => EnumerableSet.AddressSet) Visibility / Mutability: internal, none Storage Location: direct storage Description: Maps a guardian hash to the set of CryptoLegacy contract addresses associated with that guardian.

Modified by:

Read by:

cryptoLegacyByRecovery (BR1-D4)

Data Type: mapping(bytes32 => EnumerableSet.AddressSet) Visibility / Mutability: internal, none Storage Location: direct storage Description: Maps a recovery hash to the set of CryptoLegacy contract addresses associated with that recovery address.

Modified by:

Read by:

blockNumberChangesByCryptoLegacy (BR1-D5)

Data Type: mapping(address => uint256[]) Visibility / Mutability: internal, none Storage Location: direct storage Description: Stores block numbers when a given CryptoLegacy contract updates registry entries.

Modified by:

Read by:

BuildManagerOwnable (BMO1)

buildManagerAdded (BMO1-D1)

Data Type: EnumerableSet.AddressSet Visibility / Mutability: internal, none Storage Location: direct storage Description: Set of build manager addresses that are authorized to register CryptoLegacy contracts.

Modified by:

Read by:

Create3Factory (C3F1)

No tracked data items in this contract/library.

CryptoLegacy (CL1)

No tracked data items in this contract/library.

CryptoLegacyBuildManager (CLBM1)

feeRegistry (CLBM1-D1)

Data Type: IFeeRegistry Visibility / Mutability: public, none Storage Location: direct storage Description: Fee registry contract used to calculate and collect build and update fees.

Modified by:

Read by:

pluginsRegistry (CLBM1-D2)

Data Type: IPluginsRegistry Visibility / Mutability: public, none Storage Location: direct storage Description: Plugins registry contract used to validate plugin addresses.

Modified by:

Read by:

beneficiaryRegistry (CLBM1-D3)

Data Type: IBeneficiaryRegistry Visibility / Mutability: public, none Storage Location: direct storage Description: Beneficiary registry contract used to register owner, beneficiary, guardian, and recovery hashes.

Modified by:

Read by:

lifetimeNft (CLBM1-D4)

Data Type: ILifetimeNft Visibility / Mutability: public, none Storage Location: direct storage Description: Lifetime NFT contract used for lifetime fee status and minting.

Modified by:

Read by:

factory (CLBM1-D5)

Data Type: ICryptoLegacyFactory Visibility / Mutability: public, none Storage Location: direct storage Description: Factory contract used to deploy new CryptoLegacy instances.

Modified by:

Read by:

externalLens (CLBM1-D6)

Data Type: address Visibility / Mutability: public, none Storage Location: direct storage Description: Optional external lens contract address for off-chain data access.

Modified by:

Read by:

minMassMintSupply (CLBM1-D7)

Data Type: uint256 Visibility / Mutability: public, none Storage Location: direct storage Description: Minimum Lifetime NFT total supply required to allow mass minting.

Modified by:

Read by:

REGISTRY_BUILD_CASE (CLBM1-D8)

Data Type: uint8 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Fee registry case identifier for build fees.

Modified by: None

Read by:

REGISTRY_UPDATE_CASE (CLBM1-D9)

Data Type: uint8 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Fee registry case identifier for update fees.

Modified by: None

Read by:

REGISTRY_LIFETIME_CASE (CLBM1-D10)

Data Type: uint8 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Fee registry case identifier for lifetime NFT fees.

Modified by: None

Read by:

cryptoLegacyBuilt (CLBM1-D11)

Data Type: mapping(address => bool) Visibility / Mutability: internal, none Storage Location: direct storage Description: Tracks whether a CryptoLegacy contract address has been built and registered.

Modified by:

Read by:

CryptoLegacyDiamondBase (CLDB1)

No tracked data items in this contract/library.

CryptoLegacyExternalLens (CLEXL1)

No tracked data items in this contract/library.

CryptoLegacyFactory (CLF1)

buildOperators (CLF1-D1)

Data Type: EnumerableSet.AddressSet Visibility / Mutability: private, none Storage Location: direct storage Description: Set of addresses authorized to deploy new CryptoLegacy contracts.

Modified by:

Read by:

CryptoLegacyOwnable (CLO1)

No tracked data items in this contract/library.

FeeRegistry (FR1)

PCT_BASE (FR1-D1)

Data Type: uint32 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Fixed 10,000 denominator for fee-registry discount and referral-share percentage calculations.

Modified by: None

Read by:

FR_STORAGE_POSITION (FR1-D2)

Data Type: bytes32 Visibility / Mutability: internal, constant Storage Location: diamond storage slot Description: Storage slot identifier for FeeRegistry FRStorage.

Modified by: None

Read by:

LegacyMessenger (LM1)

messagesGotByBlockNumber (LM1-D1)

Data Type: mapping(bytes32 => uint64[]) Visibility / Mutability: public, none Storage Location: direct storage Description: Maps recipient hashes to block numbers when messages were sent.

Modified by:

Read by:

LifetimeNft (LN1)

baseURI (LN1-D1)

Data Type: string Visibility / Mutability: internal, none Storage Location: direct storage Description: Base URI used to build token metadata URLs.

Modified by:

Read by:

minterOperator (LN1-D2)

Data Type: mapping(address => bool) Visibility / Mutability: public, none Storage Location: direct storage Description: Tracks which addresses are authorized to mint Lifetime NFTs.

Modified by:

Read by:

LockChainGate (LCG1)

LCG_STORAGE_POSITION (LCG1-D1)

Data Type: bytes32 Visibility / Mutability: internal, constant Storage Location: diamond storage slot Description: Storage slot identifier for LockChainGate LCGStorage.

Modified by: None

Read by:

MultiPermit (MP1)

PermitData (MP1-S1)

Type: struct Fields:

  • token (address): Token contract address.

  • owner (address): Token owner address.

  • spender (address): Spender address to approve.

  • value (uint256): Amount to approve.

  • deadline (uint256): Permit deadline timestamp.

  • v (uint8): Signature v value.

  • r (bytes32): Signature r value.

  • s (bytes32): Signature s value.

Used by:

Notes / Edge cases: None

PluginsRegistry (PR1)

pluginsList (PR1-D1)

Data Type: EnumerableSet.AddressSet Visibility / Mutability: private, none Storage Location: direct storage Description: Set of registered plugin addresses.

Modified by:

Read by:

pluginDescriptionBlockNumbers (PR1-D2)

Data Type: mapping(address => uint64[]) Visibility / Mutability: public, none Storage Location: direct storage Description: Records block numbers when plugin descriptions are added or updated.

Modified by:

Read by:

ProxyBuilder (PB1)

proxyAdmin (PB1-D1)

Data Type: ProxyAdmin Visibility / Mutability: public, none Storage Location: direct storage Description: Optional ProxyAdmin contract used to manage built proxies; constructor writes it only when _proxyAdmin != address(0).

Modified by:

Read by:

ProxyBuilderAdmin (PBA1)

No tracked data items in this contract/library.

SignatureRoleTimelock (SRT1)

ADMIN_ROLE (SRT1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Identifier for the administrator role.

Modified by: None

Read by:

MAX_TIMELOCK_DURATION (SRT1-D2)

Data Type: uint128 Visibility / Mutability: public, constant Storage Location: inlined constant Description: 7-day upper bound for signature-role timelocks accepted during constructor seeding and signature-role updates.

Modified by: None

Read by:

MAX_EXECUTION_PERIOD_LOWER_BOUND (SRT1-D3)

Data Type: uint128 Visibility / Mutability: public, constant Storage Location: inlined constant Description: 7-day minimum allowed when setting the execution window for scheduled calls.

Modified by: None

Read by:

MAX_EXECUTION_PERIOD_UPPER_BOUND (SRT1-D4)

Data Type: uint128 Visibility / Mutability: public, constant Storage Location: inlined constant Description: 21-day maximum allowed when setting the execution window for scheduled calls.

Modified by: None

Read by:

maxExecutionPeriod (SRT1-D5)

Data Type: uint128 Visibility / Mutability: public, none Storage Location: direct storage Description: Maximum period during which a scheduled call can be executed.

Modified by:

Read by:

roleAccounts (SRT1-D6)

Data Type: mapping(bytes32 => address[]) Visibility / Mutability: public, none Storage Location: direct storage Description: Maps role identifiers to the list of accounts with that role.

Modified by:

Read by:

signatureRoles (SRT1-D7)

Data Type: mapping(address => mapping(bytes4 => SignatureAttr)) Visibility / Mutability: public, none Storage Location: direct storage Description: Maps a target and selector to the required role and timelock.

Modified by:

Read by:

targetSigs (SRT1-D8)

Data Type: mapping(address => bytes4[]) Visibility / Mutability: public, none Storage Location: direct storage Description: Maps a target to the list of selectors that have signature roles.

Modified by:

Read by:

targets (SRT1-D9)

Data Type: address[] Visibility / Mutability: public, none Storage Location: direct storage Description: List of targets that have at least one signature role.

Modified by:

Read by:

pendingCalls (SRT1-D10)

Data Type: mapping(bytes32 => CallRequest) Visibility / Mutability: public, none Storage Location: direct storage Description: Stores scheduled call requests keyed by call id.

Modified by:

Read by:

callsIds (SRT1-D11)

Data Type: bytes32[] Visibility / Mutability: public, none Storage Location: direct storage Description: List of scheduled call ids.

Modified by:

Read by:

ArbSys (AS1)

No tracked data items in this contract/library.

Flags (FLG1)

UNWRAP_ETH (FLG1-D1)

Data Type: uint256 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Flag index used to indicate unwrap ETH behavior.

Modified by: None

Read by: None

REVERT_IF_EXTERNAL_FAIL (FLG1-D2)

Data Type: uint256 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Flag index used to revert if an external call fails.

Modified by: None

Read by:

PROXY_WITH_SENDER (FLG1-D3)

Data Type: uint256 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Flag index used to proxy calls with sender context.

Modified by: None

Read by:

SEND_HASHED_DATA (FLG1-D4)

Data Type: uint256 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Flag index used to indicate hashed data sending mode.

Modified by: None

Read by: None

SEND_EXTERNAL_CALL_GAS_LIMIT (FLG1-D5)

Data Type: uint256 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Flag index used to set external call gas limit behavior.

Modified by: None

Read by: None

MULTI_SEND (FLG1-D6)

Data Type: uint256 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Flag index used to enable multi-send behavior.

Modified by: None

Read by: None

IAaveV3Pool (IAV3P1)

No tracked data items in this contract/library.

IAaveV3PoolDataProvider (IAV3PDP1)

No tracked data items in this contract/library.

WethUnwrap (WU1)

WETH (WU1-D1)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: WETH token address pulled from callers and unwrapped to native ETH during unwrap_weth.

Modified by:

Read by:

IBeneficiaryRegistry (IBR1)

EntityType (IBR1-E1)

Type: enum Members:

  • NONE

  • OWNER

  • BENEFICIARY

  • GUARDIAN

  • RECOVERY

Used by:

IBuildManagerOwnable (IBMO1)

No tracked data items in this contract/library.

ICallProxy (ICP1)

No tracked data items in this contract/library.

ICryptoLegacy (ICL1)

BeneficiaryConfig (ICL1-S1)

Type: struct Fields:

  • claimDelay (uint64): Delay before claims become available.

  • vestingPeriod (uint64): Duration over which claims vest.

  • shareBps (uint64): Beneficiary share in basis points.

Used by:

Notes / Edge cases: None

BeneficiaryVesting (ICL1-S2)

Type: struct Fields:

  • tokenAmountClaimed (mapping(address => uint256)): Amount claimed per token.

Used by:

Notes / Edge cases: None

TokenDistribution (ICL1-S3)

Type: struct Fields:

  • amountToDistribute (uint256): Total amount allocated for distribution.

  • lastBalance (uint256): Last recorded token balance.

Used by:

Notes / Edge cases: None

CryptoLegacyStorage (ICL1-S4)

Type: struct Fields:

  • isPaused (bool): Pause flag for the protocol.

  • initialFeeToPay (uint128): Initial fee amount required.

  • updateFee (uint128): Current update fee amount.

  • updateInterval (uint64): Interval between required updates.

  • challengeTimeout (uint64): Challenge period timeout.

  • lastFeePaidAt (uint64): Timestamp of the last fee payment.

  • lastUpdateAt (uint64): Timestamp of the last update.

  • distributionStartAt (uint64): Timestamp when distribution starts.

  • pendingOwner (address): Pending owner address for ownership transfer.

  • invitedByRefCode (bytes8): Referral code used at build time.

  • defaultFuncDisabled (uint8): Bitmask of disabled default functions.

  • gasLimitMultiplier (uint8): Multiplier applied to gas estimates.

  • buildManager (ICryptoLegacyBuildManager): Build manager contract reference.

  • beneficiaries (EnumerableSet.Bytes32Set): Set of beneficiary hashes.

  • beneficiaryConfig (mapping(bytes32 => BeneficiaryConfig)): Configuration per beneficiary hash.

  • originalBeneficiaryHash (mapping(bytes32 => bytes32)): Mapping from beneficiary hash to original hash.

  • beneficiarySwitchTimelock (mapping(bytes32 => uint64)): Timelock for beneficiary switch.

  • beneficiaryVesting (mapping(bytes32 => BeneficiaryVesting)): Vesting data per beneficiary hash.

  • tokenDistribution (mapping(address => TokenDistribution)): Distribution data per token.

  • beneficiaryMessagesGotByBlockNumber (mapping(bytes32 => uint64[])): Message block history per beneficiary.

  • transfersGotByBlockNumber (uint64[]): Block numbers for transfers from the legacy.

Used by:

Notes / Edge cases: None

TokenTransferTo (ICL1-S5)

Type: struct Fields:

  • token (address): Token address.

  • recipient (address): Recipient address.

  • amount (uint256): Amount to transfer.

Used by:

Notes / Edge cases: None

ICryptoLegacyBuildManager (ICLBM1)

BuildArgs (ICLBM1-S1)

Type: struct Fields:

  • invitedByRefCode (bytes8): Referral code used for build.

  • beneficiaryHashes (bytes32[]): Beneficiary hashes.

  • beneficiaryConfig (ICryptoLegacy.BeneficiaryConfig[]): Beneficiary configurations.

  • plugins (address[]): Plugin addresses to install.

  • updateInterval (uint64): Update interval for the legacy.

  • challengeTimeout (uint64): Challenge timeout for the legacy.

Used by:

Notes / Edge cases: None

RefArgs (ICLBM1-S2)

Type: struct Fields:

  • createRefRecipient (address): Recipient for created referral code.

  • createRefCustomCode (bytes8): Custom referral code, if provided.

  • createRefChains (uint256[]): Chain ids for referral creation.

  • crossChainFees (uint256[]): Cross-chain fees per chain id.

Used by:

Notes / Edge cases: None

LifetimeNftMint (ICLBM1-S3)

Type: struct Fields:

  • toHolder (address): NFT recipient address.

  • amount (uint256): Amount of NFTs to mint.

Used by:

Notes / Edge cases: None

ICryptoLegacyDiamondBase (ICLDB1)

No tracked data items in this contract/library.

ICryptoLegacyFactory (ICLF1)

Create2Args (ICLF1-S1)

Type: struct Fields:

  • create2Address (address): Expected CREATE2 address.

  • create2Salt (bytes32): CREATE2 salt.

Used by:

Notes / Edge cases: None

ICryptoLegacyLens (ICLL1)

BeneficiaryTokenData (ICLL1-S1)

Type: struct Fields:

  • claimableAmount (uint256): Amount currently claimable.

  • claimedAmount (uint256): Amount already claimed.

  • totalAmount (uint256): Total amount allocated.

Used by:

Notes / Edge cases: None

PluginInfo (ICLL1-S2)

Type: struct Fields:

  • plugin (address): Plugin contract address.

  • name (string): Plugin name.

  • version (uint16): Plugin version.

  • descriptionBlockNumbers (uint64[]): Block numbers when descriptions were added.

Used by:

Notes / Edge cases: None

CryptoLegacyBaseData (ICLL1-S3)

Type: struct Fields:

  • initialFeeToPay (uint128): Initial fee amount.

  • updateFee (uint128): Update fee amount.

  • updateInterval (uint64): Update interval.

  • challengeTimeout (uint64): Challenge timeout.

  • lastFeePaidAt (uint64): Timestamp of last fee payment.

  • lastUpdateAt (uint64): Timestamp of last update.

  • distributionStartAt (uint64): Timestamp of distribution start.

  • invitedByRefCode (bytes8): Referral code used at build time.

  • defaultFuncDisabled (uint8): Bitmask of disabled default functions.

  • buildManager (address): Build manager address.

Used by:

Notes / Edge cases: None

LensTokenDistribution (ICLL1-S4)

Type: struct Fields:

  • amountToDistribute (uint256): Amount to distribute.

  • lastBalance (uint256): Last recorded balance.

  • totalClaimed (uint256): Total claimed amount.

Used by:

Notes / Edge cases: None

CryptoLegacyListData (ICLL1-S5)

Type: struct Fields:

  • beneficiaries (bytes32[]): Beneficiary hashes.

  • beneficiariesOriginalHashes (bytes32[]): Original beneficiary hashes.

  • transfersGotByBlockNumber (uint64[]): Block numbers for transfers.

  • beneficiaryConfigArr (ICryptoLegacy.BeneficiaryConfig[]): Beneficiary configuration array.

  • plugins (PluginInfo[]): Plugin metadata list.

  • tokenDistributions (LensTokenDistribution[]): Token distribution data per token.

Used by:

Notes / Edge cases: None

ICryptoLegacyOwnable (ICLO1)

No tracked data items in this contract/library.

ICryptoLegacyPlugin (ICLP1)

No tracked data items in this contract/library.

ICryptoLegacyUpdaterPlugin (ICLUP1)

No tracked data items in this contract/library.

IDeBridgeGate (IDBG1)

TokenInfo (IDBG1-S1)

Type: struct Fields:

  • nativeChainId (uint256): Native chain identifier.

  • nativeAddress (bytes): Native token address bytes.

Used by: None

Notes / Edge cases: None

DebridgeInfo (IDBG1-S2)

Type: struct Fields:

  • chainId (uint256): Chain identifier.

  • maxAmount (uint256): Maximum transferable amount.

  • balance (uint256): Total locked balance.

  • lockedInStrategies (uint256): Amount locked in strategies.

  • tokenAddress (address): Token address on the current chain.

  • minReservesBps (uint16): Minimum reserves in basis points.

  • exist (bool): Whether the debridge exists.

Used by: None

Notes / Edge cases: None

DebridgeFeeInfo (IDBG1-S3)

Type: struct Fields:

  • collectedFees (uint256): Total collected fees.

  • withdrawnFees (uint256): Total withdrawn fees.

  • getChainFee (mapping(uint256 => uint256)): Fee per chain id.

Used by: None

Notes / Edge cases: None

ChainSupportInfo (IDBG1-S4)

Type: struct Fields:

  • fixedNativeFee (uint256): Fixed native fee amount.

  • isSupported (bool): Whether the chain is supported.

  • transferFeeBps (uint16): Transfer fee in basis points.

Used by:

Notes / Edge cases: None

DiscountInfo (IDBG1-S5)

Type: struct Fields:

  • discountFixBps (uint16): Fixed fee discount in basis points.

  • discountTransferBps (uint16): Transfer fee discount in basis points.

Used by: None

Notes / Edge cases: None

SubmissionAutoParamsTo (IDBG1-S6)

Type: struct Fields:

  • executionFee (uint256): Execution fee amount.

  • flags (uint256): Packed flag set.

  • fallbackAddress (bytes): Fallback address bytes.

  • data (bytes): Call data.

Used by: None

Notes / Edge cases: None

SubmissionAutoParamsFrom (IDBG1-S7)

Type: struct Fields:

  • executionFee (uint256): Execution fee amount.

  • flags (uint256): Packed flag set.

  • fallbackAddress (address): Fallback address.

  • data (bytes): Call data.

  • nativeSender (bytes): Native sender address bytes.

Used by: None

Notes / Edge cases: None

FeeParams (IDBG1-S8)

Type: struct Fields:

  • receivedAmount (uint256): Received amount.

  • fixFee (uint256): Fixed fee amount.

  • transferFee (uint256): Transfer fee amount.

  • useAssetFee (bool): Whether asset fee is used.

  • isNativeToken (bool): Whether the token is native.

Used by:

Notes / Edge cases: None

IDiamondCut (IDC1)

FacetCutAction (IDC1-E1)

Type: enum Members:

  • Add

  • Replace

  • Remove

Used by:

FacetCut (IDC1-S1)

Type: struct Fields:

  • facetAddress (address): Facet address.

  • action (FacetCutAction): Cut action to apply.

  • functionSelectors (bytes4[]): Selectors affected by the cut.

Used by:

Notes / Edge cases: None

IDiamondLoupe (IDL1)

Facet (IDL1-S1)

Type: struct Fields:

  • facetAddress (address): Facet address.

  • functionSelectors (bytes4[]): Function selectors provided by the facet.

Used by:

Notes / Edge cases: None

IFeeRegistry (IFR1)

FRStorage (IFR1-S1)

Type: struct Fields:

  • defaultDiscountPct (uint32): Default discount percentage.

  • defaultSharePct (uint32): Default share percentage.

  • accumulatedFee (uint128): Accumulated fee amount.

  • supportedRefInChains (EnumerableSet.UintSet): Supported referral chains.

  • refererByCode (mapping(bytes8 => Referrer)): Referrer data by code.

  • codeByReferrer (mapping(address => bytes8)): Code by referrer address.

  • codeOperators (EnumerableSet.AddressSet): Authorized code operators.

  • feeByContractCase (mapping(address => mapping(uint8 => uint128))): Fee by contract and case.

  • feeBeneficiaries (FeeBeneficiary[]): Fee beneficiary list.

Used by:

Notes / Edge cases: None

Referrer (IFR1-S2)

Type: struct Fields:

  • owner (address): Referrer owner address.

  • recipient (address): Fee recipient address.

  • discountPct (uint32): Discount percentage.

  • sharePct (uint32): Share percentage.

  • accumulatedFee (uint128): Accumulated fee for the referrer.

Used by:

Notes / Edge cases: None

FeeBeneficiary (IFR1-S3)

Type: struct Fields:

  • recipient (address): Fee recipient address.

  • sharePct (uint32): Share percentage.

Used by:

Notes / Edge cases: None

ILockChainGate (ILCG1)

LCGStorage (ILCG1-S1)

Type: struct Fields:

  • deBridgeGate (IDeBridgeGate): DeBridgeGate contract reference.

  • deBridgeNativeFee (mapping(uint256 => uint256)): Native fee by chain id.

  • destinationChainContracts (mapping(uint256 => address)): Destination chain contract by chain id.

  • sourceChainsContracts (mapping(uint256 => address)): Source chain contract by chain id.

  • lockOperators (EnumerableSet.AddressSet): Set of lock operators.

  • lifetimeNft (ILifetimeNft): Lifetime NFT contract reference.

  • lockPeriod (uint64): Lock period duration.

  • transferTimeout (uint64): Transfer timeout duration.

  • referralCode (uint32): Referral code value.

  • customChainId (uint256): Custom chain id override.

  • lockedNft (mapping(address => LockedNft)): Locked NFT data by holder.

  • ownerOfTokenId (mapping(uint256 => address)): Owner by token id.

  • lockedToChainsIds (mapping(uint256 => EnumerableSet.UintSet)): Locked chain ids per token id.

  • lockedNftFromChainId (mapping(uint256 => uint256)): Source chain id per token id.

  • lockedNftApprovedTo (mapping(uint256 => address)): Approved address per token id.

Used by:

Notes / Edge cases: None

LockedNft (ILCG1-S2)

Type: struct Fields:

  • lockedAt (uint256): Timestamp when the NFT was locked.

  • tokenId (uint256): Locked token id.

Used by:

Notes / Edge cases: None

ILegacyMessenger (ILM1)

No tracked data items in this contract/library.

ILido (ILD1)

No tracked data items in this contract/library.

ILidoWithdrawalQueue (ILWQ1)

No tracked data items in this contract/library.

ILifetimeNft (ILN1)

Tier (ILN1-E1)

Type: enum Members:

  • None

  • Silicon

  • Gallium

  • Indium

  • Based

  • Tantalum

Used by:

IPermit2 (IPM21)

No tracked data items in this contract/library.

IPluginsRegistry (IPR1)

PluginInfo (IPR1-S1)

Type: struct Fields:

  • plugin (address): Plugin address.

  • name (string): Plugin name.

  • version (uint16): Plugin version.

  • descriptionBlockNumbers (uint64[]): Block numbers for description updates.

Used by:

Notes / Edge cases: None

ISafeMinimalMultisig (ISM1)

Storage (ISM1-S1)

Type: struct Fields:

  • requiredConfirmations (uint128): Required confirmations count.

  • voters (bytes32[]): Voter identifiers.

  • proposals (Proposal[]): Proposal list.

  • confirmedBy (mapping(uint256 => mapping(bytes32 => bool))): Confirmation tracking by proposal and voter.

  • heldEth (mapping(bytes32 => uint256)): ETH held per voter hash.

Used by:

Notes / Edge cases: None

ProposalStatus (ISM1-E1)

Type: enum Members:

  • NOT\_EXIST

  • PENDING

  • CANCELED

  • EXECUTED

Used by:

Proposal (ISM1-S2)

Type: struct Fields:

  • params (bytes): Proposal parameters.

  • confirms (uint128): Confirmation count.

  • selector (bytes4): Target function selector.

  • status (ProposalStatus): Proposal status.

Used by:

Notes / Edge cases: None

ProposalWithStatus (ISM1-S3)

Type: struct Fields:

  • proposal (Proposal): Proposal data.

  • confirmedBy (bool[]): Confirmation flags by voter index.

Used by:

Notes / Edge cases: None

InitializationStatus (ISM1-E2)

Type: enum Members:

  • UNKNOWN

  • INITIALIZED

  • NOT\_INITIALIZED\_NO\_NEED

  • NOT\_INITIALIZED\_BUT\_NEED

Used by:

ISignatureRoleTimelock (ISRT1)

CallRequest (ISRT1-S1)

Type: struct Fields:

  • caller (address): Caller who scheduled the call.

  • target (address): Target contract address.

  • data (bytes): Encoded call data.

  • executeAfter (uint128): Earliest execution timestamp.

  • executeBefore (uint128): Latest execution timestamp.

  • pending (bool): Whether the call is still pending.

Used by:

Notes / Edge cases: None

AddressRoleInput (ISRT1-S2)

Type: struct Fields:

  • role (bytes32): Role identifier.

  • newAccount (address): New account to add.

  • prevAccount (address): Previous account to remove or replace.

Used by:

Notes / Edge cases: None

SignatureAttr (ISRT1-S3)

Type: struct Fields:

  • role (bytes32): Role identifier.

  • timelock (uint128): Timelock duration.

Used by:

Notes / Edge cases: None

SignatureToAdd (ISRT1-S4)

Type: struct Fields:

  • target (address): Target contract address.

  • signature (bytes4): Function selector.

  • role (bytes32): Role identifier.

  • timelock (uint128): Timelock duration.

Used by:

Notes / Edge cases: None

SignatureToRemove (ISRT1-S5)

Type: struct Fields:

  • target (address): Target contract address.

  • signature (bytes4): Function selector.

Used by:

Notes / Edge cases: None

CallToAdd (ISRT1-S6)

Type: struct Fields:

  • target (address): Target contract address.

  • data (bytes): Encoded call data.

Used by:

Notes / Edge cases: None

TargetSigRes (ISRT1-S7)

Type: struct Fields:

  • signature (bytes4): Function selector.

  • role (bytes32): Required role identifier.

  • timelock (uint256): Timelock duration.

Used by:

Notes / Edge cases: None

IStataToken (ISTA1)

No tracked data items in this contract/library.

IStataTokenFactory (ISTF1)

No tracked data items in this contract/library.

ITrustedGuardiansPlugin (ITGP1)

PluginStorage (ITGP1-S1)

Type: struct Fields:

  • guardians (EnumerableSet.Bytes32Set): Set of guardian hashes.

  • guardiansVoted (bytes32[]): Guardians that have voted.

  • guardiansThreshold (uint128): Required guardian threshold.

  • guardiansChallengeTimeout (uint64): Guardians challenge timeout.

Used by:

Notes / Edge cases: None

GuardianToChange (ITGP1-S2)

Type: struct Fields:

  • hash (bytes32): Guardian hash.

  • isAdd (bool): True to add, false to remove.

Used by:

Notes / Edge cases: None

DiamondLoupeFacet (DLF1)

No tracked data items in this contract/library.

IUniversalRouter (IUR1)

No tracked data items in this contract/library.

IWETH (IWETH1)

No tracked data items in this contract/library.

IWstETH (IWSTETH1)

No tracked data items in this contract/library.

WethUnwrapIWETH (WUI1)

No tracked data items in this contract/library.

LibCLUtils (LCLU1)

No tracked data items in this contract/library.

LibClaimMigrationCore (LCMC1)

MIGRATION_SCALE (LCMC1-D1)

Data Type: uint256 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Fixed 1e18 scaling factor used by claim-migration math to keep fractions and ratios in 18-decimal fixed-point precision.

Modified by: None

Read by:

LibOneStepClaimMigration (LOSCM1)

No tracked data items in this contract/library.

LibTwoStepClaimMigration (LTSCM1)

CLAIM_LOCK_AMOUNT (LTSCM1-D1)

Data Type: uint256 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: type(uint256).max sentinel written into beneficiary claim slots while a delayed migration is pending.

Modified by: None

Read by:

CachedClaims (LTSCM1-S1)

Type: struct Fields:

  • claimedOut (uint256): Cached claimed amount for the source token.

  • claimedIn (uint256): Cached claimed amount for the destination token.

Used by:

Notes / Edge cases: Stores beneficiary snapshots only while a delayed migration is active; entries are deleted during complete and abandon.

PendingMigration (LTSCM1-S2)

Type: struct Fields:

  • active (bool): Whether a delayed migration is currently active.

  • tokenOut (address): Source token that left the contract first.

  • tokenIn (address): Destination token expected to arrive later.

  • amountOut (uint256): Source-token amount removed when the migration started.

  • outBalanceBefore (uint256): Source-token balance snapshot captured before the delayed flow began.

Used by:

Notes / Edge cases: Holds only one pending migration at a time; callers must keep any protocol-specific identifiers elsewhere.

PendingMigrationStorage (LTSCM1-S3)

Type: struct Fields:

  • pending (PendingMigration): Active pending-migration record.

  • cachedClaimsByBeneficiary (mapping (bytes32 => CachedClaims)): Cached claim snapshots keyed by beneficiary hash.

  • cachedBeneficiaryHashes (bytes32[]): Beneficiary order preserved for completion/abandon sweeps.

Used by:

Notes / Edge cases: Encapsulates both the active migration header and the beneficiary-level cached snapshots required to restore or finalize delayed migrations.

LibCreate3 (LC31)

PROXY_CHILD_BYTECODE (LC31-D1)

Data Type: bytes Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Bytecode for the CREATE3 proxy child contract.

Modified by: None

Read by:

KECCAK256_PROXY_CHILD_BYTECODE (LC31-D2)

Data Type: bytes32 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Keccak256 hash of the CREATE3 proxy child bytecode.

Modified by: None

Read by:

LibCryptoLegacy (LCL1)

SHARE_BASE (LCL1-D1)

Data Type: uint256 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Fixed 10,000 denominator for beneficiary-share and vesting-percentage calculations.

Modified by: None

Read by:

MAX_CHAINS_ARRAY_LENGTH (LCL1-D2)

Data Type: uint256 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Maximum length for chain id arrays.

Modified by: None

Read by:

BENEFICIARY_SWITCH_TIMELOCK_DURATION (LCL1-D3)

Data Type: uint64 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Timelock duration for beneficiary switching.

Modified by: None

Read by:

CLAIM_FUNC_FLAG (LCL1-D4)

Data Type: uint8 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Flag value used for claim function disablement.

Modified by: None

Read by:

MAX_GAS_MULTIPLIER (LCL1-D5)

Data Type: uint8 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Maximum gas multiplier allowed for selector-based gas estimates.

Modified by: None

Read by:

CRYPTO_LEGACY_STORAGE_POSITION (LCL1-D6)

Data Type: bytes32 Visibility / Mutability: internal, constant Storage Location: diamond storage slot Description: Storage slot identifier for CryptoLegacyStorage.

Modified by: None

Read by:

transferValueSelector (LCL1-D7)

Data Type: bytes4 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Selector used for transfer value call gas estimation.

Modified by: None

Read by:

lockNftSelector (LCL1-D8)

Data Type: bytes4 Visibility / Mutability: internal, constant Storage Location: inlined constant Description: Selector used for lifetime NFT lock call gas estimation.

Modified by: None

Read by:

LibCryptoLegacyDeploy (LCLD1)

No tracked data items in this contract/library.

LibCryptoLegacyPlugins (LCLP1)

No tracked data items in this contract/library.

LibDiamond (LD1)

DIAMOND_STORAGE_POSITION (LD1-D1)

Data Type: bytes32 Visibility / Mutability: none, constant Storage Location: diamond storage slot Description: Storage slot identifier for DiamondStorage.

Modified by: None

Read by:

FacetAddressAndPosition (LD1-S1)

Type: struct Fields:

  • facetAddress (address): Facet address.

  • functionSelectorPosition (uint96): Selector position within the facet selector array.

Used by:

Notes / Edge cases: None

FacetFunctionSelectors (LD1-S2)

Type: struct Fields:

  • functionSelectors (bytes4[]): Selector list for the facet.

  • facetAddressPosition (uint256): Position of the facet address in the facet list.

Used by:

Notes / Edge cases: None

DiamondStorage (LD1-S3)

Type: struct Fields:

  • selectorToFacetAndPosition (mapping(bytes4 => FacetAddressAndPosition)): Selector to facet mapping.

  • facetFunctionSelectors (mapping(address => FacetFunctionSelectors)): Facet to selectors mapping.

  • facetAddresses (address[]): List of facet addresses.

  • supportedInterfaces (mapping(bytes4 => bool)): ERC165 interface support mapping.

  • contractOwner (address): Diamond owner address.

Used by:

Notes / Edge cases: None

LibSafeMinimalBeneficiaryMultisig (LSMB1)

No tracked data items in this contract/library.

LibSafeMinimalMultisig (LSM1)

No tracked data items in this contract/library.

LibTrustedGuardiansPlugin (LTGP1)

PLUGIN_POSITION (LTGP1-D1)

Data Type: bytes32 Visibility / Mutability: internal, constant Storage Location: diamond storage slot Description: Storage slot identifier for TrustedGuardians plugin storage.

Modified by: None

Read by:

BeneficiaryAaveV3SupplyPlugin (BALP1)

PLUGIN_MULTISIG_POSITION (BALP1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for the Aave beneficiary-plugin multisig storage.

Modified by: None

Read by:

POOL (BALP1-D2)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: Aave V3 Pool address used for supply and withdrawal operations.

Modified by:

Read by:

POOL_DATA_PROVIDER (BALP1-D3)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: PoolDataProvider address used to resolve the reserve's aToken address.

Modified by:

Read by:

STATA_TOKEN_FACTORY (BALP1-D4)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: StataToken factory used to resolve the wrapper for a given reserve asset.

Modified by:

Read by:

DEFAULT_REFERRAL_CODE (BALP1-D5)

Data Type: uint16 Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: Default Aave referral code used when baavesSupply() receives 0 as the requested referral code.

Modified by:

Read by:

BeneficiaryLidoStakingPlugin (BLSP1)

LidoWithdrawalStorage (BLSP1-S1)

Type: struct Fields:

  • pendingRequestIds (uint256[]): Withdrawal-queue request IDs waiting to be claimed or abandoned.

Used by:

Notes / Edge cases: Cleared after successful claims and when blsLidoAbandonMigration() abandons the pending migration.

BeneficiarySwitchGuardStorage (BLSP1-S2)

Type: struct Fields:

  • active (bool): Whether beneficiary switching is currently frozen.

  • snapshotOriginalHashes (bytes32[]): Original beneficiary hashes captured before the guard was activated.

  • timelockBeforeByOriginal (mapping (bytes32 => uint64)): Timelocks that must be restored after the pending migration completes or is abandoned.

Used by:

Notes / Edge cases: While active, beneficiary-switch timelocks are temporarily set to type(uint64).max to block switching during pending migrations.

PLUGIN_MULTISIG_POSITION (BLSP1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for the Lido beneficiary-plugin multisig storage.

Modified by: None

Read by:

PLUGIN_PENDING_MIGRATION_POSITION (BLSP1-D2)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for the plugin-local pending-migration storage.

Modified by: None

Read by:

PLUGIN_LIDO_WITHDRAWAL_POSITION (BLSP1-D3)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for pending Lido withdrawal request IDs.

Modified by: None

Read by:

PLUGIN_BENEFICIARY_SWITCH_GUARD_POSITION (BLSP1-D4)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for the temporary beneficiary-switch guard used during two-step migrations.

Modified by: None

Read by:

WETH (BLSP1-D5)

Data Type: address Visibility / Mutability: public, constant Storage Location: inlined constant Description: Canonical WETH token address used before unwrapping and after successful claim wrapping.

Modified by: None

Read by:

stETH (BLSP1-D6)

Data Type: address Visibility / Mutability: public, constant Storage Location: inlined constant Description: Canonical stETH token address used for staking, withdrawal requests, and Lido-side claim migration.

Modified by: None

Read by:

wstETH (BLSP1-D7)

Data Type: address Visibility / Mutability: public, constant Storage Location: inlined constant Description: Canonical wrapped-stETH token address used for direct wrapping, unwrapping, and withdrawal requests.

Modified by: None

Read by:

LIDO_WITHDRAWAL_QUEUE (BLSP1-D8)

Data Type: address Visibility / Mutability: public, constant Storage Location: inlined constant Description: Lido withdrawal-queue address used to request and claim finalized withdrawals.

Modified by: None

Read by:

WETH_UNWRAP (BLSP1-D9)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: Helper contract address used to unwrap WETH into native ETH before Lido-side operations.

Modified by:

Read by:

LIDO_REFERRAL (BLSP1-D10)

Data Type: address Visibility / Mutability: private, constant Storage Location: inlined constant Description: Default zero-address referral used when the staking caller does not provide a custom Lido referral.

Modified by: None

Read by:

BeneficiaryPluginAddRights (BPAR1)

PLUGIN_MULTISIG_POSITION (BPAR1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for beneficiary add-rights multisig storage.

Modified by: None

Read by:

BeneficiaryUniswapV4SwapPlugin (BU4SP1)

PoolKey (BU4SP1-S1)

Type: struct Fields:

  • currency0 (address): First currency address in the selected Uniswap V4 pool.

  • currency1 (address): Second currency address in the selected Uniswap V4 pool.

  • fee (uint24): Pool fee tier.

  • tickSpacing (int24): Tick spacing configured for the pool.

  • hooks (address): Hook contract address for the pool.

Used by:

Notes / Edge cases: None

PathKey (BU4SP1-S2)

Type: struct Fields:

  • intermediateCurrency (address): Currency received after this hop.

  • fee (uint24): Fee tier for this hop.

  • tickSpacing (int24): Tick spacing configured for this hop's pool.

  • hooks (address): Hook contract address for this hop.

  • hookData (bytes): Hook payload forwarded to the Universal Router.

Used by:

Notes / Edge cases: None

ExactInputSingleParams (BU4SP1-S3)

Type: struct Fields:

  • poolKey (PoolKey): Single-hop pool definition.

  • zeroForOne (bool): Swap direction flag.

  • amountIn (uint128): Exact input amount.

  • amountOutMinimum (uint128): Minimum output expected from the swap.

  • hookData (bytes): Arbitrary hook payload passed to the router.

Used by:

Notes / Edge cases: None

ExactInputParams (BU4SP1-S4)

Type: struct Fields:

  • currencyIn (address): Input currency for the first hop.

  • path (PathKey[]): Hop-by-hop route description.

  • maxHopSlippage (uint256[]): Optional hop-level slippage caps.

  • amountIn (uint128): Exact input amount.

  • amountOutMinimum (uint128): Minimum output expected after the full route.

Used by:

Notes / Edge cases: The live implementation currently initializes maxHopSlippage as an empty array.

PLUGIN_MULTISIG_POSITION (BU4SP1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for the Uniswap V4 beneficiary-plugin multisig storage.

Modified by: None

Read by:

V4_SWAP (BU4SP1-D2)

Data Type: uint8 Visibility / Mutability: private, constant Storage Location: inlined constant Description: Universal Router command byte that enters the Uniswap V4 action dispatcher.

Modified by: None

Read by:

SWAP_EXACT_IN_SINGLE (BU4SP1-D3)

Data Type: uint8 Visibility / Mutability: private, constant Storage Location: inlined constant Description: Universal Router action byte for the single-hop exact-input swap flow.

Modified by: None

Read by:

SWAP_EXACT_IN (BU4SP1-D4)

Data Type: uint8 Visibility / Mutability: private, constant Storage Location: inlined constant Description: Universal Router action byte for the multi-hop exact-input swap flow.

Modified by: None

Read by:

SETTLE_ALL (BU4SP1-D5)

Data Type: uint8 Visibility / Mutability: private, constant Storage Location: inlined constant Description: Universal Router action byte that settles all inputs before taking swap outputs.

Modified by: None

Read by:

TAKE_ALL (BU4SP1-D6)

Data Type: uint8 Visibility / Mutability: private, constant Storage Location: inlined constant Description: Universal Router action byte that withdraws the full swap proceeds after execution.

Modified by: None

Read by:

UNIVERSAL_ROUTER (BU4SP1-D7)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: Universal Router address used to execute encoded Uniswap V4 swap command sequences.

Modified by:

Read by:

PERMIT2 (BU4SP1-D8)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: Permit2 contract address used to authorize the Universal Router to spend the plugin's tokens.

Modified by:

Read by:

CryptoLegacyBasePlugin (CLBP1)

No tracked data items in this contract/library.

LegacyRecoveryPlugin (LRP1)

PLUGIN_MULTISIG_POSITION (LRP1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for legacy recovery multisig storage.

Modified by: None

Read by:

LensPlugin (LP1)

No tracked data items in this contract/library.

NftLegacyPlugin (NLP1)

PLUGIN_POSITION (NLP1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for NFT legacy plugin storage.

Modified by: None

Read by:

NftBeneficiary (NLP1-S1)

Type: struct Fields:

  • addressHash (bytes32): Beneficiary address hash.

  • claimDelay (uint64): Claim delay duration.

Used by:

Notes / Edge cases: None

PluginStorage (NLP1-S2)

Type: struct Fields:

  • nftBeneficiary (mapping (address => mapping (uint256 => NftBeneficiary))): NFT beneficiary data by owner and token id.

Used by:

Notes / Edge cases: None

ReceiveEthPlugin (REP1)

WETH (REP1-D1)

Data Type: address Visibility / Mutability: public, immutable Storage Location: inlined immutable Description: WETH contract address used when wrapping received ETH into the ERC-20 form.

Modified by:

Read by:

TrustedGuardiansPlugin (TGP1)

DEFAULT_GUARDIANS_CHALLENGE_TIMEOUT (TGP1-D1)

Data Type: uint64 Visibility / Mutability: public, constant Storage Location: inlined constant Description: Default 30-day guardians challenge timeout returned when no custom timeout is configured.

Modified by: None

Read by:

MAX_GUARDIANS_CHALLENGE_TIMEOUT (TGP1-D2)

Data Type: uint64 Visibility / Mutability: public, constant Storage Location: inlined constant Description: 30-day upper bound for configured guardians challenge timeouts.

Modified by: None

Read by:

UpdateRolePlugin (URP1)

PLUGIN_POSITION (URP1-D1)

Data Type: bytes32 Visibility / Mutability: public, constant Storage Location: diamond storage slot Description: Storage slot identifier for update role plugin storage.

Modified by: None

Read by:

PluginStorage (URP1-S1)

Type: struct Fields:

  • updaters (EnumerableSet.AddressSet): Set of updater addresses.

Used by:

Notes / Edge cases: None

Data Types Used

  • struct

  • enum

  • mapping

  • EnumerableSet.AddressSet

  • EnumerableSet.Bytes32Set

  • EnumerableSet.UintSet

  • address

  • bool

  • bytes

  • bytes4

  • bytes8

  • bytes32

  • string

  • uint8

  • uint16

  • uint32

  • uint64

  • uint96

  • uint128

  • uint256

  • address[]

  • bytes32[]

  • bytes4[]

  • uint64[]

  • uint256[]

Last updated