add claim reward

This commit is contained in:
Denis Angell
2023-09-26 08:48:14 +02:00
parent b2b6cb6804
commit 659c5c7a22
3 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
import { ValidationError } from '../../errors'
import { BaseTransaction, validateBaseTransaction } from './common'
/**
* ClaimReward is a transaction model that allows an account to claim rewards.
*
* @category Transaction Models
*/
export interface ClaimReward extends BaseTransaction {
TransactionType: 'ClaimReward'
/** The unique address of the issuer where the reward.c hook is installed. */
Issuer?: string
}
/**
* Verify the form and type of an ClaimReward at runtime.
*
* @param tx - An ClaimReward Transaction.
* @throws When the ClaimReward is Malformed.
*/
export function validateClaimReward(tx: Record<string, unknown>): void {
validateBaseTransaction(tx)
if (tx.Issuer !== undefined && typeof tx.Issuer !== 'string') {
throw new ValidationError('ClaimReward: invalid Issuer')
}
}

View File

@@ -10,6 +10,7 @@ export { AccountDelete } from './accountDelete'
export { CheckCancel } from './checkCancel'
export { CheckCash } from './checkCash'
export { CheckCreate } from './checkCreate'
export { ClaimReward } from './claimReward'
export { DepositPreauth } from './depositPreauth'
export { EscrowCancel } from './escrowCancel'
export { EscrowCreate } from './escrowCreate'

View File

@@ -9,6 +9,7 @@ import { AccountSet, validateAccountSet } from './accountSet'
import { CheckCancel, validateCheckCancel } from './checkCancel'
import { CheckCash, validateCheckCash } from './checkCash'
import { CheckCreate, validateCheckCreate } from './checkCreate'
import { ClaimReward, validateClaimReward } from './claimReward'
import { DepositPreauth, validateDepositPreauth } from './depositPreauth'
import { EscrowCancel, validateEscrowCancel } from './escrowCancel'
import { EscrowCreate, validateEscrowCreate } from './escrowCreate'
@@ -71,6 +72,7 @@ export type Transaction =
| CheckCancel
| CheckCash
| CheckCreate
| ClaimReward
| DepositPreauth
| EscrowCancel
| EscrowCreate
@@ -146,6 +148,10 @@ export function validate(transaction: Record<string, unknown>): void {
validateCheckCreate(tx)
break
case 'ClaimReward':
validateClaimReward(tx)
break
case 'DepositPreauth':
validateDepositPreauth(tx)
break