Skip to content

Commit ce9193c

Browse files
committed
fix linter errors. Use AuthorizeCreds nested object format
1 parent 035bf0d commit ce9193c

File tree

8 files changed

+66
-31
lines changed

8 files changed

+66
-31
lines changed
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
import { BaseLedgerEntry, HasPreviousTxnID } from './BaseLedgerEntry'
1+
import { AuthorizeCredential } from '../common'
22

3-
export interface Credential {
4-
Credential: {
5-
Issuer: string
6-
CredentialType: string
7-
}
8-
}
3+
import { BaseLedgerEntry, HasPreviousTxnID } from './BaseLedgerEntry'
94

105
export default interface PermissionedDomain
116
extends BaseLedgerEntry,
@@ -20,5 +15,5 @@ export default interface PermissionedDomain
2015

2116
Sequence: number
2217

23-
AcceptedCredentials: Credential[]
18+
AcceptedCredentials: AuthorizeCredential[]
2419
}

packages/xrpl/src/models/transactions/common.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,12 @@ export function validateCredentialsList(
502502
}
503503
}
504504

505+
/**
506+
* Check if an array of objects contains any duplicates.
507+
*
508+
* @param objectList - Array of objects to check for duplicates
509+
* @returns True if duplicates exist, false otherwise
510+
*/
505511
export function containsDuplicates(objectList: object[]): boolean {
506512
const objSet = new Set(objectList.map((obj) => JSON.stringify(obj)))
507513
return objSet.size !== objectList.length

packages/xrpl/src/models/transactions/permissionedDomainDelete.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {
22
BaseTransaction,
33
isString,
44
validateBaseTransaction,
5-
validateRequiredField
5+
validateRequiredField,
66
} from './common'
77

88
export interface PermissionedDomainDelete extends BaseTransaction {
@@ -11,7 +11,15 @@ export interface PermissionedDomainDelete extends BaseTransaction {
1111
DomainID: string
1212
}
1313

14-
export function validatePermissionedDomainDelete(tx: Record<string, unknown>): void {
14+
/**
15+
* Verify the form and type of a PermissionedDomainDelete transaction.
16+
*
17+
* @param tx - The transaction to verify.
18+
* @throws When the transaction is malformed.
19+
*/
20+
export function validatePermissionedDomainDelete(
21+
tx: Record<string, unknown>,
22+
): void {
1523
validateBaseTransaction(tx)
1624

1725
validateRequiredField(tx, 'DomainID', isString)

packages/xrpl/src/models/transactions/permissionedDomainSet.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ValidationError } from '../../errors'
2-
import { Credential } from '../ledger/PermissionedDomain'
2+
import { AuthorizeCredential } from '../common'
33

44
import {
55
BaseTransaction,
@@ -17,7 +17,7 @@ export interface PermissionedDomainSet extends BaseTransaction {
1717
TransactionType: 'PermissionedDomainSet'
1818

1919
DomainID?: string
20-
AcceptedCredentials: Credential[]
20+
AcceptedCredentials: AuthorizeCredential[]
2121
}
2222

2323
/**

packages/xrpl/src/models/transactions/transaction.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,14 @@ import {
7474
PaymentChannelFund,
7575
validatePaymentChannelFund,
7676
} from './paymentChannelFund'
77-
import { PermissionedDomainDelete, validatePermissionedDomainDelete } from './permissionedDomainDelete'
78-
import { PermissionedDomainSet, validatePermissionedDomainSet } from './permissionedDomainSet'
77+
import {
78+
PermissionedDomainDelete,
79+
validatePermissionedDomainDelete,
80+
} from './permissionedDomainDelete'
81+
import {
82+
PermissionedDomainSet,
83+
validatePermissionedDomainSet,
84+
} from './permissionedDomainSet'
7985
import { SetFee } from './setFee'
8086
import { SetRegularKey, validateSetRegularKey } from './setRegularKey'
8187
import { SignerListSet, validateSignerListSet } from './signerListSet'

packages/xrpl/test/integration/transactions/permissionedDomain.test.ts

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
import { stringToHex } from '@xrplf/isomorphic/utils'
22
import { assert } from 'chai'
33

4-
import { LedgerEntryRequest, PermissionedDomainDelete, PermissionedDomainSet } from '../../../src'
5-
import PermissionedDomain, { Credential } from '../../../src/models/ledger/PermissionedDomain'
4+
import {
5+
LedgerEntryRequest,
6+
PermissionedDomainDelete,
7+
PermissionedDomainSet,
8+
AuthorizeCredential,
9+
} from '../../../src'
10+
import PermissionedDomain from '../../../src/models/ledger/PermissionedDomain'
611
import serverUrl from '../serverUrl'
712
import {
813
setupClient,
@@ -25,18 +30,18 @@ describe('PermissionedDomainSet', function () {
2530
it(
2631
'Lifecycle of PermissionedDomain ledger object',
2732
async () => {
28-
const sampleCredential: Credential = {
33+
const sampleCredential: AuthorizeCredential = {
2934
Credential: {
3035
CredentialType: stringToHex('Passport'),
31-
Issuer: testContext.wallet.classicAddress
32-
}
36+
Issuer: testContext.wallet.classicAddress,
37+
},
3338
}
3439

3540
// Step-1: Test the PermissionedDomainSet transaction
3641
const tx_pd_set: PermissionedDomainSet = {
3742
TransactionType: 'PermissionedDomainSet',
3843
Account: testContext.wallet.classicAddress,
39-
AcceptedCredentials: [sampleCredential]
44+
AcceptedCredentials: [sampleCredential],
4045
}
4146

4247
await testTransaction(testContext.client, tx_pd_set, testContext.wallet)
@@ -59,20 +64,26 @@ describe('PermissionedDomainSet', function () {
5964
const ledger_entry_request: LedgerEntryRequest = {
6065
command: 'ledger_entry',
6166
// fetch the PD `index` from the previous account_objects RPC response
62-
index: pd.index
67+
index: pd.index,
6368
}
64-
const ledger_entry_result = await testContext.client.request(ledger_entry_request)
69+
const ledger_entry_result = await testContext.client.request(
70+
ledger_entry_request,
71+
)
6572
assert.deepEqual(pd, ledger_entry_result.result.node)
6673

6774
// Step-3: Test the PDDelete transaction
6875
const tx_pd_delete: PermissionedDomainDelete = {
6976
TransactionType: 'PermissionedDomainDelete',
7077
Account: testContext.wallet.classicAddress,
7178
// fetch the PD `index` from the previous account_objects RPC response
72-
DomainID: pd.index
79+
DomainID: pd.index,
7380
}
7481

75-
await testTransaction(testContext.client, tx_pd_delete, testContext.wallet)
82+
await testTransaction(
83+
testContext.client,
84+
tx_pd_delete,
85+
testContext.wallet,
86+
)
7687
},
7788
TIMEOUT,
7889
)

packages/xrpl/test/models/permissionedDomainDelete.test.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ describe('PermissionedDomainDelete', function () {
1515
tx = {
1616
TransactionType: 'PermissionedDomainDelete',
1717
Account: 'rfmDuhDyLGgx94qiwf3YF8BUV5j6KSvE8',
18-
DomainID: 'D88930B33C2B6831660BFD006D91FF100011AD4E67CBB78B460AF0A215103737',
18+
DomainID:
19+
'D88930B33C2B6831660BFD006D91FF100011AD4E67CBB78B460AF0A215103737',
1920
} as any
2021
})
2122

@@ -27,14 +28,22 @@ describe('PermissionedDomainDelete', function () {
2728
it(`throws w/ missing field DomainID`, function () {
2829
delete tx.DomainID
2930
const errorMessage = 'PermissionedDomainDelete: missing field DomainID'
30-
assert.throws(() => validatePermissionedDomainDelete(tx), ValidationError, errorMessage)
31+
assert.throws(
32+
() => validatePermissionedDomainDelete(tx),
33+
ValidationError,
34+
errorMessage,
35+
)
3136
assert.throws(() => validate(tx), ValidationError, errorMessage)
3237
})
3338

3439
it(`throws w/ invalid DomainID`, function () {
3540
tx.DomainID = 1234
3641
const errorMessage = 'PermissionedDomainDelete: invalid field DomainID'
37-
assert.throws(() => validatePermissionedDomainDelete(tx), ValidationError, errorMessage)
42+
assert.throws(
43+
() => validatePermissionedDomainDelete(tx),
44+
ValidationError,
45+
errorMessage,
46+
)
3847
assert.throws(() => validate(tx), ValidationError, errorMessage)
3948
})
4049
})

packages/xrpl/test/models/permissionedDomainSet.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { stringToHex } from '@xrplf/isomorphic/dist/utils'
22
import { assert } from 'chai'
33

4-
import { validate, ValidationError } from '../../src'
5-
import { Credential } from '../../src/models/ledger/PermissionedDomain'
4+
import { AuthorizeCredential, validate, ValidationError } from '../../src'
65
import { validatePermissionedDomainSet } from '../../src/models/transactions/permissionedDomainSet'
76

87
/**
@@ -12,7 +11,7 @@ import { validatePermissionedDomainSet } from '../../src/models/transactions/per
1211
*/
1312
describe('PermissionedDomainSet', function () {
1413
let tx
15-
const sampleCredential: Credential = {
14+
const sampleCredential: AuthorizeCredential = {
1615
Credential: {
1716
CredentialType: stringToHex('Passport'),
1817
Issuer: 'rfmDuhDyLGgx94qiwf3YF8BUV5j6KSvE8',
@@ -35,7 +34,8 @@ describe('PermissionedDomainSet', function () {
3534
})
3635

3736
it(`throws with invalid field DomainID`, function () {
38-
tx.DomainID = 1234 // DomainID is expected to be a string
37+
// DomainID is expected to be a string
38+
tx.DomainID = 1234
3939
const errorMessage = 'PermissionedDomainSet: invalid field DomainID'
4040
assert.throws(
4141
() => validatePermissionedDomainSet(tx),

0 commit comments

Comments
 (0)