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:
NONEOWNERBENEFICIARYGUARDIANRECOVERY
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:
AddReplaceRemove
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:
NoneSiliconGalliumIndiumBasedTantalum
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\_EXISTPENDINGCANCELEDEXECUTED
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:
UNKNOWNINITIALIZEDNOT\_INITIALIZED\_NO\_NEEDNOT\_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
structenummappingEnumerableSet.AddressSetEnumerableSet.Bytes32SetEnumerableSet.UintSetaddressboolbytesbytes4bytes8bytes32stringuint8uint16uint32uint64uint96uint128uint256address[]bytes32[]bytes4[]uint64[]uint256[]
Last updated

