@bitgo-beta/sdk-coin-xrp 1.3.3-alpha.25 → 1.3.3-alpha.250
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/CHANGELOG.md +521 -0
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -4
- package/dist/src/lib/accountSetBuilder.d.ts +18 -0
- package/dist/src/lib/accountSetBuilder.d.ts.map +1 -0
- package/dist/src/lib/accountSetBuilder.js +63 -0
- package/dist/src/lib/constants.d.ts +8 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +30 -0
- package/dist/src/lib/iface.d.ts +109 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +11 -0
- package/dist/src/lib/index.d.ts +14 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +43 -0
- package/dist/src/lib/keyPair.d.ts +33 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +118 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +29 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/tokenTransferBuilder.js +91 -0
- package/dist/src/lib/transaction.d.ts +62 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +381 -0
- package/dist/src/lib/transactionBuilder.d.ts +72 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +263 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +39 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +97 -0
- package/dist/src/lib/transferBuilder.d.ts +28 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +82 -0
- package/dist/src/lib/trustsetBuilder.d.ts +21 -0
- package/dist/src/lib/trustsetBuilder.d.ts.map +1 -0
- package/dist/src/lib/trustsetBuilder.js +72 -0
- package/dist/src/lib/utils.d.ts +78 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +304 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts +19 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/lib/walletInitializationBuilder.js +76 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/src/ripple.d.ts +112 -2
- package/dist/src/ripple.d.ts.map +1 -1
- package/dist/src/ripple.js +34 -21
- package/dist/src/txrp.d.ts +3 -2
- package/dist/src/txrp.d.ts.map +1 -1
- package/dist/src/txrp.js +5 -5
- package/dist/src/xrp.d.ts +13 -61
- package/dist/src/xrp.d.ts.map +1 -1
- package/dist/src/xrp.js +300 -157
- package/dist/src/xrpToken.d.ts +21 -0
- package/dist/src/xrpToken.d.ts.map +1 -0
- package/dist/src/xrpToken.js +58 -0
- package/dist/tsconfig.tsbuildinfo +1 -8599
- package/package.json +11 -11
- package/.mocharc.yml +0 -8
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const MAX_SIGNERS = 32;
|
|
2
|
+
export declare const MIN_SIGNERS = 1;
|
|
3
|
+
export declare const MIN_SIGNER_QUORUM = 1;
|
|
4
|
+
export declare const VALID_ACCOUNT_SET_FLAGS: number[];
|
|
5
|
+
export declare const USER_KEY_SETTING_FLAG = 65536;
|
|
6
|
+
export declare const MASTER_KEY_DEACTIVATION_FLAG = 1048576;
|
|
7
|
+
export declare const REQUIRE_DESTINATION_TAG_FLAG = 131072;
|
|
8
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAGnC,eAAO,MAAM,uBAAuB,UAgBnC,CAAC;AAGF,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,4BAA4B,UAAU,CAAC;AACpD,eAAO,MAAM,4BAA4B,SAAS,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.REQUIRE_DESTINATION_TAG_FLAG = exports.MASTER_KEY_DEACTIVATION_FLAG = exports.USER_KEY_SETTING_FLAG = exports.VALID_ACCOUNT_SET_FLAGS = exports.MIN_SIGNER_QUORUM = exports.MIN_SIGNERS = exports.MAX_SIGNERS = void 0;
|
|
4
|
+
// https://xrpl.org/signerlistset.html
|
|
5
|
+
exports.MAX_SIGNERS = 32;
|
|
6
|
+
exports.MIN_SIGNERS = 1;
|
|
7
|
+
exports.MIN_SIGNER_QUORUM = 1;
|
|
8
|
+
// https://xrpl.org/accountset.html#accountset-flags
|
|
9
|
+
exports.VALID_ACCOUNT_SET_FLAGS = [
|
|
10
|
+
5, // asfAccountTxnID
|
|
11
|
+
16, // asfAllowTrustLineClawback
|
|
12
|
+
10, // asfAuthorizedNFTokenMinter
|
|
13
|
+
8, // asfDefaultRipple
|
|
14
|
+
9, // asfDepositAuth
|
|
15
|
+
4, // asfDisableMaster
|
|
16
|
+
13, // asfDisallowIncomingCheck
|
|
17
|
+
12, // asfDisallowIncomingNFTokenOffer
|
|
18
|
+
14, // asfDisallowIncomingPayChan
|
|
19
|
+
15, // asfDisallowIncomingTrustline
|
|
20
|
+
3, // asfDisallowXRP
|
|
21
|
+
7, // asfGlobalFreeze
|
|
22
|
+
6, // asfNoFreeze
|
|
23
|
+
2, // asfRequireAuth
|
|
24
|
+
1, // asfRequireDest
|
|
25
|
+
];
|
|
26
|
+
// Global flags for bitgo address
|
|
27
|
+
exports.USER_KEY_SETTING_FLAG = 65536;
|
|
28
|
+
exports.MASTER_KEY_DEACTIVATION_FLAG = 1048576;
|
|
29
|
+
exports.REQUIRE_DESTINATION_TAG_FLAG = 131072;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQXNDO0FBQ3pCLFFBQUEsV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUNqQixRQUFBLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDaEIsUUFBQSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7QUFFbkMsb0RBQW9EO0FBQ3ZDLFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsQ0FBQyxFQUFFLGtCQUFrQjtJQUNyQixFQUFFLEVBQUUsNEJBQTRCO0lBQ2hDLEVBQUUsRUFBRSw2QkFBNkI7SUFDakMsQ0FBQyxFQUFFLG1CQUFtQjtJQUN0QixDQUFDLEVBQUUsaUJBQWlCO0lBQ3BCLENBQUMsRUFBRSxtQkFBbUI7SUFDdEIsRUFBRSxFQUFFLDJCQUEyQjtJQUMvQixFQUFFLEVBQUUsa0NBQWtDO0lBQ3RDLEVBQUUsRUFBRSw2QkFBNkI7SUFDakMsRUFBRSxFQUFFLCtCQUErQjtJQUNuQyxDQUFDLEVBQUUsaUJBQWlCO0lBQ3BCLENBQUMsRUFBRSxrQkFBa0I7SUFDckIsQ0FBQyxFQUFFLGNBQWM7SUFDakIsQ0FBQyxFQUFFLGlCQUFpQjtJQUNwQixDQUFDLEVBQUUsaUJBQWlCO0NBQ3JCLENBQUM7QUFFRixpQ0FBaUM7QUFDcEIsUUFBQSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7QUFDOUIsUUFBQSw0QkFBNEIsR0FBRyxPQUFPLENBQUM7QUFDdkMsUUFBQSw0QkFBNEIsR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL3hycGwub3JnL3NpZ25lcmxpc3RzZXQuaHRtbFxuZXhwb3J0IGNvbnN0IE1BWF9TSUdORVJTID0gMzI7XG5leHBvcnQgY29uc3QgTUlOX1NJR05FUlMgPSAxO1xuZXhwb3J0IGNvbnN0IE1JTl9TSUdORVJfUVVPUlVNID0gMTtcblxuLy8gaHR0cHM6Ly94cnBsLm9yZy9hY2NvdW50c2V0Lmh0bWwjYWNjb3VudHNldC1mbGFnc1xuZXhwb3J0IGNvbnN0IFZBTElEX0FDQ09VTlRfU0VUX0ZMQUdTID0gW1xuICA1LCAvLyBhc2ZBY2NvdW50VHhuSURcbiAgMTYsIC8vIGFzZkFsbG93VHJ1c3RMaW5lQ2xhd2JhY2tcbiAgMTAsIC8vIGFzZkF1dGhvcml6ZWRORlRva2VuTWludGVyXG4gIDgsIC8vIGFzZkRlZmF1bHRSaXBwbGVcbiAgOSwgLy8gYXNmRGVwb3NpdEF1dGhcbiAgNCwgLy8gYXNmRGlzYWJsZU1hc3RlclxuICAxMywgLy8gYXNmRGlzYWxsb3dJbmNvbWluZ0NoZWNrXG4gIDEyLCAvLyBhc2ZEaXNhbGxvd0luY29taW5nTkZUb2tlbk9mZmVyXG4gIDE0LCAvLyBhc2ZEaXNhbGxvd0luY29taW5nUGF5Q2hhblxuICAxNSwgLy8gYXNmRGlzYWxsb3dJbmNvbWluZ1RydXN0bGluZVxuICAzLCAvLyBhc2ZEaXNhbGxvd1hSUFxuICA3LCAvLyBhc2ZHbG9iYWxGcmVlemVcbiAgNiwgLy8gYXNmTm9GcmVlemVcbiAgMiwgLy8gYXNmUmVxdWlyZUF1dGhcbiAgMSwgLy8gYXNmUmVxdWlyZURlc3Rcbl07XG5cbi8vIEdsb2JhbCBmbGFncyBmb3IgYml0Z28gYWRkcmVzc1xuZXhwb3J0IGNvbnN0IFVTRVJfS0VZX1NFVFRJTkdfRkxBRyA9IDY1NTM2O1xuZXhwb3J0IGNvbnN0IE1BU1RFUl9LRVlfREVBQ1RJVkFUSU9OX0ZMQUcgPSAxMDQ4NTc2O1xuZXhwb3J0IGNvbnN0IFJFUVVJUkVfREVTVElOQVRJT05fVEFHX0ZMQUcgPSAxMzEwNzI7XG4iXX0=
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { InitiateRecoveryOptions as BaseInitiateRecoveryOptions, SignTransactionOptions as BaseSignTransactionOptions, TransactionExplanation as BaseTransactionExplanation, VerifyAddressOptions as BaseVerifyAddressOptions, TransactionPrebuild } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { AccountSet, Amount, Payment, Signer, SignerEntry, SignerListSet, TrustSet } from 'xrpl';
|
|
3
|
+
export declare enum XrpTransactionType {
|
|
4
|
+
AccountSet = "AccountSet",
|
|
5
|
+
Payment = "Payment",
|
|
6
|
+
SignerListSet = "SignerListSet",
|
|
7
|
+
TrustSet = "TrustSet"
|
|
8
|
+
}
|
|
9
|
+
export type XrpTransaction = Payment | AccountSet | SignerListSet | TrustSet;
|
|
10
|
+
export interface Address {
|
|
11
|
+
address: string;
|
|
12
|
+
destinationTag?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface FeeInfo {
|
|
15
|
+
date: string;
|
|
16
|
+
height: number;
|
|
17
|
+
baseReserve: string;
|
|
18
|
+
baseFee: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SignTransactionOptions extends BaseSignTransactionOptions {
|
|
21
|
+
txPrebuild: TransactionPrebuild;
|
|
22
|
+
prv: string;
|
|
23
|
+
isLastSignature?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface ExplainTransactionOptions {
|
|
26
|
+
txHex?: string;
|
|
27
|
+
halfSigned?: {
|
|
28
|
+
txHex: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface VerifyAddressOptions extends BaseVerifyAddressOptions {
|
|
32
|
+
rootAddress: string;
|
|
33
|
+
}
|
|
34
|
+
export interface RecoveryInfo extends BaseTransactionExplanation {
|
|
35
|
+
txHex: string;
|
|
36
|
+
backupKey?: string;
|
|
37
|
+
coin?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface RecoveryTransaction {
|
|
40
|
+
txHex: string;
|
|
41
|
+
}
|
|
42
|
+
export interface InitiateRecoveryOptions extends BaseInitiateRecoveryOptions {
|
|
43
|
+
krsProvider?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface RecoveryOptions {
|
|
46
|
+
backupKey: string;
|
|
47
|
+
userKey: string;
|
|
48
|
+
rootAddress: string;
|
|
49
|
+
recoveryDestination: string;
|
|
50
|
+
bitgoKey?: string;
|
|
51
|
+
walletPassphrase: string;
|
|
52
|
+
krsProvider?: string;
|
|
53
|
+
issuerAddress?: string;
|
|
54
|
+
currencyCode?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface HalfSignedTransaction {
|
|
57
|
+
halfSigned: {
|
|
58
|
+
txHex: string;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export interface SupplementGenerateWalletOptions {
|
|
62
|
+
rootPrivateKey?: string;
|
|
63
|
+
}
|
|
64
|
+
export type TransactionExplanation = BaseTransactionExplanation | AccountSetTransactionExplanation | TrustSetTransactionExplanation | SignerListSetTransactionExplanation;
|
|
65
|
+
export interface AccountSetTransactionExplanation extends BaseTransactionExplanation {
|
|
66
|
+
accountSet: {
|
|
67
|
+
messageKey?: string;
|
|
68
|
+
setFlag: number;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface TrustSetTransactionExplanation extends BaseTransactionExplanation {
|
|
72
|
+
account: string;
|
|
73
|
+
limitAmount: {
|
|
74
|
+
currency: string;
|
|
75
|
+
issuer: string;
|
|
76
|
+
value: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export interface SignerListSetTransactionExplanation extends BaseTransactionExplanation {
|
|
80
|
+
signerListSet: {
|
|
81
|
+
signerQuorum: number;
|
|
82
|
+
signerEntries: SignerEntry[];
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export interface TxData {
|
|
86
|
+
from: string;
|
|
87
|
+
transactionType: XrpTransactionType;
|
|
88
|
+
isMultiSig: boolean;
|
|
89
|
+
id?: string;
|
|
90
|
+
fee?: string;
|
|
91
|
+
flags: number;
|
|
92
|
+
sequence?: number;
|
|
93
|
+
lastLedgerSequence?: number;
|
|
94
|
+
signingPubKey?: string;
|
|
95
|
+
txnSignature?: string;
|
|
96
|
+
signers?: Signer[];
|
|
97
|
+
destination?: string;
|
|
98
|
+
destinationTag?: number;
|
|
99
|
+
amount?: Amount;
|
|
100
|
+
messageKey?: string;
|
|
101
|
+
setFlag?: number;
|
|
102
|
+
signerQuorum?: number;
|
|
103
|
+
signerEntries?: SignerEntry[];
|
|
104
|
+
}
|
|
105
|
+
export interface SignerDetails {
|
|
106
|
+
address: string;
|
|
107
|
+
weight: number;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XrpTransactionType = void 0;
|
|
4
|
+
var XrpTransactionType;
|
|
5
|
+
(function (XrpTransactionType) {
|
|
6
|
+
XrpTransactionType["AccountSet"] = "AccountSet";
|
|
7
|
+
XrpTransactionType["Payment"] = "Payment";
|
|
8
|
+
XrpTransactionType["SignerListSet"] = "SignerListSet";
|
|
9
|
+
XrpTransactionType["TrustSet"] = "TrustSet";
|
|
10
|
+
})(XrpTransactionType || (exports.XrpTransactionType = XrpTransactionType = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQixxREFBK0IsQ0FBQTtJQUMvQiwyQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFLN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyBhcyBCYXNlSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMsXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMgYXMgQmFzZVNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFZlcmlmeUFkZHJlc3NPcHRpb25zIGFzIEJhc2VWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQWNjb3VudFNldCwgQW1vdW50LCBQYXltZW50LCBTaWduZXIsIFNpZ25lckVudHJ5LCBTaWduZXJMaXN0U2V0LCBUcnVzdFNldCB9IGZyb20gJ3hycGwnO1xuXG5leHBvcnQgZW51bSBYcnBUcmFuc2FjdGlvblR5cGUge1xuICBBY2NvdW50U2V0ID0gJ0FjY291bnRTZXQnLFxuICBQYXltZW50ID0gJ1BheW1lbnQnLFxuICBTaWduZXJMaXN0U2V0ID0gJ1NpZ25lckxpc3RTZXQnLFxuICBUcnVzdFNldCA9ICdUcnVzdFNldCcsXG59XG5cbmV4cG9ydCB0eXBlIFhycFRyYW5zYWN0aW9uID0gUGF5bWVudCB8IEFjY291bnRTZXQgfCBTaWduZXJMaXN0U2V0IHwgVHJ1c3RTZXQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzcyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgZGVzdGluYXRpb25UYWc/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlSW5mbyB7XG4gIGRhdGU6IHN0cmluZztcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGJhc2VSZXNlcnZlOiBzdHJpbmc7XG4gIGJhc2VGZWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgQmFzZVNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICBwcnY6IHN0cmluZztcbiAgaXNMYXN0U2lnbmF0dXJlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhIZXg/OiBzdHJpbmc7XG4gIGhhbGZTaWduZWQ/OiB7XG4gICAgdHhIZXg6IHN0cmluZzsgLy8gdHhIZXggaXMgcG9vcmx5IG5hbWVkIGhlcmU7IGl0IGlzIGp1c3QgYSB3cmFwcGVkIEpTT04gb2JqZWN0XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5QWRkcmVzc09wdGlvbnMgZXh0ZW5kcyBCYXNlVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICByb290QWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5SW5mbyBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbiAgYmFja3VwS2V5Pzogc3RyaW5nO1xuICBjb2luPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5VHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIGV4dGVuZHMgQmFzZUluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIHtcbiAga3JzUHJvdmlkZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlPcHRpb25zIHtcbiAgYmFja3VwS2V5OiBzdHJpbmc7XG4gIHVzZXJLZXk6IHN0cmluZztcbiAgcm9vdEFkZHJlc3M6IHN0cmluZztcbiAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogc3RyaW5nO1xuICBiaXRnb0tleT86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICBrcnNQcm92aWRlcj86IHN0cmluZztcbiAgaXNzdWVyQWRkcmVzcz86IHN0cmluZztcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRUcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ6IHtcbiAgICB0eEhleDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMge1xuICByb290UHJpdmF0ZUtleT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9XG4gIHwgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb25cbiAgfCBBY2NvdW50U2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvblxuICB8IFRydXN0U2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvblxuICB8IFNpZ25lckxpc3RTZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRTZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBhY2NvdW50U2V0OiB7XG4gICAgbWVzc2FnZUtleT86IHN0cmluZztcbiAgICBzZXRGbGFnOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJ1c3RTZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBhY2NvdW50OiBzdHJpbmc7XG4gIGxpbWl0QW1vdW50OiB7XG4gICAgY3VycmVuY3k6IHN0cmluZztcbiAgICBpc3N1ZXI6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lckxpc3RTZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzaWduZXJMaXN0U2V0OiB7XG4gICAgc2lnbmVyUXVvcnVtOiBudW1iZXI7XG4gICAgc2lnbmVyRW50cmllczogU2lnbmVyRW50cnlbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICAvLyBtYW5kYXRvcnkgZmllbGRzXG4gIGZyb206IHN0cmluZztcbiAgdHJhbnNhY3Rpb25UeXBlOiBYcnBUcmFuc2FjdGlvblR5cGU7XG4gIGlzTXVsdGlTaWc6IGJvb2xlYW47XG4gIC8vIG9wdGlvbmFsIGZpZWxkc1xuICBpZD86IHN0cmluZztcbiAgZmVlPzogc3RyaW5nO1xuICBmbGFnczogbnVtYmVyO1xuICBzZXF1ZW5jZT86IG51bWJlcjtcbiAgbGFzdExlZGdlclNlcXVlbmNlPzogbnVtYmVyO1xuICBzaWduaW5nUHViS2V5Pzogc3RyaW5nOyAvLyBpZiAnJyB0aGVuIGl0IGlzIGEgbXVsdGkgc2lnXG4gIHR4blNpZ25hdHVyZT86IHN0cmluZzsgLy8gb25seSBmb3Igc2luZ2xlIHNpZ1xuICBzaWduZXJzPzogU2lnbmVyW107IC8vIG9ubHkgZm9yIG11bHRpIHNpZ1xuICAvLyB0cmFuc2ZlciB4cnAgZmllbGRzXG4gIGRlc3RpbmF0aW9uPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvblRhZz86IG51bWJlcjtcbiAgYW1vdW50PzogQW1vdW50O1xuICAvLyBhY2NvdW50IHNldCBmaWVsZHNcbiAgbWVzc2FnZUtleT86IHN0cmluZztcbiAgc2V0RmxhZz86IG51bWJlcjtcbiAgLy8gc2lnbmVyIGxpc3Qgc2V0IGZpZWxkc1xuICBzaWduZXJRdW9ydW0/OiBudW1iZXI7XG4gIHNpZ25lckVudHJpZXM/OiBTaWduZXJFbnRyeVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lckRldGFpbHMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHdlaWdodDogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import Utils from './utils';
|
|
2
|
+
export { AccountSetBuilder } from './accountSetBuilder';
|
|
3
|
+
export * from './constants';
|
|
4
|
+
export * from './iface';
|
|
5
|
+
export { KeyPair } from './keyPair';
|
|
6
|
+
export { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
7
|
+
export { Transaction } from './transaction';
|
|
8
|
+
export { TransactionBuilder } from './transactionBuilder';
|
|
9
|
+
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
10
|
+
export { TransferBuilder } from './transferBuilder';
|
|
11
|
+
export { TrustSetBuilder } from './trustsetBuilder';
|
|
12
|
+
export { WalletInitializationBuilder } from './walletInitializationBuilder';
|
|
13
|
+
export { Utils };
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.Utils = exports.WalletInitializationBuilder = exports.TrustSetBuilder = exports.TransferBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.TokenTransferBuilder = exports.KeyPair = exports.AccountSetBuilder = void 0;
|
|
21
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
22
|
+
exports.Utils = utils_1.default;
|
|
23
|
+
var accountSetBuilder_1 = require("./accountSetBuilder");
|
|
24
|
+
Object.defineProperty(exports, "AccountSetBuilder", { enumerable: true, get: function () { return accountSetBuilder_1.AccountSetBuilder; } });
|
|
25
|
+
__exportStar(require("./constants"), exports);
|
|
26
|
+
__exportStar(require("./iface"), exports);
|
|
27
|
+
var keyPair_1 = require("./keyPair");
|
|
28
|
+
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
29
|
+
var tokenTransferBuilder_1 = require("./tokenTransferBuilder");
|
|
30
|
+
Object.defineProperty(exports, "TokenTransferBuilder", { enumerable: true, get: function () { return tokenTransferBuilder_1.TokenTransferBuilder; } });
|
|
31
|
+
var transaction_1 = require("./transaction");
|
|
32
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
33
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
34
|
+
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
35
|
+
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
36
|
+
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
37
|
+
var transferBuilder_1 = require("./transferBuilder");
|
|
38
|
+
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
39
|
+
var trustsetBuilder_1 = require("./trustsetBuilder");
|
|
40
|
+
Object.defineProperty(exports, "TrustSetBuilder", { enumerable: true, get: function () { return trustsetBuilder_1.TrustSetBuilder; } });
|
|
41
|
+
var walletInitializationBuilder_1 = require("./walletInitializationBuilder");
|
|
42
|
+
Object.defineProperty(exports, "WalletInitializationBuilder", { enumerable: true, get: function () { return walletInitializationBuilder_1.WalletInitializationBuilder; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBYW5CLGdCQWJGLGVBQUssQ0FhRTtBQVhkLHlEQUF3RDtBQUEvQyxzSEFBQSxpQkFBaUIsT0FBQTtBQUMxQiw4Q0FBNEI7QUFDNUIsMENBQXdCO0FBQ3hCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsK0RBQThEO0FBQXJELDRIQUFBLG9CQUFvQixPQUFBO0FBQzdCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyxxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsNkVBQTRFO0FBQW5FLDBJQUFBLDJCQUEyQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBBY2NvdW50U2V0QnVpbGRlciB9IGZyb20gJy4vYWNjb3VudFNldEJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pZmFjZSc7XG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcnVzdFNldEJ1aWxkZXIgfSBmcm9tICcuL3RydXN0c2V0QnVpbGRlcic7XG5leHBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DefaultKeys, KeyPairOptions, Secp256k1ExtendedKeyPair } from '@bitgo-beta/sdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* XRP keys and address management.
|
|
4
|
+
*/
|
|
5
|
+
export declare class KeyPair extends Secp256k1ExtendedKeyPair {
|
|
6
|
+
/**
|
|
7
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
8
|
+
*
|
|
9
|
+
* @param {KeyPairOptions} source Either a master seed, a private key, or a public key
|
|
10
|
+
*/
|
|
11
|
+
constructor(source?: KeyPairOptions);
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
getKeys(): DefaultKeys;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
getAddress(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Generates a signature for an arbitrary string with the current private key using keccak256
|
|
18
|
+
* hashing algorithm. Throws if there is no private key.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} message to produce a signature for
|
|
21
|
+
* @returns {Buffer} The signature as a buffer
|
|
22
|
+
*/
|
|
23
|
+
signMessage(message: string): Buffer;
|
|
24
|
+
/**
|
|
25
|
+
* Verifies a message signature using the current public key.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} message signed
|
|
28
|
+
* @param {Buffer} signature to verify
|
|
29
|
+
* @returns {boolean} True if the message was signed with the current key pair
|
|
30
|
+
*/
|
|
31
|
+
verifySignature(message: string, signature: Buffer): boolean;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=keyPair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAIX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAQ9B;;GAEG;AACH,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAOtB,kBAAkB;IAClB,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAUpC;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAK7D"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.KeyPair = void 0;
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
|
|
42
|
+
const crypto_1 = require("crypto");
|
|
43
|
+
const xrpl = __importStar(require("xrpl"));
|
|
44
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
45
|
+
const DEFAULT_SEED_SIZE_BYTES = 32;
|
|
46
|
+
/**
|
|
47
|
+
* XRP keys and address management.
|
|
48
|
+
*/
|
|
49
|
+
class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
50
|
+
/**
|
|
51
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
52
|
+
*
|
|
53
|
+
* @param {KeyPairOptions} source Either a master seed, a private key, or a public key
|
|
54
|
+
*/
|
|
55
|
+
constructor(source) {
|
|
56
|
+
super(source);
|
|
57
|
+
if (!source) {
|
|
58
|
+
const seed = (0, crypto_1.randomBytes)(DEFAULT_SEED_SIZE_BYTES);
|
|
59
|
+
this.hdNode = utxo_lib_1.bip32.fromSeed(seed);
|
|
60
|
+
}
|
|
61
|
+
else if ((0, sdk_core_1.isSeed)(source)) {
|
|
62
|
+
this.hdNode = utxo_lib_1.bip32.fromSeed(source.seed);
|
|
63
|
+
}
|
|
64
|
+
else if ((0, sdk_core_1.isPrivateKey)(source)) {
|
|
65
|
+
super.recordKeysFromPrivateKey(source.prv);
|
|
66
|
+
}
|
|
67
|
+
else if ((0, sdk_core_1.isPublicKey)(source)) {
|
|
68
|
+
super.recordKeysFromPublicKey(source.pub);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
throw new Error('Invalid key pair options');
|
|
72
|
+
}
|
|
73
|
+
if (this.hdNode) {
|
|
74
|
+
this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/** @inheritdoc */
|
|
78
|
+
getKeys() {
|
|
79
|
+
return {
|
|
80
|
+
pub: this.getPublicKey({ compressed: true }).toString('hex'),
|
|
81
|
+
prv: this.getPrivateKey()?.toString('hex'),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** @inheritdoc */
|
|
85
|
+
getAddress() {
|
|
86
|
+
return xrpl.deriveAddress(this.getKeys().pub);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Generates a signature for an arbitrary string with the current private key using keccak256
|
|
90
|
+
* hashing algorithm. Throws if there is no private key.
|
|
91
|
+
*
|
|
92
|
+
* @param {string} message to produce a signature for
|
|
93
|
+
* @returns {Buffer} The signature as a buffer
|
|
94
|
+
*/
|
|
95
|
+
signMessage(message) {
|
|
96
|
+
const messageToSign = Buffer.from(message).toString('hex');
|
|
97
|
+
const { prv } = this.getKeys();
|
|
98
|
+
if (!prv) {
|
|
99
|
+
throw new Error('Missing private key');
|
|
100
|
+
}
|
|
101
|
+
const signature = utils_1.default.signString(messageToSign, prv);
|
|
102
|
+
return Buffer.from(signature, 'hex');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Verifies a message signature using the current public key.
|
|
106
|
+
*
|
|
107
|
+
* @param {string} message signed
|
|
108
|
+
* @param {Buffer} signature to verify
|
|
109
|
+
* @returns {boolean} True if the message was signed with the current key pair
|
|
110
|
+
*/
|
|
111
|
+
verifySignature(message, signature) {
|
|
112
|
+
const messageToVerify = Buffer.from(message).toString('hex');
|
|
113
|
+
const pubKey = this.getKeys().pub;
|
|
114
|
+
return utils_1.default.verifySignature(messageToVerify, pubKey, signature.toString('hex'));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.KeyPair = KeyPair;
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFPOEI7QUFDOUIsbURBQTZDO0FBQzdDLG1DQUFxQztBQUNyQywyQ0FBNkI7QUFDN0Isb0RBQTRCO0FBRTVCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsbUNBQXdCO0lBQ25EOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsT0FBZTtRQUN6QixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsZUFBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLE9BQWUsRUFBRSxTQUFpQjtRQUNoRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2xDLE9BQU8sZUFBSyxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0NBQ0Y7QUFwRUQsMEJBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVmYXVsdEtleXMsXG4gIGlzUHJpdmF0ZUtleSxcbiAgaXNQdWJsaWNLZXksXG4gIGlzU2VlZCxcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgYmlwMzIgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyB4cnBsIGZyb20gJ3hycGwnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBERUZBVUxUX1NFRURfU0laRV9CWVRFUyA9IDMyO1xuXG4vKipcbiAqIFhSUCBrZXlzIGFuZCBhZGRyZXNzIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyIHtcbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpck9wdGlvbnN9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNlZWQgPSByYW5kb21CeXRlcyhERUZBVUxUX1NFRURfU0laRV9CWVRFUyk7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTZWVkKHNvdXJjZSkpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc291cmNlLnNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNQcml2YXRlS2V5KHNvdXJjZSkpIHtcbiAgICAgIHN1cGVyLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHN1cGVyLnJlY29yZEtleXNGcm9tUHVibGljS2V5KHNvdXJjZS5wdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhkTm9kZSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0gU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLnRvS2V5UGFpcih0aGlzLmhkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIHJldHVybiB7XG4gICAgICBwdWI6IHRoaXMuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZDogdHJ1ZSB9KS50b1N0cmluZygnaGV4JyksXG4gICAgICBwcnY6IHRoaXMuZ2V0UHJpdmF0ZUtleSgpPy50b1N0cmluZygnaGV4JyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHhycGwuZGVyaXZlQWRkcmVzcyh0aGlzLmdldEtleXMoKS5wdWIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIHNpZ25hdHVyZSBmb3IgYW4gYXJiaXRyYXJ5IHN0cmluZyB3aXRoIHRoZSBjdXJyZW50IHByaXZhdGUga2V5IHVzaW5nIGtlY2NhazI1NlxuICAgKiBoYXNoaW5nIGFsZ29yaXRobS4gVGhyb3dzIGlmIHRoZXJlIGlzIG5vIHByaXZhdGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSB0byBwcm9kdWNlIGEgc2lnbmF0dXJlIGZvclxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBUaGUgc2lnbmF0dXJlIGFzIGEgYnVmZmVyXG4gICAqL1xuICBzaWduTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBCdWZmZXIge1xuICAgIGNvbnN0IG1lc3NhZ2VUb1NpZ24gPSBCdWZmZXIuZnJvbShtZXNzYWdlKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgeyBwcnYgfSA9IHRoaXMuZ2V0S2V5cygpO1xuICAgIGlmICghcHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdXRpbHMuc2lnblN0cmluZyhtZXNzYWdlVG9TaWduLCBwcnYpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShzaWduYXR1cmUsICdoZXgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyBhIG1lc3NhZ2Ugc2lnbmF0dXJlIHVzaW5nIHRoZSBjdXJyZW50IHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIHNpZ25lZFxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2lnbmF0dXJlIHRvIHZlcmlmeVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgbWVzc2FnZSB3YXMgc2lnbmVkIHdpdGggdGhlIGN1cnJlbnQga2V5IHBhaXJcbiAgICovXG4gIHZlcmlmeVNpZ25hdHVyZShtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogQnVmZmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWVzc2FnZVRvVmVyaWZ5ID0gQnVmZmVyLmZyb20obWVzc2FnZSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHB1YktleSA9IHRoaXMuZ2V0S2V5cygpLnB1YjtcbiAgICByZXR1cm4gdXRpbHMudmVyaWZ5U2lnbmF0dXJlKG1lc3NhZ2VUb1ZlcmlmeSwgcHViS2V5LCBzaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { XrpTransactionType } from './iface';
|
|
4
|
+
import { Transaction } from './transaction';
|
|
5
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
6
|
+
export declare class TokenTransferBuilder extends TransactionBuilder {
|
|
7
|
+
private _amount;
|
|
8
|
+
private _destination;
|
|
9
|
+
private _destinationTag?;
|
|
10
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
|
+
protected get transactionType(): TransactionType;
|
|
12
|
+
protected get xrpTransactionType(): XrpTransactionType.Payment;
|
|
13
|
+
initBuilder(tx: Transaction): void;
|
|
14
|
+
/**
|
|
15
|
+
* Set the receiver address
|
|
16
|
+
* @param {string} address - the address with optional destination tag
|
|
17
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
18
|
+
*/
|
|
19
|
+
to(address: string): TokenTransferBuilder;
|
|
20
|
+
/**
|
|
21
|
+
* Set the amount to send
|
|
22
|
+
* @param {string} amount - the amount sent
|
|
23
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
24
|
+
*/
|
|
25
|
+
amount(amount: string): TransactionBuilder;
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=tokenTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,KAAK,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,CAE7D;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAoBlC;;;;OAIG;IACH,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAOzC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAkB1C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAoB5D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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.TokenTransferBuilder = void 0;
|
|
7
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const iface_1 = require("./iface");
|
|
10
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
11
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
+
class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
13
|
+
constructor(_coinConfig) {
|
|
14
|
+
super(_coinConfig);
|
|
15
|
+
}
|
|
16
|
+
get transactionType() {
|
|
17
|
+
return sdk_core_1.TransactionType.Send;
|
|
18
|
+
}
|
|
19
|
+
get xrpTransactionType() {
|
|
20
|
+
return iface_1.XrpTransactionType.Payment;
|
|
21
|
+
}
|
|
22
|
+
initBuilder(tx) {
|
|
23
|
+
super.initBuilder(tx);
|
|
24
|
+
const { destination, amount, destinationTag } = tx.toJson();
|
|
25
|
+
if (!destination) {
|
|
26
|
+
throw new sdk_core_1.BuildTransactionError('Missing destination');
|
|
27
|
+
}
|
|
28
|
+
if (!amount) {
|
|
29
|
+
throw new sdk_core_1.BuildTransactionError('Missing amount');
|
|
30
|
+
}
|
|
31
|
+
const normalizeAddress = utils_1.default.normalizeAddress({ address: destination, destinationTag });
|
|
32
|
+
this.to(normalizeAddress);
|
|
33
|
+
if (!utils_1.default.isIssuedCurrencyAmount(amount)) {
|
|
34
|
+
throw new sdk_core_1.BuildTransactionError('Invalid Amount');
|
|
35
|
+
}
|
|
36
|
+
const amountBigNum = (0, bignumber_js_1.default)(amount.value).shiftedBy(this._coinConfig.decimalPlaces);
|
|
37
|
+
this.amount(amountBigNum.toFixed());
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Set the receiver address
|
|
41
|
+
* @param {string} address - the address with optional destination tag
|
|
42
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
43
|
+
*/
|
|
44
|
+
to(address) {
|
|
45
|
+
const { address: xrpAddress, destinationTag } = utils_1.default.getAddressDetails(address);
|
|
46
|
+
this._destination = xrpAddress;
|
|
47
|
+
this._destinationTag = destinationTag;
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Set the amount to send
|
|
52
|
+
* @param {string} amount - the amount sent
|
|
53
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
54
|
+
*/
|
|
55
|
+
amount(amount) {
|
|
56
|
+
if (typeof amount !== 'string') {
|
|
57
|
+
throw new Error(`amount type ${typeof amount} must be a string`);
|
|
58
|
+
}
|
|
59
|
+
const amountBigNum = (0, bignumber_js_1.default)(amount);
|
|
60
|
+
if (amountBigNum.lt(0)) {
|
|
61
|
+
throw new Error(`amount ${amount} is not valid`);
|
|
62
|
+
}
|
|
63
|
+
const currency = utils_1.default.getXrpCurrencyFromTokenName(this._coinConfig.name);
|
|
64
|
+
// Unlike most coins, XRP Token amounts are represented in decimal notation
|
|
65
|
+
const value = amountBigNum.shiftedBy(-1 * this._coinConfig.decimalPlaces).toFixed();
|
|
66
|
+
this._amount = {
|
|
67
|
+
value: value,
|
|
68
|
+
...currency,
|
|
69
|
+
};
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/** @inheritdoc */
|
|
73
|
+
async buildImplementation() {
|
|
74
|
+
if (!this._sender) {
|
|
75
|
+
throw new sdk_core_1.BuildTransactionError('Sender must be set before building the transaction');
|
|
76
|
+
}
|
|
77
|
+
const transferFields = {
|
|
78
|
+
TransactionType: this.xrpTransactionType,
|
|
79
|
+
Account: this._sender,
|
|
80
|
+
Destination: this._destination,
|
|
81
|
+
Amount: this._amount,
|
|
82
|
+
};
|
|
83
|
+
if (typeof this._destinationTag === 'number') {
|
|
84
|
+
transferFields.DestinationTag = this._destinationTag;
|
|
85
|
+
}
|
|
86
|
+
this._specificFields = transferFields;
|
|
87
|
+
return await super.buildImplementation();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.TokenTransferBuilder = TokenTransferBuilder;
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUE4RTtBQUU5RSxnRUFBcUM7QUFFckMsbUNBQTZDO0FBRTdDLDZEQUEwRDtBQUMxRCxvREFBNEI7QUFFNUIsTUFBYSxvQkFBcUIsU0FBUSx1Q0FBa0I7SUFLMUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM5QixPQUFPLDBCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV0QixNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksZ0NBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFLLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksZ0NBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBQSxzQkFBUyxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsRUFBRSxDQUFDLE9BQWU7UUFDaEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEdBQUcsZUFBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxPQUFPLE1BQU0sbUJBQW1CLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBQSxzQkFBUyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxNQUFNLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxlQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRSwyRUFBMkU7UUFDM0UsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixLQUFLLEVBQUUsS0FBSztZQUNaLEdBQUcsUUFBUTtTQUNaLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFZO1lBQzlCLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQ3hDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3JCLENBQUM7UUFFRixJQUFJLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxjQUFjLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBRXRDLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUE3RkQsb0RBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBBbW91bnQsIFBheW1lbnQgfSBmcm9tICd4cnBsJztcbmltcG9ydCB7IFhycFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfYW1vdW50OiBBbW91bnQ7XG4gIHByaXZhdGUgX2Rlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Rlc3RpbmF0aW9uVGFnPzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB4cnBUcmFuc2FjdGlvblR5cGUoKTogWHJwVHJhbnNhY3Rpb25UeXBlLlBheW1lbnQge1xuICAgIHJldHVybiBYcnBUcmFuc2FjdGlvblR5cGUuUGF5bWVudDtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcblxuICAgIGNvbnN0IHsgZGVzdGluYXRpb24sIGFtb3VudCwgZGVzdGluYXRpb25UYWcgfSA9IHR4LnRvSnNvbigpO1xuICAgIGlmICghZGVzdGluYXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgZGVzdGluYXRpb24nKTtcbiAgICB9XG4gICAgaWYgKCFhbW91bnQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgYW1vdW50Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplQWRkcmVzcyA9IHV0aWxzLm5vcm1hbGl6ZUFkZHJlc3MoeyBhZGRyZXNzOiBkZXN0aW5hdGlvbiwgZGVzdGluYXRpb25UYWcgfSk7XG4gICAgdGhpcy50byhub3JtYWxpemVBZGRyZXNzKTtcbiAgICBpZiAoIXV0aWxzLmlzSXNzdWVkQ3VycmVuY3lBbW91bnQoYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBBbW91bnQnKTtcbiAgICB9XG4gICAgY29uc3QgYW1vdW50QmlnTnVtID0gQmlnTnVtYmVyKGFtb3VudC52YWx1ZSkuc2hpZnRlZEJ5KHRoaXMuX2NvaW5Db25maWcuZGVjaW1hbFBsYWNlcyk7XG4gICAgdGhpcy5hbW91bnQoYW1vdW50QmlnTnVtLnRvRml4ZWQoKSk7XG4gIH1cblxuICAvKipcbiAgICogIFNldCB0aGUgcmVjZWl2ZXIgYWRkcmVzc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHdpdGggb3B0aW9uYWwgZGVzdGluYXRpb24gdGFnXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgdG8oYWRkcmVzczogc3RyaW5nKTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIGNvbnN0IHsgYWRkcmVzczogeHJwQWRkcmVzcywgZGVzdGluYXRpb25UYWcgfSA9IHV0aWxzLmdldEFkZHJlc3NEZXRhaWxzKGFkZHJlc3MpO1xuICAgIHRoaXMuX2Rlc3RpbmF0aW9uID0geHJwQWRkcmVzcztcbiAgICB0aGlzLl9kZXN0aW5hdGlvblRhZyA9IGRlc3RpbmF0aW9uVGFnO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgdGhlIGFtb3VudCB0byBzZW5kXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgLSB0aGUgYW1vdW50IHNlbnRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGlmICh0eXBlb2YgYW1vdW50ICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhbW91bnQgdHlwZSAke3R5cGVvZiBhbW91bnR9IG11c3QgYmUgYSBzdHJpbmdgKTtcbiAgICB9XG4gICAgY29uc3QgYW1vdW50QmlnTnVtID0gQmlnTnVtYmVyKGFtb3VudCk7XG4gICAgaWYgKGFtb3VudEJpZ051bS5sdCgwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhbW91bnQgJHthbW91bnR9IGlzIG5vdCB2YWxpZGApO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW5jeSA9IHV0aWxzLmdldFhycEN1cnJlbmN5RnJvbVRva2VuTmFtZSh0aGlzLl9jb2luQ29uZmlnLm5hbWUpO1xuICAgIC8vIFVubGlrZSBtb3N0IGNvaW5zLCBYUlAgVG9rZW4gYW1vdW50cyBhcmUgcmVwcmVzZW50ZWQgaW4gZGVjaW1hbCBub3RhdGlvblxuICAgIGNvbnN0IHZhbHVlID0gYW1vdW50QmlnTnVtLnNoaWZ0ZWRCeSgtMSAqIHRoaXMuX2NvaW5Db25maWcuZGVjaW1hbFBsYWNlcykudG9GaXhlZCgpO1xuICAgIHRoaXMuX2Ftb3VudCA9IHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIC4uLmN1cnJlbmN5LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGlmICghdGhpcy5fc2VuZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTZW5kZXIgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zZmVyRmllbGRzOiBQYXltZW50ID0ge1xuICAgICAgVHJhbnNhY3Rpb25UeXBlOiB0aGlzLnhycFRyYW5zYWN0aW9uVHlwZSxcbiAgICAgIEFjY291bnQ6IHRoaXMuX3NlbmRlcixcbiAgICAgIERlc3RpbmF0aW9uOiB0aGlzLl9kZXN0aW5hdGlvbixcbiAgICAgIEFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgIH07XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuX2Rlc3RpbmF0aW9uVGFnID09PSAnbnVtYmVyJykge1xuICAgICAgdHJhbnNmZXJGaWVsZHMuRGVzdGluYXRpb25UYWcgPSB0aGlzLl9kZXN0aW5hdGlvblRhZztcbiAgICB9XG5cbiAgICB0aGlzLl9zcGVjaWZpY0ZpZWxkcyA9IHRyYW5zZmVyRmllbGRzO1xuXG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { TransactionExplanation, TxData, XrpTransaction } from './iface';
|
|
4
|
+
import { KeyPair } from './keyPair';
|
|
5
|
+
/**
|
|
6
|
+
* XRP transaction.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Transaction extends BaseTransaction {
|
|
9
|
+
protected _xrpTransaction: XrpTransaction;
|
|
10
|
+
protected _isMultiSig: boolean;
|
|
11
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
12
|
+
get xrpTransaction(): XrpTransaction;
|
|
13
|
+
set xrpTransaction(tx: XrpTransaction);
|
|
14
|
+
canSign(key: BaseKey): boolean;
|
|
15
|
+
toJson(): TxData;
|
|
16
|
+
getSignablePayload(): XrpTransaction;
|
|
17
|
+
sign(keyPair: KeyPair | KeyPair[]): void;
|
|
18
|
+
/** @inheritdoc */
|
|
19
|
+
toBroadcastFormat(): string;
|
|
20
|
+
explainTransaction(): TransactionExplanation;
|
|
21
|
+
private explainPaymentTransaction;
|
|
22
|
+
private explainAccountSetTransaction;
|
|
23
|
+
private explainSignerListSetTransaction;
|
|
24
|
+
private calculateIdFromRawTx;
|
|
25
|
+
/**
|
|
26
|
+
* Set the transaction type.
|
|
27
|
+
*
|
|
28
|
+
* @param {TransactionType} transactionType The transaction type to be set.
|
|
29
|
+
*/
|
|
30
|
+
setTransactionType(transactionType: TransactionType): void;
|
|
31
|
+
setMultiSigValue(isMultiSig: boolean): void;
|
|
32
|
+
/**
|
|
33
|
+
* Sets this transaction payload
|
|
34
|
+
*
|
|
35
|
+
* @param rawTransaction
|
|
36
|
+
*/
|
|
37
|
+
fromRawTransaction(rawTransaction: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Load the input and output data on this transaction.
|
|
40
|
+
*/
|
|
41
|
+
loadInputsAndOutputs(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Groups and sorts the signers by account.
|
|
44
|
+
* @param {Signer[]}signers1 - The first set of signers.
|
|
45
|
+
* @param {Signer[]}signers2 - The second set of signers.
|
|
46
|
+
* @returns The grouped and sorted signers.
|
|
47
|
+
**/
|
|
48
|
+
private concatAndSortSigners;
|
|
49
|
+
/**
|
|
50
|
+
* If presented in binary form, the Signers array must be sorted based on
|
|
51
|
+
* the numeric value of the signer addresses, with the lowest value first.
|
|
52
|
+
* (If submitted as JSON, the submit_multisigned method handles this automatically.)
|
|
53
|
+
* https://xrpl.org/multi-signing.html.
|
|
54
|
+
*
|
|
55
|
+
* @param left - A Signer to compare with.
|
|
56
|
+
* @param right - A second Signer to compare with.
|
|
57
|
+
* @returns 1 if left \> right, 0 if left = right, -1 if left \< right, and null if left or right are NaN.
|
|
58
|
+
*/
|
|
59
|
+
private compareSignersByAccount;
|
|
60
|
+
private addressToBigNumber;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EACP,eAAe,EAIf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK7D,OAAO,EAGL,sBAAsB,EACtB,MAAM,EACN,cAAc,EAEf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAE9C,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;gBAEnB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,EAAE,EAAE,cAAc,EAEpC;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAO9B,MAAM,IAAI,MAAM;IA2DhB,kBAAkB,IAAI,cAAc;IAOpC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAoDxC,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB,IAAI,sBAAsB;IAa5C,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,4BAA4B;IAoBpC,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,oBAAoB;IAY5B;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAI3C;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAgDhD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IA0B5B;;;;;QAKI;IACJ,OAAO,CAAC,oBAAoB;IAM5B;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,kBAAkB;CAK3B"}
|