@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,71 @@
|
|
|
1
|
+
import { BaseUtils } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { Nep141Token } from '@bitgo-beta/statics';
|
|
3
|
+
export declare class Utils implements BaseUtils {
|
|
4
|
+
/** @inheritdoc */
|
|
5
|
+
isValidAddress(address: string): boolean;
|
|
6
|
+
/** @inheritdoc */
|
|
7
|
+
isValidBlockId(hash: string): boolean;
|
|
8
|
+
/** @inheritdoc */
|
|
9
|
+
isValidPrivateKey(key: string): boolean;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
isValidPublicKey(pubKey: string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Check if the key have the correct format
|
|
14
|
+
*
|
|
15
|
+
* @param {string} key - string to be checked
|
|
16
|
+
* @return {boolean} true if the string have the correct format otherwise return false
|
|
17
|
+
*/
|
|
18
|
+
isValidKey(key: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Check if the account have the correct format
|
|
21
|
+
*
|
|
22
|
+
* @param {string} accountId - string to be checked
|
|
23
|
+
* @return {boolean} if the string can have the correct format and match the expected length
|
|
24
|
+
* or can create a new keyPair
|
|
25
|
+
*/
|
|
26
|
+
isValidAccountId(accountId: string): boolean;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
isValidSignature(signature: string): boolean;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
isValidTransactionId(txId: string): boolean;
|
|
31
|
+
base58Encode(value: Uint8Array): string;
|
|
32
|
+
/**
|
|
33
|
+
* Check if base58 decoded string is equal to length
|
|
34
|
+
*
|
|
35
|
+
* @param {string} value - string to be checked
|
|
36
|
+
* @param {number} length - expected decoded length
|
|
37
|
+
* @return {boolean} if the string can be decoded as base58 and match the expected length
|
|
38
|
+
*/
|
|
39
|
+
isBase58(value: string, length: number): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Find the bitgo token name using contract address
|
|
42
|
+
*
|
|
43
|
+
* @param {String} contractAddress the token contract address
|
|
44
|
+
* @returns {String} token name
|
|
45
|
+
*/
|
|
46
|
+
findTokenNameFromContractAddress(contractAddress: string): string | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Find the token instance using the bitgo token name
|
|
49
|
+
*
|
|
50
|
+
* @param {String} tokenName the bitgo name of the token
|
|
51
|
+
* @returns {Nep141Token|undefined} token instance if found
|
|
52
|
+
*/
|
|
53
|
+
getTokenInstanceFromTokenName(tokenName: string): Nep141Token | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Convert from raw gas units to yocto Near value
|
|
56
|
+
*
|
|
57
|
+
* @param {String} gasUnits - raw gas units (e.g. "30000000000000" = 30TGas)
|
|
58
|
+
* @returns {String} value in yoctoNear as a string
|
|
59
|
+
*/
|
|
60
|
+
convertGasUnitsToYoctoNear(gasUnits: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Convert the given record into base64 string
|
|
63
|
+
*
|
|
64
|
+
* @param {Record<String, String>} data the input in the form of a map
|
|
65
|
+
* @returns {String} base64 encoded string
|
|
66
|
+
*/
|
|
67
|
+
convertToBase64(data: Record<string, string>): string;
|
|
68
|
+
}
|
|
69
|
+
declare const utils: Utils;
|
|
70
|
+
export default utils;
|
|
71
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAS,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIzD,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAShC;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAY5C,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAIvC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAQhD;;;;;OAKG;IACH,gCAAgC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAO7E;;;;;OAKG;IACH,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAOzE;;;;;OAKG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAapD;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAGtD;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Utils = void 0;
|
|
7
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
10
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
11
|
+
const keyPair_1 = require("./keyPair");
|
|
12
|
+
class Utils {
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
isValidAddress(address) {
|
|
15
|
+
return this.isValidAccountId(address);
|
|
16
|
+
}
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
isValidBlockId(hash) {
|
|
19
|
+
return (0, sdk_core_1.isBase58)(hash, 32);
|
|
20
|
+
}
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
isValidPrivateKey(key) {
|
|
23
|
+
return this.isValidKey(key);
|
|
24
|
+
}
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
isValidPublicKey(pubKey) {
|
|
27
|
+
return this.isValidAccountId(pubKey);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if the key have the correct format
|
|
31
|
+
*
|
|
32
|
+
* @param {string} key - string to be checked
|
|
33
|
+
* @return {boolean} true if the string have the correct format otherwise return false
|
|
34
|
+
*/
|
|
35
|
+
isValidKey(key) {
|
|
36
|
+
try {
|
|
37
|
+
new keyPair_1.KeyPair({ prv: key });
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if the account have the correct format
|
|
46
|
+
*
|
|
47
|
+
* @param {string} accountId - string to be checked
|
|
48
|
+
* @return {boolean} if the string can have the correct format and match the expected length
|
|
49
|
+
* or can create a new keyPair
|
|
50
|
+
*/
|
|
51
|
+
isValidAccountId(accountId) {
|
|
52
|
+
if (!accountId) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return ((/^(([a-z\d]+[\-_])*[a-z\d]+\.)*([a-z\d]+[\-_])*[a-z\d]+$/.test(accountId) &&
|
|
56
|
+
accountId.length >= 2 &&
|
|
57
|
+
accountId.length <= 64) ||
|
|
58
|
+
(0, sdk_core_1.isBase58)(accountId, 32));
|
|
59
|
+
}
|
|
60
|
+
/** @inheritdoc */
|
|
61
|
+
isValidSignature(signature) {
|
|
62
|
+
return (0, sdk_core_1.isBase58)(signature, 64);
|
|
63
|
+
}
|
|
64
|
+
/** @inheritdoc */
|
|
65
|
+
isValidTransactionId(txId) {
|
|
66
|
+
return (0, sdk_core_1.isBase58)(txId, 32);
|
|
67
|
+
}
|
|
68
|
+
base58Encode(value) {
|
|
69
|
+
return bs58_1.default.encode(value);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check if base58 decoded string is equal to length
|
|
73
|
+
*
|
|
74
|
+
* @param {string} value - string to be checked
|
|
75
|
+
* @param {number} length - expected decoded length
|
|
76
|
+
* @return {boolean} if the string can be decoded as base58 and match the expected length
|
|
77
|
+
*/
|
|
78
|
+
isBase58(value, length) {
|
|
79
|
+
try {
|
|
80
|
+
return !!value && bs58_1.default.decode(value).length === length;
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Find the bitgo token name using contract address
|
|
88
|
+
*
|
|
89
|
+
* @param {String} contractAddress the token contract address
|
|
90
|
+
* @returns {String} token name
|
|
91
|
+
*/
|
|
92
|
+
findTokenNameFromContractAddress(contractAddress) {
|
|
93
|
+
const token = statics_1.coins
|
|
94
|
+
.filter((coin) => coin instanceof statics_1.Nep141Token && coin.contractAddress === contractAddress)
|
|
95
|
+
.map((coin) => coin);
|
|
96
|
+
return token ? token[0].name : undefined;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Find the token instance using the bitgo token name
|
|
100
|
+
*
|
|
101
|
+
* @param {String} tokenName the bitgo name of the token
|
|
102
|
+
* @returns {Nep141Token|undefined} token instance if found
|
|
103
|
+
*/
|
|
104
|
+
getTokenInstanceFromTokenName(tokenName) {
|
|
105
|
+
const token = statics_1.coins
|
|
106
|
+
.filter((coin) => coin instanceof statics_1.Nep141Token && coin.name === tokenName)
|
|
107
|
+
.map((coin) => coin);
|
|
108
|
+
return token ? token[0] : undefined;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Convert from raw gas units to yocto Near value
|
|
112
|
+
*
|
|
113
|
+
* @param {String} gasUnits - raw gas units (e.g. "30000000000000" = 30TGas)
|
|
114
|
+
* @returns {String} value in yoctoNear as a string
|
|
115
|
+
*/
|
|
116
|
+
convertGasUnitsToYoctoNear(gasUnits) {
|
|
117
|
+
const YOCTO_PER_NEAR = new bignumber_js_1.default('1e24');
|
|
118
|
+
const NEAR_PER_TGAS = new bignumber_js_1.default('0.0001'); // 1 TGas = 0.0001 Near
|
|
119
|
+
const GAS_UNITS_PER_TGAS = new bignumber_js_1.default('1e12'); // 1 TGas = 1e12 gas units
|
|
120
|
+
const gas = new bignumber_js_1.default(gasUnits);
|
|
121
|
+
const tgas = gas.dividedBy(GAS_UNITS_PER_TGAS);
|
|
122
|
+
const nearCost = tgas.multipliedBy(NEAR_PER_TGAS);
|
|
123
|
+
const yoctoCost = nearCost.multipliedBy(YOCTO_PER_NEAR);
|
|
124
|
+
return yoctoCost.integerValue(bignumber_js_1.default.ROUND_FLOOR).toString();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Convert the given record into base64 string
|
|
128
|
+
*
|
|
129
|
+
* @param {Record<String, String>} data the input in the form of a map
|
|
130
|
+
* @returns {String} base64 encoded string
|
|
131
|
+
*/
|
|
132
|
+
convertToBase64(data) {
|
|
133
|
+
return Buffer.from(JSON.stringify(data)).toString('base64');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.Utils = Utils;
|
|
137
|
+
const utils = new Utils();
|
|
138
|
+
exports.default = utils;
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixnRUFBcUM7QUFFckMsbURBQTJEO0FBQzNELGlEQUF5RDtBQUV6RCx1Q0FBb0M7QUFFcEMsTUFBYSxLQUFLO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsTUFBYztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUM7WUFDSCxJQUFJLGlCQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxDQUNMLENBQUMseURBQXlELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUN4RSxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDckIsU0FBUyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBQSxtQkFBUSxFQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsT0FBTyxJQUFBLG1CQUFRLEVBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsb0JBQW9CLENBQUMsSUFBWTtRQUMvQixPQUFPLElBQUEsbUJBQVEsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQjtRQUM1QixPQUFPLGNBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUNwQyxJQUFJLENBQUM7WUFDSCxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksY0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDO1FBQ3pELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0NBQWdDLENBQUMsZUFBdUI7UUFDdEQsTUFBTSxLQUFLLEdBQUcsZUFBSzthQUNoQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxxQkFBVyxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssZUFBZSxDQUFDO2FBQ3pGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBbUIsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsNkJBQTZCLENBQUMsU0FBaUI7UUFDN0MsTUFBTSxLQUFLLEdBQUcsZUFBSzthQUNoQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxxQkFBVyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO2FBQ3hFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBbUIsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCwwQkFBMEIsQ0FBQyxRQUFnQjtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxzQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1FBQ3RFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1FBRTVFLE1BQU0sR0FBRyxHQUFHLElBQUksc0JBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXhELE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxzQkFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUE0QjtRQUMxQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUExSUQsc0JBMElDO0FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUUxQixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgQmFzZVV0aWxzLCBpc0Jhc2U1OCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGNvaW5zLCBOZXAxNDFUb2tlbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRBY2NvdW50SWQoYWRkcmVzcyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQmFzZTU4KGhhc2gsIDMyKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEFjY291bnRJZChwdWJLZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBrZXkgaGF2ZSB0aGUgY29ycmVjdCBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIHN0cmluZyB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgdGhlIHN0cmluZyBoYXZlIHRoZSBjb3JyZWN0IGZvcm1hdCBvdGhlcndpc2UgcmV0dXJuIGZhbHNlXG4gICAqL1xuICBpc1ZhbGlkS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIGFjY291bnQgaGF2ZSB0aGUgY29ycmVjdCBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY291bnRJZCAtIHN0cmluZyB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IGlmIHRoZSBzdHJpbmcgY2FuIGhhdmUgdGhlIGNvcnJlY3QgZm9ybWF0IGFuZCBtYXRjaCB0aGUgZXhwZWN0ZWQgbGVuZ3RoXG4gICAqIG9yIGNhbiBjcmVhdGUgYSBuZXcga2V5UGFpclxuICAgKi9cbiAgaXNWYWxpZEFjY291bnRJZChhY2NvdW50SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghYWNjb3VudElkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAoL14oKFthLXpcXGRdK1tcXC1fXSkqW2EtelxcZF0rXFwuKSooW2EtelxcZF0rW1xcLV9dKSpbYS16XFxkXSskLy50ZXN0KGFjY291bnRJZCkgJiZcbiAgICAgICAgYWNjb3VudElkLmxlbmd0aCA+PSAyICYmXG4gICAgICAgIGFjY291bnRJZC5sZW5ndGggPD0gNjQpIHx8XG4gICAgICBpc0Jhc2U1OChhY2NvdW50SWQsIDMyKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0Jhc2U1OChzaWduYXR1cmUsIDY0KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNCYXNlNTgodHhJZCwgMzIpO1xuICB9XG5cbiAgYmFzZTU4RW5jb2RlKHZhbHVlOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYnM1OC5lbmNvZGUodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJhc2U1OCBkZWNvZGVkIHN0cmluZyBpcyBlcXVhbCB0byBsZW5ndGhcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gc3RyaW5nIHRvIGJlIGNoZWNrZWRcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCAtIGV4cGVjdGVkIGRlY29kZWQgbGVuZ3RoXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IGlmIHRoZSBzdHJpbmcgY2FuIGJlIGRlY29kZWQgYXMgYmFzZTU4IGFuZCBtYXRjaCB0aGUgZXhwZWN0ZWQgbGVuZ3RoXG4gICAqL1xuICBpc0Jhc2U1OCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gISF2YWx1ZSAmJiBiczU4LmRlY29kZSh2YWx1ZSkubGVuZ3RoID09PSBsZW5ndGg7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBiaXRnbyB0b2tlbiBuYW1lIHVzaW5nIGNvbnRyYWN0IGFkZHJlc3NcbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IGNvbnRyYWN0QWRkcmVzcyB0aGUgdG9rZW4gY29udHJhY3QgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7U3RyaW5nfSB0b2tlbiBuYW1lXG4gICAqL1xuICBmaW5kVG9rZW5OYW1lRnJvbUNvbnRyYWN0QWRkcmVzcyhjb250cmFjdEFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdG9rZW4gPSBjb2luc1xuICAgICAgLmZpbHRlcigoY29pbikgPT4gY29pbiBpbnN0YW5jZW9mIE5lcDE0MVRva2VuICYmIGNvaW4uY29udHJhY3RBZGRyZXNzID09PSBjb250cmFjdEFkZHJlc3MpXG4gICAgICAubWFwKChjb2luKSA9PiBjb2luIGFzIE5lcDE0MVRva2VuKTtcbiAgICByZXR1cm4gdG9rZW4gPyB0b2tlblswXS5uYW1lIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIHRva2VuIGluc3RhbmNlIHVzaW5nIHRoZSBiaXRnbyB0b2tlbiBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSB0b2tlbk5hbWUgdGhlIGJpdGdvIG5hbWUgb2YgdGhlIHRva2VuXG4gICAqIEByZXR1cm5zIHtOZXAxNDFUb2tlbnx1bmRlZmluZWR9IHRva2VuIGluc3RhbmNlIGlmIGZvdW5kXG4gICAqL1xuICBnZXRUb2tlbkluc3RhbmNlRnJvbVRva2VuTmFtZSh0b2tlbk5hbWU6IHN0cmluZyk6IE5lcDE0MVRva2VuIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0b2tlbiA9IGNvaW5zXG4gICAgICAuZmlsdGVyKChjb2luKSA9PiBjb2luIGluc3RhbmNlb2YgTmVwMTQxVG9rZW4gJiYgY29pbi5uYW1lID09PSB0b2tlbk5hbWUpXG4gICAgICAubWFwKChjb2luKSA9PiBjb2luIGFzIE5lcDE0MVRva2VuKTtcbiAgICByZXR1cm4gdG9rZW4gPyB0b2tlblswXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGZyb20gcmF3IGdhcyB1bml0cyB0byB5b2N0byBOZWFyIHZhbHVlXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBnYXNVbml0cyAtIHJhdyBnYXMgdW5pdHMgKGUuZy4gXCIzMDAwMDAwMDAwMDAwMFwiID0gMzBUR2FzKVxuICAgKiBAcmV0dXJucyB7U3RyaW5nfSB2YWx1ZSBpbiB5b2N0b05lYXIgYXMgYSBzdHJpbmdcbiAgICovXG4gIGNvbnZlcnRHYXNVbml0c1RvWW9jdG9OZWFyKGdhc1VuaXRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IFlPQ1RPX1BFUl9ORUFSID0gbmV3IEJpZ051bWJlcignMWUyNCcpO1xuICAgIGNvbnN0IE5FQVJfUEVSX1RHQVMgPSBuZXcgQmlnTnVtYmVyKCcwLjAwMDEnKTsgLy8gMSBUR2FzID0gMC4wMDAxIE5lYXJcbiAgICBjb25zdCBHQVNfVU5JVFNfUEVSX1RHQVMgPSBuZXcgQmlnTnVtYmVyKCcxZTEyJyk7IC8vIDEgVEdhcyA9IDFlMTIgZ2FzIHVuaXRzXG5cbiAgICBjb25zdCBnYXMgPSBuZXcgQmlnTnVtYmVyKGdhc1VuaXRzKTtcbiAgICBjb25zdCB0Z2FzID0gZ2FzLmRpdmlkZWRCeShHQVNfVU5JVFNfUEVSX1RHQVMpO1xuICAgIGNvbnN0IG5lYXJDb3N0ID0gdGdhcy5tdWx0aXBsaWVkQnkoTkVBUl9QRVJfVEdBUyk7XG4gICAgY29uc3QgeW9jdG9Db3N0ID0gbmVhckNvc3QubXVsdGlwbGllZEJ5KFlPQ1RPX1BFUl9ORUFSKTtcblxuICAgIHJldHVybiB5b2N0b0Nvc3QuaW50ZWdlclZhbHVlKEJpZ051bWJlci5ST1VORF9GTE9PUikudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRoZSBnaXZlbiByZWNvcmQgaW50byBiYXNlNjQgc3RyaW5nXG4gICAqXG4gICAqIEBwYXJhbSB7UmVjb3JkPFN0cmluZywgU3RyaW5nPn0gZGF0YSB0aGUgaW5wdXQgaW4gdGhlIGZvcm0gb2YgYSBtYXBcbiAgICogQHJldHVybnMge1N0cmluZ30gYmFzZTY0IGVuY29kZWQgc3RyaW5nXG4gICAqL1xuICBjb252ZXJ0VG9CYXNlNjQoZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGRhdGEpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BaseKey } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
export declare class WalletInitializationBuilder extends TransactionBuilder {
|
|
6
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
+
/** @inheritdoc */
|
|
8
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
9
|
+
/** @inheritdoc */
|
|
10
|
+
protected signImplementation(key: BaseKey): Transaction;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=walletInitializationBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAuB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAI3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAGxD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WalletInitializationBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
6
|
+
class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
7
|
+
constructor(_coinConfig) {
|
|
8
|
+
super(_coinConfig);
|
|
9
|
+
}
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
async buildImplementation() {
|
|
12
|
+
throw new sdk_core_1.NotImplementedError('method not implemented');
|
|
13
|
+
}
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
signImplementation(key) {
|
|
16
|
+
throw new sdk_core_1.NotImplementedError('method not implemented');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.WalletInitializationBuilder = WalletInitializationBuilder;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQW9FO0FBRXBFLDZEQUEwRDtBQUUxRCxNQUFhLDJCQUE0QixTQUFRLHVDQUFrQjtJQUNqRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLElBQUksOEJBQW1CLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksOEJBQW1CLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUFkRCxrRUFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VLZXksIE5vdEltcGxlbWVudGVkRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import * as request from 'superagent';
|
|
5
|
+
import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, Eddsa, KeyPair, MPCAlgorithm, MPCRecoveryOptions, MPCSweepRecoveryOptions, MPCSweepTxs, MPCTx, MPCTxs, MultisigType, ParsedTransaction, ParseTransactionOptions as BaseParseTransactionOptions, SignedTransaction, SignTransactionOptions as BaseSignTransactionOptions, TokenEnablementConfig, TransactionExplanation, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
|
|
6
|
+
import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
|
|
7
|
+
export interface SignTransactionOptions extends BaseSignTransactionOptions {
|
|
8
|
+
txPrebuild: TransactionPrebuild;
|
|
9
|
+
prv: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TransactionPrebuild {
|
|
12
|
+
txHex: string;
|
|
13
|
+
key: string;
|
|
14
|
+
blockHash: string;
|
|
15
|
+
nonce: bigint;
|
|
16
|
+
}
|
|
17
|
+
export interface ExplainTransactionOptions {
|
|
18
|
+
txPrebuild: TransactionPrebuild;
|
|
19
|
+
publicKey: string;
|
|
20
|
+
feeInfo: {
|
|
21
|
+
fee: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface VerifiedTransactionParameters {
|
|
25
|
+
txHex: string;
|
|
26
|
+
prv: string;
|
|
27
|
+
signer: string;
|
|
28
|
+
}
|
|
29
|
+
export interface NearParseTransactionOptions extends BaseParseTransactionOptions {
|
|
30
|
+
txPrebuild: TransactionPrebuild;
|
|
31
|
+
publicKey: string;
|
|
32
|
+
feeInfo: {
|
|
33
|
+
fee: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
interface TransactionOutput {
|
|
37
|
+
address: string;
|
|
38
|
+
amount: string;
|
|
39
|
+
}
|
|
40
|
+
interface NearTxBuilderParamsFromNode {
|
|
41
|
+
nonce: bigint;
|
|
42
|
+
blockHash: string;
|
|
43
|
+
}
|
|
44
|
+
interface NearFeeConfig {
|
|
45
|
+
sendSir: number;
|
|
46
|
+
sendNotSir: number;
|
|
47
|
+
execution: number;
|
|
48
|
+
}
|
|
49
|
+
interface ProtocolConfigOutput {
|
|
50
|
+
storageAmountPerByte: number;
|
|
51
|
+
transferCost: NearFeeConfig;
|
|
52
|
+
receiptConfig: NearFeeConfig;
|
|
53
|
+
}
|
|
54
|
+
type TransactionInput = TransactionOutput;
|
|
55
|
+
export interface NearParsedTransaction extends ParsedTransaction {
|
|
56
|
+
inputs: TransactionInput[];
|
|
57
|
+
outputs: TransactionOutput[];
|
|
58
|
+
}
|
|
59
|
+
export type NearTransactionExplanation = TransactionExplanation;
|
|
60
|
+
export declare class Near extends BaseCoin {
|
|
61
|
+
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
62
|
+
constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
63
|
+
protected static initialized: boolean;
|
|
64
|
+
protected static MPC: Eddsa;
|
|
65
|
+
protected network: string;
|
|
66
|
+
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
67
|
+
allowsAccountConsolidations(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Flag indicating if this coin supports TSS wallets.
|
|
70
|
+
* @returns {boolean} True if TSS Wallets can be created for this coin
|
|
71
|
+
*/
|
|
72
|
+
supportsTss(): boolean;
|
|
73
|
+
/** inherited doc */
|
|
74
|
+
getDefaultMultisigType(): MultisigType;
|
|
75
|
+
/**
|
|
76
|
+
* @inheritDoc
|
|
77
|
+
*/
|
|
78
|
+
getTokenEnablementConfig(): TokenEnablementConfig;
|
|
79
|
+
getMPCAlgorithm(): MPCAlgorithm;
|
|
80
|
+
getChain(): string;
|
|
81
|
+
getBaseChain(): string;
|
|
82
|
+
getFamily(): CoinFamily;
|
|
83
|
+
getFullName(): string;
|
|
84
|
+
getBaseFactor(): any;
|
|
85
|
+
/**
|
|
86
|
+
* Flag for sending value of 0
|
|
87
|
+
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
88
|
+
*/
|
|
89
|
+
valuelessTransferAllowed(): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Generate ed25519 key pair
|
|
92
|
+
*
|
|
93
|
+
* @param seed
|
|
94
|
+
* @returns {Object} object with generated pub, prv
|
|
95
|
+
*/
|
|
96
|
+
generateKeyPair(seed?: Buffer): KeyPair;
|
|
97
|
+
/**
|
|
98
|
+
* Return boolean indicating whether input is valid public key for the coin.
|
|
99
|
+
*
|
|
100
|
+
* @param {String} pub the pub to be checked
|
|
101
|
+
* @returns {Boolean} is it valid?
|
|
102
|
+
*/
|
|
103
|
+
isValidPub(pub: string): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Return boolean indicating whether the supplied private key is a valid near private key
|
|
106
|
+
*
|
|
107
|
+
* @param {String} prv the prv to be checked
|
|
108
|
+
* @returns {Boolean} is it valid?
|
|
109
|
+
*/
|
|
110
|
+
isValidPrv(prv: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Return boolean indicating whether input is valid public key for the coin
|
|
113
|
+
*
|
|
114
|
+
* @param {String} address the pub to be checked
|
|
115
|
+
* @returns {Boolean} is it valid?
|
|
116
|
+
*/
|
|
117
|
+
isValidAddress(address: string): boolean;
|
|
118
|
+
/** @inheritDoc */
|
|
119
|
+
signMessage(key: KeyPair, message: string | Buffer): Promise<Buffer>;
|
|
120
|
+
/**
|
|
121
|
+
* Explain/parse transaction
|
|
122
|
+
* @param params
|
|
123
|
+
*/
|
|
124
|
+
explainTransaction(params: ExplainTransactionOptions): Promise<NearTransactionExplanation>;
|
|
125
|
+
verifySignTransactionParams(params: SignTransactionOptions): VerifiedTransactionParameters;
|
|
126
|
+
/**
|
|
127
|
+
* Assemble keychain and half-sign prebuilt transaction
|
|
128
|
+
*
|
|
129
|
+
* @param params
|
|
130
|
+
* @param params.txPrebuild {TransactionPrebuild} prebuild object returned by platform
|
|
131
|
+
* @param params.prv {String} user prv
|
|
132
|
+
* @param callback
|
|
133
|
+
* @returns {Bluebird<SignedTransaction>}
|
|
134
|
+
*/
|
|
135
|
+
signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
|
|
136
|
+
/**
|
|
137
|
+
* Builds a funds recovery transaction without BitGo
|
|
138
|
+
* @param params
|
|
139
|
+
*/
|
|
140
|
+
recover(params: MPCRecoveryOptions): Promise<MPCTx | MPCSweepTxs>;
|
|
141
|
+
/**
|
|
142
|
+
* Function to handle near token recovery
|
|
143
|
+
* @param {MPCRecoveryOptions} params mpc recovery options input
|
|
144
|
+
* @param {Nep141Token} token the token object
|
|
145
|
+
* @param {String} senderAddress sender address
|
|
146
|
+
* @param {String} derivationPath the derivation path
|
|
147
|
+
* @param {Number} idx current index
|
|
148
|
+
* @param {String} bitgoKey bitgo key
|
|
149
|
+
* @param {Boolean} isStorageDepositEnabled flag indicating whether storage deposit is enabled on the receiver
|
|
150
|
+
* @param {BigNumber} availableTokenBalance currently available token balance on the address
|
|
151
|
+
* @param {Boolean} isUnsignedSweep flag indicating whether it is an unsigned sweep
|
|
152
|
+
* @returns {Promise<MPCTx | MPCSweepTxs>}
|
|
153
|
+
*/
|
|
154
|
+
private recoverNearToken;
|
|
155
|
+
/**
|
|
156
|
+
* Function to build unsigned sweep transaction
|
|
157
|
+
* @param {TransactionBuilder} txBuilder the near transaction builder
|
|
158
|
+
* @param {String} senderAddress sender address
|
|
159
|
+
* @param {String} receiverAddress the receiver address
|
|
160
|
+
* @param {String} bitgoKey bitgo key
|
|
161
|
+
* @param {Number} index current index
|
|
162
|
+
* @param {String} derivationPath the derivation path
|
|
163
|
+
* @param {BigNumber} netAmount net amount to be recovered
|
|
164
|
+
* @param {BigNumber} netGas net gas required
|
|
165
|
+
* @param {Nep141Token} token optional nep141 token instance
|
|
166
|
+
* @returns {Promise<MPCSweepTxs>}
|
|
167
|
+
*/
|
|
168
|
+
private buildUnsignedSweepTransaction;
|
|
169
|
+
/**
|
|
170
|
+
* Function to sign the recovery transaction
|
|
171
|
+
* @param {TransactionBuilder} txBuilder the near transaction builder
|
|
172
|
+
* @param {MPCRecoveryOptions} params mpc recovery options input
|
|
173
|
+
* @param {String} derivationPath the derivation path
|
|
174
|
+
* @param {String} senderAddress the sender address
|
|
175
|
+
* @returns {Promise<String>}
|
|
176
|
+
*/
|
|
177
|
+
private signRecoveryTransaction;
|
|
178
|
+
createBroadcastableSweepTransaction(params: MPCSweepRecoveryOptions): Promise<MPCTxs>;
|
|
179
|
+
/**
|
|
180
|
+
* Make a request to one of the public EOS nodes available
|
|
181
|
+
* @param params.payload
|
|
182
|
+
*/
|
|
183
|
+
protected getDataFromNode(params: {
|
|
184
|
+
payload?: Record<string, unknown>;
|
|
185
|
+
}): Promise<request.Response>;
|
|
186
|
+
protected getAccessKey({ accountId, bs58EncodedPublicKey, }: {
|
|
187
|
+
accountId: string;
|
|
188
|
+
bs58EncodedPublicKey: string;
|
|
189
|
+
}): Promise<NearTxBuilderParamsFromNode>;
|
|
190
|
+
protected getAccountBalance(accountId: string, storageAmountPerByte: number): Promise<string>;
|
|
191
|
+
/**
|
|
192
|
+
* Function to get the fungible token balance for an account
|
|
193
|
+
* @param {String} accountId account for which the ft balance to be fetched
|
|
194
|
+
* @param tokenContractAddress the token contract address
|
|
195
|
+
* @returns {Promise<String>}
|
|
196
|
+
*/
|
|
197
|
+
protected getAccountFungibleTokenBalance(accountId: string, tokenContractAddress: string): Promise<string>;
|
|
198
|
+
/**
|
|
199
|
+
* Function to check if storage deposit is enabled on an address for a token
|
|
200
|
+
* @param {String} accountId account for which the storage balance to be fetched
|
|
201
|
+
* @param tokenContractAddress the token contract address
|
|
202
|
+
* @returns {Promise<Boolean>} true if we find the storage balance, false if response is null
|
|
203
|
+
*/
|
|
204
|
+
protected checkIfStorageDepositIsEnabled(accountId: string, tokenContractAddress: string): Promise<boolean>;
|
|
205
|
+
protected getProtocolConfig(): Promise<ProtocolConfigOutput>;
|
|
206
|
+
protected getGasPrice(blockHash: string): Promise<string>;
|
|
207
|
+
protected getPublicNodeUrls(): string[];
|
|
208
|
+
parseTransaction(params: NearParseTransactionOptions): Promise<NearParsedTransaction>;
|
|
209
|
+
isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
|
|
210
|
+
verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
|
|
211
|
+
private getBuilder;
|
|
212
|
+
/** @inheritDoc */
|
|
213
|
+
auditDecryptedKey({ prv, publicKey, multiSigType }: AuditDecryptedKeyParams): void;
|
|
214
|
+
protected verifyConsolidationToBaseAddress(params: VerifyTransactionOptions, explainedTx: TransactionExplanation): Promise<void>;
|
|
215
|
+
}
|
|
216
|
+
export {};
|
|
217
|
+
//# sourceMappingURL=near.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../src/near.ts"],"names":[],"mappings":"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"}
|