Compare commits

..

6 Commits

Author SHA1 Message Date
Denis Angell
184ef89ea5 Publish
- @transia/xrpl@2.7.3-alpha.9
2023-07-19 06:33:24 +02:00
Denis Angell
3182671df5 fixup 2023-07-19 06:32:57 +02:00
Denis Angell
5ad3d963f6 Publish
- @transia/xrpl@2.7.3-alpha.8
2023-07-19 06:29:02 +02:00
Wo Jake
2a35ac24c9 fix: enable the removal of a signer list (#2377)
`SignerQuorum` field has to be 0 and the `SignerEntrys` field has to be `undefined`

Co-authored-by: Caleb Kniffen <ckniffen@ripple.com>
2023-07-19 06:28:22 +02:00
Denis Angell
be156c9091 Publish
- @transia/xrpl@2.7.3-alpha.7
2023-07-17 20:25:11 +02:00
Denis Angell
cb3e24a497 fix bad interface 2023-07-17 20:23:51 +02:00
4 changed files with 25 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@transia/xrpl",
"version": "2.7.3-alpha.6",
"version": "2.7.3-alpha.9",
"license": "ISC",
"description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
"files": [

View File

@@ -3,11 +3,11 @@ import { Amount } from '../common'
import BaseLedgerEntry from './BaseLedgerEntry'
/**
* The HookState object type contains the
* The URIToken object type contains the
*
* @category Ledger Entries
*/
export default interface HookState extends BaseLedgerEntry {
export default interface URIToken extends BaseLedgerEntry {
LedgerEntryType: 'URIToken'
/**

View File

@@ -23,7 +23,7 @@ export interface SignerListSet extends BaseTransaction {
* more than 32 members. No address may appear more than once in the list, nor
* may the Account submitting the transaction appear in the list.
*/
SignerEntries: SignerEntry[]
SignerEntries?: SignerEntry[]
}
const MAX_SIGNERS = 32
@@ -36,6 +36,7 @@ const HEX_WALLET_LOCATOR_REGEX = /^[0-9A-Fa-f]{64}$/u
* @param tx - An SignerListSet Transaction.
* @throws When the SignerListSet is Malformed.
*/
// eslint-disable-next-line complexity -- validation can be complex
export function validateSignerListSet(tx: Record<string, unknown>): void {
validateBaseTransaction(tx)
@@ -47,6 +48,10 @@ export function validateSignerListSet(tx: Record<string, unknown>): void {
throw new ValidationError('SignerListSet: invalid SignerQuorum')
}
if (tx.SignerQuorum === 0) {
return
}
if (tx.SignerEntries === undefined) {
throw new ValidationError('SignerListSet: missing field SignerEntries')
}

View File

@@ -18,8 +18,9 @@ describe('SignerListSet', function () {
})
afterEach(async () => teardownClient(testContext))
// Add signerlist
it(
'base',
'add',
async () => {
const tx: SignerListSet = {
TransactionType: 'SignerListSet',
@@ -44,4 +45,18 @@ describe('SignerListSet', function () {
},
TIMEOUT,
)
// Remove signerlist
it(
'remove',
async () => {
const tx: SignerListSet = {
TransactionType: 'SignerListSet',
Account: testContext.wallet.classicAddress,
SignerQuorum: 0,
}
await testTransaction(testContext.client, tx, testContext.wallet)
},
TIMEOUT,
)
})