Skip to main content

Contract errors DALP-3000 to DALP-3999

Cause, fix and retry flag for every on-chain contract error with a code from DALP-3000 to DALP-3999.

This page lists the 32 errors in the contract error reference with a code from DALP-3000 to DALP-3999. Match the error's id, or its dalpCode on a contract error or a failed deployment step, for example DALP-3001, to the DALP Code column, then read Retryable and Suggested Fix. The contract error reference explains each column, including Severity, and the DALP error index lists the page for every code range.

DALP Code
Message
Why
Suggested Fix
Severity
Retryable
Solidity Error
DALP-3001
Airdrop ended.
The current block timestamp is past the airdrop's configured end time. The time-bound airdrop contract enforces a claim window and reverts any claim submitted after the window closes.
The claim window for this airdrop has closed. You cannot submit further claims. Review the airdrop's configured end time to confirm.
error
No
AirdropEnded()
DALP-3002
Airdrop not started.
The current block timestamp is before the airdrop's configured start time. The time-bound airdrop contract enforces a claim window and reverts any claim submitted before the window opens.
Wait until the airdrop's start time has passed before submitting a claim. Check the airdrop's configured startTime to determine when claims become available.
error
Yes
AirdropNotStarted()
DALP-3003
Claim already revoked.
The signature hash for this claim is already present in the revoked claims registry. The contract permits revoking each claim signature only once and blocks duplicate revocations.
The contract already revoked this claim. No further steps are needed for revocation. Verify the claim's current state before submitting another revocation request.
error
No
ClaimAlreadyRevoked(bytes32)
DALP-3004
Identity holds no claim with this claim ID.
The ERC-735 identity contract stores no claim under the claimId you provided. The contract looks up claims by their computed ID and reverts when no matching claim exists.
Verify the claimId by computing it from the correct issuer and topic for the identity address. Confirm the contract successfully added the claim before attempting to retrieve or remove it.
error
No
ClaimDoesNotExist(bytes32)
DALP-3005
Claim not eligible.
The vesting airdrop contract determined the caller does not meet the eligibility conditions required to claim at this time. The airdrop may have eligibility requirements that the caller's address or state does not currently satisfy.
Confirm the airdrop includes your address in the eligible set and that you meet all required conditions. If eligibility depends on a time-based or on-chain state, verify that the current state satisfies those conditions before retrying.
error
No
ClaimNotEligible()
DALP-3006
Claim not valid according to issuer.
When adding a claim signed by an external issuer, the issuer's isClaimValid function returned false for the given topic and signature. The contract verifies claim validity with the issuer before storing it, and reverts when the issuer rejects the claim.
Request a fresh, valid claim signature from the issuer for the correct topic and identity address. Verify the issuer address and topic value match what the issuer signed before resubmitting.
error
No
ClaimNotValidAccordingToIssuer(address,uint256)
DALP-3007
Cliff exceeds vesting duration.
The cliff duration provided to the linear vesting strategy is longer than the total vesting duration. The contract enforces that the cliff period must fall within the overall vesting period.
Set the cliff duration to a value less than or equal to the vesting duration and redeploy the vesting strategy.
error
No
CliffExceedsVestingDuration()
DALP-3008
Distribution cap exceeded.
The amount being distributed would cause the total distributed so far to exceed the distribution cap configured on the airdrop. The contract enforces the cap to prevent distributing more tokens than the allocation permits.
Reduce the distribution amount so that the sum of all distributed amounts stays within the configured cap, or verify the cap value against the intended total allocation.
error
No
DistributionCapExceeded()
DALP-3009
Duplicate claim topic.
The claim topics array provided when registering or updating a trusted issuer contains the same topic value more than once. The contract requires each topic to appear exactly once in the list.
Remove duplicate topic values from the claimTopics array so that each topic appears only once, then resubmit the trusted issuer registration call.
error
No
DuplicateClaimTopic(uint256)
DALP-3010
Airdrop name is empty.
The airdrop contract requires a non-empty name string during initialization. The name_ argument passed to the initializer had zero bytes.
Provide a non-empty string as the airdrop name.
error
No
InvalidAirdropName()
DALP-3011
Claim tracker address is zero or missing the required interface.
The airdrop initializer requires a non-zero claim tracker address that implements IDALPClaimTracker. The address was either zero or the interface probe call failed.
Supply the address of a deployed IDALPClaimTracker contract such as DALPBitmapClaimTracker.
error
No
InvalidClaimTrackerAddress()
DALP-3012
Distribution recipient address is zero.
Each push airdrop distribution call requires a non-zero recipient address. The recipient argument was the zero address.
Provide a valid, non-zero recipient address for the distribution.
error
No
InvalidDistributionAddress()
DALP-3013
Merkle root is zero.
The Merkle root supplied is zero, which no proof can match. Airdrop setup and dividend snapshot recording both need a non-zero root.
Supply the Merkle root computed from the allocation or holder tree.
error
No
InvalidMerkleRoot()
DALP-3014
Vesting duration is zero.
The linear vesting strategy constructor requires a vesting duration greater than zero. A duration of zero would make the vesting schedule complete immediately at deployment.
Set vestingDuration_ to the desired total vesting period in seconds (greater than zero).
error
No
InvalidVestingDuration()
DALP-3015
Vesting strategy does not support multiple claims.
The vesting airdrop contract requires a vesting strategy that returns true from supportsMultipleClaims(). The strategy at the provided address either reverted or returned false.
Use a vesting strategy implementation that supports incremental claim release, such as DALPLinearVestingStrategy.
error
No
InvalidVestingStrategy(address)
DALP-3016
Vesting strategy address is zero.
The vesting airdrop initializer and setVestingStrategy need a non-zero vesting strategy address. The address supplied was zero.
Deploy a compatible vesting strategy contract and pass its address to the initializer.
error
No
InvalidVestingStrategyAddress()
DALP-3017
No claim topics provided.
The trusted issuers registry requires at least one claim topic when registering or updating a trusted issuer. The call supplied an empty list of claim topics, so the registry rejected it.
Include at least one claim topic in the trusted issuer registration request and resubmit.
error
No
NoClaimTopicsProvided()
DALP-3018
Push airdrop claim not allowed.
Push airdrops are admin-controlled: the contract owner distributes tokens directly to recipients. The contract disables the claim functions by design, so calling them always reverts.
Ask the airdrop administrator to distribute your allocation.
error
No
PushAirdropClaimNotAllowed()
DALP-3019
Sender lacks claim signer key.
Adding or removing a claim on an identity requires the caller to hold a CLAIM_SIGNER_KEY for that identity. The sending address does not have that key registered on-chain.
Use an address that holds the CLAIM_SIGNER_KEY on the target identity, or ask the identity owner to add the key before retrying.
error
No
SenderLacksClaimSignerKey()
DALP-3020
Caller cannot create an airdrop for this token.
Creating an airdrop requires GOVERNANCE_ROLE on the token, or the system's TOKEN_FACTORY_MODULE_ROLE. The caller holds neither.
Create the airdrop from an address that holds GOVERNANCE_ROLE on the token.
error
No
UnauthorizedAirdropCreation()
DALP-3021
Claim must come from the issuer identity itself.
A CONTRACT-scheme claim requires the claim issuer contract itself to call addClaim, with its own address as msg.sender. The call arrived from a different address.
Submit the claim from the issuer identity ({{issuer}}) itself. {{caller}} is not that identity.
error
No
UnauthorizedContractClaim(address,address)
DALP-3022
Unsupported claim scheme.
The ERC-735 claim implementation accepts ECDSA and ERC-1271 signature schemes, plus CONTRACT. You submitted a scheme value ({{scheme}}) that does not match any of those.
Resubmit the claim with a supported scheme: 1 for ECDSA, 3 for CONTRACT or 4 for ERC-1271.
error
No
UnsupportedClaimScheme(uint256)
DALP-3023
Vesting airdrop implementation not set.
The vesting airdrop factory requires a deployed vesting airdrop implementation contract before new vesting airdrops can be created. No one has configured the factory's implementation address yet.
A system manager must call updateImplementation on the vesting airdrop factory with a valid implementation address before creating vesting airdrops.
error
No
VestingAirdropImplementationNotSet()
DALP-3024
Vesting already initialized.
Vesting for this allocation index has already been initialized. Each Merkle-tree index can only start vesting once, and the contract found a non-zero initialization timestamp for the requested index.
Check isVestingInitialized(index) before calling initializeVesting. After vesting starts, call claim to collect vested tokens.
error
No
VestingAlreadyInitialized()
DALP-3025
Vesting initialization required.
Claiming vested tokens requires that you started vesting first for this allocation index. The contract found no initialization record (timestamp of zero) for the requested index.
Call initializeVesting with a valid Merkle proof for this index to start the vesting schedule, then claim once tokens have vested.
error
No
VestingNotInitialized()
DALP-3026
Claim fallback disabled.
The price resolver's claim fallback feature is turned off. Without an active feed for the requested token, the resolver cannot return a price.
Either register a price feed for this token in the FeedsDirectory, or ask the feeds manager to enable claim fallback on the price resolver before retrying.
error
No
ClaimFallbackDisabled()
DALP-3027
No claim fallback.
The price resolver attempted to fall back to a trusted identity claim for token {{token}}, but the token has no valid trusted claim available. The fallback path found nothing to return.
Ensure a trusted claim issuer has issued a valid base-price claim for token {{token}}, or register a price feed for this token in the FeedsDirectory so the fallback path is unnecessary.
error
No
NoClaimFallback(address)
DALP-3028
Nothing to claim.
There is nothing to claim: no locked or parked XvP balance, or no accrued interest for this holder.
Check that you have an outstanding XvP balance or accrued interest before you claim. Each balance supports a single claim.
error
No
NothingToClaim()
DALP-3029
The claim amount cannot be zero.
The airdrop contract requires a non-zero token quantity for every claim. You submitted a claim amount of zero, so the contract reverted before any tokens were transferred.
Enter a valid amount greater than zero to claim your airdrop tokens.
error
No
ZeroClaimAmount()
DALP-3030
Airdrop reward already claimed.
The full allocation for this index is already claimed. Each claim adds to the index's claimed total, and the contract refuses a claim once that total reaches the allocation.
Check your balance. Earlier claims for this index already transferred the tokens.
warning
No
IndexAlreadyClaimed()
DALP-3031
Claim amount exceeds the unclaimed remainder for this index.
The claim is larger than what remains unclaimed for this index: the total allocation minus earlier claims.
Claim no more than the unclaimed remainder of this index's allocation.
error
No
InvalidClaimAmount()
DALP-3032
Merkle proof does not match the airdrop root.
The contract verified the supplied Merkle proof against the stored root and the proof failed. The proof was generated for a different index, account, total allocation or Merkle tree than the one stored on-chain.
Regenerate the proof from the allocation tree behind the on-chain root, for the exact index, account and total allocation.
error
No
InvalidMerkleProof()

The previous page is DALP-2000 to DALP-2999. The next page is DALP-4000 to DALP-4049.

Was this page helpful?