-
Notifications
You must be signed in to change notification settings - Fork 512
/
offerCancel.ts
37 lines (32 loc) · 1.1 KB
/
offerCancel.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { ValidationError } from '../../errors'
import { BaseTransaction, validateBaseTransaction } from './common'
/**
* An OfferCancel transaction removes an Offer object from the XRP Ledger.
*
* @category Transaction Models
*/
export interface OfferCancel extends BaseTransaction {
TransactionType: 'OfferCancel'
/**
* The sequence number (or Ticket number) of a previous OfferCreate
* transaction. If specified, cancel any offer object in the ledger that was
* created by that transaction. It is not considered an error if the offer.
* specified does not exist.
*/
OfferSequence: number
}
/**
* Verify the form and type of an OfferCancel at runtime.
*
* @param tx - An OfferCancel Transaction.
* @throws When the OfferCancel is Malformed.
*/
export function validateOfferCancel(tx: Record<string, unknown>): void {
validateBaseTransaction(tx)
if (tx.OfferSequence === undefined) {
throw new ValidationError('OfferCancel: missing field OfferSequence')
}
if (typeof tx.OfferSequence !== 'number') {
throw new ValidationError('OfferCancel: OfferSequence must be a number')
}
}