@bitgo/sdk-coin-apt 2.4.13 → 2.4.15

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +6 -6
  3. package/LICENSE +0 -191
  4. package/dist/src/apt.d.ts +0 -43
  5. package/dist/src/apt.d.ts.map +0 -1
  6. package/dist/src/apt.js +0 -206
  7. package/dist/src/aptNFTCollection.d.ts +0 -18
  8. package/dist/src/aptNFTCollection.d.ts.map +0 -1
  9. package/dist/src/aptNFTCollection.js +0 -52
  10. package/dist/src/aptToken.d.ts +0 -19
  11. package/dist/src/aptToken.d.ts.map +0 -1
  12. package/dist/src/aptToken.js +0 -52
  13. package/dist/src/index.d.ts +0 -7
  14. package/dist/src/index.d.ts.map +0 -1
  15. package/dist/src/index.js +0 -23
  16. package/dist/src/lib/constants.d.ts +0 -21
  17. package/dist/src/lib/constants.d.ts.map +0 -1
  18. package/dist/src/lib/constants.js +0 -24
  19. package/dist/src/lib/iface.d.ts +0 -30
  20. package/dist/src/lib/iface.d.ts.map +0 -1
  21. package/dist/src/lib/iface.js +0 -3
  22. package/dist/src/lib/index.d.ts +0 -14
  23. package/dist/src/lib/index.d.ts.map +0 -1
  24. package/dist/src/lib/index.js +0 -61
  25. package/dist/src/lib/keyPair.d.ts +0 -18
  26. package/dist/src/lib/keyPair.d.ts.map +0 -1
  27. package/dist/src/lib/keyPair.js +0 -44
  28. package/dist/src/lib/transaction/digitalAssetTransfer.d.ts +0 -10
  29. package/dist/src/lib/transaction/digitalAssetTransfer.d.ts.map +0 -1
  30. package/dist/src/lib/transaction/digitalAssetTransfer.js +0 -45
  31. package/dist/src/lib/transaction/fungibleAssetTransfer.d.ts +0 -12
  32. package/dist/src/lib/transaction/fungibleAssetTransfer.d.ts.map +0 -1
  33. package/dist/src/lib/transaction/fungibleAssetTransfer.js +0 -73
  34. package/dist/src/lib/transaction/transaction.d.ts +0 -81
  35. package/dist/src/lib/transaction/transaction.d.ts.map +0 -1
  36. package/dist/src/lib/transaction/transaction.js +0 -332
  37. package/dist/src/lib/transaction/transferTransaction.d.ts +0 -12
  38. package/dist/src/lib/transaction/transferTransaction.d.ts.map +0 -1
  39. package/dist/src/lib/transaction/transferTransaction.js +0 -63
  40. package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.d.ts +0 -14
  41. package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.d.ts.map +0 -1
  42. package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.js +0 -55
  43. package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.d.ts +0 -15
  44. package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.d.ts.map +0 -1
  45. package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.js +0 -61
  46. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts +0 -68
  47. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +0 -1
  48. package/dist/src/lib/transactionBuilder/transactionBuilder.js +0 -169
  49. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts +0 -13
  50. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +0 -1
  51. package/dist/src/lib/transactionBuilder/transferBuilder.js +0 -56
  52. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -31
  53. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  54. package/dist/src/lib/transactionBuilderFactory.js +0 -81
  55. package/dist/src/lib/types.d.ts +0 -9
  56. package/dist/src/lib/types.d.ts.map +0 -1
  57. package/dist/src/lib/types.js +0 -3
  58. package/dist/src/lib/utils.d.ts +0 -42
  59. package/dist/src/lib/utils.d.ts.map +0 -1
  60. package/dist/src/lib/utils.js +0 -149
  61. package/dist/src/register.d.ts +0 -3
  62. package/dist/src/register.d.ts.map +0 -1
  63. package/dist/src/register.js +0 -19
  64. package/dist/src/tapt.d.ts +0 -17
  65. package/dist/src/tapt.d.ts.map +0 -1
  66. package/dist/src/tapt.js +0 -30
@@ -1,149 +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.Utils = void 0;
7
- const ts_sdk_1 = require("@aptos-labs/ts-sdk");
8
- const sdk_core_1 = require("@bitgo/sdk-core");
9
- const constants_1 = require("./constants");
10
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
11
- class Utils {
12
- /** @inheritdoc */
13
- isValidAddress(address) {
14
- return this.isValidHex(address, constants_1.APT_ADDRESS_LENGTH);
15
- }
16
- /** @inheritdoc */
17
- isValidBlockId(hash) {
18
- return this.isValidHex(hash, constants_1.APT_BLOCK_ID_LENGTH);
19
- }
20
- /** @inheritdoc */
21
- isValidPrivateKey(key) {
22
- return (0, sdk_core_1.isValidEd25519SecretKey)(key);
23
- }
24
- /** @inheritdoc */
25
- isValidPublicKey(key) {
26
- return (0, sdk_core_1.isValidEd25519PublicKey)(key);
27
- }
28
- /** @inheritdoc */
29
- isValidSignature(signature) {
30
- return this.isValidHex(signature, constants_1.APT_SIGNATURE_LENGTH);
31
- }
32
- /** @inheritdoc */
33
- isValidTransactionId(txId) {
34
- return this.isValidHex(txId, constants_1.APT_TRANSACTION_ID_LENGTH);
35
- }
36
- isValidHex(value, length) {
37
- const regex = new RegExp(`^(0x|0X)[a-fA-F0-9]{${length}}$`);
38
- return regex.test(value);
39
- }
40
- getAddressFromPublicKey(publicKey) {
41
- const aptosPublicKey = new ts_sdk_1.Ed25519PublicKey(Buffer.from(publicKey, 'hex'));
42
- const authKey = ts_sdk_1.AuthenticationKey.fromPublicKey({ publicKey: aptosPublicKey });
43
- const accountAddress = authKey.derivedAddress();
44
- return accountAddress.toString();
45
- }
46
- getTransactionTypeFromTransactionPayload(payload) {
47
- if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction)) {
48
- throw new Error('Invalid Payload: Expected TransactionPayloadEntryFunction');
49
- }
50
- const entryFunction = payload.entryFunction;
51
- const moduleAddress = entryFunction.module_name.address.toString();
52
- const moduleIdentifier = entryFunction.module_name.name.identifier;
53
- const functionIdentifier = entryFunction.function_name.identifier;
54
- const uniqueIdentifier = `${moduleAddress}::${moduleIdentifier}::${functionIdentifier}`;
55
- switch (uniqueIdentifier) {
56
- case constants_1.COIN_TRANSFER_FUNCTION:
57
- case constants_1.COIN_BATCH_TRANSFER_FUNCTION:
58
- return sdk_core_1.TransactionType.Send;
59
- case constants_1.FUNGIBLE_ASSET_TRANSFER_FUNCTION:
60
- case constants_1.FUNGIBLE_ASSET_BATCH_TRANSFER_FUNCTION:
61
- return sdk_core_1.TransactionType.SendToken;
62
- case constants_1.DIGITAL_ASSET_TRANSFER_FUNCTION:
63
- return sdk_core_1.TransactionType.SendNFT;
64
- default:
65
- throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: unable to fetch transaction type ${moduleIdentifier}`);
66
- }
67
- }
68
- fetchAndValidateRecipients(addressArg, amountArg) {
69
- const addressBytes = addressArg.bcsToBytes();
70
- const amountBytes = amountArg.bcsToBytes();
71
- let deserializedAddresses;
72
- let deserializedAmounts;
73
- if (addressBytes.length > constants_1.ADDRESS_BYTES_LENGTH || amountBytes.length > constants_1.AMOUNT_BYTES_LENGTH) {
74
- deserializedAddresses = utils.deserializeAccountAddressVector(addressBytes);
75
- deserializedAmounts = utils.deserializeU64Vector(amountBytes);
76
- if (deserializedAddresses.length !== deserializedAmounts.length) {
77
- console.error('invalid payload entry function arguments : addresses and amounts length mismatch');
78
- return { recipients: { deserializedAddresses: [], deserializedAmounts: [] }, isValid: false };
79
- }
80
- }
81
- else {
82
- deserializedAddresses = [addressArg.toString()];
83
- deserializedAmounts = [amountBytes];
84
- }
85
- const allAddressesValid = deserializedAddresses.every((address) => utils.isValidAddress(address.toString()));
86
- const allAmountsValid = deserializedAmounts.every((amount) => new bignumber_js_1.default(utils.getAmountFromPayloadArgs(amount)).isGreaterThan(0));
87
- return {
88
- recipients: { deserializedAddresses, deserializedAmounts },
89
- isValid: allAddressesValid && allAmountsValid,
90
- };
91
- }
92
- parseRecipients(addressArg, amountArg) {
93
- const { recipients, isValid } = utils.fetchAndValidateRecipients(addressArg, amountArg);
94
- if (!isValid) {
95
- throw new sdk_core_1.InvalidTransactionError('Invalid transaction recipients');
96
- }
97
- return recipients.deserializedAddresses.map((address, index) => ({
98
- address,
99
- amount: utils.getAmountFromPayloadArgs(recipients.deserializedAmounts[index]),
100
- }));
101
- }
102
- deserializeSignedTransaction(rawTransaction) {
103
- const txnBytes = ts_sdk_1.Hex.fromHexString(rawTransaction).toUint8Array();
104
- const deserializer = new ts_sdk_1.Deserializer(txnBytes);
105
- return deserializer.deserialize(ts_sdk_1.SignedTransaction);
106
- }
107
- deserializeAccountAddressVector(serializedBytes) {
108
- const deserializer = new ts_sdk_1.Deserializer(serializedBytes);
109
- const deserializedAddresses = deserializer.deserializeVector(ts_sdk_1.AccountAddress);
110
- return deserializedAddresses.map((address) => address.toString());
111
- }
112
- deserializeU64Vector(serializedBytes) {
113
- const deserializer = new ts_sdk_1.Deserializer(serializedBytes);
114
- const deserializedAmounts = deserializer.deserializeVector(ts_sdk_1.U64);
115
- return deserializedAmounts.map((amount) => amount.bcsToBytes());
116
- }
117
- getBufferFromHexString(hexString) {
118
- return Buffer.from(ts_sdk_1.Hex.fromHexString(hexString).toUint8Array());
119
- }
120
- castToNumber(value) {
121
- return new bignumber_js_1.default(value.toString()).toNumber();
122
- }
123
- /**
124
- * Strip hex prefix
125
- * @param str
126
- * @returns hex string without 0x prefix
127
- */
128
- stripHexPrefix(str) {
129
- return str.replace(/^0x/i, '');
130
- }
131
- getAmountFromPayloadArgs(amountArg) {
132
- const amountBuffer = Buffer.from(amountArg);
133
- const low = BigInt(amountBuffer.readUint32LE());
134
- const high = BigInt(amountBuffer.readUint32LE(4));
135
- const amount = (high << BigInt(32)) + low;
136
- return amount.toString();
137
- }
138
- /**
139
- * Returns the Aptos transaction expiration timestamp in seconds.
140
- * It is set to 1 week from now.
141
- */
142
- getTxnExpirationTimestamp() {
143
- return Math.floor(Date.now() / 1e3) + constants_1.SECONDS_PER_WEEK;
144
- }
145
- }
146
- exports.Utils = Utils;
147
- const utils = new Utils();
148
- exports.default = utils;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQVc0QjtBQUM1Qiw4Q0FPeUI7QUFDekIsMkNBYXFCO0FBQ3JCLGdFQUFxQztBQUdyQyxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsK0JBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixPQUFPLElBQUEsa0NBQXVCLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGdDQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUNBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBaUI7UUFDdkMsTUFBTSxjQUFjLEdBQUcsSUFBSSx5QkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLDBCQUFpQixDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsd0NBQXdDLENBQUMsT0FBMkI7UUFDbEUsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLHdDQUErQixDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkUsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNsRSxNQUFNLGdCQUFnQixHQUFHLEdBQUcsYUFBYSxLQUFLLGdCQUFnQixLQUFLLGtCQUFrQixFQUFFLENBQUM7UUFDeEYsUUFBUSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pCLEtBQUssa0NBQXNCLENBQUM7WUFDNUIsS0FBSyx3Q0FBNEI7Z0JBQy9CLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7WUFDOUIsS0FBSyw0Q0FBZ0MsQ0FBQztZQUN0QyxLQUFLLGtEQUFzQztnQkFDekMsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxLQUFLLDJDQUErQjtnQkFDbEMsT0FBTywwQkFBZSxDQUFDLE9BQU8sQ0FBQztZQUNqQztnQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMseURBQXlELGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNuSCxDQUFDO0lBQ0gsQ0FBQztJQUVELDBCQUEwQixDQUN4QixVQUFpQyxFQUNqQyxTQUFnQztRQUVoQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0MsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNDLElBQUkscUJBQStCLENBQUM7UUFDcEMsSUFBSSxtQkFBOEMsQ0FBQztRQUNuRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsZ0NBQW9CLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRywrQkFBbUIsRUFBRSxDQUFDO1lBQzNGLHFCQUFxQixHQUFHLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1RSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUQsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztnQkFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDaEcsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04scUJBQXFCLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNoRCxtQkFBbUIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxNQUFNLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdHLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQzNELElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7UUFDRixPQUFPO1lBQ0wsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUU7WUFDMUQsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGVBQWU7U0FDOUMsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBaUMsRUFBRSxTQUFnQztRQUNqRixNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0QsT0FBTztZQUNQLE1BQU0sRUFBRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlFLENBQUMsQ0FBMkIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsNEJBQTRCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxRQUFRLEdBQUcsWUFBRyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLDBCQUFpQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELCtCQUErQixDQUFDLGVBQTJCO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUkscUJBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBYyxDQUFDLENBQUM7UUFDN0UsT0FBTyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxlQUEyQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsWUFBRyxDQUFDLENBQUM7UUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxTQUFpQjtRQUN0QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxHQUFXO1FBQ3hCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHdCQUF3QixDQUFDLFNBQXFCO1FBQzVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyw0QkFBZ0IsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUE1SkQsc0JBNEpDO0FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUUxQixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgQXV0aGVudGljYXRpb25LZXksXG4gIERlc2VyaWFsaXplcixcbiAgRWQyNTUxOVB1YmxpY0tleSxcbiAgRW50cnlGdW5jdGlvbkFyZ3VtZW50LFxuICBIZXgsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24sXG4gIFU2NCxcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7XG4gIEJhc2VVdGlscyxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5LFxuICBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleSxcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEFQVF9BRERSRVNTX0xFTkdUSCxcbiAgQVBUX0JMT0NLX0lEX0xFTkdUSCxcbiAgQVBUX1NJR05BVFVSRV9MRU5HVEgsXG4gIEFQVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgsXG4gIENPSU5fQkFUQ0hfVFJBTlNGRVJfRlVOQ1RJT04sXG4gIENPSU5fVFJBTlNGRVJfRlVOQ1RJT04sXG4gIERJR0lUQUxfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT04sXG4gIEZVTkdJQkxFX0FTU0VUX1RSQU5TRkVSX0ZVTkNUSU9OLFxuICBTRUNPTkRTX1BFUl9XRUVLLFxuICBBRERSRVNTX0JZVEVTX0xFTkdUSCxcbiAgQU1PVU5UX0JZVEVTX0xFTkdUSCxcbiAgRlVOR0lCTEVfQVNTRVRfQkFUQ0hfVFJBTlNGRVJfRlVOQ1RJT04sXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IFJlY2lwaWVudHNWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGFkZHJlc3MsIEFQVF9BRERSRVNTX0xFTkdUSCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChoYXNoLCBBUFRfQkxPQ0tfSURfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChzaWduYXR1cmUsIEFQVF9TSUdOQVRVUkVfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KHR4SWQsIEFQVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgpO1xuICB9XG5cbiAgaXNWYWxpZEhleCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXigweHwwWClbYS1mQS1GMC05XXske2xlbmd0aH19JGApO1xuICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlKTtcbiAgfVxuXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcHRvc1B1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KEJ1ZmZlci5mcm9tKHB1YmxpY0tleSwgJ2hleCcpKTtcbiAgICBjb25zdCBhdXRoS2V5ID0gQXV0aGVudGljYXRpb25LZXkuZnJvbVB1YmxpY0tleSh7IHB1YmxpY0tleTogYXB0b3NQdWJsaWNLZXkgfSk7XG4gICAgY29uc3QgYWNjb3VudEFkZHJlc3MgPSBhdXRoS2V5LmRlcml2ZWRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIGFjY291bnRBZGRyZXNzLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvblR5cGVGcm9tVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgaWYgKCEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgUGF5bG9hZDogRXhwZWN0ZWQgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuICAgIGNvbnN0IG1vZHVsZUFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICBjb25zdCBtb2R1bGVJZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5tb2R1bGVfbmFtZS5uYW1lLmlkZW50aWZpZXI7XG4gICAgY29uc3QgZnVuY3Rpb25JZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5mdW5jdGlvbl9uYW1lLmlkZW50aWZpZXI7XG4gICAgY29uc3QgdW5pcXVlSWRlbnRpZmllciA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9Ojoke2Z1bmN0aW9uSWRlbnRpZmllcn1gO1xuICAgIHN3aXRjaCAodW5pcXVlSWRlbnRpZmllcikge1xuICAgICAgY2FzZSBDT0lOX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgY2FzZSBDT0lOX0JBVENIX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gICAgICBjYXNlIEZVTkdJQkxFX0FTU0VUX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgY2FzZSBGVU5HSUJMRV9BU1NFVF9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTjpcbiAgICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gICAgICBjYXNlIERJR0lUQUxfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT046XG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZE5GVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogdW5hYmxlIHRvIGZldGNoIHRyYW5zYWN0aW9uIHR5cGUgJHttb2R1bGVJZGVudGlmaWVyfWApO1xuICAgIH1cbiAgfVxuXG4gIGZldGNoQW5kVmFsaWRhdGVSZWNpcGllbnRzKFxuICAgIGFkZHJlc3NBcmc6IEVudHJ5RnVuY3Rpb25Bcmd1bWVudCxcbiAgICBhbW91bnRBcmc6IEVudHJ5RnVuY3Rpb25Bcmd1bWVudFxuICApOiBSZWNpcGllbnRzVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgYWRkcmVzc0J5dGVzID0gYWRkcmVzc0FyZy5iY3NUb0J5dGVzKCk7XG4gICAgY29uc3QgYW1vdW50Qnl0ZXMgPSBhbW91bnRBcmcuYmNzVG9CeXRlcygpO1xuICAgIGxldCBkZXNlcmlhbGl6ZWRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIGxldCBkZXNlcmlhbGl6ZWRBbW91bnRzOiBVaW50OEFycmF5PEFycmF5QnVmZmVyPltdO1xuICAgIGlmIChhZGRyZXNzQnl0ZXMubGVuZ3RoID4gQUREUkVTU19CWVRFU19MRU5HVEggfHwgYW1vdW50Qnl0ZXMubGVuZ3RoID4gQU1PVU5UX0JZVEVTX0xFTkdUSCkge1xuICAgICAgZGVzZXJpYWxpemVkQWRkcmVzc2VzID0gdXRpbHMuZGVzZXJpYWxpemVBY2NvdW50QWRkcmVzc1ZlY3RvcihhZGRyZXNzQnl0ZXMpO1xuICAgICAgZGVzZXJpYWxpemVkQW1vdW50cyA9IHV0aWxzLmRlc2VyaWFsaXplVTY0VmVjdG9yKGFtb3VudEJ5dGVzKTtcbiAgICAgIGlmIChkZXNlcmlhbGl6ZWRBZGRyZXNzZXMubGVuZ3RoICE9PSBkZXNlcmlhbGl6ZWRBbW91bnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdpbnZhbGlkIHBheWxvYWQgZW50cnkgZnVuY3Rpb24gYXJndW1lbnRzIDogYWRkcmVzc2VzIGFuZCBhbW91bnRzIGxlbmd0aCBtaXNtYXRjaCcpO1xuICAgICAgICByZXR1cm4geyByZWNpcGllbnRzOiB7IGRlc2VyaWFsaXplZEFkZHJlc3NlczogW10sIGRlc2VyaWFsaXplZEFtb3VudHM6IFtdIH0sIGlzVmFsaWQ6IGZhbHNlIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlc2VyaWFsaXplZEFkZHJlc3NlcyA9IFthZGRyZXNzQXJnLnRvU3RyaW5nKCldO1xuICAgICAgZGVzZXJpYWxpemVkQW1vdW50cyA9IFthbW91bnRCeXRlc107XG4gICAgfVxuICAgIGNvbnN0IGFsbEFkZHJlc3Nlc1ZhbGlkID0gZGVzZXJpYWxpemVkQWRkcmVzc2VzLmV2ZXJ5KChhZGRyZXNzKSA9PiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLnRvU3RyaW5nKCkpKTtcbiAgICBjb25zdCBhbGxBbW91bnRzVmFsaWQgPSBkZXNlcmlhbGl6ZWRBbW91bnRzLmV2ZXJ5KChhbW91bnQpID0+XG4gICAgICBuZXcgQmlnTnVtYmVyKHV0aWxzLmdldEFtb3VudEZyb21QYXlsb2FkQXJncyhhbW91bnQpKS5pc0dyZWF0ZXJUaGFuKDApXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVjaXBpZW50czogeyBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMsIGRlc2VyaWFsaXplZEFtb3VudHMgfSxcbiAgICAgIGlzVmFsaWQ6IGFsbEFkZHJlc3Nlc1ZhbGlkICYmIGFsbEFtb3VudHNWYWxpZCxcbiAgICB9O1xuICB9XG5cbiAgcGFyc2VSZWNpcGllbnRzKGFkZHJlc3NBcmc6IEVudHJ5RnVuY3Rpb25Bcmd1bWVudCwgYW1vdW50QXJnOiBFbnRyeUZ1bmN0aW9uQXJndW1lbnQpOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdIHtcbiAgICBjb25zdCB7IHJlY2lwaWVudHMsIGlzVmFsaWQgfSA9IHV0aWxzLmZldGNoQW5kVmFsaWRhdGVSZWNpcGllbnRzKGFkZHJlc3NBcmcsIGFtb3VudEFyZyk7XG4gICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gcmVjaXBpZW50cycpO1xuICAgIH1cbiAgICByZXR1cm4gcmVjaXBpZW50cy5kZXNlcmlhbGl6ZWRBZGRyZXNzZXMubWFwKChhZGRyZXNzLCBpbmRleCkgPT4gKHtcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhbW91bnQ6IHV0aWxzLmdldEFtb3VudEZyb21QYXlsb2FkQXJncyhyZWNpcGllbnRzLmRlc2VyaWFsaXplZEFtb3VudHNbaW5kZXhdKSxcbiAgICB9KSkgYXMgVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgfVxuXG4gIGRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eG5CeXRlcyA9IEhleC5mcm9tSGV4U3RyaW5nKHJhd1RyYW5zYWN0aW9uKS50b1VpbnQ4QXJyYXkoKTtcbiAgICBjb25zdCBkZXNlcmlhbGl6ZXIgPSBuZXcgRGVzZXJpYWxpemVyKHR4bkJ5dGVzKTtcbiAgICByZXR1cm4gZGVzZXJpYWxpemVyLmRlc2VyaWFsaXplKFNpZ25lZFRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIGRlc2VyaWFsaXplQWNjb3VudEFkZHJlc3NWZWN0b3Ioc2VyaWFsaXplZEJ5dGVzOiBVaW50OEFycmF5KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGRlc2VyaWFsaXplciA9IG5ldyBEZXNlcmlhbGl6ZXIoc2VyaWFsaXplZEJ5dGVzKTtcbiAgICBjb25zdCBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMgPSBkZXNlcmlhbGl6ZXIuZGVzZXJpYWxpemVWZWN0b3IoQWNjb3VudEFkZHJlc3MpO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMubWFwKChhZGRyZXNzKSA9PiBhZGRyZXNzLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgZGVzZXJpYWxpemVVNjRWZWN0b3Ioc2VyaWFsaXplZEJ5dGVzOiBVaW50OEFycmF5KTogVWludDhBcnJheVtdIHtcbiAgICBjb25zdCBkZXNlcmlhbGl6ZXIgPSBuZXcgRGVzZXJpYWxpemVyKHNlcmlhbGl6ZWRCeXRlcyk7XG4gICAgY29uc3QgZGVzZXJpYWxpemVkQW1vdW50cyA9IGRlc2VyaWFsaXplci5kZXNlcmlhbGl6ZVZlY3RvcihVNjQpO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZWRBbW91bnRzLm1hcCgoYW1vdW50KSA9PiBhbW91bnQuYmNzVG9CeXRlcygpKTtcbiAgfVxuXG4gIGdldEJ1ZmZlckZyb21IZXhTdHJpbmcoaGV4U3RyaW5nOiBzdHJpbmcpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShIZXguZnJvbUhleFN0cmluZyhoZXhTdHJpbmcpLnRvVWludDhBcnJheSgpKTtcbiAgfVxuXG4gIGNhc3RUb051bWJlcih2YWx1ZTogYmlnaW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV3IEJpZ051bWJlcih2YWx1ZS50b1N0cmluZygpKS50b051bWJlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmlwIGhleCBwcmVmaXhcbiAgICogQHBhcmFtIHN0clxuICAgKiBAcmV0dXJucyBoZXggc3RyaW5nIHdpdGhvdXQgMHggcHJlZml4XG4gICAqL1xuICBzdHJpcEhleFByZWZpeChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eMHgvaSwgJycpO1xuICB9XG5cbiAgZ2V0QW1vdW50RnJvbVBheWxvYWRBcmdzKGFtb3VudEFyZzogVWludDhBcnJheSk6IHN0cmluZyB7XG4gICAgY29uc3QgYW1vdW50QnVmZmVyID0gQnVmZmVyLmZyb20oYW1vdW50QXJnKTtcbiAgICBjb25zdCBsb3cgPSBCaWdJbnQoYW1vdW50QnVmZmVyLnJlYWRVaW50MzJMRSgpKTtcbiAgICBjb25zdCBoaWdoID0gQmlnSW50KGFtb3VudEJ1ZmZlci5yZWFkVWludDMyTEUoNCkpO1xuICAgIGNvbnN0IGFtb3VudCA9IChoaWdoIDw8IEJpZ0ludCgzMikpICsgbG93O1xuICAgIHJldHVybiBhbW91bnQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBBcHRvcyB0cmFuc2FjdGlvbiBleHBpcmF0aW9uIHRpbWVzdGFtcCBpbiBzZWNvbmRzLlxuICAgKiBJdCBpcyBzZXQgdG8gMSB3ZWVrIGZyb20gbm93LlxuICAgKi9cbiAgZ2V0VHhuRXhwaXJhdGlvblRpbWVzdGFtcCgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxZTMpICsgU0VDT05EU19QRVJfV0VFSztcbiAgfVxufVxuXG5jb25zdCB1dGlscyA9IG5ldyBVdGlscygpO1xuXG5leHBvcnQgZGVmYXVsdCB1dGlscztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { BitGoBase } from '@bitgo/sdk-core';
2
- export declare const register: (sdk: BitGoBase) => void;
3
- //# sourceMappingURL=register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IASzC,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.register = void 0;
4
- const apt_1 = require("./apt");
5
- const tapt_1 = require("./tapt");
6
- const aptToken_1 = require("./aptToken");
7
- const aptNFTCollection_1 = require("./aptNFTCollection");
8
- const register = (sdk) => {
9
- sdk.register('apt', apt_1.Apt.createInstance);
10
- sdk.register('tapt', tapt_1.Tapt.createInstance);
11
- aptToken_1.AptToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
12
- sdk.register(name, coinConstructor);
13
- });
14
- aptNFTCollection_1.AptNFTCollection.createNFTCollectionConstructors().forEach(({ name, coinConstructor }) => {
15
- sdk.register(name, coinConstructor);
16
- });
17
- };
18
- exports.register = register;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFDdEMseURBQXNEO0FBRS9DLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYyxFQUFRLEVBQUU7SUFDL0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsU0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxtQkFBUSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN2RSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNILG1DQUFnQixDQUFDLCtCQUErQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN2RixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVRXLFFBQUEsUUFBUSxZQVNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBBcHQgfSBmcm9tICcuL2FwdCc7XG5pbXBvcnQgeyBUYXB0IH0gZnJvbSAnLi90YXB0JztcbmltcG9ydCB7IEFwdFRva2VuIH0gZnJvbSAnLi9hcHRUb2tlbic7XG5pbXBvcnQgeyBBcHRORlRDb2xsZWN0aW9uIH0gZnJvbSAnLi9hcHRORlRDb2xsZWN0aW9uJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignYXB0JywgQXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCd0YXB0JywgVGFwdC5jcmVhdGVJbnN0YW5jZSk7XG4gIEFwdFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcbiAgQXB0TkZUQ29sbGVjdGlvbi5jcmVhdGVORlRDb2xsZWN0aW9uQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcbn07XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { BaseCoin, BitGoBase } from '@bitgo/sdk-core';
2
- import { Apt } from './apt';
3
- import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
4
- export declare class Tapt extends Apt {
5
- protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
6
- protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
7
- static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
8
- /**
9
- * Identifier for the blockchain which supports this coin
10
- */
11
- getChain(): string;
12
- /**
13
- * Complete human-readable name of this coin
14
- */
15
- getFullName(): string;
16
- }
17
- //# sourceMappingURL=tapt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tapt.d.ts","sourceRoot":"","sources":["../../src/tapt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE7D,qBAAa,IAAK,SAAQ,GAAG;IAC3B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,WAAW,IAAI,MAAM;CAG7B"}
package/dist/src/tapt.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tapt = void 0;
4
- const apt_1 = require("./apt");
5
- class Tapt extends apt_1.Apt {
6
- constructor(bitgo, staticsCoin) {
7
- super(bitgo, staticsCoin);
8
- if (!staticsCoin) {
9
- throw new Error('missing required constructor parameter staticsCoin');
10
- }
11
- this._staticsCoin = staticsCoin;
12
- }
13
- static createInstance(bitgo, staticsCoin) {
14
- return new Tapt(bitgo, staticsCoin);
15
- }
16
- /**
17
- * Identifier for the blockchain which supports this coin
18
- */
19
- getChain() {
20
- return 'tapt';
21
- }
22
- /**
23
- * Complete human-readable name of this coin
24
- */
25
- getFullName() {
26
- return 'Testnet Aptos';
27
- }
28
- }
29
- exports.Tapt = Tapt;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtCQUE0QjtBQUc1QixNQUFhLElBQUssU0FBUSxTQUFHO0lBRTNCLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQTdCRCxvQkE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEFwdCB9IGZyb20gJy4vYXB0JztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFRhcHQgZXh0ZW5kcyBBcHQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFRhcHQoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgYmxvY2tjaGFpbiB3aGljaCBzdXBwb3J0cyB0aGlzIGNvaW5cbiAgICovXG4gIHB1YmxpYyBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAndGFwdCc7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGxldGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGlzIGNvaW5cbiAgICovXG4gIHB1YmxpYyBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnVGVzdG5ldCBBcHRvcyc7XG4gIH1cbn1cbiJdfQ==