@bitgo-beta/sdk-coin-near 0.0.0-semantic-release-managed
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/.eslintignore +5 -0
- package/.mocharc.yml +8 -0
- package/CHANGELOG.md +784 -0
- package/LICENSE +191 -0
- package/README.md +30 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +22 -0
- package/dist/src/lib/constants.d.ts +16 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +19 -0
- package/dist/src/lib/contractCallWrapper.d.ts +33 -0
- package/dist/src/lib/contractCallWrapper.d.ts.map +1 -0
- package/dist/src/lib/contractCallWrapper.js +71 -0
- package/dist/src/lib/errors.d.ts +5 -0
- package/dist/src/lib/errors.d.ts.map +1 -0
- package/dist/src/lib/errors.js +12 -0
- package/dist/src/lib/fungibleTokenTransferBuilder.d.ts +64 -0
- package/dist/src/lib/fungibleTokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/fungibleTokenTransferBuilder.js +158 -0
- package/dist/src/lib/iface.d.ts +42 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +3 -0
- package/dist/src/lib/index.d.ts +13 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +59 -0
- package/dist/src/lib/keyPair.d.ts +25 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +86 -0
- package/dist/src/lib/stakingActivateBuilder.d.ts +32 -0
- package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/lib/stakingActivateBuilder.js +105 -0
- package/dist/src/lib/stakingDeactivateBuilder.d.ts +32 -0
- package/dist/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/lib/stakingDeactivateBuilder.js +104 -0
- package/dist/src/lib/stakingWithdrawBuilder.d.ts +32 -0
- package/dist/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/lib/stakingWithdrawBuilder.js +104 -0
- package/dist/src/lib/storageDepositTransferBuilder.d.ts +36 -0
- package/dist/src/lib/storageDepositTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/storageDepositTransferBuilder.js +115 -0
- package/dist/src/lib/transaction.d.ts +117 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +613 -0
- package/dist/src/lib/transactionBuilder.d.ts +95 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +241 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +34 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +84 -0
- package/dist/src/lib/transferBuilder.d.ts +26 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +87 -0
- package/dist/src/lib/utils.d.ts +71 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +139 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts +12 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/lib/walletInitializationBuilder.js +20 -0
- package/dist/src/near.d.ts +217 -0
- package/dist/src/near.d.ts.map +1 -0
- package/dist/src/near.js +853 -0
- package/dist/src/nep141Token.d.ts +20 -0
- package/dist/src/nep141Token.d.ts.map +1 -0
- package/dist/src/nep141Token.js +101 -0
- package/dist/src/register.d.ts +3 -0
- package/dist/src/register.d.ts.map +1 -0
- package/dist/src/register.js +15 -0
- package/dist/src/tnear.d.ts +7 -0
- package/dist/src/tnear.d.ts.map +1 -0
- package/dist/src/tnear.js +11 -0
- package/package.json +63 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey } from '@bitgo-beta/sdk-core';
|
|
4
|
+
import { Transaction } from './transaction';
|
|
5
|
+
import * as nearAPI from 'near-api-js';
|
|
6
|
+
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
7
|
+
private _transaction;
|
|
8
|
+
private _sender;
|
|
9
|
+
private _publicKey;
|
|
10
|
+
protected _receiverId: string;
|
|
11
|
+
private _nonce;
|
|
12
|
+
private _recentBlockHash;
|
|
13
|
+
private _signer;
|
|
14
|
+
private _signatures;
|
|
15
|
+
protected _actions: nearAPI.transactions.Action[];
|
|
16
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
17
|
+
/**
|
|
18
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
19
|
+
*
|
|
20
|
+
* @param {Transaction} tx the transaction data
|
|
21
|
+
*/
|
|
22
|
+
initBuilder(tx: Transaction): void;
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
protected signImplementation(key: BaseKey): Transaction;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
protected get transaction(): Transaction;
|
|
31
|
+
/** @inheritdoc */
|
|
32
|
+
protected set transaction(transaction: Transaction);
|
|
33
|
+
/** @inheritdoc */
|
|
34
|
+
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
35
|
+
/** @inheritdoc */
|
|
36
|
+
validateKey(key: BaseKey): void;
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
validateRawTransaction(rawTransaction: any): void;
|
|
39
|
+
/** @inheritdoc */
|
|
40
|
+
validateTransaction(transaction: Transaction): void;
|
|
41
|
+
/** @inheritdoc */
|
|
42
|
+
validateValue(value: BigNumber): void;
|
|
43
|
+
/**
|
|
44
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
45
|
+
*
|
|
46
|
+
* @param {string} address the account that is sending this transaction
|
|
47
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
48
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
49
|
+
*/
|
|
50
|
+
sender(address: string, pubKey: string): this;
|
|
51
|
+
/**
|
|
52
|
+
* Sets the account Id of the receiver of this transaction.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
55
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
56
|
+
*/
|
|
57
|
+
receiverId(accountId: string): this;
|
|
58
|
+
/**
|
|
59
|
+
* Set the nonce
|
|
60
|
+
*
|
|
61
|
+
* @param {bigint} nonce - number that can be only used once
|
|
62
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
63
|
+
*/
|
|
64
|
+
nonce(nonce: bigint): this;
|
|
65
|
+
/**
|
|
66
|
+
* Sets the blockHash of this transaction.
|
|
67
|
+
*
|
|
68
|
+
* @param {string} blockHash the blockHash of this transaction
|
|
69
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
70
|
+
*/
|
|
71
|
+
recentBlockHash(blockHash: string): this;
|
|
72
|
+
/**
|
|
73
|
+
* Sets the list of actions of this transaction.
|
|
74
|
+
*
|
|
75
|
+
* @param {nearAPI.transactions.Action[]} value the the list of actions
|
|
76
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
77
|
+
*/
|
|
78
|
+
protected actions(value: nearAPI.transactions.Action[]): this;
|
|
79
|
+
/**
|
|
80
|
+
* Sets the action for this transaction/
|
|
81
|
+
*
|
|
82
|
+
* @param {nearAPI.transactions.Action} value the delegate action
|
|
83
|
+
* @returns {TransactionBuilder} The delegate transaction builder
|
|
84
|
+
*/
|
|
85
|
+
protected action(value: nearAPI.transactions.Action): this;
|
|
86
|
+
/**
|
|
87
|
+
* Builds the NEAR transaction.
|
|
88
|
+
*
|
|
89
|
+
* @return {Transaction} near sdk transaction
|
|
90
|
+
*/
|
|
91
|
+
protected buildNearTransaction(): nearAPI.transactions.Transaction;
|
|
92
|
+
/** @inheritDoc */
|
|
93
|
+
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAE3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAMvC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAmB;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAEtC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAalC,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;IAYjD,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;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI;IAI1D;;;;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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.TransactionBuilder = void 0;
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const transaction_1 = require("./transaction");
|
|
42
|
+
const nearAPI = __importStar(require("near-api-js"));
|
|
43
|
+
const errors_1 = require("./errors");
|
|
44
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
45
|
+
const assert_1 = __importDefault(require("assert"));
|
|
46
|
+
const keyPair_1 = require("./keyPair");
|
|
47
|
+
const hex = __importStar(require("@stablelib/hex"));
|
|
48
|
+
class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
49
|
+
constructor(_coinConfig) {
|
|
50
|
+
super(_coinConfig);
|
|
51
|
+
this._signatures = []; // only support single sig for now
|
|
52
|
+
this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
56
|
+
*
|
|
57
|
+
* @param {Transaction} tx the transaction data
|
|
58
|
+
*/
|
|
59
|
+
initBuilder(tx) {
|
|
60
|
+
this._transaction = tx;
|
|
61
|
+
const nearTransaction = tx.nearTransaction;
|
|
62
|
+
this._sender = nearTransaction.signerId;
|
|
63
|
+
this._nonce = nearTransaction.nonce;
|
|
64
|
+
this._receiverId = nearTransaction.receiverId;
|
|
65
|
+
if (nearTransaction.publicKey.ed25519Key?.data) {
|
|
66
|
+
this._publicKey = hex.encode(nearTransaction.publicKey.ed25519Key.data);
|
|
67
|
+
}
|
|
68
|
+
this._recentBlockHash = nearAPI.utils.serialize.base_encode(new Uint8Array(nearTransaction.blockHash));
|
|
69
|
+
this._actions = nearTransaction.actions;
|
|
70
|
+
}
|
|
71
|
+
/** @inheritdoc */
|
|
72
|
+
fromImplementation(rawTransaction) {
|
|
73
|
+
this.validateRawTransaction(rawTransaction);
|
|
74
|
+
this.buildImplementation();
|
|
75
|
+
return this.transaction;
|
|
76
|
+
}
|
|
77
|
+
/** @inheritdoc */
|
|
78
|
+
async buildImplementation() {
|
|
79
|
+
this.transaction.nearTransaction = this.buildNearTransaction();
|
|
80
|
+
if (this._signer) {
|
|
81
|
+
this.transaction.sign(this._signer);
|
|
82
|
+
}
|
|
83
|
+
if (this._signatures?.length > 0) {
|
|
84
|
+
this.transaction.constructSignedPayload(this._signatures[0].signature);
|
|
85
|
+
}
|
|
86
|
+
this.transaction.loadInputsAndOutputs();
|
|
87
|
+
return this.transaction;
|
|
88
|
+
}
|
|
89
|
+
/** @inheritdoc */
|
|
90
|
+
signImplementation(key) {
|
|
91
|
+
this._signer = new keyPair_1.KeyPair({ prv: key.key });
|
|
92
|
+
return this._transaction;
|
|
93
|
+
}
|
|
94
|
+
// region Getters and Setters
|
|
95
|
+
/** @inheritdoc */
|
|
96
|
+
get transaction() {
|
|
97
|
+
return this._transaction;
|
|
98
|
+
}
|
|
99
|
+
/** @inheritdoc */
|
|
100
|
+
set transaction(transaction) {
|
|
101
|
+
this._transaction = transaction;
|
|
102
|
+
}
|
|
103
|
+
// endregion
|
|
104
|
+
// region Validators
|
|
105
|
+
/** @inheritdoc */
|
|
106
|
+
validateAddress(address, addressFormat) {
|
|
107
|
+
if (!utils_1.default.isValidAddress(address.address)) {
|
|
108
|
+
throw new errors_1.AddressValidationError(address.address);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/** @inheritdoc */
|
|
112
|
+
validateKey(key) {
|
|
113
|
+
try {
|
|
114
|
+
new keyPair_1.KeyPair({ prv: key.key });
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
throw new sdk_core_1.BuildTransactionError(`Key validation failed`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** @inheritdoc */
|
|
121
|
+
validateRawTransaction(rawTransaction) {
|
|
122
|
+
try {
|
|
123
|
+
nearAPI.utils.serialize.deserialize(nearAPI.transactions.SCHEMA.SignedTransaction, rawTransaction);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
try {
|
|
127
|
+
nearAPI.utils.serialize.deserialize(nearAPI.transactions.SCHEMA.Transaction, rawTransaction);
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
throw new sdk_core_1.BuildTransactionError('invalid raw transaction');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** @inheritdoc */
|
|
135
|
+
validateTransaction(transaction) {
|
|
136
|
+
if (!transaction.nearTransaction) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this.validateAddress({ address: transaction.nearTransaction.signerId });
|
|
140
|
+
this.validateAddress({ address: transaction.nearTransaction.receiverId });
|
|
141
|
+
}
|
|
142
|
+
/** @inheritdoc */
|
|
143
|
+
validateValue(value) {
|
|
144
|
+
if (value.isLessThan(0)) {
|
|
145
|
+
throw new sdk_core_1.BuildTransactionError('Value cannot be less than zero');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// endregion
|
|
149
|
+
/**
|
|
150
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
151
|
+
*
|
|
152
|
+
* @param {string} address the account that is sending this transaction
|
|
153
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
154
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
155
|
+
*/
|
|
156
|
+
sender(address, pubKey) {
|
|
157
|
+
if (!address || !utils_1.default.isValidAddress(address.toString())) {
|
|
158
|
+
throw new sdk_core_1.BuildTransactionError('Invalid or missing address, got: ' + address);
|
|
159
|
+
}
|
|
160
|
+
if (!pubKey || !utils_1.default.isValidPublicKey(pubKey)) {
|
|
161
|
+
throw new sdk_core_1.BuildTransactionError('Invalid or missing pubKey, got: ' + pubKey);
|
|
162
|
+
}
|
|
163
|
+
this._sender = address;
|
|
164
|
+
this._publicKey = pubKey;
|
|
165
|
+
return this;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Sets the account Id of the receiver of this transaction.
|
|
169
|
+
*
|
|
170
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
171
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
172
|
+
*/
|
|
173
|
+
receiverId(accountId) {
|
|
174
|
+
utils_1.default.isValidAddress(accountId);
|
|
175
|
+
this._receiverId = accountId;
|
|
176
|
+
return this;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Set the nonce
|
|
180
|
+
*
|
|
181
|
+
* @param {bigint} nonce - number that can be only used once
|
|
182
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
183
|
+
*/
|
|
184
|
+
nonce(nonce) {
|
|
185
|
+
if (nonce < 0) {
|
|
186
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid nonce: ${nonce}`);
|
|
187
|
+
}
|
|
188
|
+
this._nonce = nonce;
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Sets the blockHash of this transaction.
|
|
193
|
+
*
|
|
194
|
+
* @param {string} blockHash the blockHash of this transaction
|
|
195
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
196
|
+
*/
|
|
197
|
+
recentBlockHash(blockHash) {
|
|
198
|
+
if (!utils_1.default.isValidBlockId(blockHash)) {
|
|
199
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid blockHash ${blockHash}`);
|
|
200
|
+
}
|
|
201
|
+
this._recentBlockHash = blockHash;
|
|
202
|
+
return this;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Sets the list of actions of this transaction.
|
|
206
|
+
*
|
|
207
|
+
* @param {nearAPI.transactions.Action[]} value the the list of actions
|
|
208
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
209
|
+
*/
|
|
210
|
+
actions(value) {
|
|
211
|
+
this._actions = value;
|
|
212
|
+
return this;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Sets the action for this transaction/
|
|
216
|
+
*
|
|
217
|
+
* @param {nearAPI.transactions.Action} value the delegate action
|
|
218
|
+
* @returns {TransactionBuilder} The delegate transaction builder
|
|
219
|
+
*/
|
|
220
|
+
action(value) {
|
|
221
|
+
this._actions ? this._actions.push(value) : (this._actions = [value]);
|
|
222
|
+
return this;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Builds the NEAR transaction.
|
|
226
|
+
*
|
|
227
|
+
* @return {Transaction} near sdk transaction
|
|
228
|
+
*/
|
|
229
|
+
buildNearTransaction() {
|
|
230
|
+
(0, assert_1.default)(this._sender, new sdk_core_1.BuildTransactionError('sender is required before building'));
|
|
231
|
+
(0, assert_1.default)(this._recentBlockHash, new sdk_core_1.BuildTransactionError('recent blockhash is required before building'));
|
|
232
|
+
const 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));
|
|
233
|
+
return tx;
|
|
234
|
+
}
|
|
235
|
+
/** @inheritDoc */
|
|
236
|
+
addSignature(publicKey, signature) {
|
|
237
|
+
this._signatures.push({ publicKey, signature });
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
exports.TransactionBuilder = TransactionBuilder;
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsbURBTzhCO0FBQzlCLCtDQUE0QztBQUM1QyxxREFBdUM7QUFDdkMscUNBQWtEO0FBQ2xELG9EQUE0QjtBQUM1QixvREFBNEI7QUFDNUIsdUNBQW9DO0FBQ3BDLG9EQUFzQztBQUN0QyxNQUFzQixrQkFBbUIsU0FBUSxpQ0FBc0I7SUFZckUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKYixnQkFBVyxHQUFnQixFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7UUFLdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsRUFBZTtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FB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T0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNPLG9CQUFvQjtRQUM1QixJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLGdDQUFxQixDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksZ0NBQXFCLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDO1FBRXpHLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQy9DLElBQUksQ0FBQyxPQUFPLEVBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ3BHLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLFFBQVEsRUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQzNELENBQUM7UUFFRixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWSxDQUFDLFNBQXdCLEVBQUUsU0FBaUI7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFuT0QsZ0RBbU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQmFzZUFkZHJlc3MsXG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5IGFzIEJhc2VQdWJsaWNLZXksXG4gIFNpZ25hdHVyZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCAqIGFzIG5lYXJBUEkgZnJvbSAnbmVhci1hcGktanMnO1xuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0ICogYXMgaGV4IGZyb20gJ0BzdGFibGVsaWIvaGV4JztcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuXG4gIHByaXZhdGUgX3NlbmRlcjogc3RyaW5nO1xuICBwcml2YXRlIF9wdWJsaWNLZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9yZWNlaXZlcklkOiBzdHJpbmc7XG4gIHByaXZhdGUgX25vbmNlOiBiaWdpbnQ7XG4gIHByaXZhdGUgX3JlY2VudEJsb2NrSGFzaDogc3RyaW5nO1xuICBwcml2YXRlIF9zaWduZXI6IEtleVBhaXI7XG4gIHByaXZhdGUgX3NpZ25hdHVyZXM6IFNpZ25hdHVyZVtdID0gW107IC8vIG9ubHkgc3VwcG9ydCBzaW5nbGUgc2lnIGZvciBub3dcbiAgcHJvdGVjdGVkIF9hY3Rpb25zOiBuZWFyQVBJLnRyYW5zYWN0aW9ucy5BY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG4gICAgY29uc3QgbmVhclRyYW5zYWN0aW9uID0gdHgubmVhclRyYW5zYWN0aW9uO1xuICAgIHRoaXMuX3NlbmRlciA9IG5lYXJUcmFuc2FjdGlvbi5zaWduZXJJZDtcbiAgICB0aGlzLl9ub25jZSA9IG5lYXJUcmFuc2FjdGlvbi5ub25jZTtcbiAgICB0aGlzLl9yZWNlaXZlcklkID0gbmVhclRyYW5zYWN0aW9uLnJlY2VpdmVySWQ7XG4gICAgaWYgKG5lYXJUcmFuc2FjdGlvbi5wdWJsaWNLZXkuZWQyNTUxOUtleT8uZGF0YSkge1xuICAgICAgdGhpcy5fcHVibGljS2V5ID0gaGV4LmVuY29kZShuZWFyVHJhbnNhY3Rpb24ucHVibGljS2V5LmVkMjU1MTlLZXkuZGF0YSk7XG4gICAgfVxuICAgIHRoaXMuX3JlY2VudEJsb2NrSGFzaCA9IG5lYXJBUEkudXRpbHMuc2VyaWFsaXplLmJhc2VfZW5jb2RlKG5ldyBVaW50OEFycmF5KG5lYXJUcmFuc2FjdGlvbi5ibG9ja0hhc2gpKTtcbiAgICB0aGlzLl9hY3Rpb25zID0gbmVhclRyYW5zYWN0aW9uLmFjdGlvbnM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ubmVhclRyYW5zYWN0aW9uID0gdGhpcy5idWlsZE5lYXJUcmFuc2FjdGlvbigpO1xuICAgIGlmICh0aGlzLl9zaWduZXIpIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9zaWduZXIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc2lnbmF0dXJlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5jb25zdHJ1Y3RTaWduZWRQYXlsb2FkKHRoaXMuX3NpZ25hdHVyZXNbMF0uc2lnbmF0dXJlKTtcbiAgICB9XG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMuX3NpZ25lciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEFkZHJlc3NWYWxpZGF0aW9uRXJyb3IoYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgS2V5IHZhbGlkYXRpb24gZmFpbGVkYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBuZWFyQVBJLnV0aWxzLnNlcmlhbGl6ZS5kZXNlcmlhbGl6ZShuZWFyQVBJLnRyYW5zYWN0aW9ucy5TQ0hFTUEuU2lnbmVkVHJhbnNhY3Rpb24sIHJhd1RyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIG5lYXJBUEkudXRpbHMuc2VyaWFsaXplLmRlc2VyaWFsaXplKG5lYXJBUEkudHJhbnNhY3Rpb25zLlNDSEVNQS5UcmFuc2FjdGlvbiwgcmF3VHJhbnNhY3Rpb24pO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbi5uZWFyVHJhbnNhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiB0cmFuc2FjdGlvbi5uZWFyVHJhbnNhY3Rpb24uc2lnbmVySWQgfSk7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiB0cmFuc2FjdGlvbi5uZWFyVHJhbnNhY3Rpb24ucmVjZWl2ZXJJZCB9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHB1YmxpYyBrZXkgYW5kIHRoZSBhZGRyZXNzIG9mIHRoZSBzZW5kZXIgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgdGhlIGFjY291bnQgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YktleSB0aGUgcHVibGljIGtleSB0aGF0IGlzIHNlbmRpbmcgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBzZW5kZXIoYWRkcmVzczogc3RyaW5nLCBwdWJLZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghYWRkcmVzcyB8fCAhdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy50b1N0cmluZygpKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBvciBtaXNzaW5nIGFkZHJlc3MsIGdvdDogJyArIGFkZHJlc3MpO1xuICAgIH1cbiAgICBpZiAoIXB1YktleSB8fCAhdXRpbHMuaXNWYWxpZFB1YmxpY0tleShwdWJLZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgcHViS2V5LCBnb3Q6ICcgKyBwdWJLZXkpO1xuICAgIH1cbiAgICB0aGlzLl9zZW5kZXIgPSBhZGRyZXNzO1xuICAgIHRoaXMuX3B1YmxpY0tleSA9IHB1YktleTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY2NvdW50IElkIG9mIHRoZSByZWNlaXZlciBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWNjb3VudElkIHRoZSBhY2NvdW50IGlkIG9mIHRoZSBhY2NvdW50IHRoYXQgaXMgcmVjZWl2aW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgcmVjZWl2ZXJJZChhY2NvdW50SWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFjY291bnRJZCk7XG4gICAgdGhpcy5fcmVjZWl2ZXJJZCA9IGFjY291bnRJZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG5vbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7YmlnaW50fSBub25jZSAtIG51bWJlciB0aGF0IGNhbiBiZSBvbmx5IHVzZWQgb25jZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBub25jZShub25jZTogYmlnaW50KTogdGhpcyB7XG4gICAgaWYgKG5vbmNlIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBub25jZTogJHtub25jZX1gKTtcbiAgICB9XG4gICAgdGhpcy5fbm9uY2UgPSBub25jZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBibG9ja0hhc2ggb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGJsb2NrSGFzaCB0aGUgYmxvY2tIYXNoIG9mIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgcmVjZW50QmxvY2tIYXNoKGJsb2NrSGFzaDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2gpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIGJsb2NrSGFzaCAke2Jsb2NrSGFzaH1gKTtcbiAgICB9XG4gICAgdGhpcy5fcmVjZW50QmxvY2tIYXNoID0gYmxvY2tIYXNoO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxpc3Qgb2YgYWN0aW9ucyBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge25lYXJBUEkudHJhbnNhY3Rpb25zLkFjdGlvbltdfSB2YWx1ZSB0aGUgdGhlIGxpc3Qgb2YgYWN0aW9uc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHByb3RlY3RlZCBhY3Rpb25zKHZhbHVlOiBuZWFyQVBJLnRyYW5zYWN0aW9ucy5BY3Rpb25bXSk6IHRoaXMge1xuICAgIHRoaXMuX2FjdGlvbnMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3Rpb24gZm9yIHRoaXMgdHJhbnNhY3Rpb24vXG4gICAqXG4gICAqIEBwYXJhbSB7bmVhckFQSS50cmFuc2FjdGlvbnMuQWN0aW9ufSB2YWx1ZSB0aGUgZGVsZWdhdGUgYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoZSBkZWxlZ2F0ZSB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgYWN0aW9uKHZhbHVlOiBuZWFyQVBJLnRyYW5zYWN0aW9ucy5BY3Rpb24pOiB0aGlzIHtcbiAgICB0aGlzLl9hY3Rpb25zID8gdGhpcy5fYWN0aW9ucy5wdXNoKHZhbHVlKSA6ICh0aGlzLl9hY3Rpb25zID0gW3ZhbHVlXSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgTkVBUiB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHJldHVybiB7VHJhbnNhY3Rpb259IG5lYXIgc2RrIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGROZWFyVHJhbnNhY3Rpb24oKTogbmVhckFQSS50cmFuc2FjdGlvbnMuVHJhbnNhY3Rpb24ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ3NlbmRlciBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3JlY2VudEJsb2NrSGFzaCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigncmVjZW50IGJsb2NraGFzaCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG5cbiAgICBjb25zdCB0eCA9IG5lYXJBUEkudHJhbnNhY3Rpb25zLmNyZWF0ZVRyYW5zYWN0aW9uKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgbmVhckFQSS51dGlscy5QdWJsaWNLZXkuZnJvbVN0cmluZyhuZWFyQVBJLnV0aWxzLnNlcmlhbGl6ZS5iYXNlX2VuY29kZShoZXguZGVjb2RlKHRoaXMuX3B1YmxpY0tleSkpKSxcbiAgICAgIHRoaXMuX3JlY2VpdmVySWQsXG4gICAgICB0aGlzLl9ub25jZSxcbiAgICAgIHRoaXMuX2FjdGlvbnMsXG4gICAgICBuZWFyQVBJLnV0aWxzLnNlcmlhbGl6ZS5iYXNlX2RlY29kZSh0aGlzLl9yZWNlbnRCbG9ja0hhc2gpXG4gICAgKTtcblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBCYXNlUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { TransferBuilder } from './transferBuilder';
|
|
4
|
+
import { WalletInitializationBuilder } from './walletInitializationBuilder';
|
|
5
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
6
|
+
import { Transaction } from './transaction';
|
|
7
|
+
import { StakingActivateBuilder } from './stakingActivateBuilder';
|
|
8
|
+
import { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
|
|
9
|
+
import { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
|
|
10
|
+
import { FungibleTokenTransferBuilder } from './fungibleTokenTransferBuilder';
|
|
11
|
+
import { StorageDepositTransferBuilder } from './storageDepositTransferBuilder';
|
|
12
|
+
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
13
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
from(raw: string): TransactionBuilder;
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
|
|
18
|
+
/** @inheritdoc */
|
|
19
|
+
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
20
|
+
getStakingActivateBuilder(tx?: Transaction): StakingActivateBuilder;
|
|
21
|
+
getStakingDeactivateBuilder(tx?: Transaction): StakingDeactivateBuilder;
|
|
22
|
+
getStakingWithdrawBuilder(tx?: Transaction): StakingWithdrawBuilder;
|
|
23
|
+
getFungibleTokenTransferBuilder(tx?: Transaction): FungibleTokenTransferBuilder;
|
|
24
|
+
getStorageDepositTransferBuilder(tx?: Transaction): StorageDepositTransferBuilder;
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the builder with the given transaction
|
|
27
|
+
*
|
|
28
|
+
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
29
|
+
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
30
|
+
* @returns {TransactionBuilder} the builder initialized
|
|
31
|
+
*/
|
|
32
|
+
private static initializeBuilder;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAA4C,MAAM,sBAAsB,CAAC;AAC/G,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;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IA4BrC,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE,+BAA+B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,4BAA4B;IAI/E,gCAAgC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,6BAA6B;IAIjF;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAMjC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionBuilderFactory = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
6
|
+
const walletInitializationBuilder_1 = require("./walletInitializationBuilder");
|
|
7
|
+
const transaction_1 = require("./transaction");
|
|
8
|
+
const stakingActivateBuilder_1 = require("./stakingActivateBuilder");
|
|
9
|
+
const stakingDeactivateBuilder_1 = require("./stakingDeactivateBuilder");
|
|
10
|
+
const stakingWithdrawBuilder_1 = require("./stakingWithdrawBuilder");
|
|
11
|
+
const fungibleTokenTransferBuilder_1 = require("./fungibleTokenTransferBuilder");
|
|
12
|
+
const storageDepositTransferBuilder_1 = require("./storageDepositTransferBuilder");
|
|
13
|
+
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig);
|
|
16
|
+
}
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
from(raw) {
|
|
19
|
+
try {
|
|
20
|
+
const tx = new transaction_1.Transaction(this._coinConfig);
|
|
21
|
+
tx.fromRawTransaction(raw);
|
|
22
|
+
switch (tx.type) {
|
|
23
|
+
case sdk_core_1.TransactionType.Send:
|
|
24
|
+
if (fungibleTokenTransferBuilder_1.FungibleTokenTransferBuilder.isFungibleTokenTransferTransaction(tx.nearTransaction.actions)) {
|
|
25
|
+
return this.getFungibleTokenTransferBuilder(tx);
|
|
26
|
+
}
|
|
27
|
+
return this.getTransferBuilder(tx);
|
|
28
|
+
case sdk_core_1.TransactionType.WalletInitialization:
|
|
29
|
+
return this.getWalletInitializationBuilder(tx);
|
|
30
|
+
case sdk_core_1.TransactionType.StakingActivate:
|
|
31
|
+
return this.getStakingActivateBuilder(tx);
|
|
32
|
+
case sdk_core_1.TransactionType.StakingDeactivate:
|
|
33
|
+
return this.getStakingDeactivateBuilder(tx);
|
|
34
|
+
case sdk_core_1.TransactionType.StakingWithdraw:
|
|
35
|
+
return this.getStakingWithdrawBuilder(tx);
|
|
36
|
+
case sdk_core_1.TransactionType.StorageDeposit:
|
|
37
|
+
return this.getStorageDepositTransferBuilder(tx);
|
|
38
|
+
default:
|
|
39
|
+
throw new sdk_core_1.InvalidTransactionError('unsupported transaction');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
throw e;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** @inheritdoc */
|
|
47
|
+
getWalletInitializationBuilder(tx) {
|
|
48
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig));
|
|
49
|
+
}
|
|
50
|
+
/** @inheritdoc */
|
|
51
|
+
getTransferBuilder(tx) {
|
|
52
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
|
|
53
|
+
}
|
|
54
|
+
getStakingActivateBuilder(tx) {
|
|
55
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new stakingActivateBuilder_1.StakingActivateBuilder(this._coinConfig));
|
|
56
|
+
}
|
|
57
|
+
getStakingDeactivateBuilder(tx) {
|
|
58
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new stakingDeactivateBuilder_1.StakingDeactivateBuilder(this._coinConfig));
|
|
59
|
+
}
|
|
60
|
+
getStakingWithdrawBuilder(tx) {
|
|
61
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new stakingWithdrawBuilder_1.StakingWithdrawBuilder(this._coinConfig));
|
|
62
|
+
}
|
|
63
|
+
getFungibleTokenTransferBuilder(tx) {
|
|
64
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new fungibleTokenTransferBuilder_1.FungibleTokenTransferBuilder(this._coinConfig));
|
|
65
|
+
}
|
|
66
|
+
getStorageDepositTransferBuilder(tx) {
|
|
67
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new storageDepositTransferBuilder_1.StorageDepositTransferBuilder(this._coinConfig));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Initialize the builder with the given transaction
|
|
71
|
+
*
|
|
72
|
+
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
73
|
+
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
74
|
+
* @returns {TransactionBuilder} the builder initialized
|
|
75
|
+
*/
|
|
76
|
+
static initializeBuilder(tx, builder) {
|
|
77
|
+
if (tx) {
|
|
78
|
+
builder.initBuilder(tx);
|
|
79
|
+
}
|
|
80
|
+
return builder;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFBK0c7QUFDL0csdURBQW9EO0FBQ3BELCtFQUE0RTtBQUU1RSwrQ0FBNEM7QUFDNUMscUVBQWtFO0FBQ2xFLHlFQUFzRTtBQUN0RSxxRUFBa0U7QUFDbEUsaUZBQThFO0FBQzlFLG1GQUFnRjtBQUVoRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLEdBQUcsSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssMEJBQWUsQ0FBQyxJQUFJO29CQUN2QixJQUFJLDJEQUE0QixDQUFDLGtDQUFrQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDaEcsT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELENBQUM7b0JBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLEtBQUssMEJBQWUsQ0FBQyxvQkFBb0I7b0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxLQUFLLDBCQUFlLENBQUMsZUFBZTtvQkFDbEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzVDLEtBQUssMEJBQWUsQ0FBQyxpQkFBaUI7b0JBQ3BDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM5QyxLQUFLLDBCQUFlLENBQUMsZUFBZTtvQkFDbEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzVDLEtBQUssMEJBQWUsQ0FBQyxjQUFjO29CQUNqQyxPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkQ7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUFnQjtRQUM3QyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHlEQUEyQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFnQjtRQUN4QyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLCtDQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxFQUFnQjtRQUMxQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLG1EQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFnQjtRQUN4QyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLCtDQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxFQUFnQjtRQUM5QyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDJEQUE0QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxFQUFnQjtRQUMvQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDZEQUE2QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsaUJBQWlCLENBQStCLEVBQTJCLEVBQUUsT0FBVTtRQUNwRyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBN0VELDhEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBY3RpdmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1dpdGhkcmF3QnVpbGRlcic7XG5pbXBvcnQgeyBGdW5naWJsZVRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9mdW5naWJsZVRva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFN0b3JhZ2VEZXBvc2l0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9zdG9yYWdlRGVwb3NpdFRyYW5zZmVyQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICBpZiAoRnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlci5pc0Z1bmdpYmxlVG9rZW5UcmFuc2ZlclRyYW5zYWN0aW9uKHR4Lm5lYXJUcmFuc2FjdGlvbi5hY3Rpb25zKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdG9yYWdlRGVwb3NpdDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdG9yYWdlRGVwb3NpdFRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0U3Rha2luZ1dpdGhkcmF3QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldEZ1bmdpYmxlVG9rZW5UcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IEZ1bmdpYmxlVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgRnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRTdG9yYWdlRGVwb3NpdFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3RvcmFnZURlcG9zaXRUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3RvcmFnZURlcG9zaXRUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVCdWlsZGVyPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI+KHR4OiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BaseKey } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
import { Transaction } from './transaction';
|
|
5
|
+
export declare class TransferBuilder extends TransactionBuilder {
|
|
6
|
+
private _amount;
|
|
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;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
protected signImplementation(key: BaseKey): Transaction;
|
|
18
|
+
/**
|
|
19
|
+
* Sets the amount of this transaction.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} value the amount to be sent in yocto (1 Near = 1e24 yoctos)
|
|
22
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
23
|
+
*/
|
|
24
|
+
amount(value: string): this;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAA0C,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,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;IAOlC,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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.TransferBuilder = void 0;
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
42
|
+
const NearAPI = __importStar(require("near-api-js"));
|
|
43
|
+
const assert_1 = __importDefault(require("assert"));
|
|
44
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
45
|
+
class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
46
|
+
constructor(_coinConfig) {
|
|
47
|
+
super(_coinConfig);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
51
|
+
*
|
|
52
|
+
* @param {Transaction} tx the transaction data
|
|
53
|
+
*/
|
|
54
|
+
initBuilder(tx) {
|
|
55
|
+
super.initBuilder(tx);
|
|
56
|
+
if (tx.nearTransaction.actions[0].transfer) {
|
|
57
|
+
this._amount = tx.nearTransaction.actions[0].transfer.deposit.toString();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/** @inheritdoc */
|
|
61
|
+
async buildImplementation() {
|
|
62
|
+
(0, assert_1.default)(this._amount, new sdk_core_1.BuildTransactionError('amount is required before building transfer'));
|
|
63
|
+
super.actions([NearAPI.transactions.transfer(BigInt(this._amount))]);
|
|
64
|
+
const tx = await super.buildImplementation();
|
|
65
|
+
tx.setTransactionType(sdk_core_1.TransactionType.Send);
|
|
66
|
+
return tx;
|
|
67
|
+
}
|
|
68
|
+
/** @inheritdoc */
|
|
69
|
+
signImplementation(key) {
|
|
70
|
+
const tx = super.signImplementation(key);
|
|
71
|
+
tx.setTransactionType(sdk_core_1.TransactionType.Send);
|
|
72
|
+
return tx;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Sets the amount of this transaction.
|
|
76
|
+
*
|
|
77
|
+
* @param {string} value the amount to be sent in yocto (1 Near = 1e24 yoctos)
|
|
78
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
79
|
+
*/
|
|
80
|
+
amount(value) {
|
|
81
|
+
this.validateValue(new bignumber_js_1.default(value));
|
|
82
|
+
this._amount = value;
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.TransferBuilder = TransferBuilder;
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbURBQXVGO0FBQ3ZGLDZEQUEwRDtBQUUxRCxxREFBdUM7QUFDdkMsb0RBQTRCO0FBQzVCLGdFQUFxQztBQUVyQyxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBR3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLENBQUM7UUFDL0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE5Q0QsMENBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZUtleSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0ICogYXMgTmVhckFQSSBmcm9tICduZWFyLWFwaS1qcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9hbW91bnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGlmICh0eC5uZWFyVHJhbnNhY3Rpb24uYWN0aW9uc1swXS50cmFuc2Zlcikge1xuICAgICAgdGhpcy5fYW1vdW50ID0gdHgubmVhclRyYW5zYWN0aW9uLmFjdGlvbnNbMF0udHJhbnNmZXIuZGVwb3NpdC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX2Ftb3VudCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignYW1vdW50IGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyB0cmFuc2ZlcicpKTtcbiAgICBzdXBlci5hY3Rpb25zKFtOZWFyQVBJLnRyYW5zYWN0aW9ucy50cmFuc2ZlcihCaWdJbnQodGhpcy5fYW1vdW50KSldKTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgICB0eC5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLnNpZ25JbXBsZW1lbnRhdGlvbihrZXkpO1xuICAgIHR4LnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgdGhlIGFtb3VudCB0byBiZSBzZW50IGluIHlvY3RvICgxIE5lYXIgPSAxZTI0IHlvY3RvcylcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgYW1vdW50KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih2YWx1ZSkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|