@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.
Files changed (72) hide show
  1. package/.eslintignore +5 -0
  2. package/.mocharc.yml +8 -0
  3. package/CHANGELOG.md +784 -0
  4. package/LICENSE +191 -0
  5. package/README.md +30 -0
  6. package/dist/src/index.d.ts +6 -0
  7. package/dist/src/index.d.ts.map +1 -0
  8. package/dist/src/index.js +22 -0
  9. package/dist/src/lib/constants.d.ts +16 -0
  10. package/dist/src/lib/constants.d.ts.map +1 -0
  11. package/dist/src/lib/constants.js +19 -0
  12. package/dist/src/lib/contractCallWrapper.d.ts +33 -0
  13. package/dist/src/lib/contractCallWrapper.d.ts.map +1 -0
  14. package/dist/src/lib/contractCallWrapper.js +71 -0
  15. package/dist/src/lib/errors.d.ts +5 -0
  16. package/dist/src/lib/errors.d.ts.map +1 -0
  17. package/dist/src/lib/errors.js +12 -0
  18. package/dist/src/lib/fungibleTokenTransferBuilder.d.ts +64 -0
  19. package/dist/src/lib/fungibleTokenTransferBuilder.d.ts.map +1 -0
  20. package/dist/src/lib/fungibleTokenTransferBuilder.js +158 -0
  21. package/dist/src/lib/iface.d.ts +42 -0
  22. package/dist/src/lib/iface.d.ts.map +1 -0
  23. package/dist/src/lib/iface.js +3 -0
  24. package/dist/src/lib/index.d.ts +13 -0
  25. package/dist/src/lib/index.d.ts.map +1 -0
  26. package/dist/src/lib/index.js +59 -0
  27. package/dist/src/lib/keyPair.d.ts +25 -0
  28. package/dist/src/lib/keyPair.d.ts.map +1 -0
  29. package/dist/src/lib/keyPair.js +86 -0
  30. package/dist/src/lib/stakingActivateBuilder.d.ts +32 -0
  31. package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  32. package/dist/src/lib/stakingActivateBuilder.js +105 -0
  33. package/dist/src/lib/stakingDeactivateBuilder.d.ts +32 -0
  34. package/dist/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  35. package/dist/src/lib/stakingDeactivateBuilder.js +104 -0
  36. package/dist/src/lib/stakingWithdrawBuilder.d.ts +32 -0
  37. package/dist/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  38. package/dist/src/lib/stakingWithdrawBuilder.js +104 -0
  39. package/dist/src/lib/storageDepositTransferBuilder.d.ts +36 -0
  40. package/dist/src/lib/storageDepositTransferBuilder.d.ts.map +1 -0
  41. package/dist/src/lib/storageDepositTransferBuilder.js +115 -0
  42. package/dist/src/lib/transaction.d.ts +117 -0
  43. package/dist/src/lib/transaction.d.ts.map +1 -0
  44. package/dist/src/lib/transaction.js +613 -0
  45. package/dist/src/lib/transactionBuilder.d.ts +95 -0
  46. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  47. package/dist/src/lib/transactionBuilder.js +241 -0
  48. package/dist/src/lib/transactionBuilderFactory.d.ts +34 -0
  49. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  50. package/dist/src/lib/transactionBuilderFactory.js +84 -0
  51. package/dist/src/lib/transferBuilder.d.ts +26 -0
  52. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/transferBuilder.js +87 -0
  54. package/dist/src/lib/utils.d.ts +71 -0
  55. package/dist/src/lib/utils.d.ts.map +1 -0
  56. package/dist/src/lib/utils.js +139 -0
  57. package/dist/src/lib/walletInitializationBuilder.d.ts +12 -0
  58. package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  59. package/dist/src/lib/walletInitializationBuilder.js +20 -0
  60. package/dist/src/near.d.ts +217 -0
  61. package/dist/src/near.d.ts.map +1 -0
  62. package/dist/src/near.js +853 -0
  63. package/dist/src/nep141Token.d.ts +20 -0
  64. package/dist/src/nep141Token.d.ts.map +1 -0
  65. package/dist/src/nep141Token.js +101 -0
  66. package/dist/src/register.d.ts +3 -0
  67. package/dist/src/register.d.ts.map +1 -0
  68. package/dist/src/register.js +15 -0
  69. package/dist/src/tnear.d.ts +7 -0
  70. package/dist/src/tnear.d.ts.map +1 -0
  71. package/dist/src/tnear.js +11 -0
  72. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixnRUFBcUM7QUFFckMsbURBQTJEO0FBQzNELGlEQUF5RDtBQUV6RCx1Q0FBb0M7QUFFcEMsTUFBYSxLQUFLO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsTUFBYztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUM7WUFDSCxJQUFJLGlCQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxDQUNMLENBQUMseURBQXlELENBQUMsSUFBSSxD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QyxJQUE0QjtRQUMxQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUExSUQsc0JBMElDO0FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUUxQixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgQmFzZVV0aWxzLCBpc0Jhc2U1OCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGNvaW5zLCBOZXAxNDFUb2tlbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRBY2NvdW50SWQoYWRkcmVzcyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQmFzZTU4KGhhc2gsIDMyKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEFjY291bnRJZChwdWJLZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBrZXkgaGF2ZSB0aGUgY29ycmVjdCBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIHN0cmluZyB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgdGhlIHN0cmluZyBoYXZlIHRoZSBjb3JyZWN0IGZvcm1hdCBvdGhlcndpc2UgcmV0dXJuIGZhbHNlXG4gICAqL1xuICBpc1ZhbGlkS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIGFjY291bnQgaGF2ZSB0aGUgY29ycmVjdCBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY291bnRJZCAtIHN0cmluZyB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IGlmIHRoZSBzdHJpbmcgY2FuIGhhdmUgdGhlIGNvcnJlY3QgZm9ybWF0IGFuZCBtYXRjaCB0aGUgZXhwZWN0ZWQgbGVuZ3RoXG4gICAqIG9yIGNhbiBjcmVhdGUgYSBuZXcga2V5UGFpclxuICAgKi9cbiAgaXNWYWxpZEFjY291bnRJZChhY2NvdW50SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghYWNjb3VudElkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAoL14oKFthLXpcXGRdK1tcXC1fXSkqW2EtelxcZF0rXFwuKSooW2EtelxcZF0rW1xcLV9dKSpbYS16XFxkXSskLy50ZXN0KGFjY291bnRJZCkgJiZcbiAgICAgICAgYWNjb3VudElkLmxlbmd0aCA+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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"}