window.dogesoft
Errors
The error messages the provider throws, and when the 60-second request timeout applies.
The provider keeps error handling simple on purpose: every failure is a rejected
Promise with a plain Error. There's no numeric error-code table.
Show the message to the user, or match a few known strings.
Common errors
| Message | Cause |
|---|---|
| Your own "wallet not found" message | Your feature-detection found no window.dogesoft. See Detect the provider. |
DogeSoft: not connected | You called an account method before the user approved connect(). |
Text containing rejected | The user declined the prompt (connect, send or sign). |
Text containing locked | The wallet is locked. Ask the user to unlock it and try again. |
DogeSoft: unknown method "…" | A request() call used a method string outside the supported set. |
DogeSoft: request timeout | No answer from the wallet within 60 seconds. See below. |
| Validation text | A bad address, amount, tick or PSBT. The message says which. |
The 60-second timeout
A call rejects with DogeSoft: request timeout when the wallet doesn't
answer within 60 seconds. In the browser extension this applies only to quick reads
(getAccounts, getBalance,
getPublicKey and similar). Calls that wait for the user
(connect, signing and sending) have no page-side timer there, because
the wallet always answers with a result or a rejection. In the mobile app's browser every call,
including approvals, times out after 60 seconds. If the user needs longer to review, let them retry.
try {
await dogesoft.sendDoge({ to, amount });
} catch (err) {
if (err.message === "DogeSoft: not connected") {
await dogesoft.connect(); // ask for access, then retry
} else {
showToast(err.message); // declined, locked or invalid input
}
}
Messages are readable text rather than stable codes. Match only a small known set (like
DogeSoft: not connected), and treat any other rejection as "show the
message and stop".