mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-12 16:45:49 +00:00
Compare commits
11 Commits
@transia/x
...
@transia/x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
184ef89ea5 | ||
|
|
3182671df5 | ||
|
|
5ad3d963f6 | ||
|
|
2a35ac24c9 | ||
|
|
be156c9091 | ||
|
|
cb3e24a497 | ||
|
|
cfbc46ee25 | ||
|
|
54681cf821 | ||
|
|
701d1fb209 | ||
|
|
57f1168d8c | ||
|
|
63b01812b6 |
2
package-lock.json
generated
2
package-lock.json
generated
@@ -17188,7 +17188,7 @@
|
|||||||
},
|
},
|
||||||
"packages/xrpl": {
|
"packages/xrpl": {
|
||||||
"name": "@transia/xrpl",
|
"name": "@transia/xrpl",
|
||||||
"version": "2.7.3-alpha.3",
|
"version": "2.7.3-alpha.5",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@transia/ripple-address-codec": "^4.2.8-alpha.0",
|
"@transia/ripple-address-codec": "^4.2.8-alpha.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@transia/xrpl",
|
"name": "@transia/xrpl",
|
||||||
"version": "2.7.3-alpha.4",
|
"version": "2.7.3-alpha.9",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
|
"description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import { Amount } from '../common'
|
|||||||
import BaseLedgerEntry from './BaseLedgerEntry'
|
import BaseLedgerEntry from './BaseLedgerEntry'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The HookState object type contains the
|
* The URIToken object type contains the
|
||||||
*
|
*
|
||||||
* @category Ledger Entries
|
* @category Ledger Entries
|
||||||
*/
|
*/
|
||||||
export default interface HookState extends BaseLedgerEntry {
|
export default interface URIToken extends BaseLedgerEntry {
|
||||||
LedgerEntryType: 'URIToken'
|
LedgerEntryType: 'URIToken'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ export interface LedgerEntryRequest extends BaseRequest {
|
|||||||
* URIToken, as hexadecimal. If an object, the `issuer` and `uri`
|
* URIToken, as hexadecimal. If an object, the `issuer` and `uri`
|
||||||
* sub-fields are required to uniquely specify the URIToken entry.
|
* sub-fields are required to uniquely specify the URIToken entry.
|
||||||
*/
|
*/
|
||||||
uritoken?:
|
uri_token?:
|
||||||
| {
|
| {
|
||||||
/** The issuer of the URIToken object. */
|
/** The issuer of the URIToken object. */
|
||||||
issuer: string
|
issuer: string
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { ValidationError } from '../../errors'
|
||||||
|
|
||||||
import { BaseTransaction, validateBaseTransaction } from './common'
|
import { BaseTransaction, validateBaseTransaction } from './common'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -7,6 +9,10 @@ import { BaseTransaction, validateBaseTransaction } from './common'
|
|||||||
*/
|
*/
|
||||||
export interface Import extends BaseTransaction {
|
export interface Import extends BaseTransaction {
|
||||||
TransactionType: 'Import'
|
TransactionType: 'Import'
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Issuer?: string
|
||||||
/**
|
/**
|
||||||
* Hex value representing a VL Blob.
|
* Hex value representing a VL Blob.
|
||||||
*/
|
*/
|
||||||
@@ -21,4 +27,12 @@ export interface Import extends BaseTransaction {
|
|||||||
*/
|
*/
|
||||||
export function validateImport(tx: Record<string, unknown>): void {
|
export function validateImport(tx: Record<string, unknown>): void {
|
||||||
validateBaseTransaction(tx)
|
validateBaseTransaction(tx)
|
||||||
|
|
||||||
|
if (tx.Issuer !== undefined && typeof tx.Issuer !== 'string') {
|
||||||
|
throw new ValidationError('Import: Issuer must be a string')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tx.Account === tx.Issuer) {
|
||||||
|
throw new ValidationError('Import: Issuer and Account must not be equal')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export interface SignerListSet extends BaseTransaction {
|
|||||||
* more than 32 members. No address may appear more than once in the list, nor
|
* 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.
|
* may the Account submitting the transaction appear in the list.
|
||||||
*/
|
*/
|
||||||
SignerEntries: SignerEntry[]
|
SignerEntries?: SignerEntry[]
|
||||||
}
|
}
|
||||||
|
|
||||||
const MAX_SIGNERS = 32
|
const MAX_SIGNERS = 32
|
||||||
@@ -36,6 +36,7 @@ const HEX_WALLET_LOCATOR_REGEX = /^[0-9A-Fa-f]{64}$/u
|
|||||||
* @param tx - An SignerListSet Transaction.
|
* @param tx - An SignerListSet Transaction.
|
||||||
* @throws When the SignerListSet is Malformed.
|
* @throws When the SignerListSet is Malformed.
|
||||||
*/
|
*/
|
||||||
|
// eslint-disable-next-line complexity -- validation can be complex
|
||||||
export function validateSignerListSet(tx: Record<string, unknown>): void {
|
export function validateSignerListSet(tx: Record<string, unknown>): void {
|
||||||
validateBaseTransaction(tx)
|
validateBaseTransaction(tx)
|
||||||
|
|
||||||
@@ -47,6 +48,10 @@ export function validateSignerListSet(tx: Record<string, unknown>): void {
|
|||||||
throw new ValidationError('SignerListSet: invalid SignerQuorum')
|
throw new ValidationError('SignerListSet: invalid SignerQuorum')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tx.SignerQuorum === 0) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (tx.SignerEntries === undefined) {
|
if (tx.SignerEntries === undefined) {
|
||||||
throw new ValidationError('SignerListSet: missing field SignerEntries')
|
throw new ValidationError('SignerListSet: missing field SignerEntries')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,9 @@ describe('SignerListSet', function () {
|
|||||||
})
|
})
|
||||||
afterEach(async () => teardownClient(testContext))
|
afterEach(async () => teardownClient(testContext))
|
||||||
|
|
||||||
|
// Add signerlist
|
||||||
it(
|
it(
|
||||||
'base',
|
'add',
|
||||||
async () => {
|
async () => {
|
||||||
const tx: SignerListSet = {
|
const tx: SignerListSet = {
|
||||||
TransactionType: 'SignerListSet',
|
TransactionType: 'SignerListSet',
|
||||||
@@ -44,4 +45,18 @@ describe('SignerListSet', function () {
|
|||||||
},
|
},
|
||||||
TIMEOUT,
|
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,
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user