mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-12-06 01:08:02 +00:00
refactor: define typescript type for SetRegularKey transaction (#1548)
* refactor: define typescript type for SetRegularKey transaction
This commit is contained in:
committed by
Mayukha Vadari
parent
d324056203
commit
478e147ae0
@@ -14,6 +14,7 @@ export * from './paymentTransaction'
|
||||
export * from './paymentChannelClaim'
|
||||
export * from './paymentChannelCreate'
|
||||
export * from './paymentChannelFund'
|
||||
export * from './setRegularKey'
|
||||
export * from './signerListSet'
|
||||
export * from './ticketCreate'
|
||||
export * from './trustSet'
|
||||
|
||||
19
src/models/transactions/setRegularKey.ts
Normal file
19
src/models/transactions/setRegularKey.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { ValidationError } from "../../common/errors"
|
||||
import { BaseTransaction, verifyBaseTransaction } from "./common"
|
||||
|
||||
export interface SetRegularKey extends BaseTransaction {
|
||||
TransactionType: "SetRegularKey"
|
||||
RegularKey?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {SetRegularKey} tx A Payment Transaction.
|
||||
* @returns {void}
|
||||
* @throws {ValidationError} When the SetRegularKey is malformed.
|
||||
*/
|
||||
export function verifySetRegularKey(tx: SetRegularKey): void {
|
||||
verifyBaseTransaction(tx)
|
||||
|
||||
if (tx.RegularKey !== undefined && typeof tx.RegularKey !== 'string')
|
||||
throw new ValidationError("SetRegularKey: RegularKey must be a string")
|
||||
}
|
||||
@@ -14,6 +14,7 @@ import { PaymentTransaction } from "./paymentTransaction"
|
||||
import { PaymentChannelClaim } from './paymentChannelClaim'
|
||||
import { PaymentChannelCreate } from "./paymentChannelCreate"
|
||||
import { PaymentChannelFund } from "./paymentChannelFund"
|
||||
import { SetRegularKey } from "./setRegularKey";
|
||||
import { SignerListSet } from "./signerListSet"
|
||||
import { TicketCreate } from "./ticketCreate"
|
||||
import { TrustSet } from "./trustSet"
|
||||
@@ -34,7 +35,7 @@ export type Transaction =
|
||||
| PaymentChannelClaim
|
||||
| PaymentChannelCreate
|
||||
| PaymentChannelFund
|
||||
// | SetRegularKey
|
||||
| SetRegularKey
|
||||
| SignerListSet
|
||||
| TicketCreate
|
||||
| TrustSet
|
||||
|
||||
42
test/models/setRegularKey.ts
Normal file
42
test/models/setRegularKey.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { ValidationError } from 'xrpl-local/common/errors'
|
||||
import { verifySetRegularKey } from './../../src/models/transactions/setRegularKey'
|
||||
import { assert } from 'chai'
|
||||
|
||||
/**
|
||||
* SetRegularKey Transaction Verification Testing
|
||||
*
|
||||
* Providing runtime verification testing for each specific transaction type
|
||||
*/
|
||||
describe('SetRegularKey Transaction Verification', function () {
|
||||
let account
|
||||
|
||||
beforeEach(() => {
|
||||
account = {
|
||||
TransactionType : "SetRegularKey",
|
||||
Account : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
|
||||
Fee : "12",
|
||||
Flags : 0,
|
||||
RegularKey : "rAR8rR8sUkBoCZFawhkWzY4Y5YoyuznwD"
|
||||
} as any
|
||||
})
|
||||
|
||||
it (`verifies valid SetRegularKey`, () => {
|
||||
assert.doesNotThrow(() => verifySetRegularKey(account))
|
||||
})
|
||||
|
||||
it (`verifies w/o SetRegularKey`, () => {
|
||||
account.RegularKey = undefined
|
||||
assert.doesNotThrow(() => verifySetRegularKey(account))
|
||||
})
|
||||
|
||||
it (`throws w/ invalid RegularKey`, () => {
|
||||
account.RegularKey = 12369846963
|
||||
|
||||
assert.throws(
|
||||
() => verifySetRegularKey(account),
|
||||
ValidationError,
|
||||
"SetRegularKey: RegularKey must be a string"
|
||||
)
|
||||
})
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user