xrpl 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/xrpl-latest-min.js +3 -0
- package/build/xrpl-latest-min.js.map +1 -0
- package/build/xrpl-latest.js +240 -54
- package/build/xrpl-latest.js.map +1 -1
- package/dist/npm/client/index.d.ts +4 -0
- package/dist/npm/client/index.d.ts.map +1 -1
- package/dist/npm/client/index.js +11 -1
- package/dist/npm/client/index.js.map +1 -1
- package/dist/npm/models/index.d.ts +1 -1
- package/dist/npm/models/index.d.ts.map +1 -1
- package/dist/npm/models/index.js +3 -2
- package/dist/npm/models/index.js.map +1 -1
- package/dist/npm/models/ledger/LedgerEntry.d.ts +3 -2
- package/dist/npm/models/ledger/LedgerEntry.d.ts.map +1 -1
- package/dist/npm/models/ledger/PermissionedDomain.d.ts +11 -0
- package/dist/npm/models/ledger/PermissionedDomain.d.ts.map +1 -0
- package/dist/npm/models/ledger/PermissionedDomain.js +3 -0
- package/dist/npm/models/ledger/PermissionedDomain.js.map +1 -0
- package/dist/npm/models/ledger/RippleState.d.ts +3 -1
- package/dist/npm/models/ledger/RippleState.d.ts.map +1 -1
- package/dist/npm/models/ledger/RippleState.js +2 -0
- package/dist/npm/models/ledger/RippleState.js.map +1 -1
- package/dist/npm/models/methods/index.d.ts +5 -4
- package/dist/npm/models/methods/index.d.ts.map +1 -1
- package/dist/npm/models/methods/ledger.d.ts +2 -2
- package/dist/npm/models/methods/ledger.d.ts.map +1 -1
- package/dist/npm/models/methods/serverState.d.ts +1 -0
- package/dist/npm/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/models/methods/simulate.d.ts +42 -0
- package/dist/npm/models/methods/simulate.d.ts.map +1 -0
- package/dist/npm/models/methods/simulate.js +3 -0
- package/dist/npm/models/methods/simulate.js.map +1 -0
- package/dist/npm/models/transactions/AMMClawback.d.ts +17 -0
- package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -0
- package/dist/npm/models/transactions/AMMClawback.js +34 -0
- package/dist/npm/models/transactions/AMMClawback.js.map +1 -0
- package/dist/npm/models/transactions/NFTokenMint.d.ts +3 -1
- package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/models/transactions/NFTokenMint.js +1 -0
- package/dist/npm/models/transactions/NFTokenMint.js.map +1 -1
- package/dist/npm/models/transactions/NFTokenModify.d.ts +9 -0
- package/dist/npm/models/transactions/NFTokenModify.d.ts.map +1 -0
- package/dist/npm/models/transactions/NFTokenModify.js +22 -0
- package/dist/npm/models/transactions/NFTokenModify.js.map +1 -0
- package/dist/npm/models/transactions/accountDelete.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountDelete.js +1 -1
- package/dist/npm/models/transactions/accountDelete.js.map +1 -1
- package/dist/npm/models/transactions/common.d.ts +5 -2
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +25 -7
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/depositPreauth.d.ts.map +1 -1
- package/dist/npm/models/transactions/depositPreauth.js +2 -2
- package/dist/npm/models/transactions/depositPreauth.js.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.js +1 -1
- package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/models/transactions/index.d.ts +5 -1
- package/dist/npm/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/models/transactions/index.js +5 -1
- package/dist/npm/models/transactions/index.js.map +1 -1
- package/dist/npm/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/models/transactions/payment.js +1 -1
- package/dist/npm/models/transactions/payment.js.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.js +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/models/transactions/permissionedDomainDelete.d.ts +7 -0
- package/dist/npm/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
- package/dist/npm/models/transactions/permissionedDomainDelete.js +10 -0
- package/dist/npm/models/transactions/permissionedDomainDelete.js.map +1 -0
- package/dist/npm/models/transactions/permissionedDomainSet.d.ts +9 -0
- package/dist/npm/models/transactions/permissionedDomainSet.d.ts.map +1 -0
- package/dist/npm/models/transactions/permissionedDomainSet.js +13 -0
- package/dist/npm/models/transactions/permissionedDomainSet.js.map +1 -0
- package/dist/npm/models/transactions/transaction.d.ts +5 -1
- package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/models/transactions/transaction.js +17 -1
- package/dist/npm/models/transactions/transaction.js.map +1 -1
- package/dist/npm/models/transactions/trustSet.d.ts +5 -1
- package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/trustSet.js +2 -0
- package/dist/npm/models/transactions/trustSet.js.map +1 -1
- package/dist/npm/models/utils/flags.d.ts +1 -0
- package/dist/npm/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/models/utils/flags.js +41 -28
- package/dist/npm/models/utils/flags.js.map +1 -1
- package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
- package/dist/npm/src/client/index.d.ts +4 -0
- package/dist/npm/src/client/index.d.ts.map +1 -1
- package/dist/npm/src/client/index.js +11 -1
- package/dist/npm/src/client/index.js.map +1 -1
- package/dist/npm/src/models/index.d.ts +1 -1
- package/dist/npm/src/models/index.d.ts.map +1 -1
- package/dist/npm/src/models/index.js +3 -2
- package/dist/npm/src/models/index.js.map +1 -1
- package/dist/npm/src/models/ledger/LedgerEntry.d.ts +3 -2
- package/dist/npm/src/models/ledger/LedgerEntry.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/PermissionedDomain.d.ts +11 -0
- package/dist/npm/src/models/ledger/PermissionedDomain.d.ts.map +1 -0
- package/dist/npm/src/models/ledger/PermissionedDomain.js +3 -0
- package/dist/npm/src/models/ledger/PermissionedDomain.js.map +1 -0
- package/dist/npm/src/models/ledger/RippleState.d.ts +3 -1
- package/dist/npm/src/models/ledger/RippleState.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/RippleState.js +2 -0
- package/dist/npm/src/models/ledger/RippleState.js.map +1 -1
- package/dist/npm/src/models/methods/index.d.ts +5 -4
- package/dist/npm/src/models/methods/index.d.ts.map +1 -1
- package/dist/npm/src/models/methods/ledger.d.ts +2 -2
- package/dist/npm/src/models/methods/ledger.d.ts.map +1 -1
- package/dist/npm/src/models/methods/serverState.d.ts +1 -0
- package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/src/models/methods/simulate.d.ts +42 -0
- package/dist/npm/src/models/methods/simulate.d.ts.map +1 -0
- package/dist/npm/src/models/methods/simulate.js +3 -0
- package/dist/npm/src/models/methods/simulate.js.map +1 -0
- package/dist/npm/src/models/transactions/AMMClawback.d.ts +17 -0
- package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/AMMClawback.js +34 -0
- package/dist/npm/src/models/transactions/AMMClawback.js.map +1 -0
- package/dist/npm/src/models/transactions/NFTokenMint.d.ts +3 -1
- package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenMint.js +1 -0
- package/dist/npm/src/models/transactions/NFTokenMint.js.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenModify.d.ts +9 -0
- package/dist/npm/src/models/transactions/NFTokenModify.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/NFTokenModify.js +22 -0
- package/dist/npm/src/models/transactions/NFTokenModify.js.map +1 -0
- package/dist/npm/src/models/transactions/accountDelete.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountDelete.js +1 -1
- package/dist/npm/src/models/transactions/accountDelete.js.map +1 -1
- package/dist/npm/src/models/transactions/common.d.ts +5 -2
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +25 -7
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/depositPreauth.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/depositPreauth.js +2 -2
- package/dist/npm/src/models/transactions/depositPreauth.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.js +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/src/models/transactions/index.d.ts +5 -1
- package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/index.js +5 -1
- package/dist/npm/src/models/transactions/index.js.map +1 -1
- package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/payment.js +1 -1
- package/dist/npm/src/models/transactions/payment.js.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.js +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts +7 -0
- package/dist/npm/src/models/transactions/permissionedDomainDelete.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/permissionedDomainDelete.js +10 -0
- package/dist/npm/src/models/transactions/permissionedDomainDelete.js.map +1 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts +9 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.d.ts.map +1 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.js +13 -0
- package/dist/npm/src/models/transactions/permissionedDomainSet.js.map +1 -0
- package/dist/npm/src/models/transactions/transaction.d.ts +5 -1
- package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/transaction.js +17 -1
- package/dist/npm/src/models/transactions/transaction.js.map +1 -1
- package/dist/npm/src/models/transactions/trustSet.d.ts +5 -1
- package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/trustSet.js +2 -0
- package/dist/npm/src/models/transactions/trustSet.js.map +1 -1
- package/dist/npm/src/models/utils/flags.d.ts +1 -0
- package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/src/models/utils/flags.js +41 -28
- package/dist/npm/src/models/utils/flags.js.map +1 -1
- package/dist/npm/src/sugar/submit.d.ts.map +1 -1
- package/dist/npm/src/sugar/submit.js +7 -7
- package/dist/npm/src/sugar/submit.js.map +1 -1
- package/dist/npm/sugar/submit.d.ts.map +1 -1
- package/dist/npm/sugar/submit.js +7 -7
- package/dist/npm/sugar/submit.js.map +1 -1
- package/package.json +4 -4
- package/src/client/index.ts +42 -2
- package/src/models/index.ts +2 -1
- package/src/models/ledger/LedgerEntry.ts +3 -0
- package/src/models/ledger/PermissionedDomain.ts +29 -0
- package/src/models/ledger/RippleState.ts +4 -0
- package/src/models/methods/index.ts +18 -0
- package/src/models/methods/ledger.ts +2 -2
- package/src/models/methods/serverState.ts +1 -0
- package/src/models/methods/simulate.ts +88 -0
- package/src/models/transactions/AMMClawback.ts +120 -0
- package/src/models/transactions/NFTokenMint.ts +5 -0
- package/src/models/transactions/NFTokenModify.ts +67 -0
- package/src/models/transactions/accountDelete.ts +2 -0
- package/src/models/transactions/common.ts +49 -9
- package/src/models/transactions/depositPreauth.ts +3 -0
- package/src/models/transactions/escrowFinish.ts +2 -0
- package/src/models/transactions/index.ts +10 -1
- package/src/models/transactions/payment.ts +2 -0
- package/src/models/transactions/paymentChannelClaim.ts +2 -0
- package/src/models/transactions/permissionedDomainDelete.ts +28 -0
- package/src/models/transactions/permissionedDomainSet.ts +54 -0
- package/src/models/transactions/transaction.ts +32 -2
- package/src/models/transactions/trustSet.ts +10 -0
- package/src/models/utils/flags.ts +61 -35
- package/src/sugar/submit.ts +2 -3
@@ -4,11 +4,12 @@
|
|
4
4
|
import { ValidationError } from '../../errors'
|
5
5
|
import { IssuedCurrencyAmount, Memo } from '../common'
|
6
6
|
import { isHex } from '../utils'
|
7
|
-
import {
|
7
|
+
import { convertTxFlagsToNumber } from '../utils/flags'
|
8
8
|
|
9
9
|
import { AccountDelete, validateAccountDelete } from './accountDelete'
|
10
10
|
import { AccountSet, validateAccountSet } from './accountSet'
|
11
11
|
import { AMMBid, validateAMMBid } from './AMMBid'
|
12
|
+
import { AMMClawback, validateAMMClawback } from './AMMClawback'
|
12
13
|
import { AMMCreate, validateAMMCreate } from './AMMCreate'
|
13
14
|
import { AMMDelete, validateAMMDelete } from './AMMDelete'
|
14
15
|
import { AMMDeposit, validateAMMDeposit } from './AMMDeposit'
|
@@ -57,6 +58,7 @@ import {
|
|
57
58
|
validateNFTokenCreateOffer,
|
58
59
|
} from './NFTokenCreateOffer'
|
59
60
|
import { NFTokenMint, validateNFTokenMint } from './NFTokenMint'
|
61
|
+
import { NFTokenModify, validateNFTokenModify } from './NFTokenModify'
|
60
62
|
import { OfferCancel, validateOfferCancel } from './offerCancel'
|
61
63
|
import { OfferCreate, validateOfferCreate } from './offerCreate'
|
62
64
|
import { OracleDelete, validateOracleDelete } from './oracleDelete'
|
@@ -74,6 +76,14 @@ import {
|
|
74
76
|
PaymentChannelFund,
|
75
77
|
validatePaymentChannelFund,
|
76
78
|
} from './paymentChannelFund'
|
79
|
+
import {
|
80
|
+
PermissionedDomainDelete,
|
81
|
+
validatePermissionedDomainDelete,
|
82
|
+
} from './permissionedDomainDelete'
|
83
|
+
import {
|
84
|
+
PermissionedDomainSet,
|
85
|
+
validatePermissionedDomainSet,
|
86
|
+
} from './permissionedDomainSet'
|
77
87
|
import { SetFee } from './setFee'
|
78
88
|
import { SetRegularKey, validateSetRegularKey } from './setRegularKey'
|
79
89
|
import { SignerListSet, validateSignerListSet } from './signerListSet'
|
@@ -114,6 +124,7 @@ import {
|
|
114
124
|
*/
|
115
125
|
export type SubmittableTransaction =
|
116
126
|
| AMMBid
|
127
|
+
| AMMClawback
|
117
128
|
| AMMCreate
|
118
129
|
| AMMDelete
|
119
130
|
| AMMDeposit
|
@@ -143,6 +154,7 @@ export type SubmittableTransaction =
|
|
143
154
|
| NFTokenCancelOffer
|
144
155
|
| NFTokenCreateOffer
|
145
156
|
| NFTokenMint
|
157
|
+
| NFTokenModify
|
146
158
|
| OfferCancel
|
147
159
|
| OfferCreate
|
148
160
|
| OracleDelete
|
@@ -151,6 +163,8 @@ export type SubmittableTransaction =
|
|
151
163
|
| PaymentChannelClaim
|
152
164
|
| PaymentChannelCreate
|
153
165
|
| PaymentChannelFund
|
166
|
+
| PermissionedDomainSet
|
167
|
+
| PermissionedDomainDelete
|
154
168
|
| SetRegularKey
|
155
169
|
| SignerListSet
|
156
170
|
| TicketCreate
|
@@ -255,12 +269,16 @@ export function validate(transaction: Record<string, unknown>): void {
|
|
255
269
|
})
|
256
270
|
|
257
271
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- okay here
|
258
|
-
|
272
|
+
tx.Flags = convertTxFlagsToNumber(tx as unknown as Transaction)
|
259
273
|
switch (tx.TransactionType) {
|
260
274
|
case 'AMMBid':
|
261
275
|
validateAMMBid(tx)
|
262
276
|
break
|
263
277
|
|
278
|
+
case 'AMMClawback':
|
279
|
+
validateAMMClawback(tx)
|
280
|
+
break
|
281
|
+
|
264
282
|
case 'AMMCreate':
|
265
283
|
validateAMMCreate(tx)
|
266
284
|
break
|
@@ -377,6 +395,10 @@ export function validate(transaction: Record<string, unknown>): void {
|
|
377
395
|
validateNFTokenMint(tx)
|
378
396
|
break
|
379
397
|
|
398
|
+
case 'NFTokenModify':
|
399
|
+
validateNFTokenModify(tx)
|
400
|
+
break
|
401
|
+
|
380
402
|
case 'OfferCancel':
|
381
403
|
validateOfferCancel(tx)
|
382
404
|
break
|
@@ -409,6 +431,14 @@ export function validate(transaction: Record<string, unknown>): void {
|
|
409
431
|
validatePaymentChannelFund(tx)
|
410
432
|
break
|
411
433
|
|
434
|
+
case 'PermissionedDomainSet':
|
435
|
+
validatePermissionedDomainSet(tx)
|
436
|
+
break
|
437
|
+
|
438
|
+
case 'PermissionedDomainDelete':
|
439
|
+
validatePermissionedDomainDelete(tx)
|
440
|
+
break
|
441
|
+
|
412
442
|
case 'SetRegularKey':
|
413
443
|
validateSetRegularKey(tx)
|
414
444
|
break
|
@@ -30,6 +30,11 @@ export enum TrustSetFlags {
|
|
30
30
|
tfSetFreeze = 0x00100000,
|
31
31
|
/** Unfreeze the trust line. */
|
32
32
|
tfClearFreeze = 0x00200000,
|
33
|
+
/** Deep-Freeze the trustline -- disallow sending and receiving the said IssuedCurrency */
|
34
|
+
/** Allowed only if the trustline is already regularly frozen, or if tfSetFreeze is set in the same transaction. */
|
35
|
+
tfSetDeepFreeze = 0x00400000,
|
36
|
+
/** Clear a Deep-Frozen trustline */
|
37
|
+
tfClearDeepFreeze = 0x00800000,
|
33
38
|
}
|
34
39
|
|
35
40
|
/**
|
@@ -89,6 +94,11 @@ export interface TrustSetFlagsInterface extends GlobalFlags {
|
|
89
94
|
tfSetFreeze?: boolean
|
90
95
|
/** Unfreeze the trust line. */
|
91
96
|
tfClearFreeze?: boolean
|
97
|
+
/** Deep-Freeze the trustline -- disallow sending and receiving the said IssuedCurrency */
|
98
|
+
/** Allowed only if the trustline is already regularly frozen, or if tfSetFreeze is set in the same transaction. */
|
99
|
+
tfSetDeepFreeze?: boolean
|
100
|
+
/** Clear a Deep-Frozen trust line */
|
101
|
+
tfClearDeepFreeze?: boolean
|
92
102
|
}
|
93
103
|
|
94
104
|
/**
|
@@ -1,4 +1,3 @@
|
|
1
|
-
/* eslint-disable no-param-reassign -- param reassign is safe */
|
2
1
|
/* eslint-disable no-bitwise -- flags require bitwise operations */
|
3
2
|
import { ValidationError } from '../../errors'
|
4
3
|
import {
|
@@ -6,9 +5,9 @@ import {
|
|
6
5
|
AccountRootFlags,
|
7
6
|
} from '../ledger/AccountRoot'
|
8
7
|
import { AccountSetTfFlags } from '../transactions/accountSet'
|
8
|
+
import { AMMClawbackFlags } from '../transactions/AMMClawback'
|
9
9
|
import { AMMDepositFlags } from '../transactions/AMMDeposit'
|
10
10
|
import { AMMWithdrawFlags } from '../transactions/AMMWithdraw'
|
11
|
-
import { GlobalFlags } from '../transactions/common'
|
12
11
|
import { MPTokenAuthorizeFlags } from '../transactions/MPTokenAuthorize'
|
13
12
|
import { MPTokenIssuanceCreateFlags } from '../transactions/MPTokenIssuanceCreate'
|
14
13
|
import { MPTokenIssuanceSetFlags } from '../transactions/MPTokenIssuanceSet'
|
@@ -49,6 +48,7 @@ export function parseAccountRootFlags(
|
|
49
48
|
|
50
49
|
const txToFlag = {
|
51
50
|
AccountSet: AccountSetTfFlags,
|
51
|
+
AMMClawback: AMMClawbackFlags,
|
52
52
|
AMMDeposit: AMMDepositFlags,
|
53
53
|
AMMWithdraw: AMMWithdrawFlags,
|
54
54
|
MPTokenAuthorize: MPTokenAuthorizeFlags,
|
@@ -63,37 +63,61 @@ const txToFlag = {
|
|
63
63
|
XChainModifyBridge: XChainModifyBridgeFlags,
|
64
64
|
}
|
65
65
|
|
66
|
+
function isTxToFlagKey(
|
67
|
+
transactionType: string,
|
68
|
+
): transactionType is keyof typeof txToFlag {
|
69
|
+
return transactionType in txToFlag
|
70
|
+
}
|
71
|
+
|
66
72
|
/**
|
67
73
|
* Sets a transaction's flags to its numeric representation.
|
68
74
|
*
|
75
|
+
* @deprecated
|
76
|
+
* This utility function is deprecated.
|
77
|
+
* Use convertTxFlagsToNumber() instead and use the returned value to modify the Transaction.Flags from the caller.
|
78
|
+
*
|
69
79
|
* @param tx - A transaction to set its flags to its numeric representation.
|
70
80
|
*/
|
71
81
|
export function setTransactionFlagsToNumber(tx: Transaction): void {
|
72
|
-
|
73
|
-
|
74
|
-
|
82
|
+
// eslint-disable-next-line no-console -- intended deprecation warning
|
83
|
+
console.warn(
|
84
|
+
'This function is deprecated. Use convertTxFlagsToNumber() instead and use the returned value to modify the Transaction.Flags from the caller.',
|
85
|
+
)
|
86
|
+
|
87
|
+
if (tx.Flags) {
|
88
|
+
// eslint-disable-next-line no-param-reassign -- intended param reassign in setter, retain old functionality for compatibility
|
89
|
+
tx.Flags = convertTxFlagsToNumber(tx)
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Returns a Transaction's Flags as its numeric representation.
|
95
|
+
*
|
96
|
+
* @param tx - A Transaction to parse Flags for
|
97
|
+
* @returns A numerical representation of a Transaction's Flags
|
98
|
+
*/
|
99
|
+
export function convertTxFlagsToNumber(tx: Transaction): number {
|
100
|
+
if (!tx.Flags) {
|
101
|
+
return 0
|
75
102
|
}
|
76
103
|
if (typeof tx.Flags === 'number') {
|
77
|
-
return
|
104
|
+
return tx.Flags
|
78
105
|
}
|
79
106
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
107
|
+
if (isTxToFlagKey(tx.TransactionType)) {
|
108
|
+
const flagEnum = txToFlag[tx.TransactionType]
|
109
|
+
return Object.keys(tx.Flags).reduce((resultFlags, flag) => {
|
110
|
+
if (flagEnum[flag] == null) {
|
111
|
+
throw new ValidationError(
|
112
|
+
`Invalid flag ${flag}. Valid flags are ${JSON.stringify(flagEnum)}`,
|
113
|
+
)
|
114
|
+
}
|
84
115
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
throw new ValidationError(
|
91
|
-
`flag ${flag} doesn't exist in flagEnum: ${JSON.stringify(flagEnum)}`,
|
92
|
-
)
|
93
|
-
}
|
94
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- safe member access
|
95
|
-
return flags[flag] ? resultFlags | flagEnum[flag] : resultFlags
|
96
|
-
}, 0)
|
116
|
+
return tx.Flags?.[flag] ? resultFlags | flagEnum[flag] : resultFlags
|
117
|
+
}, 0)
|
118
|
+
}
|
119
|
+
|
120
|
+
return 0
|
97
121
|
}
|
98
122
|
|
99
123
|
/**
|
@@ -103,22 +127,24 @@ function convertFlagsToNumber(flags: GlobalFlags, flagEnum: any): number {
|
|
103
127
|
* @returns A map with all flags as booleans.
|
104
128
|
*/
|
105
129
|
export function parseTransactionFlags(tx: Transaction): object {
|
106
|
-
|
107
|
-
if (
|
130
|
+
const flags = convertTxFlagsToNumber(tx)
|
131
|
+
if (flags === 0) {
|
108
132
|
return {}
|
109
133
|
}
|
110
134
|
|
111
|
-
const
|
112
|
-
const flagsMap = {}
|
135
|
+
const booleanFlagMap = {}
|
113
136
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
137
|
+
if (isTxToFlagKey(tx.TransactionType)) {
|
138
|
+
const transactionTypeFlags = txToFlag[tx.TransactionType]
|
139
|
+
Object.values(transactionTypeFlags).forEach((flag) => {
|
140
|
+
if (
|
141
|
+
typeof flag === 'string' &&
|
142
|
+
isFlagEnabled(flags, transactionTypeFlags[flag])
|
143
|
+
) {
|
144
|
+
booleanFlagMap[flag] = true
|
145
|
+
}
|
146
|
+
})
|
147
|
+
}
|
122
148
|
|
123
|
-
return
|
149
|
+
return booleanFlagMap
|
124
150
|
}
|
package/src/sugar/submit.ts
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
import { decode, encode } from 'ripple-binary-codec'
|
2
|
-
|
3
1
|
import type {
|
4
2
|
Client,
|
5
3
|
SubmitRequest,
|
@@ -12,6 +10,7 @@ import { ValidationError, XrplError } from '../errors'
|
|
12
10
|
import { Signer } from '../models/common'
|
13
11
|
import { TxResponse } from '../models/methods'
|
14
12
|
import { BaseTransaction } from '../models/transactions/common'
|
13
|
+
import { decode, encode } from '../utils'
|
15
14
|
|
16
15
|
/** Approximate time for a ledger to close, in milliseconds */
|
17
16
|
const LEDGER_CLOSE_TIME = 1000
|
@@ -52,7 +51,7 @@ export async function submitRequest(
|
|
52
51
|
failHard = false,
|
53
52
|
): Promise<SubmitResponse> {
|
54
53
|
if (!isSigned(signedTransaction)) {
|
55
|
-
throw new ValidationError('Transaction must be signed')
|
54
|
+
throw new ValidationError('Transaction must be signed.')
|
56
55
|
}
|
57
56
|
|
58
57
|
const signedTxEncoded =
|