xrpl 4.2.0-batch.0 → 4.3.0-smartescrow.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.js +525 -1525
- 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 -5
- package/dist/npm/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/Wallet/index.d.ts.map +1 -1
- package/dist/npm/Wallet/index.js +2 -8
- package/dist/npm/Wallet/index.js.map +1 -1
- package/dist/npm/client/RequestManager.d.ts.map +1 -1
- package/dist/npm/client/RequestManager.js +3 -3
- package/dist/npm/client/RequestManager.js.map +1 -1
- package/dist/npm/client/connection.d.ts.map +1 -1
- package/dist/npm/client/connection.js.map +1 -1
- package/dist/npm/client/index.d.ts.map +1 -1
- package/dist/npm/client/index.js +8 -5
- package/dist/npm/client/index.js.map +1 -1
- package/dist/npm/models/ledger/Credential.d.ts +2 -2
- package/dist/npm/models/ledger/Credential.d.ts.map +1 -1
- package/dist/npm/models/ledger/Escrow.d.ts +2 -0
- package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
- package/dist/npm/models/ledger/FeeSettings.d.ts +2 -0
- package/dist/npm/models/ledger/FeeSettings.d.ts.map +1 -1
- package/dist/npm/models/methods/baseMethod.d.ts +0 -1
- package/dist/npm/models/methods/baseMethod.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMClawback.d.ts +2 -2
- package/dist/npm/models/transactions/AMMClawback.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMDeposit.d.ts +2 -2
- package/dist/npm/models/transactions/AMMDeposit.d.ts.map +1 -1
- package/dist/npm/models/transactions/AMMWithdraw.d.ts +2 -2
- package/dist/npm/models/transactions/AMMWithdraw.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenAuthorize.d.ts +2 -2
- package/dist/npm/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts +2 -2
- package/dist/npm/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts +2 -2
- package/dist/npm/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
- package/dist/npm/models/transactions/NFTokenMint.d.ts +2 -2
- package/dist/npm/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/models/transactions/XChainModifyBridge.d.ts +2 -2
- package/dist/npm/models/transactions/XChainModifyBridge.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountSet.d.ts +2 -2
- package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/models/transactions/common.d.ts +4 -16
- package/dist/npm/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/models/transactions/common.js +10 -28
- package/dist/npm/models/transactions/common.js.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.d.ts +2 -0
- package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/escrowCreate.js +4 -2
- package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/models/transactions/index.d.ts +2 -3
- package/dist/npm/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/models/transactions/index.js.map +1 -1
- package/dist/npm/models/transactions/metadata.d.ts +0 -1
- package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/models/transactions/offerCreate.d.ts +2 -2
- package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/models/transactions/oracleSet.d.ts.map +1 -1
- package/dist/npm/models/transactions/oracleSet.js +17 -3
- package/dist/npm/models/transactions/oracleSet.js.map +1 -1
- package/dist/npm/models/transactions/payment.d.ts +2 -2
- package/dist/npm/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts +2 -2
- package/dist/npm/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/models/transactions/transaction.d.ts +1 -2
- package/dist/npm/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/models/transactions/transaction.js +0 -7
- package/dist/npm/models/transactions/transaction.js.map +1 -1
- package/dist/npm/models/transactions/trustSet.d.ts +2 -2
- package/dist/npm/models/transactions/trustSet.d.ts.map +1 -1
- package/dist/npm/models/utils/flags.d.ts +0 -1
- package/dist/npm/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/models/utils/flags.js +2 -22
- package/dist/npm/models/utils/flags.js.map +1 -1
- 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 -5
- package/dist/npm/src/Wallet/defaultFaucets.js.map +1 -1
- package/dist/npm/src/Wallet/index.d.ts.map +1 -1
- package/dist/npm/src/Wallet/index.js +2 -8
- package/dist/npm/src/Wallet/index.js.map +1 -1
- package/dist/npm/src/client/RequestManager.d.ts.map +1 -1
- package/dist/npm/src/client/RequestManager.js +3 -3
- package/dist/npm/src/client/RequestManager.js.map +1 -1
- package/dist/npm/src/client/connection.d.ts.map +1 -1
- package/dist/npm/src/client/connection.js.map +1 -1
- package/dist/npm/src/client/index.d.ts.map +1 -1
- package/dist/npm/src/client/index.js +8 -5
- package/dist/npm/src/client/index.js.map +1 -1
- package/dist/npm/src/models/ledger/Credential.d.ts +2 -2
- package/dist/npm/src/models/ledger/Credential.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/Escrow.d.ts +2 -0
- package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
- package/dist/npm/src/models/ledger/FeeSettings.d.ts +2 -0
- package/dist/npm/src/models/ledger/FeeSettings.d.ts.map +1 -1
- package/dist/npm/src/models/methods/baseMethod.d.ts +0 -1
- package/dist/npm/src/models/methods/baseMethod.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMClawback.d.ts +2 -2
- package/dist/npm/src/models/transactions/AMMClawback.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMDeposit.d.ts +2 -2
- package/dist/npm/src/models/transactions/AMMDeposit.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/AMMWithdraw.d.ts +2 -2
- package/dist/npm/src/models/transactions/AMMWithdraw.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts +2 -2
- package/dist/npm/src/models/transactions/MPTokenAuthorize.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +2 -2
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts +2 -2
- package/dist/npm/src/models/transactions/MPTokenIssuanceSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts +2 -2
- package/dist/npm/src/models/transactions/NFTokenCreateOffer.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/NFTokenMint.d.ts +2 -2
- package/dist/npm/src/models/transactions/NFTokenMint.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts +2 -2
- package/dist/npm/src/models/transactions/XChainModifyBridge.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.d.ts +2 -2
- package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
- package/dist/npm/src/models/transactions/common.d.ts +4 -16
- package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/common.js +10 -28
- package/dist/npm/src/models/transactions/common.js.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -0
- package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/escrowCreate.js +4 -2
- package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
- package/dist/npm/src/models/transactions/index.d.ts +2 -3
- package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/index.js.map +1 -1
- package/dist/npm/src/models/transactions/metadata.d.ts +0 -1
- package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/offerCreate.d.ts +2 -2
- package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/oracleSet.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/oracleSet.js +17 -3
- package/dist/npm/src/models/transactions/oracleSet.js.map +1 -1
- package/dist/npm/src/models/transactions/payment.d.ts +2 -2
- package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts +2 -2
- package/dist/npm/src/models/transactions/paymentChannelClaim.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/paymentChannelClaim.js.map +1 -1
- package/dist/npm/src/models/transactions/transaction.d.ts +1 -2
- package/dist/npm/src/models/transactions/transaction.d.ts.map +1 -1
- package/dist/npm/src/models/transactions/transaction.js +0 -7
- package/dist/npm/src/models/transactions/transaction.js.map +1 -1
- package/dist/npm/src/models/transactions/trustSet.d.ts +2 -2
- package/dist/npm/src/models/transactions/trustSet.d.ts.map +1 -1
- package/dist/npm/src/models/utils/flags.d.ts +0 -1
- package/dist/npm/src/models/utils/flags.d.ts.map +1 -1
- package/dist/npm/src/models/utils/flags.js +2 -22
- package/dist/npm/src/models/utils/flags.js.map +1 -1
- package/dist/npm/src/sugar/autofill.d.ts +1 -3
- package/dist/npm/src/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/src/sugar/autofill.js +8 -100
- package/dist/npm/src/sugar/autofill.js.map +1 -1
- package/dist/npm/src/sugar/submit.d.ts.map +1 -1
- package/dist/npm/src/sugar/submit.js.map +1 -1
- package/dist/npm/src/utils/hashes/hashLedger.d.ts.map +1 -1
- package/dist/npm/src/utils/hashes/hashLedger.js +1 -4
- package/dist/npm/src/utils/hashes/hashLedger.js.map +1 -1
- package/dist/npm/sugar/autofill.d.ts +1 -3
- package/dist/npm/sugar/autofill.d.ts.map +1 -1
- package/dist/npm/sugar/autofill.js +8 -100
- package/dist/npm/sugar/autofill.js.map +1 -1
- package/dist/npm/sugar/submit.d.ts.map +1 -1
- package/dist/npm/sugar/submit.js.map +1 -1
- package/dist/npm/utils/hashes/hashLedger.d.ts.map +1 -1
- package/dist/npm/utils/hashes/hashLedger.js +1 -4
- package/dist/npm/utils/hashes/hashLedger.js.map +1 -1
- package/package.json +5 -8
- package/src/Wallet/defaultFaucets.ts +0 -6
- package/src/Wallet/index.ts +3 -9
- package/src/client/RequestManager.ts +1 -4
- package/src/client/connection.ts +1 -0
- package/src/client/index.ts +28 -7
- package/src/models/ledger/Credential.ts +2 -2
- package/src/models/ledger/Escrow.ts +4 -0
- package/src/models/ledger/FeeSettings.ts +4 -0
- package/src/models/methods/baseMethod.ts +0 -1
- package/src/models/transactions/AMMClawback.ts +2 -2
- package/src/models/transactions/AMMDeposit.ts +2 -2
- package/src/models/transactions/AMMWithdraw.ts +2 -2
- package/src/models/transactions/MPTokenAuthorize.ts +2 -2
- package/src/models/transactions/MPTokenIssuanceCreate.ts +2 -3
- package/src/models/transactions/MPTokenIssuanceSet.ts +2 -2
- package/src/models/transactions/NFTokenCreateOffer.ts +2 -2
- package/src/models/transactions/NFTokenMint.ts +2 -2
- package/src/models/transactions/XChainModifyBridge.ts +2 -2
- package/src/models/transactions/accountSet.ts +1 -2
- package/src/models/transactions/common.ts +22 -62
- package/src/models/transactions/escrowCreate.ts +10 -2
- package/src/models/transactions/index.ts +3 -3
- package/src/models/transactions/metadata.ts +0 -2
- package/src/models/transactions/offerCreate.ts +2 -2
- package/src/models/transactions/oracleSet.ts +30 -8
- package/src/models/transactions/payment.ts +2 -2
- package/src/models/transactions/paymentChannelClaim.ts +2 -3
- package/src/models/transactions/transaction.ts +0 -15
- package/src/models/transactions/trustSet.ts +2 -2
- package/src/models/utils/flags.ts +1 -30
- package/src/sugar/autofill.ts +15 -140
- package/src/sugar/submit.ts +2 -1
- package/src/utils/hashes/hashLedger.ts +2 -5
- package/build/xrpl-latest-min.js +0 -3
- package/build/xrpl-latest-min.js.map +0 -1
- package/dist/npm/Wallet/batchSigner.d.ts +0 -8
- package/dist/npm/Wallet/batchSigner.d.ts.map +0 -1
- package/dist/npm/Wallet/batchSigner.js +0 -124
- package/dist/npm/Wallet/batchSigner.js.map +0 -1
- package/dist/npm/models/transactions/batch.d.ts +0 -39
- package/dist/npm/models/transactions/batch.d.ts.map +0 -1
- package/dist/npm/models/transactions/batch.js +0 -62
- package/dist/npm/models/transactions/batch.js.map +0 -1
- package/dist/npm/src/Wallet/batchSigner.d.ts +0 -8
- package/dist/npm/src/Wallet/batchSigner.d.ts.map +0 -1
- package/dist/npm/src/Wallet/batchSigner.js +0 -124
- package/dist/npm/src/Wallet/batchSigner.js.map +0 -1
- package/dist/npm/src/models/transactions/batch.d.ts +0 -39
- package/dist/npm/src/models/transactions/batch.d.ts.map +0 -1
- package/dist/npm/src/models/transactions/batch.js +0 -62
- package/dist/npm/src/models/transactions/batch.js.map +0 -1
- package/src/Wallet/batchSigner.ts +0 -222
- package/src/models/transactions/batch.ts +0 -147
@@ -1,8 +0,0 @@
|
|
1
|
-
import { Batch } from '../models';
|
2
|
-
import { Wallet } from '.';
|
3
|
-
export declare function signMultiBatch(wallet: Wallet, transaction: Batch, opts?: {
|
4
|
-
batchAccount?: string;
|
5
|
-
multisign?: boolean | string;
|
6
|
-
}): void;
|
7
|
-
export declare function combineBatchSigners(transactions: Array<Batch | string>): string;
|
8
|
-
//# sourceMappingURL=batchSigner.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batchSigner.d.ts","sourceRoot":"","sources":["../../../src/Wallet/batchSigner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAyB,MAAM,WAAW,CAAA;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAA;AAc1B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,KAAK,EAClB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAO,GACjE,IAAI,CAmEN;AAYD,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAClC,MAAM,CAmCR"}
|
@@ -1,124 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.combineBatchSigners = exports.signMultiBatch = void 0;
|
7
|
-
const utils_1 = require("@xrplf/isomorphic/utils");
|
8
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
9
|
-
const ripple_address_codec_1 = require("ripple-address-codec");
|
10
|
-
const ripple_binary_codec_1 = require("ripple-binary-codec");
|
11
|
-
const ripple_keypairs_1 = require("ripple-keypairs");
|
12
|
-
const errors_1 = require("../errors");
|
13
|
-
const models_1 = require("../models");
|
14
|
-
const batch_1 = require("../models/transactions/batch");
|
15
|
-
const hashes_1 = require("../utils/hashes");
|
16
|
-
function signMultiBatch(wallet, transaction, opts = {}) {
|
17
|
-
var _a;
|
18
|
-
const batchAccount = (_a = opts.batchAccount) !== null && _a !== void 0 ? _a : wallet.classicAddress;
|
19
|
-
let multisignAddress = false;
|
20
|
-
if (typeof opts.multisign === 'string') {
|
21
|
-
multisignAddress = opts.multisign;
|
22
|
-
}
|
23
|
-
else if (opts.multisign) {
|
24
|
-
multisignAddress = wallet.classicAddress;
|
25
|
-
}
|
26
|
-
if (transaction.TransactionType !== 'Batch') {
|
27
|
-
throw new errors_1.ValidationError('Must be a Batch transaction.');
|
28
|
-
}
|
29
|
-
const involvedAccounts = transaction.RawTransactions.map((raw) => raw.RawTransaction.Account);
|
30
|
-
if (!involvedAccounts.includes(batchAccount)) {
|
31
|
-
throw new errors_1.ValidationError('Must be signing for an address included in the Batch.');
|
32
|
-
}
|
33
|
-
(0, models_1.validate)(transaction);
|
34
|
-
const fieldsToSign = {
|
35
|
-
flags: transaction.Flags,
|
36
|
-
txIDs: transaction.RawTransactions.map((rawTx) => (0, hashes_1.hashSignedTx)(rawTx.RawTransaction)),
|
37
|
-
};
|
38
|
-
let batchSigner;
|
39
|
-
if (multisignAddress) {
|
40
|
-
batchSigner = {
|
41
|
-
BatchSigner: {
|
42
|
-
Account: batchAccount,
|
43
|
-
Signers: [
|
44
|
-
{
|
45
|
-
Signer: {
|
46
|
-
Account: multisignAddress,
|
47
|
-
SigningPubKey: wallet.publicKey,
|
48
|
-
TxnSignature: (0, ripple_keypairs_1.sign)((0, ripple_binary_codec_1.encodeForSigningBatch)(fieldsToSign), wallet.privateKey),
|
49
|
-
},
|
50
|
-
},
|
51
|
-
],
|
52
|
-
},
|
53
|
-
};
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
batchSigner = {
|
57
|
-
BatchSigner: {
|
58
|
-
Account: batchAccount,
|
59
|
-
SigningPubKey: wallet.publicKey,
|
60
|
-
TxnSignature: (0, ripple_keypairs_1.sign)((0, ripple_binary_codec_1.encodeForSigningBatch)(fieldsToSign), wallet.privateKey),
|
61
|
-
},
|
62
|
-
};
|
63
|
-
}
|
64
|
-
transaction.BatchSigners = [batchSigner];
|
65
|
-
}
|
66
|
-
exports.signMultiBatch = signMultiBatch;
|
67
|
-
function combineBatchSigners(transactions) {
|
68
|
-
if (transactions.length === 0) {
|
69
|
-
throw new errors_1.ValidationError('There are 0 transactions to combine.');
|
70
|
-
}
|
71
|
-
const decodedTransactions = transactions.map((txOrBlob) => {
|
72
|
-
return getDecodedTransaction(txOrBlob);
|
73
|
-
});
|
74
|
-
decodedTransactions.forEach((tx) => {
|
75
|
-
if (tx.TransactionType !== 'Batch') {
|
76
|
-
throw new errors_1.ValidationError('TransactionType must be `Batch`.');
|
77
|
-
}
|
78
|
-
(0, batch_1.validateBatch)(tx);
|
79
|
-
if (tx.BatchSigners == null || tx.BatchSigners.length === 0) {
|
80
|
-
throw new errors_1.ValidationError('For combining Batch transaction signatures, all transactions must include a BatchSigners field containing an array of signatures.');
|
81
|
-
}
|
82
|
-
if (tx.TxnSignature != null || tx.Signers != null) {
|
83
|
-
throw new errors_1.ValidationError('Batch transaction must be unsigned.');
|
84
|
-
}
|
85
|
-
});
|
86
|
-
const batchTransactions = decodedTransactions;
|
87
|
-
validateBatchTransactionEquivalence(batchTransactions);
|
88
|
-
return (0, ripple_binary_codec_1.encode)(getTransactionWithAllBatchSigners(batchTransactions));
|
89
|
-
}
|
90
|
-
exports.combineBatchSigners = combineBatchSigners;
|
91
|
-
function validateBatchTransactionEquivalence(transactions) {
|
92
|
-
const exampleTransaction = JSON.stringify({
|
93
|
-
flags: transactions[0].Flags,
|
94
|
-
transactionIDs: transactions[0].RawTransactions.map((rawTx) => (0, hashes_1.hashSignedTx)(rawTx.RawTransaction)),
|
95
|
-
});
|
96
|
-
if (transactions.slice(1).some((tx) => JSON.stringify({
|
97
|
-
flags: tx.Flags,
|
98
|
-
transactionIDs: tx.RawTransactions.map((rawTx) => (0, hashes_1.hashSignedTx)(rawTx.RawTransaction)),
|
99
|
-
}) !== exampleTransaction)) {
|
100
|
-
throw new errors_1.ValidationError('Flags and transaction hashes are not the same for all provided transactions.');
|
101
|
-
}
|
102
|
-
}
|
103
|
-
function getTransactionWithAllBatchSigners(transactions) {
|
104
|
-
const sortedSigners = transactions
|
105
|
-
.flatMap((tx) => { var _a; return (_a = tx.BatchSigners) !== null && _a !== void 0 ? _a : []; })
|
106
|
-
.filter((signer) => signer.BatchSigner.Account !== transactions[0].Account)
|
107
|
-
.sort(compareBatchSigners);
|
108
|
-
return Object.assign(Object.assign({}, transactions[0]), { BatchSigners: sortedSigners });
|
109
|
-
}
|
110
|
-
function compareBatchSigners(left, right) {
|
111
|
-
return addressToBigNumber(left.BatchSigner.Account).comparedTo(addressToBigNumber(right.BatchSigner.Account));
|
112
|
-
}
|
113
|
-
const NUM_BITS_IN_HEX = 16;
|
114
|
-
function addressToBigNumber(address) {
|
115
|
-
const hex = (0, utils_1.bytesToHex)((0, ripple_address_codec_1.decodeAccountID)(address));
|
116
|
-
return new bignumber_js_1.default(hex, NUM_BITS_IN_HEX);
|
117
|
-
}
|
118
|
-
function getDecodedTransaction(txOrBlob) {
|
119
|
-
if (typeof txOrBlob === 'object') {
|
120
|
-
return (0, ripple_binary_codec_1.decode)((0, ripple_binary_codec_1.encode)(txOrBlob));
|
121
|
-
}
|
122
|
-
return (0, ripple_binary_codec_1.decode)(txOrBlob);
|
123
|
-
}
|
124
|
-
//# sourceMappingURL=batchSigner.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batchSigner.js","sourceRoot":"","sources":["../../../src/Wallet/batchSigner.ts"],"names":[],"mappings":"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"}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import { Signer } from '../common';
|
2
|
-
import { BaseTransaction, GlobalFlagsInterface } from './common';
|
3
|
-
import type { SubmittableTransaction } from './transaction';
|
4
|
-
export declare enum BatchFlags {
|
5
|
-
tfAllOrNothing = 65536,
|
6
|
-
tfOnlyOne = 131072,
|
7
|
-
tfUntilFailure = 262144,
|
8
|
-
tfIndependent = 524288
|
9
|
-
}
|
10
|
-
export interface BatchFlagsInterface extends GlobalFlagsInterface {
|
11
|
-
tfAllOrNothing?: boolean;
|
12
|
-
tfOnlyOne?: boolean;
|
13
|
-
tfUntilFailure?: boolean;
|
14
|
-
tfIndependent?: boolean;
|
15
|
-
}
|
16
|
-
export type BatchInnerTransaction = SubmittableTransaction & {
|
17
|
-
Fee?: '0';
|
18
|
-
SigningPubKey?: '';
|
19
|
-
TxnSignature?: never;
|
20
|
-
Signers?: never;
|
21
|
-
LastLedgerSequence?: never;
|
22
|
-
};
|
23
|
-
export interface BatchSigner {
|
24
|
-
BatchSigner: {
|
25
|
-
Account: string;
|
26
|
-
SigningPubKey?: string;
|
27
|
-
TxnSignature?: string;
|
28
|
-
Signers?: Signer[];
|
29
|
-
};
|
30
|
-
}
|
31
|
-
export interface Batch extends BaseTransaction {
|
32
|
-
TransactionType: 'Batch';
|
33
|
-
BatchSigners?: BatchSigner[];
|
34
|
-
RawTransactions: Array<{
|
35
|
-
RawTransaction: BatchInnerTransaction;
|
36
|
-
}>;
|
37
|
-
}
|
38
|
-
export declare function validateBatch(tx: Record<string, unknown>): void;
|
39
|
-
//# sourceMappingURL=batch.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../src/models/transactions/batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EACL,eAAe,EACf,oBAAoB,EAOrB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAO3D,oBAAY,UAAU;IACpB,cAAc,QAAa;IAC3B,SAAS,SAAa;IACtB,cAAc,SAAa;IAC3B,aAAa,SAAa;CAC3B;AAQD,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC3D,GAAG,CAAC,EAAE,GAAG,CAAA;IAET,aAAa,CAAC,EAAE,EAAE,CAAA;IAElB,YAAY,CAAC,EAAE,KAAK,CAAA;IAEpB,OAAO,CAAC,EAAE,KAAK,CAAA;IAEf,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAC3B,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,CAAA;QAEf,aAAa,CAAC,EAAE,MAAM,CAAA;QAEtB,YAAY,CAAC,EAAE,MAAM,CAAA;QAErB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF;AAKD,MAAM,WAAW,KAAM,SAAQ,eAAe;IAC5C,eAAe,EAAE,OAAO,CAAA;IAExB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAE5B,eAAe,EAAE,KAAK,CAAC;QACrB,cAAc,EAAE,qBAAqB,CAAA;KACtC,CAAC,CAAA;CACH;AASD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA8D/D"}
|
@@ -1,62 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.validateBatch = exports.BatchFlags = void 0;
|
4
|
-
const errors_1 = require("../../errors");
|
5
|
-
const common_1 = require("./common");
|
6
|
-
var BatchFlags;
|
7
|
-
(function (BatchFlags) {
|
8
|
-
BatchFlags[BatchFlags["tfAllOrNothing"] = 65536] = "tfAllOrNothing";
|
9
|
-
BatchFlags[BatchFlags["tfOnlyOne"] = 131072] = "tfOnlyOne";
|
10
|
-
BatchFlags[BatchFlags["tfUntilFailure"] = 262144] = "tfUntilFailure";
|
11
|
-
BatchFlags[BatchFlags["tfIndependent"] = 524288] = "tfIndependent";
|
12
|
-
})(BatchFlags || (exports.BatchFlags = BatchFlags = {}));
|
13
|
-
function validateBatch(tx) {
|
14
|
-
(0, common_1.validateBaseTransaction)(tx);
|
15
|
-
(0, common_1.validateRequiredField)(tx, 'RawTransactions', common_1.isArray);
|
16
|
-
const rawTransactions = tx.RawTransactions;
|
17
|
-
rawTransactions.forEach((rawTxObj, index) => {
|
18
|
-
if (!(0, common_1.isObject)(rawTxObj)) {
|
19
|
-
throw new errors_1.ValidationError(`Batch: RawTransactions[${index}] is not object.`);
|
20
|
-
}
|
21
|
-
const rawTxRecord = rawTxObj;
|
22
|
-
(0, common_1.validateRequiredField)(rawTxRecord, 'RawTransaction', common_1.isObject, {
|
23
|
-
paramName: `RawTransactions[${index}].RawTransaction`,
|
24
|
-
txType: 'Batch',
|
25
|
-
});
|
26
|
-
const rawTx = rawTxRecord.RawTransaction;
|
27
|
-
if (rawTx.TransactionType === 'Batch') {
|
28
|
-
throw new errors_1.ValidationError(`Batch: RawTransactions[${index}] is a Batch transaction. Cannot nest Batch transactions.`);
|
29
|
-
}
|
30
|
-
});
|
31
|
-
(0, common_1.validateOptionalField)(tx, 'BatchSigners', common_1.isArray);
|
32
|
-
const batchSigners = tx.BatchSigners;
|
33
|
-
batchSigners === null || batchSigners === void 0 ? void 0 : batchSigners.forEach((signerObj, index) => {
|
34
|
-
if (!(0, common_1.isObject)(signerObj)) {
|
35
|
-
throw new errors_1.ValidationError(`Batch: BatchSigners[${index}] is not object.`);
|
36
|
-
}
|
37
|
-
const signerRecord = signerObj;
|
38
|
-
(0, common_1.validateRequiredField)(signerRecord, 'BatchSigner', common_1.isObject, {
|
39
|
-
paramName: `BatchSigners[${index}].BatchSigner`,
|
40
|
-
txType: 'Batch',
|
41
|
-
});
|
42
|
-
const signer = signerRecord.BatchSigner;
|
43
|
-
(0, common_1.validateRequiredField)(signer, 'Account', common_1.isString, {
|
44
|
-
paramName: `BatchSigners[${index}].Account`,
|
45
|
-
txType: 'Batch',
|
46
|
-
});
|
47
|
-
(0, common_1.validateOptionalField)(signer, 'SigningPubKey', common_1.isString, {
|
48
|
-
paramName: `BatchSigners[${index}].SigningPubKey`,
|
49
|
-
txType: 'Batch',
|
50
|
-
});
|
51
|
-
(0, common_1.validateOptionalField)(signer, 'TxnSignature', common_1.isString, {
|
52
|
-
paramName: `BatchSigners[${index}].TxnSignature`,
|
53
|
-
txType: 'Batch',
|
54
|
-
});
|
55
|
-
(0, common_1.validateOptionalField)(signer, 'Signers', common_1.isArray, {
|
56
|
-
paramName: `BatchSigners[${index}].Signers`,
|
57
|
-
txType: 'Batch',
|
58
|
-
});
|
59
|
-
});
|
60
|
-
}
|
61
|
-
exports.validateBatch = validateBatch;
|
62
|
-
//# sourceMappingURL=batch.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../../src/models/transactions/batch.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAG9C,qCASiB;AAQjB,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mEAA2B,CAAA;IAC3B,0DAAsB,CAAA;IACtB,oEAA2B,CAAA;IAC3B,kEAA0B,CAAA;AAC5B,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AA2DD,SAAgB,aAAa,CAAC,EAA2B;IACvD,IAAA,gCAAuB,EAAC,EAAE,CAAC,CAAA;IAE3B,IAAA,8BAAqB,EAAC,EAAE,EAAE,iBAAiB,EAAE,gBAAO,CAAC,CAAA;IAErD,MAAM,eAAe,GAAG,EAAE,CAAC,eAA4B,CAAA;IACvD,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC1C,IAAI,CAAC,IAAA,iBAAQ,EAAC,QAAQ,CAAC,EAAE;YACvB,MAAM,IAAI,wBAAe,CACvB,0BAA0B,KAAK,kBAAkB,CAClD,CAAA;SACF;QAED,MAAM,WAAW,GAAG,QAAmC,CAAA;QACvD,IAAA,8BAAqB,EAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAQ,EAAE;YAC7D,SAAS,EAAE,mBAAmB,KAAK,kBAAkB;YACrD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QAGF,MAAM,KAAK,GAAG,WAAW,CAAC,cAAyC,CAAA;QACnE,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,EAAE;YACrC,MAAM,IAAI,wBAAe,CACvB,0BAA0B,KAAK,2DAA2D,CAC3F,CAAA;SACF;IACH,CAAC,CAAC,CAAA;IAGF,IAAA,8BAAqB,EAAC,EAAE,EAAE,cAAc,EAAE,gBAAO,CAAC,CAAA;IAGlD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAqC,CAAA;IAC7D,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzC,IAAI,CAAC,IAAA,iBAAQ,EAAC,SAAS,CAAC,EAAE;YACxB,MAAM,IAAI,wBAAe,CAAC,uBAAuB,KAAK,kBAAkB,CAAC,CAAA;SAC1E;QAED,MAAM,YAAY,GAAG,SAAoC,CAAA;QACzD,IAAA,8BAAqB,EAAC,YAAY,EAAE,aAAa,EAAE,iBAAQ,EAAE;YAC3D,SAAS,EAAE,gBAAgB,KAAK,eAAe;YAC/C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,WAAsC,CAAA;QAClE,IAAA,8BAAqB,EAAC,MAAM,EAAE,SAAS,EAAE,iBAAQ,EAAE;YACjD,SAAS,EAAE,gBAAgB,KAAK,WAAW;YAC3C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,IAAA,8BAAqB,EAAC,MAAM,EAAE,eAAe,EAAE,iBAAQ,EAAE;YACvD,SAAS,EAAE,gBAAgB,KAAK,iBAAiB;YACjD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,IAAA,8BAAqB,EAAC,MAAM,EAAE,cAAc,EAAE,iBAAQ,EAAE;YACtD,SAAS,EAAE,gBAAgB,KAAK,gBAAgB;YAChD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,IAAA,8BAAqB,EAAC,MAAM,EAAE,SAAS,EAAE,gBAAO,EAAE;YAChD,SAAS,EAAE,gBAAgB,KAAK,WAAW;YAC3C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AA9DD,sCA8DC"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import { Batch } from '../models';
|
2
|
-
import { Wallet } from '.';
|
3
|
-
export declare function signMultiBatch(wallet: Wallet, transaction: Batch, opts?: {
|
4
|
-
batchAccount?: string;
|
5
|
-
multisign?: boolean | string;
|
6
|
-
}): void;
|
7
|
-
export declare function combineBatchSigners(transactions: Array<Batch | string>): string;
|
8
|
-
//# sourceMappingURL=batchSigner.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batchSigner.d.ts","sourceRoot":"","sources":["../../../../src/Wallet/batchSigner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAyB,MAAM,WAAW,CAAA;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAA;AAc1B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,KAAK,EAClB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAO,GACjE,IAAI,CAmEN;AAYD,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAClC,MAAM,CAmCR"}
|
@@ -1,124 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.combineBatchSigners = exports.signMultiBatch = void 0;
|
7
|
-
const utils_1 = require("@xrplf/isomorphic/utils");
|
8
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
9
|
-
const ripple_address_codec_1 = require("ripple-address-codec");
|
10
|
-
const ripple_binary_codec_1 = require("ripple-binary-codec");
|
11
|
-
const ripple_keypairs_1 = require("ripple-keypairs");
|
12
|
-
const errors_1 = require("../errors");
|
13
|
-
const models_1 = require("../models");
|
14
|
-
const batch_1 = require("../models/transactions/batch");
|
15
|
-
const hashes_1 = require("../utils/hashes");
|
16
|
-
function signMultiBatch(wallet, transaction, opts = {}) {
|
17
|
-
var _a;
|
18
|
-
const batchAccount = (_a = opts.batchAccount) !== null && _a !== void 0 ? _a : wallet.classicAddress;
|
19
|
-
let multisignAddress = false;
|
20
|
-
if (typeof opts.multisign === 'string') {
|
21
|
-
multisignAddress = opts.multisign;
|
22
|
-
}
|
23
|
-
else if (opts.multisign) {
|
24
|
-
multisignAddress = wallet.classicAddress;
|
25
|
-
}
|
26
|
-
if (transaction.TransactionType !== 'Batch') {
|
27
|
-
throw new errors_1.ValidationError('Must be a Batch transaction.');
|
28
|
-
}
|
29
|
-
const involvedAccounts = transaction.RawTransactions.map((raw) => raw.RawTransaction.Account);
|
30
|
-
if (!involvedAccounts.includes(batchAccount)) {
|
31
|
-
throw new errors_1.ValidationError('Must be signing for an address included in the Batch.');
|
32
|
-
}
|
33
|
-
(0, models_1.validate)(transaction);
|
34
|
-
const fieldsToSign = {
|
35
|
-
flags: transaction.Flags,
|
36
|
-
txIDs: transaction.RawTransactions.map((rawTx) => (0, hashes_1.hashSignedTx)(rawTx.RawTransaction)),
|
37
|
-
};
|
38
|
-
let batchSigner;
|
39
|
-
if (multisignAddress) {
|
40
|
-
batchSigner = {
|
41
|
-
BatchSigner: {
|
42
|
-
Account: batchAccount,
|
43
|
-
Signers: [
|
44
|
-
{
|
45
|
-
Signer: {
|
46
|
-
Account: multisignAddress,
|
47
|
-
SigningPubKey: wallet.publicKey,
|
48
|
-
TxnSignature: (0, ripple_keypairs_1.sign)((0, ripple_binary_codec_1.encodeForSigningBatch)(fieldsToSign), wallet.privateKey),
|
49
|
-
},
|
50
|
-
},
|
51
|
-
],
|
52
|
-
},
|
53
|
-
};
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
batchSigner = {
|
57
|
-
BatchSigner: {
|
58
|
-
Account: batchAccount,
|
59
|
-
SigningPubKey: wallet.publicKey,
|
60
|
-
TxnSignature: (0, ripple_keypairs_1.sign)((0, ripple_binary_codec_1.encodeForSigningBatch)(fieldsToSign), wallet.privateKey),
|
61
|
-
},
|
62
|
-
};
|
63
|
-
}
|
64
|
-
transaction.BatchSigners = [batchSigner];
|
65
|
-
}
|
66
|
-
exports.signMultiBatch = signMultiBatch;
|
67
|
-
function combineBatchSigners(transactions) {
|
68
|
-
if (transactions.length === 0) {
|
69
|
-
throw new errors_1.ValidationError('There are 0 transactions to combine.');
|
70
|
-
}
|
71
|
-
const decodedTransactions = transactions.map((txOrBlob) => {
|
72
|
-
return getDecodedTransaction(txOrBlob);
|
73
|
-
});
|
74
|
-
decodedTransactions.forEach((tx) => {
|
75
|
-
if (tx.TransactionType !== 'Batch') {
|
76
|
-
throw new errors_1.ValidationError('TransactionType must be `Batch`.');
|
77
|
-
}
|
78
|
-
(0, batch_1.validateBatch)(tx);
|
79
|
-
if (tx.BatchSigners == null || tx.BatchSigners.length === 0) {
|
80
|
-
throw new errors_1.ValidationError('For combining Batch transaction signatures, all transactions must include a BatchSigners field containing an array of signatures.');
|
81
|
-
}
|
82
|
-
if (tx.TxnSignature != null || tx.Signers != null) {
|
83
|
-
throw new errors_1.ValidationError('Batch transaction must be unsigned.');
|
84
|
-
}
|
85
|
-
});
|
86
|
-
const batchTransactions = decodedTransactions;
|
87
|
-
validateBatchTransactionEquivalence(batchTransactions);
|
88
|
-
return (0, ripple_binary_codec_1.encode)(getTransactionWithAllBatchSigners(batchTransactions));
|
89
|
-
}
|
90
|
-
exports.combineBatchSigners = combineBatchSigners;
|
91
|
-
function validateBatchTransactionEquivalence(transactions) {
|
92
|
-
const exampleTransaction = JSON.stringify({
|
93
|
-
flags: transactions[0].Flags,
|
94
|
-
transactionIDs: transactions[0].RawTransactions.map((rawTx) => (0, hashes_1.hashSignedTx)(rawTx.RawTransaction)),
|
95
|
-
});
|
96
|
-
if (transactions.slice(1).some((tx) => JSON.stringify({
|
97
|
-
flags: tx.Flags,
|
98
|
-
transactionIDs: tx.RawTransactions.map((rawTx) => (0, hashes_1.hashSignedTx)(rawTx.RawTransaction)),
|
99
|
-
}) !== exampleTransaction)) {
|
100
|
-
throw new errors_1.ValidationError('Flags and transaction hashes are not the same for all provided transactions.');
|
101
|
-
}
|
102
|
-
}
|
103
|
-
function getTransactionWithAllBatchSigners(transactions) {
|
104
|
-
const sortedSigners = transactions
|
105
|
-
.flatMap((tx) => { var _a; return (_a = tx.BatchSigners) !== null && _a !== void 0 ? _a : []; })
|
106
|
-
.filter((signer) => signer.BatchSigner.Account !== transactions[0].Account)
|
107
|
-
.sort(compareBatchSigners);
|
108
|
-
return Object.assign(Object.assign({}, transactions[0]), { BatchSigners: sortedSigners });
|
109
|
-
}
|
110
|
-
function compareBatchSigners(left, right) {
|
111
|
-
return addressToBigNumber(left.BatchSigner.Account).comparedTo(addressToBigNumber(right.BatchSigner.Account));
|
112
|
-
}
|
113
|
-
const NUM_BITS_IN_HEX = 16;
|
114
|
-
function addressToBigNumber(address) {
|
115
|
-
const hex = (0, utils_1.bytesToHex)((0, ripple_address_codec_1.decodeAccountID)(address));
|
116
|
-
return new bignumber_js_1.default(hex, NUM_BITS_IN_HEX);
|
117
|
-
}
|
118
|
-
function getDecodedTransaction(txOrBlob) {
|
119
|
-
if (typeof txOrBlob === 'object') {
|
120
|
-
return (0, ripple_binary_codec_1.decode)((0, ripple_binary_codec_1.encode)(txOrBlob));
|
121
|
-
}
|
122
|
-
return (0, ripple_binary_codec_1.decode)(txOrBlob);
|
123
|
-
}
|
124
|
-
//# sourceMappingURL=batchSigner.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batchSigner.js","sourceRoot":"","sources":["../../../../src/Wallet/batchSigner.ts"],"names":[],"mappings":"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"}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import { Signer } from '../common';
|
2
|
-
import { BaseTransaction, GlobalFlagsInterface } from './common';
|
3
|
-
import type { SubmittableTransaction } from './transaction';
|
4
|
-
export declare enum BatchFlags {
|
5
|
-
tfAllOrNothing = 65536,
|
6
|
-
tfOnlyOne = 131072,
|
7
|
-
tfUntilFailure = 262144,
|
8
|
-
tfIndependent = 524288
|
9
|
-
}
|
10
|
-
export interface BatchFlagsInterface extends GlobalFlagsInterface {
|
11
|
-
tfAllOrNothing?: boolean;
|
12
|
-
tfOnlyOne?: boolean;
|
13
|
-
tfUntilFailure?: boolean;
|
14
|
-
tfIndependent?: boolean;
|
15
|
-
}
|
16
|
-
export type BatchInnerTransaction = SubmittableTransaction & {
|
17
|
-
Fee?: '0';
|
18
|
-
SigningPubKey?: '';
|
19
|
-
TxnSignature?: never;
|
20
|
-
Signers?: never;
|
21
|
-
LastLedgerSequence?: never;
|
22
|
-
};
|
23
|
-
export interface BatchSigner {
|
24
|
-
BatchSigner: {
|
25
|
-
Account: string;
|
26
|
-
SigningPubKey?: string;
|
27
|
-
TxnSignature?: string;
|
28
|
-
Signers?: Signer[];
|
29
|
-
};
|
30
|
-
}
|
31
|
-
export interface Batch extends BaseTransaction {
|
32
|
-
TransactionType: 'Batch';
|
33
|
-
BatchSigners?: BatchSigner[];
|
34
|
-
RawTransactions: Array<{
|
35
|
-
RawTransaction: BatchInnerTransaction;
|
36
|
-
}>;
|
37
|
-
}
|
38
|
-
export declare function validateBatch(tx: Record<string, unknown>): void;
|
39
|
-
//# sourceMappingURL=batch.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../../src/models/transactions/batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EACL,eAAe,EACf,oBAAoB,EAOrB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAO3D,oBAAY,UAAU;IACpB,cAAc,QAAa;IAC3B,SAAS,SAAa;IACtB,cAAc,SAAa;IAC3B,aAAa,SAAa;CAC3B;AAQD,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC3D,GAAG,CAAC,EAAE,GAAG,CAAA;IAET,aAAa,CAAC,EAAE,EAAE,CAAA;IAElB,YAAY,CAAC,EAAE,KAAK,CAAA;IAEpB,OAAO,CAAC,EAAE,KAAK,CAAA;IAEf,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAC3B,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,CAAA;QAEf,aAAa,CAAC,EAAE,MAAM,CAAA;QAEtB,YAAY,CAAC,EAAE,MAAM,CAAA;QAErB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF;AAKD,MAAM,WAAW,KAAM,SAAQ,eAAe;IAC5C,eAAe,EAAE,OAAO,CAAA;IAExB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAE5B,eAAe,EAAE,KAAK,CAAC;QACrB,cAAc,EAAE,qBAAqB,CAAA;KACtC,CAAC,CAAA;CACH;AASD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA8D/D"}
|
@@ -1,62 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.validateBatch = exports.BatchFlags = void 0;
|
4
|
-
const errors_1 = require("../../errors");
|
5
|
-
const common_1 = require("./common");
|
6
|
-
var BatchFlags;
|
7
|
-
(function (BatchFlags) {
|
8
|
-
BatchFlags[BatchFlags["tfAllOrNothing"] = 65536] = "tfAllOrNothing";
|
9
|
-
BatchFlags[BatchFlags["tfOnlyOne"] = 131072] = "tfOnlyOne";
|
10
|
-
BatchFlags[BatchFlags["tfUntilFailure"] = 262144] = "tfUntilFailure";
|
11
|
-
BatchFlags[BatchFlags["tfIndependent"] = 524288] = "tfIndependent";
|
12
|
-
})(BatchFlags || (exports.BatchFlags = BatchFlags = {}));
|
13
|
-
function validateBatch(tx) {
|
14
|
-
(0, common_1.validateBaseTransaction)(tx);
|
15
|
-
(0, common_1.validateRequiredField)(tx, 'RawTransactions', common_1.isArray);
|
16
|
-
const rawTransactions = tx.RawTransactions;
|
17
|
-
rawTransactions.forEach((rawTxObj, index) => {
|
18
|
-
if (!(0, common_1.isObject)(rawTxObj)) {
|
19
|
-
throw new errors_1.ValidationError(`Batch: RawTransactions[${index}] is not object.`);
|
20
|
-
}
|
21
|
-
const rawTxRecord = rawTxObj;
|
22
|
-
(0, common_1.validateRequiredField)(rawTxRecord, 'RawTransaction', common_1.isObject, {
|
23
|
-
paramName: `RawTransactions[${index}].RawTransaction`,
|
24
|
-
txType: 'Batch',
|
25
|
-
});
|
26
|
-
const rawTx = rawTxRecord.RawTransaction;
|
27
|
-
if (rawTx.TransactionType === 'Batch') {
|
28
|
-
throw new errors_1.ValidationError(`Batch: RawTransactions[${index}] is a Batch transaction. Cannot nest Batch transactions.`);
|
29
|
-
}
|
30
|
-
});
|
31
|
-
(0, common_1.validateOptionalField)(tx, 'BatchSigners', common_1.isArray);
|
32
|
-
const batchSigners = tx.BatchSigners;
|
33
|
-
batchSigners === null || batchSigners === void 0 ? void 0 : batchSigners.forEach((signerObj, index) => {
|
34
|
-
if (!(0, common_1.isObject)(signerObj)) {
|
35
|
-
throw new errors_1.ValidationError(`Batch: BatchSigners[${index}] is not object.`);
|
36
|
-
}
|
37
|
-
const signerRecord = signerObj;
|
38
|
-
(0, common_1.validateRequiredField)(signerRecord, 'BatchSigner', common_1.isObject, {
|
39
|
-
paramName: `BatchSigners[${index}].BatchSigner`,
|
40
|
-
txType: 'Batch',
|
41
|
-
});
|
42
|
-
const signer = signerRecord.BatchSigner;
|
43
|
-
(0, common_1.validateRequiredField)(signer, 'Account', common_1.isString, {
|
44
|
-
paramName: `BatchSigners[${index}].Account`,
|
45
|
-
txType: 'Batch',
|
46
|
-
});
|
47
|
-
(0, common_1.validateOptionalField)(signer, 'SigningPubKey', common_1.isString, {
|
48
|
-
paramName: `BatchSigners[${index}].SigningPubKey`,
|
49
|
-
txType: 'Batch',
|
50
|
-
});
|
51
|
-
(0, common_1.validateOptionalField)(signer, 'TxnSignature', common_1.isString, {
|
52
|
-
paramName: `BatchSigners[${index}].TxnSignature`,
|
53
|
-
txType: 'Batch',
|
54
|
-
});
|
55
|
-
(0, common_1.validateOptionalField)(signer, 'Signers', common_1.isArray, {
|
56
|
-
paramName: `BatchSigners[${index}].Signers`,
|
57
|
-
txType: 'Batch',
|
58
|
-
});
|
59
|
-
});
|
60
|
-
}
|
61
|
-
exports.validateBatch = validateBatch;
|
62
|
-
//# sourceMappingURL=batch.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../../../src/models/transactions/batch.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAG9C,qCASiB;AAQjB,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mEAA2B,CAAA;IAC3B,0DAAsB,CAAA;IACtB,oEAA2B,CAAA;IAC3B,kEAA0B,CAAA;AAC5B,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AA2DD,SAAgB,aAAa,CAAC,EAA2B;IACvD,IAAA,gCAAuB,EAAC,EAAE,CAAC,CAAA;IAE3B,IAAA,8BAAqB,EAAC,EAAE,EAAE,iBAAiB,EAAE,gBAAO,CAAC,CAAA;IAErD,MAAM,eAAe,GAAG,EAAE,CAAC,eAA4B,CAAA;IACvD,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC1C,IAAI,CAAC,IAAA,iBAAQ,EAAC,QAAQ,CAAC,EAAE;YACvB,MAAM,IAAI,wBAAe,CACvB,0BAA0B,KAAK,kBAAkB,CAClD,CAAA;SACF;QAED,MAAM,WAAW,GAAG,QAAmC,CAAA;QACvD,IAAA,8BAAqB,EAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAQ,EAAE;YAC7D,SAAS,EAAE,mBAAmB,KAAK,kBAAkB;YACrD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QAGF,MAAM,KAAK,GAAG,WAAW,CAAC,cAAyC,CAAA;QACnE,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,EAAE;YACrC,MAAM,IAAI,wBAAe,CACvB,0BAA0B,KAAK,2DAA2D,CAC3F,CAAA;SACF;IACH,CAAC,CAAC,CAAA;IAGF,IAAA,8BAAqB,EAAC,EAAE,EAAE,cAAc,EAAE,gBAAO,CAAC,CAAA;IAGlD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAqC,CAAA;IAC7D,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzC,IAAI,CAAC,IAAA,iBAAQ,EAAC,SAAS,CAAC,EAAE;YACxB,MAAM,IAAI,wBAAe,CAAC,uBAAuB,KAAK,kBAAkB,CAAC,CAAA;SAC1E;QAED,MAAM,YAAY,GAAG,SAAoC,CAAA;QACzD,IAAA,8BAAqB,EAAC,YAAY,EAAE,aAAa,EAAE,iBAAQ,EAAE;YAC3D,SAAS,EAAE,gBAAgB,KAAK,eAAe;YAC/C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,WAAsC,CAAA;QAClE,IAAA,8BAAqB,EAAC,MAAM,EAAE,SAAS,EAAE,iBAAQ,EAAE;YACjD,SAAS,EAAE,gBAAgB,KAAK,WAAW;YAC3C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,IAAA,8BAAqB,EAAC,MAAM,EAAE,eAAe,EAAE,iBAAQ,EAAE;YACvD,SAAS,EAAE,gBAAgB,KAAK,iBAAiB;YACjD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,IAAA,8BAAqB,EAAC,MAAM,EAAE,cAAc,EAAE,iBAAQ,EAAE;YACtD,SAAS,EAAE,gBAAgB,KAAK,gBAAgB;YAChD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,IAAA,8BAAqB,EAAC,MAAM,EAAE,SAAS,EAAE,gBAAO,EAAE;YAChD,SAAS,EAAE,gBAAgB,KAAK,WAAW;YAC3C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AA9DD,sCA8DC"}
|