Commit c9c81b9
fix: case-insensitive .dash suffix and UTXO double-spend prevention
1. DPNS name normalization: strip the `.dash` suffix case-insensitively
before querying Platform, so `.DASH`, `.Dash`, etc. all resolve.
2. UTXO double-spend prevention via optimistic validation: after signing
the transaction (optimistically, without locks), re-acquire the write
lock and verify that every selected UTXO is still in the spendable
set before marking them spent. If a concurrent caller already claimed
an outpoint, return an error instead of broadcasting a transaction
the network would reject.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 66c3ace commit c9c81b9
2 files changed
+44
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | | - | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
319 | 351 | | |
320 | 352 | | |
321 | 353 | | |
| |||
479 | 511 | | |
480 | 512 | | |
481 | 513 | | |
482 | | - | |
483 | | - | |
484 | | - | |
485 | | - | |
486 | | - | |
487 | | - | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
488 | 524 | | |
489 | 525 | | |
490 | 526 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
427 | 427 | | |
428 | 428 | | |
429 | 429 | | |
430 | | - | |
| 430 | + | |
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
| |||
0 commit comments