@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,104 @@
|
|
|
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.StakingDeactivateBuilder = void 0;
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
42
|
+
const NearAPI = __importStar(require("near-api-js"));
|
|
43
|
+
const assert_1 = __importDefault(require("assert"));
|
|
44
|
+
const contractCallWrapper_1 = require("./contractCallWrapper");
|
|
45
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
46
|
+
const constants_1 = require("./constants");
|
|
47
|
+
class StakingDeactivateBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
48
|
+
constructor(_coinConfig) {
|
|
49
|
+
super(_coinConfig);
|
|
50
|
+
this.contractCallWrapper = new contractCallWrapper_1.ContractCallWrapper();
|
|
51
|
+
this.contractCallWrapper.methodName = constants_1.StakingContractMethodNames.Unstake;
|
|
52
|
+
this.contractCallWrapper.deposit = '0'; //
|
|
53
|
+
}
|
|
54
|
+
get transactionType() {
|
|
55
|
+
return sdk_core_1.TransactionType.StakingDeactivate;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
59
|
+
*
|
|
60
|
+
* @param {Transaction} tx the transaction data
|
|
61
|
+
*/
|
|
62
|
+
initBuilder(tx) {
|
|
63
|
+
super.initBuilder(tx);
|
|
64
|
+
const functionCall = tx.nearTransaction.actions[0].functionCall;
|
|
65
|
+
if (functionCall) {
|
|
66
|
+
this.contractCallWrapper.args = JSON.parse(Buffer.from(functionCall.args).toString());
|
|
67
|
+
this.contractCallWrapper.gas = functionCall.gas.toString();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Sets the gas of this transaction.
|
|
72
|
+
*
|
|
73
|
+
* @param {string} gas the gas of this transaction
|
|
74
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
75
|
+
*/
|
|
76
|
+
gas(gas) {
|
|
77
|
+
this.validateValue(new bignumber_js_1.default(gas));
|
|
78
|
+
this.contractCallWrapper.gas = gas;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Sets the amount of this transaction.
|
|
83
|
+
*
|
|
84
|
+
* @param {string} amount the amount in the minimum unit (1 Near = 1e24 yoctos) of this transaction
|
|
85
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
86
|
+
*/
|
|
87
|
+
amount(amount) {
|
|
88
|
+
this.validateValue(new bignumber_js_1.default(amount));
|
|
89
|
+
this.contractCallWrapper.args = { amount: amount };
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
async buildImplementation() {
|
|
94
|
+
const { methodName, args, gas, deposit } = this.contractCallWrapper.getParams();
|
|
95
|
+
(0, assert_1.default)(gas, new sdk_core_1.BuildTransactionError('gas is required before building staking deactivate'));
|
|
96
|
+
(0, assert_1.default)(args?.amount, new sdk_core_1.BuildTransactionError('amount is required before building staking deactivate'));
|
|
97
|
+
super.actions([NearAPI.transactions.functionCall(methodName, args, BigInt(gas), BigInt(deposit))]);
|
|
98
|
+
const tx = await super.buildImplementation();
|
|
99
|
+
tx.setTransactionType(sdk_core_1.TransactionType.StakingDeactivate);
|
|
100
|
+
return tx;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.StakingDeactivateBuilder = StakingDeactivateBuilder;
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbURBQThFO0FBRTlFLGdFQUFxQztBQUNyQyxxREFBdUM7QUFDdkMsb0RBQTRCO0FBRTVCLCtEQUE0RDtBQUM1RCw2REFBMEQ7QUFDMUQsMkNBQXlEO0FBRXpELE1BQWEsd0JBQXlCLFNBQVEsdUNBQWtCO0lBRzlELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxzQ0FBMEIsQ0FBQyxPQUFPLENBQUM7UUFDekUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQzVDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDaEUsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyxvREFBb0QsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBQSxnQkFBTSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUM7UUFFekcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRyxNQUFNLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUEvREQsNERBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0ICogYXMgTmVhckFQSSBmcm9tICduZWFyLWFwaS1qcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IENvbnRyYWN0Q2FsbFdyYXBwZXIgfSBmcm9tICcuL2NvbnRyYWN0Q2FsbFdyYXBwZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIGNvbnRyYWN0Q2FsbFdyYXBwZXI6IENvbnRyYWN0Q2FsbFdyYXBwZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlciA9IG5ldyBDb250cmFjdENhbGxXcmFwcGVyKCk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLm1ldGhvZE5hbWUgPSBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcy5VbnN0YWtlO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5kZXBvc2l0ID0gJzAnOyAvL1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCBmdW5jdGlvbkNhbGwgPSB0eC5uZWFyVHJhbnNhY3Rpb24uYWN0aW9uc1swXS5mdW5jdGlvbkNhbGw7XG4gICAgaWYgKGZ1bmN0aW9uQ2FsbCkge1xuICAgICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmFyZ3MgPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKGZ1bmN0aW9uQ2FsbC5hcmdzKS50b1N0cmluZygpKTtcbiAgICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nYXMgPSBmdW5jdGlvbkNhbGwuZ2FzLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGdhcyBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZ2FzIHRoZSBnYXMgb2YgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBnYXMoZ2FzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihnYXMpKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2FzID0gZ2FzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IHRoZSBhbW91bnQgaW4gdGhlIG1pbmltdW0gdW5pdCAoMSBOZWFyID0gMWUyNCB5b2N0b3MpIG9mIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmFyZ3MgPSB7IGFtb3VudDogYW1vdW50IH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHsgbWV0aG9kTmFtZSwgYXJncywgZ2FzLCBkZXBvc2l0IH0gPSB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2V0UGFyYW1zKCk7XG4gICAgYXNzZXJ0KGdhcywgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignZ2FzIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBzdGFraW5nIGRlYWN0aXZhdGUnKSk7XG4gICAgYXNzZXJ0KGFyZ3M/LmFtb3VudCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignYW1vdW50IGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBzdGFraW5nIGRlYWN0aXZhdGUnKSk7XG5cbiAgICBzdXBlci5hY3Rpb25zKFtOZWFyQVBJLnRyYW5zYWN0aW9ucy5mdW5jdGlvbkNhbGwobWV0aG9kTmFtZSwgYXJncywgQmlnSW50KGdhcyksIEJpZ0ludChkZXBvc2l0KSldKTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgICB0eC5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlKTtcbiAgICByZXR1cm4gdHg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
export declare class StakingWithdrawBuilder extends TransactionBuilder {
|
|
6
|
+
private contractCallWrapper;
|
|
7
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
+
protected get transactionType(): TransactionType;
|
|
9
|
+
/**
|
|
10
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
11
|
+
*
|
|
12
|
+
* @param {Transaction} tx the transaction data
|
|
13
|
+
*/
|
|
14
|
+
initBuilder(tx: Transaction): void;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the gas of this transaction.
|
|
17
|
+
*
|
|
18
|
+
* @param {string} gas the gas of this transaction
|
|
19
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
20
|
+
*/
|
|
21
|
+
gas(gas: string): this;
|
|
22
|
+
/**
|
|
23
|
+
* Sets the amount of this transaction.
|
|
24
|
+
*
|
|
25
|
+
* @param {string} amount the amount in the minimum unit (1 Near = 1e24 yoctos) of this transaction
|
|
26
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
27
|
+
*/
|
|
28
|
+
amount(amount: string): this;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=stakingWithdrawBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakingWithdrawBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingWithdrawBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IASlC;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMnC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAU5D"}
|
|
@@ -0,0 +1,104 @@
|
|
|
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.StakingWithdrawBuilder = void 0;
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
42
|
+
const NearAPI = __importStar(require("near-api-js"));
|
|
43
|
+
const assert_1 = __importDefault(require("assert"));
|
|
44
|
+
const contractCallWrapper_1 = require("./contractCallWrapper");
|
|
45
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
46
|
+
const constants_1 = require("./constants");
|
|
47
|
+
class StakingWithdrawBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
48
|
+
constructor(_coinConfig) {
|
|
49
|
+
super(_coinConfig);
|
|
50
|
+
this.contractCallWrapper = new contractCallWrapper_1.ContractCallWrapper();
|
|
51
|
+
this.contractCallWrapper.methodName = constants_1.StakingContractMethodNames.Withdraw;
|
|
52
|
+
this.contractCallWrapper.deposit = '0';
|
|
53
|
+
}
|
|
54
|
+
get transactionType() {
|
|
55
|
+
return sdk_core_1.TransactionType.StakingWithdraw;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
59
|
+
*
|
|
60
|
+
* @param {Transaction} tx the transaction data
|
|
61
|
+
*/
|
|
62
|
+
initBuilder(tx) {
|
|
63
|
+
super.initBuilder(tx);
|
|
64
|
+
const functionCall = tx.nearTransaction.actions[0].functionCall;
|
|
65
|
+
if (functionCall) {
|
|
66
|
+
this.contractCallWrapper.args = JSON.parse(Buffer.from(functionCall.args).toString());
|
|
67
|
+
this.contractCallWrapper.gas = functionCall.gas.toString();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Sets the gas of this transaction.
|
|
72
|
+
*
|
|
73
|
+
* @param {string} gas the gas of this transaction
|
|
74
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
75
|
+
*/
|
|
76
|
+
gas(gas) {
|
|
77
|
+
this.validateValue(new bignumber_js_1.default(gas));
|
|
78
|
+
this.contractCallWrapper.gas = gas;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Sets the amount of this transaction.
|
|
83
|
+
*
|
|
84
|
+
* @param {string} amount the amount in the minimum unit (1 Near = 1e24 yoctos) of this transaction
|
|
85
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
86
|
+
*/
|
|
87
|
+
amount(amount) {
|
|
88
|
+
this.validateValue(new bignumber_js_1.default(amount));
|
|
89
|
+
this.contractCallWrapper.args = { amount: amount };
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
async buildImplementation() {
|
|
94
|
+
const { methodName, args, gas, deposit } = this.contractCallWrapper.getParams();
|
|
95
|
+
(0, assert_1.default)(gas, new sdk_core_1.BuildTransactionError('gas is required before building staking withdraw'));
|
|
96
|
+
(0, assert_1.default)(args?.amount, new sdk_core_1.BuildTransactionError('amount is required before building staking withdraw'));
|
|
97
|
+
super.actions([NearAPI.transactions.functionCall(methodName, args, BigInt(gas), BigInt(deposit))]);
|
|
98
|
+
const tx = await super.buildImplementation();
|
|
99
|
+
tx.setTransactionType(sdk_core_1.TransactionType.StakingWithdraw);
|
|
100
|
+
return tx;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.StakingWithdrawBuilder = StakingWithdrawBuilder;
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dpdGhkcmF3QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc3Rha2luZ1dpdGhkcmF3QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxtREFBOEU7QUFFOUUsZ0VBQXFDO0FBQ3JDLHFEQUF1QztBQUN2QyxvREFBNEI7QUFFNUIsK0RBQTREO0FBQzVELDZEQUEwRDtBQUMxRCwyQ0FBeUQ7QUFFekQsTUFBYSxzQkFBdUIsU0FBUSx1Q0FBa0I7SUFHNUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUkseUNBQW1CLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxHQUFHLHNDQUEwQixDQUFDLFFBQVEsQ0FBQztRQUMxRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEYsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxJQUFJLGdDQUFxQixDQUFDLGtEQUFrRCxDQUFDLENBQUMsQ0FBQztRQUMzRixJQUFBLGdCQUFNLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLGdDQUFxQixDQUFDLHFEQUFxRCxDQUFDLENBQUMsQ0FBQztRQUV2RyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25HLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUEvREQsd0RBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0ICogYXMgTmVhckFQSSBmcm9tICduZWFyLWFwaS1qcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IENvbnRyYWN0Q2FsbFdyYXBwZXIgfSBmcm9tICcuL2NvbnRyYWN0Q2FsbFdyYXBwZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBjb250cmFjdENhbGxXcmFwcGVyOiBDb250cmFjdENhbGxXcmFwcGVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIgPSBuZXcgQ29udHJhY3RDYWxsV3JhcHBlcigpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5tZXRob2ROYW1lID0gU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMuV2l0aGRyYXc7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmRlcG9zaXQgPSAnMCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3O1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCBmdW5jdGlvbkNhbGwgPSB0eC5uZWFyVHJhbnNhY3Rpb24uYWN0aW9uc1swXS5mdW5jdGlvbkNhbGw7XG4gICAgaWYgKGZ1bmN0aW9uQ2FsbCkge1xuICAgICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmFyZ3MgPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKGZ1bmN0aW9uQ2FsbC5hcmdzKS50b1N0cmluZygpKTtcbiAgICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nYXMgPSBmdW5jdGlvbkNhbGwuZ2FzLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGdhcyBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZ2FzIHRoZSBnYXMgb2YgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBnYXMoZ2FzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihnYXMpKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2FzID0gZ2FzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IHRoZSBhbW91bnQgaW4gdGhlIG1pbmltdW0gdW5pdCAoMSBOZWFyID0gMWUyNCB5b2N0b3MpIG9mIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmFyZ3MgPSB7IGFtb3VudDogYW1vdW50IH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHsgbWV0aG9kTmFtZSwgYXJncywgZ2FzLCBkZXBvc2l0IH0gPSB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2V0UGFyYW1zKCk7XG4gICAgYXNzZXJ0KGdhcywgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignZ2FzIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBzdGFraW5nIHdpdGhkcmF3JykpO1xuICAgIGFzc2VydChhcmdzPy5hbW91bnQsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2Ftb3VudCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcgc3Rha2luZyB3aXRoZHJhdycpKTtcblxuICAgIHN1cGVyLmFjdGlvbnMoW05lYXJBUEkudHJhbnNhY3Rpb25zLmZ1bmN0aW9uQ2FsbChtZXRob2ROYW1lLCBhcmdzLCBCaWdJbnQoZ2FzKSwgQmlnSW50KGRlcG9zaXQpKV0pO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICAgIHR4LnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3KTtcbiAgICByZXR1cm4gdHg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { Transaction } from './transaction';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
export declare class StorageDepositTransferBuilder extends TransactionBuilder {
|
|
5
|
+
private contractCallWrapper;
|
|
6
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
+
/**
|
|
8
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
9
|
+
*
|
|
10
|
+
* @param {Transaction} tx the transaction data
|
|
11
|
+
*/
|
|
12
|
+
initBuilder(tx: Transaction): void;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the gas of this transaction.
|
|
15
|
+
*
|
|
16
|
+
* @param {String} gas the gas of this transaction
|
|
17
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
18
|
+
*/
|
|
19
|
+
gas(gas: string): this;
|
|
20
|
+
/**
|
|
21
|
+
* Sets the deposit of at-least 1 yoctoNear
|
|
22
|
+
*
|
|
23
|
+
* @param {string} deposit the deposit in the minimum unit (1 Near = 1e24 yoctoNear) of this transaction
|
|
24
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
25
|
+
*/
|
|
26
|
+
deposit(deposit: string): this;
|
|
27
|
+
/**
|
|
28
|
+
* Sets the actual receiver account id inside args
|
|
29
|
+
*
|
|
30
|
+
* @param accountId the receiver account id
|
|
31
|
+
*/
|
|
32
|
+
beneficiaryId(accountId: string): this;
|
|
33
|
+
/** @inheritdoc */
|
|
34
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=storageDepositTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageDepositTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/storageDepositTransferBuilder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAWlC;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;;OAKG;IACI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMrC;;;;OAIG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAY5D"}
|
|
@@ -0,0 +1,115 @@
|
|
|
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.StorageDepositTransferBuilder = void 0;
|
|
40
|
+
const assert_1 = __importDefault(require("assert"));
|
|
41
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
42
|
+
const NearAPI = __importStar(require("near-api-js"));
|
|
43
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
44
|
+
const contractCallWrapper_1 = require("./contractCallWrapper");
|
|
45
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
46
|
+
const constants_1 = require("./constants");
|
|
47
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
48
|
+
class StorageDepositTransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
49
|
+
constructor(_coinConfig) {
|
|
50
|
+
super(_coinConfig);
|
|
51
|
+
this.contractCallWrapper = new contractCallWrapper_1.ContractCallWrapper();
|
|
52
|
+
this.contractCallWrapper.methodName = constants_1.STORAGE_DEPOSIT;
|
|
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
|
+
super.initBuilder(tx);
|
|
61
|
+
for (const action of tx.nearTransaction.actions) {
|
|
62
|
+
if (action.functionCall && action.functionCall.methodName === constants_1.STORAGE_DEPOSIT) {
|
|
63
|
+
this.contractCallWrapper.deposit = action.functionCall.deposit.toString();
|
|
64
|
+
this.contractCallWrapper.gas = action.functionCall.gas.toString();
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Sets the gas of this transaction.
|
|
71
|
+
*
|
|
72
|
+
* @param {String} gas the gas of this transaction
|
|
73
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
74
|
+
*/
|
|
75
|
+
gas(gas) {
|
|
76
|
+
this.validateValue(new bignumber_js_1.default(gas));
|
|
77
|
+
this.contractCallWrapper.gas = gas;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Sets the deposit of at-least 1 yoctoNear
|
|
82
|
+
*
|
|
83
|
+
* @param {string} deposit the deposit in the minimum unit (1 Near = 1e24 yoctoNear) of this transaction
|
|
84
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
85
|
+
*/
|
|
86
|
+
deposit(deposit) {
|
|
87
|
+
this.validateValue(new bignumber_js_1.default(deposit));
|
|
88
|
+
this.contractCallWrapper.deposit = deposit;
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Sets the actual receiver account id inside args
|
|
93
|
+
*
|
|
94
|
+
* @param accountId the receiver account id
|
|
95
|
+
*/
|
|
96
|
+
beneficiaryId(accountId) {
|
|
97
|
+
utils_1.default.isValidAddress(accountId);
|
|
98
|
+
this.contractCallWrapper.args = { account_id: accountId };
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/** @inheritdoc */
|
|
102
|
+
async buildImplementation() {
|
|
103
|
+
const { methodName, args, gas, deposit } = this.contractCallWrapper.getParams();
|
|
104
|
+
(0, assert_1.default)(gas, new sdk_core_1.BuildTransactionError('gas is required before building fungible token transfer'));
|
|
105
|
+
(0, assert_1.default)(deposit, new sdk_core_1.BuildTransactionError('deposit is required before building fungible token transfer'));
|
|
106
|
+
if (!this._actions || !this._actions.length) {
|
|
107
|
+
super.action(NearAPI.transactions.functionCall(methodName, args, BigInt(gas), BigInt(deposit)));
|
|
108
|
+
}
|
|
109
|
+
const tx = await super.buildImplementation();
|
|
110
|
+
tx.setTransactionType(sdk_core_1.TransactionType.StorageDeposit);
|
|
111
|
+
return tx;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.StorageDepositTransferBuilder = StorageDepositTransferBuilder;
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZURlcG9zaXRUcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0b3JhZ2VEZXBvc2l0VHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixnRUFBcUM7QUFDckMscURBQXVDO0FBRXZDLG1EQUE4RTtBQUc5RSwrREFBNEQ7QUFFNUQsNkRBQTBEO0FBQzFELDJDQUE4QztBQUM5QyxvREFBNEI7QUFFNUIsTUFBYSw2QkFBOEIsU0FBUSx1Q0FBa0I7SUFHbkUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUkseUNBQW1CLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxHQUFHLDJCQUFlLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssTUFBTSxNQUFNLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEtBQUssMkJBQWUsRUFBRSxDQUFDO2dCQUM5RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsRSxNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTyxDQUFDLE9BQWU7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLFNBQWlCO1FBQ3BDLGVBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEYsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxJQUFJLGdDQUFxQixDQUFDLHlEQUF5RCxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFBLGdCQUFNLEVBQUMsT0FBTyxFQUFFLElBQUksZ0NBQXFCLENBQUMsNkRBQTZELENBQUMsQ0FBQyxDQUFDO1FBRTFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUF6RUQsc0VBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0ICogYXMgTmVhckFQSSBmcm9tICduZWFyLWFwaS1qcyc7XG5cbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBDb250cmFjdENhbGxXcmFwcGVyIH0gZnJvbSAnLi9jb250cmFjdENhbGxXcmFwcGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTVE9SQUdFX0RFUE9TSVQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBTdG9yYWdlRGVwb3NpdFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgY29udHJhY3RDYWxsV3JhcHBlcjogQ29udHJhY3RDYWxsV3JhcHBlcjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyID0gbmV3IENvbnRyYWN0Q2FsbFdyYXBwZXIoKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIubWV0aG9kTmFtZSA9IFNUT1JBR0VfREVQT1NJVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdHgubmVhclRyYW5zYWN0aW9uLmFjdGlvbnMpIHtcbiAgICAgIGlmIChhY3Rpb24uZnVuY3Rpb25DYWxsICYmIGFjdGlvbi5mdW5jdGlvbkNhbGwubWV0aG9kTmFtZSA9PT0gU1RPUkFHRV9ERVBPU0lUKSB7XG4gICAgICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5kZXBvc2l0ID0gYWN0aW9uLmZ1bmN0aW9uQ2FsbC5kZXBvc2l0LnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nYXMgPSBhY3Rpb24uZnVuY3Rpb25DYWxsLmdhcy50b1N0cmluZygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZ2FzIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBnYXMgdGhlIGdhcyBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgcHVibGljIGdhcyhnYXM6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGdhcykpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nYXMgPSBnYXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVwb3NpdCBvZiBhdC1sZWFzdCAxIHlvY3RvTmVhclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVwb3NpdCB0aGUgZGVwb3NpdCBpbiB0aGUgbWluaW11bSB1bml0ICgxIE5lYXIgPSAxZTI0IHlvY3RvTmVhcikgb2YgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBkZXBvc2l0KGRlcG9zaXQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGRlcG9zaXQpKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZGVwb3NpdCA9IGRlcG9zaXQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWN0dWFsIHJlY2VpdmVyIGFjY291bnQgaWQgaW5zaWRlIGFyZ3NcbiAgICpcbiAgICogQHBhcmFtIGFjY291bnRJZCB0aGUgcmVjZWl2ZXIgYWNjb3VudCBpZFxuICAgKi9cbiAgcHVibGljIGJlbmVmaWNpYXJ5SWQoYWNjb3VudElkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhY2NvdW50SWQpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5hcmdzID0geyBhY2NvdW50X2lkOiBhY2NvdW50SWQgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgeyBtZXRob2ROYW1lLCBhcmdzLCBnYXMsIGRlcG9zaXQgfSA9IHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nZXRQYXJhbXMoKTtcbiAgICBhc3NlcnQoZ2FzLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdnYXMgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nIGZ1bmdpYmxlIHRva2VuIHRyYW5zZmVyJykpO1xuICAgIGFzc2VydChkZXBvc2l0LCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdkZXBvc2l0IGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBmdW5naWJsZSB0b2tlbiB0cmFuc2ZlcicpKTtcblxuICAgIGlmICghdGhpcy5fYWN0aW9ucyB8fCAhdGhpcy5fYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHN1cGVyLmFjdGlvbihOZWFyQVBJLnRyYW5zYWN0aW9ucy5mdW5jdGlvbkNhbGwobWV0aG9kTmFtZSwgYXJncywgQmlnSW50KGdhcyksIEJpZ0ludChkZXBvc2l0KSkpO1xuICAgIH1cbiAgICBjb25zdCB0eCA9IGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgICB0eC5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlN0b3JhZ2VEZXBvc2l0KTtcbiAgICByZXR1cm4gdHg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import * as nearAPI from 'near-api-js';
|
|
2
|
+
import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
|
+
import { Action, TransactionExplanation, TxData } from './iface';
|
|
5
|
+
import { KeyPair } from './keyPair';
|
|
6
|
+
export declare class Transaction extends BaseTransaction {
|
|
7
|
+
private _nearTransaction;
|
|
8
|
+
private _nearSignedTransaction;
|
|
9
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
get nearTransaction(): nearAPI.transactions.Transaction;
|
|
11
|
+
set nearTransaction(tx: nearAPI.transactions.Transaction);
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
canSign(key: BaseKey): boolean;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
toBroadcastFormat(): string;
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
toJson(): TxData;
|
|
18
|
+
/**
|
|
19
|
+
* Set the transaction type.
|
|
20
|
+
*
|
|
21
|
+
* @param {TransactionType} transactionType The transaction type to be set.
|
|
22
|
+
*/
|
|
23
|
+
setTransactionType(transactionType: TransactionType): void;
|
|
24
|
+
/**
|
|
25
|
+
* Sets this transaction payload
|
|
26
|
+
*
|
|
27
|
+
* @param rawTx
|
|
28
|
+
*/
|
|
29
|
+
fromRawTransaction(rawTx: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Sign this transaction
|
|
32
|
+
*
|
|
33
|
+
* @param {KeyPair} signer key
|
|
34
|
+
*/
|
|
35
|
+
sign(signer: KeyPair): void;
|
|
36
|
+
/**
|
|
37
|
+
* set transaction type by staking contract method names.
|
|
38
|
+
* @param methodName method name to match and set the transaction type
|
|
39
|
+
*/
|
|
40
|
+
private setTypeByFunctionCall;
|
|
41
|
+
/**
|
|
42
|
+
* Check if method is allowed on Near account-lib implementation.
|
|
43
|
+
* This method should check on all contracts added to Near.
|
|
44
|
+
* @param methodName contract call method name to check if it's allowed.
|
|
45
|
+
*/
|
|
46
|
+
private validateMethodAllowed;
|
|
47
|
+
/**
|
|
48
|
+
* Check if valid methods are present for batching of actions
|
|
49
|
+
*
|
|
50
|
+
* @param {TxAction[]} actions list of near transaction actions
|
|
51
|
+
* @returns {void}
|
|
52
|
+
*/
|
|
53
|
+
private validateBatchingMethods;
|
|
54
|
+
/**
|
|
55
|
+
* Build input and output field for this transaction
|
|
56
|
+
*
|
|
57
|
+
*/
|
|
58
|
+
loadInputsAndOutputs(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Returns a complete explanation for a transfer transaction
|
|
61
|
+
* @param {TxData} json The transaction data in json format
|
|
62
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
63
|
+
* @returns {TransactionExplanation}
|
|
64
|
+
*/
|
|
65
|
+
explainTransferTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
66
|
+
/**
|
|
67
|
+
* Returns a complete explanation for a staking activate transaction
|
|
68
|
+
* @param {TxData} json The transaction data in json format
|
|
69
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
70
|
+
* @returns {TransactionExplanation}
|
|
71
|
+
*/
|
|
72
|
+
explainStakingActivateTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
73
|
+
/**
|
|
74
|
+
* Returns a complete explanation for a staking withdraw transaction
|
|
75
|
+
* @param {TxData} json The transaction data in json format
|
|
76
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
77
|
+
* @returns {TransactionExplanation}
|
|
78
|
+
*/
|
|
79
|
+
explainStakingWithdrawTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
80
|
+
/**
|
|
81
|
+
* Calculates the total fungible token amount & total native near amount
|
|
82
|
+
*
|
|
83
|
+
* @param {Action[]} actions the list of delegate transaction actions
|
|
84
|
+
* @returns {String} either native near amount or fungible token amount
|
|
85
|
+
*/
|
|
86
|
+
calculateTotalOutputAmount(actions: Action[]): string;
|
|
87
|
+
/**
|
|
88
|
+
* Returns a complete explanation for a token transfer transaction
|
|
89
|
+
* @param {TxData} json The transaction data in json format
|
|
90
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
91
|
+
* @returns {TransactionExplanation}
|
|
92
|
+
*/
|
|
93
|
+
explainTokenTransferTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
94
|
+
/**
|
|
95
|
+
* Returns a complete explanation for a storage deposit transaction
|
|
96
|
+
* @param {TxData} json The transaction data in json format
|
|
97
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
98
|
+
* @returns {TransactionExplanation}
|
|
99
|
+
*/
|
|
100
|
+
explainStorageDepositTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
101
|
+
/** @inheritdoc */
|
|
102
|
+
explainTransaction(): TransactionExplanation;
|
|
103
|
+
private getTransactionHash;
|
|
104
|
+
get signablePayload(): Buffer;
|
|
105
|
+
/**
|
|
106
|
+
* Constructs a signed payload using construct.signTx
|
|
107
|
+
* This method will be called during the build step if a TSS signature
|
|
108
|
+
* is added and will set the signTransaction which is the txHex that will be broadcasted
|
|
109
|
+
* As well as add the signature used to sign to the signature array in hex format
|
|
110
|
+
*
|
|
111
|
+
* @param {Buffer} signature The signature to be added to a near transaction
|
|
112
|
+
*/
|
|
113
|
+
constructSignedPayload(signature: Buffer): void;
|
|
114
|
+
/** @inheritdoc **/
|
|
115
|
+
get signature(): string[];
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAKvC,OAAO,EACL,OAAO,EACP,eAAe,EAKf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAS7D,OAAO,EAAE,MAAM,EAAa,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,sBAAsB,CAAyC;gBAE3D,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,CAEtD;IAED,IAAI,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW,EAGvD;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAS9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAU3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAkDhB;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAwEvC;;;;OAIG;IAEH,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAgB3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IA2G5B;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAa3G;;;;;OAKG;IACH,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAalH;;;;;OAKG;IACH,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAclH;;;;;OAKG;IACH,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAkCrD;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IA8BhH;;;;;OAKG;IACH,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAgCjH,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAkC5C,OAAO,CAAC,kBAAkB;IAQ1B,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAU/C,mBAAmB;IACnB,IAAI,SAAS,IAAI,MAAM,EAAE,CAQxB;CACF"}
|