Skip to main content

Contract errors DALP-4500 to DALP-4999

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

This page lists the 34 errors in the contract error reference with a code from DALP-4500 to DALP-4999. Match the error's id, or its dalpCode on a contract error or a failed deployment step, for example DALP-4500, 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-4500
Delegate cannot vouch for callers.
The address was registered as a vouching delegate, but it is not a contract that answers which callers it vouches for.
Register a contract that answers the supply delegate question, such as a vouching add-on factory, or register the address as a plain delegate.
error
No
NotASupplyAuthority(address)
DALP-4501
Too many supply delegates.
The token already has the largest number of supply delegates it accepts.
Remove a delegate the token no longer needs, then add the new one.
error
No
TooManyDelegates(uint256)
DALP-4502
Mint cap reached.
The mint would take the supply delegate's outstanding units, its mints minus its own burns, past the cap governance set.
Mint a smaller amount, burn units first, or ask governance to raise the delegate's cap.
error
No
MintCapExceeded(address,uint256,uint256,uint256)
DALP-4503
Settlement not executed.
A settled delivery can only be claimed after the XvP settlement executed, and this settlement has not executed yet. Before execution, a parked amount is a refund of your own escrow.
Claim the parked amount as a refund, or wait until the settlement executes and claim the settled delivery then.
error
No
SettlementNotExecuted()
DALP-4504
Applications are not enabled for this sale.
The token sale only takes applications, allocation and settlement when the sale admin switched on application mode while the sale was in setup. This sale did not.
Use the regular purchase flow for this sale. To allocate an oversubscribed offering, create a new sale and enable application mode before activating it.
error
No
ApplicationModeNotEnabled()
DALP-4505
This sale takes applications, not purchases.
The sale is in application mode. Investors escrow payment with an application, and the issuer allocates the offering and settles it after the sale closes. A direct purchase would skip the allocation.
Submit an application with the payment currency and amount instead of buying tokens.
error
No
ApplicationModeActive()
DALP-4506
Application mode is already on.
Application mode is set once per sale, and its allocation basis cannot change afterwards.
Keep the existing basis. Read it from the sale's application book.
error
No
ApplicationModeAlreadySet()
DALP-4507
Application mode cannot be combined with a presale.
A presale prices and limits purchases per address before the public sale. Applications are allocated together after the sale closes, so the two cannot share a sale.
Remove the presale, or run the presale and the application round as two separate sales.
error
No
ApplicationModeExcludesPresale()
DALP-4508
Application mode cannot be combined with vesting.
Settlement credits every allocation to the investors in one run. A vesting schedule would release the shares later, so the sale refuses it.
Remove the vesting schedule from the sale. Apply vesting to the shares after settlement if the offering needs it.
error
No
ApplicationModeExcludesVesting()
DALP-4509
The applications changed after they were approved.
The allocation runs against the exact set of applications the approver reviewed. A new application arrived after that, so the book hash is now {{currentBookHash}}.
Review the new set of applications and the allocation preview, then approve the allocation again.
error
No
BookChanged(bytes32)
DALP-4510
The allocation is not complete.
The sale can only be finalized and settled after every application has been allocated.
Continue the allocation until it reports complete, then retry.
error
No
AllocationIncomplete()
DALP-4511
The allocation is already complete.
Every application of this sale has been allocated, so there is nothing left to allocate.
Finalize the sale and run the settlement.
error
No
AllocationAlreadyComplete()
DALP-4512
The allocation has already started.
Escrow can be reclaimed only while the allocation has not started. Once it starts, the settlement returns every refund.
Wait for the settlement. Each applicant receives their shares and refund in that run.
error
No
AllocationAlreadyStarted()
DALP-4513
The allocation window has closed.
The allocation has to start within 30 days after the sale ends. That period has passed, so applicants can reclaim their escrow.
Ask each applicant to reclaim their escrow, then open a new sale if the offering should continue.
error
No
AllocationWindowExpired()
DALP-4514
Escrow cannot be reclaimed yet.
The issuer has 30 days after the sale ends to start the allocation. Applicants can reclaim their escrow only after that period.
Wait until the period ends. If the issuer starts the allocation before then, the settlement refunds the excess payment instead.
error
No
AllocationGracePeriodActive()
DALP-4515
The settlement is not complete.
The shares nobody received stay in the sale until every applicant has been settled, so the issuer cannot withdraw them yet.
Continue the settlement until it reports complete, then withdraw the unsold shares.
error
No
SettlementIncomplete()
DALP-4516
The settlement is already complete.
Every applicant has been settled: shares delivered, refunds paid and the retained payment sent to the recipient.
Withdraw the unsold shares if any remain.
error
No
SettlementAlreadyComplete()
DALP-4517
Not enough gas left to pay a refund.
The payment currency refused a refund after it started with less than about 1,050,000 gas, so the refusal may come from the gas limit and not from the currency. The platform sizes a settlement's gas by simulating it, so this most likely means the sale or the currency changed after the settlement was priced. The batch stopped without changing anything.
Start the allocation run again; it needs a second approver's approval again. It continues from the first unsettled applicant and is priced from the current state, so a refund the currency still refuses is recorded as owed.
error
Yes
RefundCallStarved()
DALP-4518
This sale cannot mint the shares it issues.
An application-mode sale in this contract version issues its shares when the settlement delivers them, instead of holding the offering in tokens. It can only do that with the supply management role on the sold token, held by the sale's own address, and it does not hold it.
Grant the sale's address the supply management role on the sold token, then activate the sale again. The role shows on the token's permissions page.
error
No
SaleCannotMint()
DALP-4520
This greenshoe is not exercised by hand.
Only a discretionary greenshoe is exercised by the sale admin. This sale has an automatic greenshoe, which the allocation decides itself, or no greenshoe at all.
Configure a discretionary greenshoe while the sale is in setup if the sale admin should decide how much of it is used.
error
No
GreenshoeNotDiscretionary()
DALP-4521
The greenshoe was already exercised.
A discretionary greenshoe is exercised once, and its amount is part of the book the allocation runs on.
Continue with the allocation. The exercised amount cannot be changed.
error
No
GreenshoeAlreadyExercised()
DALP-4522
That greenshoe amount is not available.
The greenshoe adds at most its capacity and at most the demand above the hard cap, in whole tokens. At most {{available}} base units can be added now, and the request was zero, larger than that, or not a whole number of tokens.
Exercise a whole number of tokens that does not exceed the available amount.
error
No
GreenshoeExceedsAvailable(uint256)
DALP-4523
Too many lock-up categories.
A settlement checks every lock-up category for each applicant, so a sale takes at most eight categories.
Merge categories until there are eight or fewer.
error
No
TooManyLockupTiers()
DALP-4524
A lock-up category needs its own claim topic.
Each lock-up category is chosen by a claim topic the investor is verified for. The topic {{claimTopic}} is zero or appears in more than one category.
Give every category a distinct, non-zero claim topic.
error
No
InvalidLockupTopic(uint256)
DALP-4525
The lock-up is longer than five years.
A lock-up lasts at most five years from the first delivery. The request asked for {{duration}} seconds.
Use a lock-up of five years or less.
error
No
LockupTooLong(uint64)
DALP-4526
The token has no active lock-up rule.
A sale with lock-ups writes each allocation as a holder lock in the token's lock-up rule. The token has no active lock-up rule, or it was disabled before the sale could lock an allocation.
Install and enable the lock-up rule on the token, then activate or settle the sale again.
error
No
LockupRuleMissing()
DALP-4527
This sale cannot lock the shares it issues.
Writing a holder lock in the token's lock-up rule needs the governance role on the token, and the sale does not hold it.
Grant the sale's address the governance role on the sold token, then activate the sale again. The role shows on the token's permissions page.
error
No
SaleCannotLock()
DALP-4528
The unlock schedule is invalid.
A schedule holds up to four unlock steps whose shares add up to the whole allocation, each unlocking after the one before it. This schedule breaks one of those rules.
Give every step a positive share, order the steps by their wait from the first delivery, and make the shares add up to 10,000 basis points.
error
No
InvalidVestingSchedule()
DALP-4529
The token's lock-up rule cannot store unlock steps.
A sale with more than one unlock step writes each step as a tranche in the token's lock-up rule. The rule installed on the token stores one lock per holder, not tranches.
Install the current lock-up rule on the token, then activate the sale again. A single step that releases the whole allocation works with either rule.
error
No
LockupTranchesUnsupported()
DALP-4530
The holder has too many unlock steps.
A holder identity stores at most eight unlock steps on a token, across every allocation that wrote them. This delivery would pass that count with {{count}}.
Settle the remaining allocations of this holder in a sale whose schedule adds no more steps, or clear the holder's expired steps on the token first.
error
No
TooManyHolderTranches(uint256)
DALP-4531
This wallet was recovered, so it can no longer claim.
Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.
Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.
error
No
ClaimantWalletLost(address)
DALP-4532
This wallet has no replacement wallet to pay.
A claim for a recovered wallet pays the wallet that identity recovery replaced it with. This wallet is not marked lost, or its recovery chain does not end in a usable wallet, so there is nowhere to send the payout.
Check that identity recovery completed for this wallet. A wallet that is not lost claims for itself.
error
No
ClaimForNotRecoverable(address)
DALP-4533
A corporate action is holding this contract's records.
A corporate action on this token froze the contract's records from its record date until the step that re-sizes them lands. The contract refuses deposits, purchases, claims, withdrawals, refunds and releases of the token in that window, so its records stay what the action counted.
Wait until the corporate action finishes, then send the request again. An action that ended while a contract still holds its freeze stays in the status Releasing custody: ask a token manager with the supply management role to choose Release frozen custody on the action's page. The freeze lifts once that release lands, and the request then goes through.
error
No
CorporateActionInProgress(address,bytes32)
DALP-4539
Custody gateway holds not yet moved to the recovered wallet.
A custody gateway can rebind to a recovered wallet only once the receipts it holds for custody sit in that wallet. The issuer's forced token recovery moves those receipts and their holds; until it has, the lost wallet still carries them.
Finish the issuer's token recovery for the lost wallet, then execute the identity recovery again. The workflow looks the gateway up again and rebinds it.
error
No
CustodyGatewayHoldNotMovable(address,address,address)

The previous page is DALP-4400 to DALP-4499. The next page is DALP-9000 to DALP-9099.

Was this page helpful?