Compare commits

..

8 Commits

Author SHA1 Message Date
Denis Angell
cfbc46ee25 Publish
- @transia/xrpl@2.7.3-alpha.6
2023-07-12 22:43:35 +02:00
Denis Angell
54681cf821 add Issuer field to Import 2023-07-12 22:43:18 +02:00
Denis Angell
701d1fb209 Update package-lock.json 2023-07-12 22:41:39 +02:00
Denis Angell
57f1168d8c Publish
- @transia/xrpl@2.7.3-alpha.5
2023-07-07 17:47:15 +02:00
Denis Angell
63b01812b6 Update ledgerEntry.ts 2023-07-07 17:46:49 +02:00
Denis Angell
cc67c6efd6 Publish
- @transia/xrpl@2.7.3-alpha.4
2023-07-07 17:44:59 +02:00
Denis Angell
454ab81bd7 bump package-lock 2023-07-07 17:43:32 +02:00
Denis Angell
4dd8ac243f fix missing uritoken ledger entry 2023-07-07 17:38:51 +02:00
7 changed files with 117 additions and 30 deletions

2
package-lock.json generated
View File

@@ -17188,7 +17188,7 @@
},
"packages/xrpl": {
"name": "@transia/xrpl",
"version": "2.7.3-alpha.2",
"version": "2.7.3-alpha.5",
"license": "ISC",
"dependencies": {
"@transia/ripple-address-codec": "^4.2.8-alpha.0",

View File

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

View File

@@ -0,0 +1,53 @@
import { Amount } from '../common'
import BaseLedgerEntry from './BaseLedgerEntry'
/**
* The HookState object type contains the
*
* @category Ledger Entries
*/
export default interface HookState extends BaseLedgerEntry {
LedgerEntryType: 'URIToken'
/**
*/
Owner: string
/**
* A hint indicating which page of the sender's owner directory links to this
* object, in case the directory consists of multiple pages.
*/
OwnerNode: string
/**
*/
Issuer: string
/**
*/
URI: string
/**
*/
Digest: string
/**
*/
Amount: Amount
/**
*/
Destination: string
/**
* The identifying hash of the transaction that most recently modified this
* object.
*/
PreviousTxnID: string
/**
* The index of the ledger that contains the transaction that most recently
* modified this object.
*/
PreviousTxnLgrSeq: number
}

View File

@@ -21,6 +21,7 @@ import PayChannel from './PayChannel'
import RippleState, { RippleStateFlags } from './RippleState'
import SignerList, { SignerListFlags } from './SignerList'
import Ticket from './Ticket'
import URIToken from './URIToken'
export {
AccountRoot,
@@ -48,4 +49,5 @@ export {
SignerList,
SignerListFlags,
Ticket,
URIToken,
}

View File

@@ -8,6 +8,7 @@ import {
RippleState,
SignerList,
Ticket,
URIToken,
} from '../ledger'
import { BaseRequest, BaseResponse } from './baseMethod'
@@ -22,6 +23,7 @@ type AccountObjectType =
| 'signer_list'
| 'state'
| 'ticket'
| 'uritoken'
/**
* The account_objects command returns the raw ledger format for all objects
@@ -78,6 +80,7 @@ type AccountObject =
| SignerList
| RippleState
| Ticket
| URIToken
/**
* Response expected from an {@link AccountObjectsRequest}.

View File

@@ -79,6 +79,11 @@ export interface LedgerEntryRequest extends BaseRequest {
}
| string
/**
* The object ID of a transaction emitted by the ledger entry.
*/
emitted_txn?: string
/**
* The Escrow object to retrieve. If a string, must be the object ID of the
* escrow, as hexadecimal. If an object, requires owner and seq sub-fields.
@@ -92,6 +97,36 @@ export interface LedgerEntryRequest extends BaseRequest {
}
| string
/**
* The hash of the Hook object to retrieve.
*/
hook_definition?: string
/**
* The Hook object to retrieve. If a string, must be the object ID of the Hook.
* If an object, requires `account` sub-field.
*/
hook?:
| {
/** The account of the Hook object. */
account: string
}
| string
/**
* Object specifying the HookState object to retrieve. Requires the sub-fields
* `account`, `key`, and `namespace_id` to uniquely specify the HookState entry
* to retrieve.
*/
hook_state?: {
/** The account of the Hook object. */
account: string
/** The key of the state. */
key: string
/** The namespace of the state. */
namespace_id: string
}
/**
* The Offer object to retrieve. If a string, interpret as the unique object
* ID to the Offer. If an object, requires the sub-fields `account` and `seq`
@@ -137,40 +172,20 @@ export interface LedgerEntryRequest extends BaseRequest {
ticket_sequence: number
}
| string
/**
* The object ID of a transaction emitted by the ledger entry.
*/
emitted_txn?: string
/**
* The hash of the Hook object to retrieve.
* The URIToken object to retrieve. If a string, must be the object ID of the
* URIToken, as hexadecimal. If an object, the `issuer` and `uri`
* sub-fields are required to uniquely specify the URIToken entry.
*/
hook_definition?: string
/**
* The Hook object to retrieve. If a string, must be the object ID of the Hook.
* If an object, requires `account` sub-field.
*/
hook?:
uri_token?:
| {
/** The account of the Hook object. */
account: string
/** The issuer of the URIToken object. */
issuer: string
/** The URIToken uri string (ascii). */
uri: string
}
| string
/**
* Object specifying the HookState object to retrieve. Requires the sub-fields
* `account`, `key`, and `namespace_id` to uniquely specify the HookState entry
* to retrieve.
*/
hook_state?: {
/** The account of the Hook object. */
account: string
/** The key of the state. */
key: string
/** The namespace of the state. */
namespace_id: string
}
}
/**

View File

@@ -1,3 +1,5 @@
import { ValidationError } from '../../errors'
import { BaseTransaction, validateBaseTransaction } from './common'
/**
@@ -7,6 +9,10 @@ import { BaseTransaction, validateBaseTransaction } from './common'
*/
export interface Import extends BaseTransaction {
TransactionType: 'Import'
/**
*
*/
Issuer?: string
/**
* Hex value representing a VL Blob.
*/
@@ -21,4 +27,12 @@ export interface Import extends BaseTransaction {
*/
export function validateImport(tx: Record<string, unknown>): void {
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')
}
}