Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 28x 28x | import { sdk, table, verifyOne, WalletSigner } from '../..'
export async function relinquishOutputSdk(signer: WalletSigner, vargs: sdk.ValidRelinquishOutputArgs, originator?: sdk.OriginatorDomainNameStringUnder250Bytes)
: Promise<sdk.RelinquishOutputResult> {
const { txid, vout } = sdk.parseWalletOutpoint(vargs.output)
const storage = signer.storage
const { basketId } = verifyOne(await storage.findOutputBaskets({ partial: { name: vargs.basket, userId: vargs.userId } }))
const partial: Partial<table.Output> = {
userId: vargs.userId,
basketId,
vout,
txid
}
const { outputId } = verifyOne(await storage.findOutputs({ partial }))
const count = await storage.updateOutput(outputId, { basketId: undefined })
Iif (count !== 1)
throw new sdk.WERR_INTERNAL('failed to relinquish output ${outputId}')
return { relinquished: true }
}
|