xrpl 4.4.0-smartescrow.0 → 4.4.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 +1 -1
- package/build/xrpl-latest-min.js.map +1 -1
- package/build/xrpl-latest.js +407 -268
- package/build/xrpl-latest.js.map +1 -1
- package/dist/npm/Wallet/defaultFaucets.d.ts +1 -2
- package/dist/npm/Wallet/defaultFaucets.d.ts.map +1 -1
- package/dist/npm/Wallet/defaultFaucets.js +0 -3
- package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/models/common/index.d.ts +16 -0
- package/dist/npm/models/common/index.d.ts.map +1 -1
- package/dist/npm/models/ledger/AccountRoot.d.ts +3 -1
- package/dist/npm/models/ledger/AccountRoot.d.ts.map +1 -1
- package/dist/npm/models/ledger/AccountRoot.js +1 -0
- package/dist/npm/models/ledger/AccountRoot.js.map +1 -1
- package/dist/npm/models/ledger/DirectoryNode.d.ts +1 -0
- package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
- package/dist/npm/models/ledger/Escrow.d.ts +2 -2
- package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
- package/dist/npm/models/ledger/FeeSettings.d.ts +0 -2
- package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
- package/dist/npm/models/ledger/MPToken.d.ts +1 -0
- package/dist/npm/models/ledger/MPToken.d.ts.map +1 -1
- package/dist/npm/models/ledger/MPTokenIssuance.d.ts +1 -0
- package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -1
- package/dist/npm/models/ledger/Offer.d.ts +10 -1
- package/dist/npm/models/ledger/Offer.d.ts.map +1 -1
- package/dist/npm/models/ledger/Offer.js +1 -0
- package/dist/npm/models/ledger/Offer.js.map +1 -1
- package/dist/npm/models/methods/bookOffers.d.ts +1 -0
- package/dist/npm/models/methods/bookOffers.d.ts.map +1 -1
- package/dist/npm/models/methods/pathFind.d.ts +2 -0
- package/dist/npm/models/methods/pathFind.d.ts.map +1 -1
- package/dist/npm/models/methods/ripplePathFind.d.ts +1 -0
- package/dist/npm/models/methods/ripplePathFind.d.ts.map +1 -1
- package/dist/npm/models/methods/serverInfo.d.ts +0 -6
- package/dist/npm/models/methods/serverInfo.d.ts.map +1 -1
- package/dist/npm/models/methods/serverState.d.ts +0 -6
- package/dist/npm/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/models/methods/subscribe.d.ts +4 -0
- package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +14 -5
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/models/transactions/accountSet.d.ts +2 -1
- package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountSet.js +1 -0
- package/dist/npm/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/models/transactions/common.d.ts +4 -0
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +134 -1
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.d.ts +2 -3
- package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.js +3 -10
- package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.d.ts +0 -1
- package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/models/transactions/index.d.ts +1 -1
- package/dist/npm/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/models/transactions/index.js +2 -1
- package/dist/npm/models/transactions/index.js.map +1 -1
- package/dist/npm/models/transactions/offerCreate.d.ts +4 -1
- package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/offerCreate.js +10 -0
- package/dist/npm/models/transactions/offerCreate.js.map +1 -1
- package/dist/npm/models/transactions/payment.d.ts +1 -0
- package/dist/npm/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/models/transactions/payment.js +4 -3
- package/dist/npm/models/transactions/payment.js.map +1 -1
- package/dist/npm/models/transactions/vaultCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/vaultCreate.js +13 -4
- package/dist/npm/models/transactions/vaultCreate.js.map +1 -1
- package/dist/npm/models/transactions/vaultDeposit.d.ts +2 -2
- package/dist/npm/models/transactions/vaultDeposit.d.ts.map +1 -1
- package/dist/npm/models/transactions/vaultDeposit.js.map +1 -1
- package/dist/npm/models/transactions/vaultWithdraw.d.ts +2 -2
- package/dist/npm/models/transactions/vaultWithdraw.d.ts.map +1 -1
- package/dist/npm/models/transactions/vaultWithdraw.js.map +1 -1
- package/dist/npm/snippets/src/permissionedDEX.d.ts +2 -0
- package/dist/npm/snippets/src/permissionedDEX.d.ts.map +1 -0
- package/dist/npm/snippets/src/permissionedDEX.js +173 -0
- package/dist/npm/snippets/src/permissionedDEX.js.map +1 -0
- package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
- package/dist/npm/src/Wallet/defaultFaucets.d.ts +1 -2
- package/dist/npm/src/Wallet/defaultFaucets.d.ts.map +1 -1
- package/dist/npm/src/Wallet/defaultFaucets.js +0 -3
- package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/src/models/common/index.d.ts +16 -0
- package/dist/npm/src/models/common/index.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/AccountRoot.d.ts +3 -1
- package/dist/npm/src/models/ledger/AccountRoot.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/AccountRoot.js +1 -0
- package/dist/npm/src/models/ledger/AccountRoot.js.map +1 -1
- package/dist/npm/src/models/ledger/DirectoryNode.d.ts +1 -0
- package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Escrow.d.ts +2 -2
- package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/FeeSettings.d.ts +0 -2
- package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/MPToken.d.ts +1 -0
- package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +1 -0
- package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Offer.d.ts +10 -1
- package/dist/npm/src/models/ledger/Offer.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Offer.js +1 -0
- package/dist/npm/src/models/ledger/Offer.js.map +1 -1
- package/dist/npm/src/models/methods/bookOffers.d.ts +1 -0
- package/dist/npm/src/models/methods/bookOffers.d.ts.map +1 -1
- package/dist/npm/src/models/methods/pathFind.d.ts +2 -0
- package/dist/npm/src/models/methods/pathFind.d.ts.map +1 -1
- package/dist/npm/src/models/methods/ripplePathFind.d.ts +1 -0
- package/dist/npm/src/models/methods/ripplePathFind.d.ts.map +1 -1
- package/dist/npm/src/models/methods/serverInfo.d.ts +0 -6
- package/dist/npm/src/models/methods/serverInfo.d.ts.map +1 -1
- package/dist/npm/src/models/methods/serverState.d.ts +0 -6
- package/dist/npm/src/models/methods/serverState.d.ts.map +1 -1
- package/dist/npm/src/models/methods/subscribe.d.ts +4 -0
- package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +14 -5
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.d.ts +2 -1
- package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.js +1 -0
- package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/src/models/transactions/common.d.ts +4 -0
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +134 -1
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -3
- package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.js +3 -10
- package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.d.ts +0 -1
- package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
- package/dist/npm/src/models/transactions/index.d.ts +1 -1
- package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/index.js +2 -1
- package/dist/npm/src/models/transactions/index.js.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts +4 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.js +10 -0
- package/dist/npm/src/models/transactions/offerCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/payment.d.ts +1 -0
- package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/payment.js +4 -3
- package/dist/npm/src/models/transactions/payment.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/vaultCreate.js +13 -4
- package/dist/npm/src/models/transactions/vaultCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultDeposit.d.ts +2 -2
- package/dist/npm/src/models/transactions/vaultDeposit.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/vaultDeposit.js.map +1 -1
- package/dist/npm/src/models/transactions/vaultWithdraw.d.ts +2 -2
- package/dist/npm/src/models/transactions/vaultWithdraw.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/vaultWithdraw.js.map +1 -1
- package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/src/sugar/autofill.js +11 -32
- package/dist/npm/src/sugar/autofill.js.map +1 -1
- package/dist/npm/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/sugar/autofill.js +11 -32
- package/dist/npm/sugar/autofill.js.map +1 -1
- package/package.json +4 -4
- package/src/Wallet/defaultFaucets.ts +0 -5
- package/src/models/common/index.ts +25 -0
- package/src/models/ledger/AccountRoot.ts +10 -0
- package/src/models/ledger/DirectoryNode.ts +3 -0
- package/src/models/ledger/Escrow.ts +12 -3
- package/src/models/ledger/FeeSettings.ts +0 -4
- package/src/models/ledger/MPToken.ts +1 -0
- package/src/models/ledger/MPTokenIssuance.ts +1 -0
- package/src/models/ledger/Offer.ts +21 -0
- package/src/models/methods/bookOffers.ts +7 -0
- package/src/models/methods/pathFind.ts +10 -0
- package/src/models/methods/ripplePathFind.ts +5 -0
- package/src/models/methods/serverInfo.ts +0 -9
- package/src/models/methods/serverState.ts +0 -10
- package/src/models/methods/subscribe.ts +21 -0
- package/src/models/transactions/MPTokenIssuanceCreate.ts +33 -10
- package/src/models/transactions/accountSet.ts +2 -0
- package/src/models/transactions/common.ts +236 -1
- package/src/models/transactions/escrowCreate.ts +10 -22
- package/src/models/transactions/escrowFinish.ts +0 -2
- package/src/models/transactions/index.ts +1 -1
- package/src/models/transactions/offerCreate.ts +25 -0
- package/src/models/transactions/payment.ts +18 -6
- package/src/models/transactions/vaultCreate.ts +30 -6
- package/src/models/transactions/vaultDeposit.ts +3 -2
- package/src/models/transactions/vaultWithdraw.ts +3 -2
- package/src/sugar/autofill.ts +25 -39
package/src/sugar/autofill.ts
CHANGED
@@ -19,8 +19,6 @@ const LEDGER_OFFSET = 20
|
|
19
19
|
const RESTRICTED_NETWORKS = 1024
|
20
20
|
const REQUIRED_NETWORKID_VERSION = '1.11.0'
|
21
21
|
|
22
|
-
const MICRO_DROPS_PER_DROP = 1_000_000
|
23
|
-
|
24
22
|
/**
|
25
23
|
* Determines whether the source rippled version is not later than the target rippled version.
|
26
24
|
* Example usage: isNotLaterRippledVersion('1.10.0', '1.11.0') returns true.
|
@@ -260,17 +258,6 @@ async function fetchOwnerReserveFee(client: Client): Promise<BigNumber> {
|
|
260
258
|
return new BigNumber(fee)
|
261
259
|
}
|
262
260
|
|
263
|
-
async function fetchGasPrice(client: Client): Promise<BigNumber> {
|
264
|
-
const response = await client.request({ command: 'server_state' })
|
265
|
-
const gasPrice = response.result.state.validated_ledger?.gas_price
|
266
|
-
|
267
|
-
if (gasPrice == null) {
|
268
|
-
return Promise.reject(new Error('Could not fetch Owner Reserve.'))
|
269
|
-
}
|
270
|
-
|
271
|
-
return new BigNumber(gasPrice)
|
272
|
-
}
|
273
|
-
|
274
261
|
/**
|
275
262
|
* Calculates the fee per transaction type.
|
276
263
|
*
|
@@ -279,40 +266,30 @@ async function fetchGasPrice(client: Client): Promise<BigNumber> {
|
|
279
266
|
* @param [signersCount=0] - The number of signers (default is 0). Only used for multisigning.
|
280
267
|
* @returns A promise that returns the fee.
|
281
268
|
*/
|
282
|
-
|
269
|
+
|
283
270
|
async function calculateFeePerTransactionType(
|
284
271
|
client: Client,
|
285
272
|
tx: Transaction,
|
286
273
|
signersCount = 0,
|
287
274
|
): Promise<BigNumber> {
|
288
275
|
const netFeeXRP = await getFeeXrp(client)
|
289
|
-
const netFeeDrops =
|
290
|
-
let baseFee = netFeeDrops
|
276
|
+
const netFeeDrops = xrpToDrops(netFeeXRP)
|
277
|
+
let baseFee = new BigNumber(netFeeDrops)
|
291
278
|
|
292
279
|
const isSpecialTxCost = ['AccountDelete', 'AMMCreate'].includes(
|
293
280
|
tx.TransactionType,
|
294
281
|
)
|
295
282
|
|
296
|
-
//
|
297
|
-
if (tx.TransactionType === '
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
33 + fulfillmentBytesSize / 16,
|
307
|
-
)
|
308
|
-
}
|
309
|
-
if (tx.ComputationAllowance != null) {
|
310
|
-
const gasPrice = await fetchGasPrice(client)
|
311
|
-
const extraFee: BigNumber = gasPrice
|
312
|
-
.multipliedBy(tx.ComputationAllowance)
|
313
|
-
.dividedBy(MICRO_DROPS_PER_DROP)
|
314
|
-
baseFee = baseFee.plus(extraFee)
|
315
|
-
}
|
283
|
+
// EscrowFinish Transaction with Fulfillment
|
284
|
+
if (tx.TransactionType === 'EscrowFinish' && tx.Fulfillment != null) {
|
285
|
+
const fulfillmentBytesSize: number = Math.ceil(tx.Fulfillment.length / 2)
|
286
|
+
// BaseFee × (33 + (Fulfillment size in bytes / 16))
|
287
|
+
baseFee = new BigNumber(
|
288
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers -- expected use of magic numbers
|
289
|
+
scaleValue(netFeeDrops, 33 + fulfillmentBytesSize / 16),
|
290
|
+
)
|
291
|
+
} else if (isSpecialTxCost) {
|
292
|
+
baseFee = await fetchOwnerReserveFee(client)
|
316
293
|
} else if (tx.TransactionType === 'Batch') {
|
317
294
|
const rawTxFees = await tx.RawTransactions.reduce(async (acc, rawTxn) => {
|
318
295
|
const resolvedAcc = await acc
|
@@ -323,8 +300,6 @@ async function calculateFeePerTransactionType(
|
|
323
300
|
return BigNumber.sum(resolvedAcc, fee)
|
324
301
|
}, Promise.resolve(new BigNumber(0)))
|
325
302
|
baseFee = BigNumber.sum(baseFee.times(2), rawTxFees)
|
326
|
-
} else if (isSpecialTxCost) {
|
327
|
-
baseFee = await fetchOwnerReserveFee(client)
|
328
303
|
}
|
329
304
|
|
330
305
|
/*
|
@@ -332,7 +307,7 @@ async function calculateFeePerTransactionType(
|
|
332
307
|
* BaseFee × (1 + Number of Signatures Provided)
|
333
308
|
*/
|
334
309
|
if (signersCount > 0) {
|
335
|
-
baseFee = BigNumber.sum(baseFee, netFeeDrops
|
310
|
+
baseFee = BigNumber.sum(baseFee, scaleValue(netFeeDrops, signersCount))
|
336
311
|
}
|
337
312
|
|
338
313
|
const maxFeeDrops = xrpToDrops(client.maxFeeXRP)
|
@@ -362,6 +337,17 @@ export async function getTransactionFee(
|
|
362
337
|
tx.Fee = fee.toString(10)
|
363
338
|
}
|
364
339
|
|
340
|
+
/**
|
341
|
+
* Scales the given value by multiplying it with the provided multiplier.
|
342
|
+
*
|
343
|
+
* @param value - The value to be scaled.
|
344
|
+
* @param multiplier - The multiplier to scale the value.
|
345
|
+
* @returns The scaled value as a string.
|
346
|
+
*/
|
347
|
+
function scaleValue(value, multiplier): string {
|
348
|
+
return new BigNumber(value).times(multiplier).toString()
|
349
|
+
}
|
350
|
+
|
365
351
|
/**
|
366
352
|
* Sets the latest validated ledger sequence for the transaction.
|
367
353
|
*
|