@bitgo/account-lib 2.18.0 → 2.19.0-rc.10
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/.mocharc.js +10 -0
- package/DEVELOPER.md +1 -1
- package/dist/browser/bitgo-account-lib.js +1 -1
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +10 -17
- package/dist/package.json +12 -15
- package/dist/src/coin/algo/ifaces.d.ts +1 -0
- package/dist/src/coin/algo/ifaces.d.ts.map +1 -1
- package/dist/src/coin/algo/ifaces.js +1 -1
- package/dist/src/coin/algo/index.d.ts +2 -0
- package/dist/src/coin/algo/index.d.ts.map +1 -1
- package/dist/src/coin/algo/index.js +23 -2
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +24 -5
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -1
- package/dist/src/coin/algo/keyRegistrationBuilder.js +100 -21
- package/dist/src/coin/algo/transaction.d.ts.map +1 -1
- package/dist/src/coin/algo/transaction.js +15 -6
- package/dist/src/coin/algo/txnSchema.d.ts.map +1 -1
- package/dist/src/coin/algo/txnSchema.js +2 -1
- package/dist/src/coin/algo/utils.d.ts +5 -0
- package/dist/src/coin/algo/utils.d.ts.map +1 -1
- package/dist/src/coin/algo/utils.js +19 -2
- package/dist/src/coin/avaxc/resources.js +3 -3
- package/dist/src/coin/avaxc/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/avaxc/transactionBuilder.js +1 -1
- package/dist/src/coin/baseCoin/baseTransaction.d.ts +6 -0
- package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/baseTransaction.js +13 -1
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +9 -1
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/baseTransactionBuilder.js +10 -1
- package/dist/src/coin/baseCoin/blsKeyPair.js +7 -7
- package/dist/src/coin/baseCoin/iface.d.ts +7 -0
- package/dist/src/coin/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/iface.js +1 -1
- package/dist/src/coin/baseCoin/index.d.ts +1 -0
- package/dist/src/coin/baseCoin/index.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/index.js +4 -2
- package/dist/src/coin/celo/stakingBuilder.d.ts +1 -1
- package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -1
- package/dist/src/coin/celo/stakingBuilder.js +1 -1
- package/dist/src/coin/celo/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/celo/transactionBuilder.js +1 -1
- package/dist/src/coin/cspr/delegateBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/delegateBuilder.js +1 -1
- package/dist/src/coin/cspr/transaction.d.ts +1 -1
- package/dist/src/coin/cspr/transaction.d.ts.map +1 -1
- package/dist/src/coin/cspr/transaction.js +1 -1
- package/dist/src/coin/cspr/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/transactionBuilder.js +1 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.js +1 -1
- package/dist/src/coin/cspr/transferBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/transferBuilder.js +1 -1
- package/dist/src/coin/cspr/undelegateBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/undelegateBuilder.js +1 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.js +1 -1
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/batchTransactionBuilder.js +1 -1
- package/dist/src/coin/dot/iface.d.ts +8 -2
- package/dist/src/coin/dot/iface.d.ts.map +1 -1
- package/dist/src/coin/dot/iface.js +2 -1
- package/dist/src/coin/dot/index.d.ts +2 -0
- package/dist/src/coin/dot/index.d.ts.map +1 -1
- package/dist/src/coin/dot/index.js +6 -2
- package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
- package/dist/src/coin/dot/keyPair.js +4 -2
- package/dist/src/coin/dot/singletonRegistry.d.ts +7 -0
- package/dist/src/coin/dot/singletonRegistry.d.ts.map +1 -0
- package/dist/src/coin/dot/singletonRegistry.js +23 -0
- package/dist/src/coin/dot/transaction.d.ts +18 -2
- package/dist/src/coin/dot/transaction.d.ts.map +1 -1
- package/dist/src/coin/dot/transaction.js +66 -66
- package/dist/src/coin/dot/transactionBuilder.d.ts +6 -2
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilder.js +19 -8
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +2 -1
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilderFactory.js +6 -7
- package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transferBuilder.js +4 -3
- package/dist/src/coin/dot/txnSchema.d.ts +1 -0
- package/dist/src/coin/dot/txnSchema.d.ts.map +1 -1
- package/dist/src/coin/dot/txnSchema.js +5 -2
- package/dist/src/coin/dot/utils.d.ts +19 -4
- package/dist/src/coin/dot/utils.d.ts.map +1 -1
- package/dist/src/coin/dot/utils.js +39 -11
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +38 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.js +112 -0
- package/dist/src/coin/etc/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/etc/transactionBuilder.js +1 -1
- package/dist/src/coin/eth2/keyPair.js +2 -2
- package/dist/src/coin/hbar/transaction.d.ts +1 -1
- package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
- package/dist/src/coin/hbar/transaction.js +1 -1
- package/dist/src/coin/hbar/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/transactionBuilder.js +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.js +1 -1
- package/dist/src/coin/hbar/transferBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/transferBuilder.js +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.js +1 -1
- package/dist/src/coin/near/iface.d.ts +29 -0
- package/dist/src/coin/near/iface.d.ts.map +1 -0
- package/dist/src/coin/near/iface.js +8 -0
- package/dist/src/coin/near/index.d.ts +3 -0
- package/dist/src/coin/near/index.d.ts.map +1 -1
- package/dist/src/coin/near/index.js +8 -2
- package/dist/src/coin/near/keyPair.d.ts +7 -0
- package/dist/src/coin/near/keyPair.d.ts.map +1 -1
- package/dist/src/coin/near/keyPair.js +15 -1
- package/dist/src/coin/near/transaction.d.ts +57 -2
- package/dist/src/coin/near/transaction.d.ts.map +1 -1
- package/dist/src/coin/near/transaction.js +244 -6
- package/dist/src/coin/near/transactionBuilder.d.ts +64 -2
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilder.js +219 -8
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilderFactory.js +17 -2
- package/dist/src/coin/near/transferBuilder.d.ts +14 -2
- package/dist/src/coin/near/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transferBuilder.js +63 -8
- package/dist/src/coin/near/utils.d.ts +24 -1
- package/dist/src/coin/near/utils.d.ts.map +1 -1
- package/dist/src/coin/near/utils.js +42 -8
- package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -2
- package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/walletInitializationBuilder.js +2 -6
- package/dist/src/coin/rbtc/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/rbtc/transactionBuilder.js +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts +12 -1
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.js +37 -10
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts +14 -0
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -0
- package/dist/src/coin/sol/ataInitializationTransaction.js +104 -0
- package/dist/src/coin/sol/index.d.ts +3 -1
- package/dist/src/coin/sol/index.d.ts.map +1 -1
- package/dist/src/coin/sol/index.js +6 -2
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts +85 -0
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenEncodeDecode.js +162 -0
- package/dist/src/coin/sol/transaction.d.ts +8 -2
- package/dist/src/coin/sol/transaction.d.ts.map +1 -1
- package/dist/src/coin/sol/transaction.js +21 -3
- package/dist/src/coin/sol/transactionBuilder.d.ts +6 -2
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/transactionBuilder.js +11 -1
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +3 -1
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/sol/transactionBuilderFactory.js +8 -3
- package/dist/src/coin/sol/utils.d.ts +9 -0
- package/dist/src/coin/sol/utils.d.ts.map +1 -1
- package/dist/src/coin/sol/utils.js +27 -2
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -2
- package/dist/src/mpc/tss.d.ts +7 -7
- package/dist/src/mpc/tss.d.ts.map +1 -1
- package/dist/src/mpc/tss.js +3 -2
- package/dist/src/utils/crypto.d.ts +15 -0
- package/dist/src/utils/crypto.d.ts.map +1 -1
- package/dist/src/utils/crypto.js +33 -2
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +12 -15
|
@@ -1,10 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import BigNumber from 'bignumber.js';
|
|
2
3
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
4
|
import { BaseTransactionBuilder } from '../baseCoin';
|
|
4
|
-
import { BaseAddress, BaseKey } from '../baseCoin/iface';
|
|
5
|
+
import { BaseAddress, BaseKey, PublicKey as BasePublicKey } from '../baseCoin/iface';
|
|
5
6
|
import { Transaction } from './transaction';
|
|
7
|
+
import * as nearAPI from 'near-api-js';
|
|
6
8
|
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
7
9
|
private _transaction;
|
|
10
|
+
private _sender;
|
|
11
|
+
private _publicKey;
|
|
12
|
+
private _receiverId;
|
|
13
|
+
private _nonce;
|
|
14
|
+
private _recentBlockHash;
|
|
15
|
+
private _actions;
|
|
16
|
+
private _signer;
|
|
17
|
+
private _signatures;
|
|
8
18
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
19
|
/**
|
|
10
20
|
* Initialize the transaction builder fields using the decoded transaction data
|
|
@@ -13,16 +23,68 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
13
23
|
*/
|
|
14
24
|
initBuilder(tx: Transaction): void;
|
|
15
25
|
/** @inheritdoc */
|
|
26
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
protected signImplementation(key: BaseKey): Transaction;
|
|
31
|
+
/** @inheritdoc */
|
|
16
32
|
protected get transaction(): Transaction;
|
|
17
33
|
/** @inheritdoc */
|
|
34
|
+
protected set transaction(transaction: Transaction);
|
|
35
|
+
/** @inheritdoc */
|
|
18
36
|
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
19
37
|
/** @inheritdoc */
|
|
20
38
|
validateKey(key: BaseKey): void;
|
|
21
39
|
/** @inheritdoc */
|
|
22
40
|
validateRawTransaction(rawTransaction: any): void;
|
|
23
41
|
/** @inheritdoc */
|
|
24
|
-
validateTransaction(transaction
|
|
42
|
+
validateTransaction(transaction: Transaction): void;
|
|
25
43
|
/** @inheritdoc */
|
|
26
44
|
validateValue(value: BigNumber): void;
|
|
45
|
+
/**
|
|
46
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} address the account that is sending this transaction
|
|
49
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
50
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
51
|
+
*/
|
|
52
|
+
sender(address: string, pubKey: string): this;
|
|
53
|
+
/**
|
|
54
|
+
* Sets the account Id of the receiver of this transaction.
|
|
55
|
+
*
|
|
56
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
57
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
58
|
+
*/
|
|
59
|
+
receiverId(accountId: string): this;
|
|
60
|
+
/**
|
|
61
|
+
* Set the nonce
|
|
62
|
+
*
|
|
63
|
+
* @param {number} nonce - number that can be only used once
|
|
64
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
65
|
+
*/
|
|
66
|
+
nonce(nonce: number): this;
|
|
67
|
+
/**
|
|
68
|
+
* Sets the blockHash of this transaction.
|
|
69
|
+
*
|
|
70
|
+
* @param {string} blockHash the blockHash of this transaction
|
|
71
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
72
|
+
*/
|
|
73
|
+
recentBlockHash(blockHash: string): this;
|
|
74
|
+
/**
|
|
75
|
+
* Sets the list of actions of this transaction.
|
|
76
|
+
*
|
|
77
|
+
* @param {nearAPI.transactions.Action[]} value the the list of actions
|
|
78
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
79
|
+
*/
|
|
80
|
+
protected actions(value: nearAPI.transactions.Action[]): this;
|
|
81
|
+
/**
|
|
82
|
+
* Builds the NEAR transaction.
|
|
83
|
+
*
|
|
84
|
+
* @return {Transaction} near sdk transaction
|
|
85
|
+
*/
|
|
86
|
+
protected buildNearTransaction(): nearAPI.transactions.Transaction;
|
|
87
|
+
/** @inheritDoc */
|
|
88
|
+
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
27
89
|
}
|
|
28
90
|
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/transactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAa,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAOvC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,WAAW,CAA6B;gBAEpC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAWlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAY3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAMvD,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAKD,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQ/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAoBjD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAQnD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQrC;;;;;;OAMG;IACI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpD;;;;;OAKG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM1C;;;;;OAKG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;OAKG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ/C;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,IAAI;IAK7D;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW;IAgBlE,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAGhE"}
|
|
@@ -14,14 +14,82 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (_) try {
|
|
52
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
+
};
|
|
17
75
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
76
|
exports.TransactionBuilder = void 0;
|
|
19
77
|
var baseCoin_1 = require("../baseCoin");
|
|
20
78
|
var errors_1 = require("../baseCoin/errors");
|
|
79
|
+
var transaction_1 = require("./transaction");
|
|
80
|
+
var nearAPI = __importStar(require("near-api-js"));
|
|
81
|
+
var errors_2 = require("../dot/errors");
|
|
82
|
+
var utils_1 = __importDefault(require("./utils"));
|
|
83
|
+
var assert_1 = __importDefault(require("assert"));
|
|
84
|
+
var keyPair_1 = require("./keyPair");
|
|
85
|
+
var hex = __importStar(require("@stablelib/hex"));
|
|
21
86
|
var TransactionBuilder = /** @class */ (function (_super) {
|
|
22
87
|
__extends(TransactionBuilder, _super);
|
|
23
88
|
function TransactionBuilder(_coinConfig) {
|
|
24
|
-
|
|
89
|
+
var _this = _super.call(this, _coinConfig) || this;
|
|
90
|
+
_this._signatures = []; // only support single sig for now
|
|
91
|
+
_this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
92
|
+
return _this;
|
|
25
93
|
}
|
|
26
94
|
/**
|
|
27
95
|
* Initialize the transaction builder fields using the decoded transaction data
|
|
@@ -29,7 +97,42 @@ var TransactionBuilder = /** @class */ (function (_super) {
|
|
|
29
97
|
* @param {Transaction} tx the transaction data
|
|
30
98
|
*/
|
|
31
99
|
TransactionBuilder.prototype.initBuilder = function (tx) {
|
|
32
|
-
|
|
100
|
+
this._transaction = tx;
|
|
101
|
+
var nearTransaction = tx.nearTransaction;
|
|
102
|
+
this._sender = nearTransaction.signerId;
|
|
103
|
+
this._nonce = nearTransaction.nonce;
|
|
104
|
+
this._receiverId = nearTransaction.receiverId;
|
|
105
|
+
this._publicKey = hex.encode(nearTransaction.publicKey.data);
|
|
106
|
+
this._recentBlockHash = nearAPI.utils.serialize.base_encode(nearTransaction.blockHash);
|
|
107
|
+
this._actions = nearTransaction.actions;
|
|
108
|
+
};
|
|
109
|
+
/** @inheritdoc */
|
|
110
|
+
TransactionBuilder.prototype.fromImplementation = function (rawTransaction) {
|
|
111
|
+
this.validateRawTransaction(rawTransaction);
|
|
112
|
+
this.buildImplementation();
|
|
113
|
+
return this.transaction;
|
|
114
|
+
};
|
|
115
|
+
/** @inheritdoc */
|
|
116
|
+
TransactionBuilder.prototype.buildImplementation = function () {
|
|
117
|
+
var _a;
|
|
118
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
119
|
+
return __generator(this, function (_b) {
|
|
120
|
+
this.transaction.nearTransaction = this.buildNearTransaction();
|
|
121
|
+
if (this._signer) {
|
|
122
|
+
this.transaction.sign(this._signer);
|
|
123
|
+
}
|
|
124
|
+
if (((_a = this._signatures) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
125
|
+
this.transaction.constructSignedPayload(this._signatures[0].signature);
|
|
126
|
+
}
|
|
127
|
+
this.transaction.loadInputsAndOutputs();
|
|
128
|
+
return [2 /*return*/, this.transaction];
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
/** @inheritdoc */
|
|
133
|
+
TransactionBuilder.prototype.signImplementation = function (key) {
|
|
134
|
+
this._signer = new keyPair_1.KeyPair({ prv: key.key });
|
|
135
|
+
return this._transaction;
|
|
33
136
|
};
|
|
34
137
|
Object.defineProperty(TransactionBuilder.prototype, "transaction", {
|
|
35
138
|
// region Getters and Setters
|
|
@@ -37,6 +140,10 @@ var TransactionBuilder = /** @class */ (function (_super) {
|
|
|
37
140
|
get: function () {
|
|
38
141
|
return this._transaction;
|
|
39
142
|
},
|
|
143
|
+
/** @inheritdoc */
|
|
144
|
+
set: function (transaction) {
|
|
145
|
+
this._transaction = transaction;
|
|
146
|
+
},
|
|
40
147
|
enumerable: false,
|
|
41
148
|
configurable: true
|
|
42
149
|
});
|
|
@@ -44,25 +151,129 @@ var TransactionBuilder = /** @class */ (function (_super) {
|
|
|
44
151
|
// region Validators
|
|
45
152
|
/** @inheritdoc */
|
|
46
153
|
TransactionBuilder.prototype.validateAddress = function (address, addressFormat) {
|
|
47
|
-
|
|
154
|
+
if (!utils_1.default.isValidAddress(address.address)) {
|
|
155
|
+
throw new errors_2.AddressValidationError(address.address);
|
|
156
|
+
}
|
|
48
157
|
};
|
|
49
158
|
/** @inheritdoc */
|
|
50
159
|
TransactionBuilder.prototype.validateKey = function (key) {
|
|
51
|
-
|
|
160
|
+
try {
|
|
161
|
+
new keyPair_1.KeyPair({ prv: key.key });
|
|
162
|
+
}
|
|
163
|
+
catch (_a) {
|
|
164
|
+
throw new errors_1.BuildTransactionError("Key validation failed");
|
|
165
|
+
}
|
|
52
166
|
};
|
|
53
167
|
/** @inheritdoc */
|
|
54
168
|
TransactionBuilder.prototype.validateRawTransaction = function (rawTransaction) {
|
|
55
|
-
|
|
169
|
+
try {
|
|
170
|
+
nearAPI.utils.serialize.deserialize(nearAPI.transactions.SCHEMA, nearAPI.transactions.SignedTransaction, rawTransaction);
|
|
171
|
+
}
|
|
172
|
+
catch (_a) {
|
|
173
|
+
try {
|
|
174
|
+
nearAPI.utils.serialize.deserialize(nearAPI.transactions.SCHEMA, nearAPI.transactions.Transaction, rawTransaction);
|
|
175
|
+
}
|
|
176
|
+
catch (_b) {
|
|
177
|
+
throw new errors_1.BuildTransactionError('invalid raw transaction');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
56
180
|
};
|
|
57
181
|
/** @inheritdoc */
|
|
58
182
|
TransactionBuilder.prototype.validateTransaction = function (transaction) {
|
|
59
|
-
|
|
183
|
+
if (!transaction.nearTransaction) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
this.validateAddress({ address: transaction.nearTransaction.signerId });
|
|
187
|
+
this.validateAddress({ address: transaction.nearTransaction.receiverId });
|
|
60
188
|
};
|
|
61
189
|
/** @inheritdoc */
|
|
62
190
|
TransactionBuilder.prototype.validateValue = function (value) {
|
|
63
|
-
|
|
191
|
+
if (value.isLessThan(0)) {
|
|
192
|
+
throw new errors_1.BuildTransactionError('Value cannot be less than zero');
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
// endregion
|
|
196
|
+
/**
|
|
197
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
198
|
+
*
|
|
199
|
+
* @param {string} address the account that is sending this transaction
|
|
200
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
201
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
202
|
+
*/
|
|
203
|
+
TransactionBuilder.prototype.sender = function (address, pubKey) {
|
|
204
|
+
if (!address || !utils_1.default.isValidAddress(address.toString())) {
|
|
205
|
+
throw new errors_1.BuildTransactionError('Invalid or missing address, got: ' + address);
|
|
206
|
+
}
|
|
207
|
+
if (!pubKey || !utils_1.default.isValidPublicKey(pubKey)) {
|
|
208
|
+
throw new errors_1.BuildTransactionError('Invalid or missing pubKey, got: ' + pubKey);
|
|
209
|
+
}
|
|
210
|
+
this._sender = address;
|
|
211
|
+
this._publicKey = pubKey;
|
|
212
|
+
return this;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Sets the account Id of the receiver of this transaction.
|
|
216
|
+
*
|
|
217
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
218
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
219
|
+
*/
|
|
220
|
+
TransactionBuilder.prototype.receiverId = function (accountId) {
|
|
221
|
+
utils_1.default.isValidAddress(accountId);
|
|
222
|
+
this._receiverId = accountId;
|
|
223
|
+
return this;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Set the nonce
|
|
227
|
+
*
|
|
228
|
+
* @param {number} nonce - number that can be only used once
|
|
229
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
230
|
+
*/
|
|
231
|
+
TransactionBuilder.prototype.nonce = function (nonce) {
|
|
232
|
+
if (nonce < 0) {
|
|
233
|
+
throw new errors_1.BuildTransactionError("Invalid nonce: " + nonce);
|
|
234
|
+
}
|
|
235
|
+
this._nonce = nonce;
|
|
236
|
+
return this;
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Sets the blockHash of this transaction.
|
|
240
|
+
*
|
|
241
|
+
* @param {string} blockHash the blockHash of this transaction
|
|
242
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
243
|
+
*/
|
|
244
|
+
TransactionBuilder.prototype.recentBlockHash = function (blockHash) {
|
|
245
|
+
if (!utils_1.default.isValidBlockId(blockHash)) {
|
|
246
|
+
throw new errors_1.BuildTransactionError("Invalid blockHash " + blockHash);
|
|
247
|
+
}
|
|
248
|
+
this._recentBlockHash = blockHash;
|
|
249
|
+
return this;
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Sets the list of actions of this transaction.
|
|
253
|
+
*
|
|
254
|
+
* @param {nearAPI.transactions.Action[]} value the the list of actions
|
|
255
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
256
|
+
*/
|
|
257
|
+
TransactionBuilder.prototype.actions = function (value) {
|
|
258
|
+
this._actions = value;
|
|
259
|
+
return this;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* Builds the NEAR transaction.
|
|
263
|
+
*
|
|
264
|
+
* @return {Transaction} near sdk transaction
|
|
265
|
+
*/
|
|
266
|
+
TransactionBuilder.prototype.buildNearTransaction = function () {
|
|
267
|
+
assert_1.default(this._sender, new errors_1.BuildTransactionError('sender is required before building'));
|
|
268
|
+
assert_1.default(this._recentBlockHash, new errors_1.BuildTransactionError('recent blockhash is required before building'));
|
|
269
|
+
var tx = nearAPI.transactions.createTransaction(this._sender, nearAPI.utils.PublicKey.fromString(nearAPI.utils.serialize.base_encode(hex.decode(this._publicKey))), this._receiverId, this._nonce, this._actions, nearAPI.utils.serialize.base_decode(this._recentBlockHash));
|
|
270
|
+
return tx;
|
|
271
|
+
};
|
|
272
|
+
/** @inheritDoc */
|
|
273
|
+
TransactionBuilder.prototype.addSignature = function (publicKey, signature) {
|
|
274
|
+
this._signatures.push({ publicKey: publicKey, signature: signature });
|
|
64
275
|
};
|
|
65
276
|
return TransactionBuilder;
|
|
66
277
|
}(baseCoin_1.BaseTransactionBuilder));
|
|
67
278
|
exports.TransactionBuilder = TransactionBuilder;
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vbmVhci90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsd0NBQXFEO0FBQ3JELDZDQUF5RDtBQUl6RDtJQUFpRCxzQ0FBc0I7SUFHckUsNEJBQVksV0FBaUM7ZUFDM0Msa0JBQU0sV0FBVyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0NBQVcsR0FBWCxVQUFZLEVBQWU7UUFDekIsTUFBTSxJQUFJLDRCQUFtQixDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUlELHNCQUFjLDJDQUFXO1FBRnpCLDZCQUE2QjtRQUM3QixrQkFBa0I7YUFDbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDM0IsQ0FBQzs7O09BQUE7SUFDRCxZQUFZO0lBRVosb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQiw0Q0FBZSxHQUFmLFVBQWdCLE9BQW9CLEVBQUUsYUFBc0I7UUFDMUQsTUFBTSxJQUFJLDRCQUFtQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBVyxHQUFYLFVBQVksR0FBWTtRQUN0QixNQUFNLElBQUksNEJBQW1CLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1EQUFzQixHQUF0QixVQUF1QixjQUFtQjtRQUN4QyxNQUFNLElBQUksNEJBQW1CLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGdEQUFtQixHQUFuQixVQUFvQixXQUF5QjtRQUMzQyxNQUFNLElBQUksNEJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBDQUFhLEdBQWIsVUFBYyxLQUFnQjtRQUM1QixNQUFNLElBQUksNEJBQW1CLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUgseUJBQUM7QUFBRCxDQUFDLEFBakRELENBQWlELGlDQUFzQixHQWlEdEU7QUFqRHFCLGdEQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4uL2Jhc2VDb2luL2Vycm9ycyc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcywgQmFzZUtleSB9IGZyb20gJy4uL2Jhc2VDb2luL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignaW5pdEJ1aWxkZXIgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvLyByZWdpb24gR2V0dGVycyBhbmQgU2V0dGVyc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZUtleSBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVSYXdUcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVUcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVWYWx1ZSBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vbmVhci90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHdDQUFnRTtBQUNoRSw2Q0FBMkQ7QUFFM0QsNkNBQTRDO0FBQzVDLG1EQUF1QztBQUN2Qyx3Q0FBdUQ7QUFDdkQsa0RBQTRCO0FBQzVCLGtEQUE0QjtBQUM1QixxQ0FBb0M7QUFDcEMsa0RBQXNDO0FBRXRDO0lBQWlELHNDQUFzQjtJQWFyRSw0QkFBWSxXQUFpQztRQUE3QyxZQUNFLGtCQUFNLFdBQVcsQ0FBQyxTQUVuQjtRQUxPLGlCQUFXLEdBQTBCLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztRQUlqRixLQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQzs7SUFDbkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3Q0FBVyxHQUFYLFVBQVksRUFBZTtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNB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QUMvQyxJQUFJLENBQUMsT0FBTyxFQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUNwRyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxRQUFRLEVBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUMzRCxDQUFDO1FBRUYsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHlDQUFZLEdBQVosVUFBYSxTQUF3QixFQUFFLFNBQWlCO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxXQUFBLEVBQUUsU0FBUyxXQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDSCx5QkFBQztBQUFELENBQUMsQUFoT0QsQ0FBaUQsaUNBQXNCLEdBZ090RTtBQWhPcUIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsIEludGVyZmFjZSB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJy4uL2Jhc2VDb2luL2Vycm9ycyc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcywgQmFzZUtleSwgUHVibGljS2V5IGFzIEJhc2VQdWJsaWNLZXkgfSBmcm9tICcuLi9iYXNlQ29pbi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0ICogYXMgbmVhckFQSSBmcm9tICduZWFyLWFwaS1qcyc7XG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vZG90L2Vycm9ycyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCAqIGFzIGhleCBmcm9tICdAc3RhYmxlbGliL2hleCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuXG4gIHByaXZhdGUgX3NlbmRlcjogc3RyaW5nO1xuICBwcml2YXRlIF9wdWJsaWNLZXk6IHN0cmluZztcbiAgcHJpdmF0ZSBfcmVjZWl2ZXJJZDogc3RyaW5nO1xuICBwcml2YXRlIF9ub25jZTogbnVtYmVyO1xuICBwcml2YXRlIF9yZWNlbnRCbG9ja0hhc2g6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0aW9uczogbmVhckFQSS50cmFuc2FjdGlvbnMuQWN0aW9uW107XG4gIHByaXZhdGUgX3NpZ25lcjogS2V5UGFpcjtcblxuICBwcml2YXRlIF9zaWduYXR1cmVzOiBJbnRlcmZhY2UuU2lnbmF0dXJlW10gPSBbXTsgLy8gb25seSBzdXBwb3J0IHNpbmdsZSBzaWcgZm9yIG5vd1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgICBjb25zdCBuZWFyVHJhbnNhY3Rpb24gPSB0eC5uZWFyVHJhbnNhY3Rpb247XG4gICAgdGhpcy5fc2VuZGVyID0gbmVhclRyYW5zYWN0aW9uLnNpZ25lcklkO1xuICAgIHRoaXMuX25vbmNlID0gbmVhclRyYW5zYWN0aW9uLm5vbmNlO1xuICAgIHRoaXMuX3JlY2VpdmVySWQgPSBuZWFyVHJhbnNhY3Rpb24ucmVjZWl2ZXJJZDtcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSBoZXguZW5jb2RlKG5lYXJUcmFuc2FjdGlvbi5wdWJsaWNLZXkuZGF0YSk7XG4gICAgdGhpcy5fcmVjZW50QmxvY2tIYXNoID0gbmVhckFQSS51dGlscy5zZXJpYWxpemUuYmFzZV9lbmNvZGUobmVhclRyYW5zYWN0aW9uLmJsb2NrSGFzaCk7XG4gICAgdGhpcy5fYWN0aW9ucyA9IG5lYXJUcmFuc2FjdGlvbi5hY3Rpb25zO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLm5lYXJUcmFuc2FjdGlvbiA9IHRoaXMuYnVpbGROZWFyVHJhbnNhY3Rpb24oKTtcbiAgICBpZiAodGhpcy5fc2lnbmVyKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ24odGhpcy5fc2lnbmVyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3NpZ25hdHVyZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uY29uc3RydWN0U2lnbmVkUGF5bG9hZCh0aGlzLl9zaWduYXR1cmVzWzBdLnNpZ25hdHVyZSk7XG4gICAgfVxuICAgIHRoaXMudHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aGlzLl9zaWduZXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvLyByZWdpb24gR2V0dGVycyBhbmQgU2V0dGVyc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yKGFkZHJlc3MuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEtleSB2YWxpZGF0aW9uIGZhaWxlZGApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgbmVhckFQSS51dGlscy5zZXJpYWxpemUuZGVzZXJpYWxpemUoXG4gICAgICAgIG5lYXJBUEkudHJhbnNhY3Rpb25zLlNDSEVNQSxcbiAgICAgICAgbmVhckFQSS50cmFuc2FjdGlvbnMuU2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgICAgIHJhd1RyYW5zYWN0aW9uLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIG5lYXJBUEkudXRpbHMuc2VyaWFsaXplLmRlc2VyaWFsaXplKFxuICAgICAgICAgIG5lYXJBUEkudHJhbnNhY3Rpb25zLlNDSEVNQSxcbiAgICAgICAgICBuZWFyQVBJLnRyYW5zYWN0aW9ucy5UcmFuc2FjdGlvbixcbiAgICAgICAgICByYXdUcmFuc2FjdGlvbixcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIGlmICghdHJhbnNhY3Rpb24ubmVhclRyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24ubmVhclRyYW5zYWN0aW9uLnNpZ25lcklkIH0pO1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24ubmVhclRyYW5zYWN0aW9uLnJlY2VpdmVySWQgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwdWJsaWMga2V5IGFuZCB0aGUgYWRkcmVzcyBvZiB0aGUgc2VuZGVyIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIHRoZSBhY2NvdW50IHRoYXQgaXMgc2VuZGluZyB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwdWJLZXkgdGhlIHB1YmxpYyBrZXkgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgc2VuZGVyKGFkZHJlc3M6IHN0cmluZywgcHViS2V5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MudG9TdHJpbmcoKSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBhZGRyZXNzLCBnb3Q6ICcgKyBhZGRyZXNzKTtcbiAgICB9XG4gICAgaWYgKCFwdWJLZXkgfHwgIXV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViS2V5KSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBvciBtaXNzaW5nIHB1YktleSwgZ290OiAnICsgcHViS2V5KTtcbiAgICB9XG4gICAgdGhpcy5fc2VuZGVyID0gYWRkcmVzcztcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSBwdWJLZXk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWNjb3VudCBJZCBvZiB0aGUgcmVjZWl2ZXIgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY291bnRJZCB0aGUgYWNjb3VudCBpZCBvZiB0aGUgYWNjb3VudCB0aGF0IGlzIHJlY2VpdmluZyB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgcHVibGljIHJlY2VpdmVySWQoYWNjb3VudElkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhY2NvdW50SWQpO1xuICAgIHRoaXMuX3JlY2VpdmVySWQgPSBhY2NvdW50SWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBub25jZVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbm9uY2UgLSBudW1iZXIgdGhhdCBjYW4gYmUgb25seSB1c2VkIG9uY2VcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgbm9uY2Uobm9uY2U6IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChub25jZSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgbm9uY2U6ICR7bm9uY2V9YCk7XG4gICAgfVxuICAgIHRoaXMuX25vbmNlID0gbm9uY2U7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYmxvY2tIYXNoIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBibG9ja0hhc2ggdGhlIGJsb2NrSGFzaCBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgcHVibGljIHJlY2VudEJsb2NrSGFzaChibG9ja0hhc2g6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBibG9ja0hhc2ggJHtibG9ja0hhc2h9YCk7XG4gICAgfVxuICAgIHRoaXMuX3JlY2VudEJsb2NrSGFzaCA9IGJsb2NrSGFzaDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsaXN0IG9mIGFjdGlvbnMgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtuZWFyQVBJLnRyYW5zYWN0aW9ucy5BY3Rpb25bXX0gdmFsdWUgdGhlIHRoZSBsaXN0IG9mIGFjdGlvbnNcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgYWN0aW9ucyh2YWx1ZTogbmVhckFQSS50cmFuc2FjdGlvbnMuQWN0aW9uW10pOiB0aGlzIHtcbiAgICB0aGlzLl9hY3Rpb25zID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBORUFSIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJuIHtUcmFuc2FjdGlvbn0gbmVhciBzZGsgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBidWlsZE5lYXJUcmFuc2FjdGlvbigpOiBuZWFyQVBJLnRyYW5zYWN0aW9ucy5UcmFuc2FjdGlvbiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignc2VuZGVyIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fcmVjZW50QmxvY2tIYXNoLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdyZWNlbnQgYmxvY2toYXNoIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcblxuICAgIGNvbnN0IHR4ID0gbmVhckFQSS50cmFuc2FjdGlvbnMuY3JlYXRlVHJhbnNhY3Rpb24oXG4gICAgICB0aGlzLl9zZW5kZXIsXG4gICAgICBuZWFyQVBJLnV0aWxzLlB1YmxpY0tleS5mcm9tU3RyaW5nKG5lYXJBUEkudXRpbHMuc2VyaWFsaXplLmJhc2VfZW5jb2RlKGhleC5kZWNvZGUodGhpcy5fcHVibGljS2V5KSkpLFxuICAgICAgdGhpcy5fcmVjZWl2ZXJJZCxcbiAgICAgIHRoaXMuX25vbmNlLFxuICAgICAgdGhpcy5fYWN0aW9ucyxcbiAgICAgIG5lYXJBUEkudXRpbHMuc2VyaWFsaXplLmJhc2VfZGVjb2RlKHRoaXMuX3JlY2VudEJsb2NrSGFzaCksXG4gICAgKTtcblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBCYXNlUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -7,7 +7,7 @@ import { Transaction } from './transaction';
|
|
|
7
7
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
8
8
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
9
|
/** @inheritdoc */
|
|
10
|
-
from(raw:
|
|
10
|
+
from(raw: string): TransactionBuilder;
|
|
11
11
|
/** @inheritdoc */
|
|
12
12
|
getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
|
|
13
13
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,6BAA6B,
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAmB,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAiBrC,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAMjC"}
|
|
@@ -20,6 +20,7 @@ var baseCoin_1 = require("../baseCoin");
|
|
|
20
20
|
var errors_1 = require("../baseCoin/errors");
|
|
21
21
|
var transferBuilder_1 = require("./transferBuilder");
|
|
22
22
|
var walletInitializationBuilder_1 = require("./walletInitializationBuilder");
|
|
23
|
+
var transaction_1 = require("./transaction");
|
|
23
24
|
var TransactionBuilderFactory = /** @class */ (function (_super) {
|
|
24
25
|
__extends(TransactionBuilderFactory, _super);
|
|
25
26
|
function TransactionBuilderFactory(_coinConfig) {
|
|
@@ -27,7 +28,21 @@ var TransactionBuilderFactory = /** @class */ (function (_super) {
|
|
|
27
28
|
}
|
|
28
29
|
/** @inheritdoc */
|
|
29
30
|
TransactionBuilderFactory.prototype.from = function (raw) {
|
|
30
|
-
|
|
31
|
+
try {
|
|
32
|
+
var tx = new transaction_1.Transaction(this._coinConfig);
|
|
33
|
+
tx.fromRawTransaction(raw);
|
|
34
|
+
switch (tx.type) {
|
|
35
|
+
case baseCoin_1.TransactionType.Send:
|
|
36
|
+
return this.getTransferBuilder(tx);
|
|
37
|
+
case baseCoin_1.TransactionType.WalletInitialization:
|
|
38
|
+
return this.getWalletInitializationBuilder(tx);
|
|
39
|
+
default:
|
|
40
|
+
throw new errors_1.InvalidTransactionError('unsupported transaction');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw e;
|
|
45
|
+
}
|
|
31
46
|
};
|
|
32
47
|
/** @inheritdoc */
|
|
33
48
|
TransactionBuilderFactory.prototype.getWalletInitializationBuilder = function (tx) {
|
|
@@ -53,4 +68,4 @@ var TransactionBuilderFactory = /** @class */ (function (_super) {
|
|
|
53
68
|
return TransactionBuilderFactory;
|
|
54
69
|
}(baseCoin_1.BaseTransactionBuilderFactory));
|
|
55
70
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL25lYXIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx3Q0FBNkU7QUFDN0UsNkNBQTZEO0FBQzdELHFEQUFvRDtBQUNwRCw2RUFBNEU7QUFFNUUsNkNBQTRDO0FBRTVDO0lBQStDLDZDQUE2QjtJQUMxRSxtQ0FBWSxXQUFpQztlQUMzQyxrQkFBTSxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBSSxHQUFKLFVBQUssR0FBVztRQUNkLElBQUk7WUFDRixJQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2YsS0FBSywwQkFBZSxDQUFDLElBQUk7b0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxLQUFLLDBCQUFlLENBQUMsb0JBQW9CO29CQUN2QyxPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakQ7b0JBQ0UsTUFBTSxJQUFJLGdDQUF1QixDQUFDLHlCQUF5QixDQUFDLENBQUM7YUFDaEU7U0FDRjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0VBQThCLEdBQTlCLFVBQStCLEVBQWdCO1FBQzdDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixzREFBa0IsR0FBbEIsVUFBbUIsRUFBZ0I7UUFDakMsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDWSwyQ0FBaUIsR0FBaEMsVUFBK0QsRUFBMkIsRUFBRSxPQUFVO1FBQ3BHLElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDSCxnQ0FBQztBQUFELENBQUMsQUE5Q0QsQ0FBK0Msd0NBQTZCLEdBOEMzRTtBQTlDWSw4REFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,12 +3,24 @@ import { BaseKey } from '../baseCoin/iface';
|
|
|
3
3
|
import { TransactionBuilder } from './transactionBuilder';
|
|
4
4
|
import { Transaction } from './transaction';
|
|
5
5
|
export declare class TransferBuilder extends TransactionBuilder {
|
|
6
|
+
private _amount;
|
|
6
7
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
+
/**
|
|
9
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
10
|
+
*
|
|
11
|
+
* @param {Transaction} tx the transaction data
|
|
12
|
+
*/
|
|
13
|
+
initBuilder(tx: Transaction): void;
|
|
7
14
|
/** @inheritdoc */
|
|
8
15
|
protected buildImplementation(): Promise<Transaction>;
|
|
9
16
|
/** @inheritdoc */
|
|
10
|
-
protected fromImplementation(rawTransaction: any): Transaction;
|
|
11
|
-
/** @inheritdoc */
|
|
12
17
|
protected signImplementation(key: BaseKey): Transaction;
|
|
18
|
+
/**
|
|
19
|
+
* Sets the amount of this transaction.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} value the amount of this transaction
|
|
22
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
23
|
+
*/
|
|
24
|
+
amount(value: string): this;
|
|
13
25
|
}
|
|
14
26
|
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAMvD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAKnC"}
|
|
@@ -14,6 +14,25 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
17
36
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
37
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
38
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -50,32 +69,68 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
50
69
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
70
|
}
|
|
52
71
|
};
|
|
72
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
+
};
|
|
53
75
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
76
|
exports.TransferBuilder = void 0;
|
|
55
|
-
var errors_1 = require("../baseCoin/errors");
|
|
56
77
|
var transactionBuilder_1 = require("./transactionBuilder");
|
|
78
|
+
var baseCoin_1 = require("../baseCoin");
|
|
79
|
+
var NearAPI = __importStar(require("near-api-js"));
|
|
80
|
+
var assert_1 = __importDefault(require("assert"));
|
|
81
|
+
var errors_1 = require("../baseCoin/errors");
|
|
82
|
+
var bn_js_1 = __importDefault(require("bn.js"));
|
|
83
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
57
84
|
var TransferBuilder = /** @class */ (function (_super) {
|
|
58
85
|
__extends(TransferBuilder, _super);
|
|
59
86
|
function TransferBuilder(_coinConfig) {
|
|
60
87
|
return _super.call(this, _coinConfig) || this;
|
|
61
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
91
|
+
*
|
|
92
|
+
* @param {Transaction} tx the transaction data
|
|
93
|
+
*/
|
|
94
|
+
TransferBuilder.prototype.initBuilder = function (tx) {
|
|
95
|
+
_super.prototype.initBuilder.call(this, tx);
|
|
96
|
+
this._amount = NearAPI.utils.format.formatNearAmount(tx.nearTransaction.actions[0].transfer.deposit.toString());
|
|
97
|
+
};
|
|
62
98
|
/** @inheritdoc */
|
|
63
99
|
TransferBuilder.prototype.buildImplementation = function () {
|
|
64
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
101
|
+
var tx;
|
|
65
102
|
return __generator(this, function (_a) {
|
|
66
|
-
|
|
103
|
+
switch (_a.label) {
|
|
104
|
+
case 0:
|
|
105
|
+
assert_1.default(this._amount, new errors_1.BuildTransactionError('amount is required before building transfer'));
|
|
106
|
+
_super.prototype.actions.call(this, [NearAPI.transactions.transfer(new bn_js_1.default(NearAPI.utils.format.parseNearAmount(this._amount), 10))]);
|
|
107
|
+
return [4 /*yield*/, _super.prototype.buildImplementation.call(this)];
|
|
108
|
+
case 1:
|
|
109
|
+
tx = _a.sent();
|
|
110
|
+
tx.setTransactionType(baseCoin_1.TransactionType.Send);
|
|
111
|
+
return [2 /*return*/, tx];
|
|
112
|
+
}
|
|
67
113
|
});
|
|
68
114
|
});
|
|
69
115
|
};
|
|
70
116
|
/** @inheritdoc */
|
|
71
|
-
TransferBuilder.prototype.fromImplementation = function (rawTransaction) {
|
|
72
|
-
throw new errors_1.NotImplementedError('method not implemented');
|
|
73
|
-
};
|
|
74
|
-
/** @inheritdoc */
|
|
75
117
|
TransferBuilder.prototype.signImplementation = function (key) {
|
|
76
|
-
|
|
118
|
+
var tx = _super.prototype.signImplementation.call(this, key);
|
|
119
|
+
tx.setTransactionType(baseCoin_1.TransactionType.Send);
|
|
120
|
+
return tx;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Sets the amount of this transaction.
|
|
124
|
+
*
|
|
125
|
+
* @param {string} value the amount of this transaction
|
|
126
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
127
|
+
*/
|
|
128
|
+
TransferBuilder.prototype.amount = function (value) {
|
|
129
|
+
this.validateValue(new bignumber_js_1.default(value));
|
|
130
|
+
this._amount = value;
|
|
131
|
+
return this;
|
|
77
132
|
};
|
|
78
133
|
return TransferBuilder;
|
|
79
134
|
}(transactionBuilder_1.TransactionBuilder));
|
|
80
135
|
exports.TransferBuilder = TransferBuilder;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vbmVhci90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLDJEQUEwRDtBQUUxRCx3Q0FBOEM7QUFDOUMsbURBQXVDO0FBQ3ZDLGtEQUE0QjtBQUM1Qiw2Q0FBMkQ7QUFDM0QsZ0RBQXVCO0FBQ3ZCLDhEQUFxQztBQUVyQztJQUFxQyxtQ0FBa0I7SUFHckQseUJBQVksV0FBaUM7ZUFDM0Msa0JBQU0sV0FBVyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gscUNBQVcsR0FBWCxVQUFZLEVBQWU7UUFDekIsaUJBQU0sV0FBVyxZQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFRCxrQkFBa0I7SUFDRiw2Q0FBbUIsR0FBbkM7Ozs7Ozt3QkFDRSxnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSw4QkFBcUIsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLENBQUM7d0JBQy9GLGlCQUFNLE9BQU8sWUFBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksZUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3RHLHFCQUFNLGlCQUFNLG1CQUFtQixXQUFFLEVBQUE7O3dCQUF0QyxFQUFFLEdBQUcsU0FBaUM7d0JBQzVDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUM1QyxzQkFBTyxFQUFFLEVBQUM7Ozs7S0FDWDtJQUVELGtCQUFrQjtJQUNSLDRDQUFrQixHQUE1QixVQUE2QixHQUFZO1FBQ3ZDLElBQU0sRUFBRSxHQUFHLGlCQUFNLGtCQUFrQixZQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0NBQU0sR0FBYixVQUFjLEtBQWE7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUE1Q0QsQ0FBcUMsdUNBQWtCLEdBNEN0RDtBQTVDWSwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5IH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCAqIGFzIE5lYXJBUEkgZnJvbSAnbmVhci1hcGktanMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCBCTiBmcm9tICdibi5qcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9hbW91bnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMuX2Ftb3VudCA9IE5lYXJBUEkudXRpbHMuZm9ybWF0LmZvcm1hdE5lYXJBbW91bnQodHgubmVhclRyYW5zYWN0aW9uLmFjdGlvbnNbMF0udHJhbnNmZXIuZGVwb3NpdC50b1N0cmluZygpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX2Ftb3VudCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignYW1vdW50IGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyB0cmFuc2ZlcicpKTtcbiAgICBzdXBlci5hY3Rpb25zKFtOZWFyQVBJLnRyYW5zYWN0aW9ucy50cmFuc2ZlcihuZXcgQk4oTmVhckFQSS51dGlscy5mb3JtYXQucGFyc2VOZWFyQW1vdW50KHRoaXMuX2Ftb3VudCEpISwgMTApKV0pO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICAgIHR4LnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gICAgdHguc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYW1vdW50IG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSB0aGUgYW1vdW50IG9mIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgYW1vdW50KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih2YWx1ZSkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|