@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,20 @@
1
+ import { BitGoBase, CoinConstructor, NamedCoinConstructor, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
2
+ import { Nep141TokenConfig } from '@bitgo-beta/statics';
3
+ import { Near } from './near';
4
+ export declare class Nep141Token extends Near {
5
+ readonly tokenConfig: Nep141TokenConfig;
6
+ constructor(bitgo: BitGoBase, tokenConfig: Nep141TokenConfig);
7
+ static createTokenConstructor(config: Nep141TokenConfig): CoinConstructor;
8
+ static createTokenConstructors(tokenConfig?: Nep141TokenConfig[]): NamedCoinConstructor[];
9
+ get name(): string;
10
+ get coin(): string;
11
+ get contractAddress(): string;
12
+ get decimalPlaces(): number;
13
+ get storageDepositAmount(): string;
14
+ getChain(): string;
15
+ getBaseChain(): string;
16
+ getFullName(): string;
17
+ getBaseFactor(): number;
18
+ verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
19
+ }
20
+ //# sourceMappingURL=nep141Token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nep141Token.d.ts","sourceRoot":"","sources":["../../src/nep141Token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAS,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,WAAY,SAAQ,IAAI;IACnC,SAAgB,WAAW,EAAE,iBAAiB,CAAC;gBAEnC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB;IAM5D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe;IAIzE,MAAM,CAAC,uBAAuB,CAC5B,WAAW,GAAE,iBAAiB,EAAmE,GAChG,oBAAoB,EAAE;IASzB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;IAIjB,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;CA8C5E"}
@@ -0,0 +1,101 @@
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.Nep141Token = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const statics_1 = require("@bitgo-beta/statics");
9
+ const lib_1 = require("./lib");
10
+ const near_1 = require("./near");
11
+ class Nep141Token extends near_1.Near {
12
+ constructor(bitgo, tokenConfig) {
13
+ const staticsCoin = tokenConfig.network === statics_1.NetworkType.MAINNET ? statics_1.coins.get('near') : statics_1.coins.get('tnear');
14
+ super(bitgo, staticsCoin);
15
+ this.tokenConfig = tokenConfig;
16
+ }
17
+ static createTokenConstructor(config) {
18
+ return (bitgo) => new Nep141Token(bitgo, config);
19
+ }
20
+ static createTokenConstructors(tokenConfig = [...statics_1.tokens.bitcoin.near.tokens, ...statics_1.tokens.testnet.near.tokens]) {
21
+ const tokensCtors = [];
22
+ for (const token of tokenConfig) {
23
+ const tokenConstructor = Nep141Token.createTokenConstructor(token);
24
+ tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
25
+ }
26
+ return tokensCtors;
27
+ }
28
+ get name() {
29
+ return this.tokenConfig.name;
30
+ }
31
+ get coin() {
32
+ return this.tokenConfig.coin;
33
+ }
34
+ get contractAddress() {
35
+ return this.tokenConfig.contractAddress;
36
+ }
37
+ get decimalPlaces() {
38
+ return this.tokenConfig.decimalPlaces;
39
+ }
40
+ get storageDepositAmount() {
41
+ return this.tokenConfig.storageDepositAmount;
42
+ }
43
+ getChain() {
44
+ return this.tokenConfig.type;
45
+ }
46
+ getBaseChain() {
47
+ return this.coin;
48
+ }
49
+ getFullName() {
50
+ return 'Nep141 Token';
51
+ }
52
+ getBaseFactor() {
53
+ return Math.pow(10, this.tokenConfig.decimalPlaces);
54
+ }
55
+ async verifyTransaction(params) {
56
+ const { txPrebuild: txPrebuild, txParams: txParams } = params;
57
+ const rawTx = txPrebuild.txHex;
58
+ let totalAmount = new bignumber_js_1.default(0);
59
+ if (!rawTx) {
60
+ throw new Error('missing required tx prebuild property txHex');
61
+ }
62
+ const coinConfig = statics_1.coins.get(this.getChain());
63
+ const transaction = new lib_1.Transaction(coinConfig);
64
+ transaction.fromRawTransaction(rawTx);
65
+ const explainedTx = transaction.explainTransaction();
66
+ if (txParams.recipients !== undefined) {
67
+ txParams.recipients.forEach((recipient) => {
68
+ if (recipient.tokenName && recipient.tokenName !== coinConfig.name) {
69
+ throw new Error('incorrect token name specified in recipients');
70
+ }
71
+ recipient.tokenName = coinConfig.name;
72
+ });
73
+ const filteredRecipients = txParams.recipients?.map((recipient) => ({
74
+ address: recipient.address,
75
+ amount: recipient.amount,
76
+ tokenName: recipient.tokenName,
77
+ }));
78
+ const filteredOutputs = explainedTx.outputs.map((output) => ({
79
+ address: output.address,
80
+ amount: output.amount,
81
+ tokenName: output.tokenName,
82
+ }));
83
+ const outputsMatch = JSON.stringify(filteredRecipients) === JSON.stringify(filteredOutputs);
84
+ if (!outputsMatch) {
85
+ throw new Error('Tx outputs does not match with expected txParams recipients');
86
+ }
87
+ for (const recipient of txParams.recipients) {
88
+ totalAmount = totalAmount.plus(recipient.amount);
89
+ }
90
+ if (!totalAmount.isEqualTo(explainedTx.outputAmount)) {
91
+ throw new Error('Tx total amount does not match with expected total amount field');
92
+ }
93
+ }
94
+ if (params.verification?.consolidationToBaseAddress) {
95
+ await this.verifyConsolidationToBaseAddress(params, explainedTx);
96
+ }
97
+ return true;
98
+ }
99
+ }
100
+ exports.Nep141Token = Nep141Token;
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVwMTQxVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmVwMTQxVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLGlEQUFvRjtBQUVwRiwrQkFBb0M7QUFDcEMsaUNBQThCO0FBRTlCLE1BQWEsV0FBWSxTQUFRLFdBQUk7SUFHbkMsWUFBWSxLQUFnQixFQUFFLFdBQThCO1FBQzFELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekcsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQXlCO1FBQ3JELE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsY0FBbUMsQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRWpHLE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7UUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQyxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FB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Q0FBQyxNQUFNO2dCQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztZQUNqRixDQUFDO1lBQ0QsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzVDLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsaUVBQWlFLENBQUMsQ0FBQztZQUNyRixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxDQUFDO1lBQ3BELE1BQU0sSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUExR0Qsa0NBMEdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQml0R29CYXNlLCBDb2luQ29uc3RydWN0b3IsIE5hbWVkQ29pbkNvbnN0cnVjdG9yLCBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucywgTmVwMTQxVG9rZW5Db25maWcsIE5ldHdvcmtUeXBlLCB0b2tlbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBOZWFyIH0gZnJvbSAnLi9uZWFyJztcblxuZXhwb3J0IGNsYXNzIE5lcDE0MVRva2VuIGV4dGVuZHMgTmVhciB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogTmVwMTQxVG9rZW5Db25maWc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IE5lcDE0MVRva2VuQ29uZmlnKSB7XG4gICAgY29uc3Qgc3RhdGljc0NvaW4gPSB0b2tlbkNvbmZpZy5uZXR3b3JrID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUID8gY29pbnMuZ2V0KCduZWFyJykgOiBjb2lucy5nZXQoJ3RuZWFyJyk7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IE5lcDE0MVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gKGJpdGdvOiBCaXRHb0Jhc2UpID0+IG5ldyBOZXAxNDFUb2tlbihiaXRnbywgY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhcbiAgICB0b2tlbkNvbmZpZzogTmVwMTQxVG9rZW5Db25maWdbXSA9IFsuLi50b2tlbnMuYml0Y29pbi5uZWFyLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQubmVhci50b2tlbnNdXG4gICk6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10ge1xuICAgIGNvbnN0IHRva2Vuc0N0b3JzOiBOYW1lZENvaW5Db25zdHJ1Y3RvcltdID0gW107XG4gICAgZm9yIChjb25zdCB0b2tlbiBvZiB0b2tlbkNvbmZpZykge1xuICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IE5lcDE0MVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW4pO1xuICAgICAgdG9rZW5zQ3RvcnMucHVzaCh7IG5hbWU6IHRva2VuLnR5cGUsIGNvaW5Db25zdHJ1Y3RvcjogdG9rZW5Db25zdHJ1Y3RvciB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRva2Vuc0N0b3JzO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uYW1lO1xuICB9XG5cbiAgZ2V0IGNvaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5jb2luO1xuICB9XG5cbiAgZ2V0IGNvbnRyYWN0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmNvbnRyYWN0QWRkcmVzcztcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcztcbiAgfVxuXG4gIGdldCBzdG9yYWdlRGVwb3NpdEFtb3VudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLnN0b3JhZ2VEZXBvc2l0QW1vdW50O1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29pbjtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdOZXAxNDEgVG9rZW4nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy50b2tlbkNvbmZpZy5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFByZWJ1aWxkOiB0eFByZWJ1aWxkLCB0eFBhcmFtczogdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBjb25zdCByYXdUeCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgbGV0IHRvdGFsQW1vdW50ID0gbmV3IEJpZ051bWJlcigwKTtcbiAgICBpZiAoIXJhd1R4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9XG4gICAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5Db25maWcpO1xuICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUeCk7XG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSB0cmFuc2FjdGlvbi5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICBpZiAodHhQYXJhbXMucmVjaXBpZW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0eFBhcmFtcy5yZWNpcGllbnRzLmZvckVhY2goKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICBpZiAocmVjaXBpZW50LnRva2VuTmFtZSAmJiByZWNpcGllbnQudG9rZW5OYW1lICE9PSBjb2luQ29uZmlnLm5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2luY29ycmVjdCB0b2tlbiBuYW1lIHNwZWNpZmllZCBpbiByZWNpcGllbnRzJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVjaXBpZW50LnRva2VuTmFtZSA9IGNvaW5Db25maWcubmFtZTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmlsdGVyZWRSZWNpcGllbnRzID0gdHhQYXJhbXMucmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+ICh7XG4gICAgICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHJlY2lwaWVudC5hbW91bnQsXG4gICAgICAgIHRva2VuTmFtZTogcmVjaXBpZW50LnRva2VuTmFtZSxcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3V0cHV0cyA9IGV4cGxhaW5lZFR4Lm91dHB1dHMubWFwKChvdXRwdXQpID0+ICh7XG4gICAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IG91dHB1dC5hbW91bnQsXG4gICAgICAgIHRva2VuTmFtZTogb3V0cHV0LnRva2VuTmFtZSxcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IG91dHB1dHNNYXRjaCA9IEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkUmVjaXBpZW50cykgPT09IEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkT3V0cHV0cyk7XG4gICAgICBpZiAoIW91dHB1dHNNYXRjaCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IG91dHB1dHMgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IHJlY2lwaWVudCBvZiB0eFBhcmFtcy5yZWNpcGllbnRzKSB7XG4gICAgICAgIHRvdGFsQW1vdW50ID0gdG90YWxBbW91bnQucGx1cyhyZWNpcGllbnQuYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIGlmICghdG90YWxBbW91bnQuaXNFcXVhbFRvKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCB0b3RhbCBhbW91bnQgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0b3RhbCBhbW91bnQgZmllbGQnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnZlcmlmaWNhdGlvbj8uY29uc29saWRhdGlvblRvQmFzZUFkZHJlc3MpIHtcbiAgICAgIGF3YWl0IHRoaXMudmVyaWZ5Q29uc29saWRhdGlvblRvQmFzZUFkZHJlc3MocGFyYW1zLCBleHBsYWluZWRUeCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ export declare const register: (sdk: BitGoBase) => void;
3
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAMzC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.register = void 0;
4
+ const near_1 = require("./near");
5
+ const tnear_1 = require("./tnear");
6
+ const nep141Token_1 = require("./nep141Token");
7
+ const register = (sdk) => {
8
+ sdk.register('near', near_1.Near.createInstance);
9
+ sdk.register('tnear', tnear_1.TNear.createInstance);
10
+ nep141Token_1.Nep141Token.createTokenConstructors().forEach(({ name, coinConstructor }) => {
11
+ sdk.register(name, coinConstructor);
12
+ });
13
+ };
14
+ exports.register = register;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBQzlCLG1DQUFnQztBQUNoQywrQ0FBNEM7QUFFckMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLHlCQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBTlcsUUFBQSxRQUFRLFlBTW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgTmVhciB9IGZyb20gJy4vbmVhcic7XG5pbXBvcnQgeyBUTmVhciB9IGZyb20gJy4vdG5lYXInO1xuaW1wb3J0IHsgTmVwMTQxVG9rZW4gfSBmcm9tICcuL25lcDE0MVRva2VuJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignbmVhcicsIE5lYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3RuZWFyJywgVE5lYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBOZXAxNDFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG59O1xuIl19
@@ -0,0 +1,7 @@
1
+ import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
2
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
3
+ import { Near } from './near';
4
+ export declare class TNear extends Near {
5
+ constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
6
+ }
7
+ //# sourceMappingURL=tnear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tnear.d.ts","sourceRoot":"","sources":["../../src/tnear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,KAAM,SAAQ,IAAI;gBACjB,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;CAGtE"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TNear = void 0;
4
+ const near_1 = require("./near");
5
+ class TNear extends near_1.Near {
6
+ constructor(bitgo, staticsCoin) {
7
+ super(bitgo, staticsCoin);
8
+ }
9
+ }
10
+ exports.TNear = TNear;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG5lYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG5lYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsaUNBQThCO0FBRTlCLE1BQWEsS0FBTSxTQUFRLFdBQUk7SUFDN0IsWUFBWSxLQUFnQixFQUFFLFdBQXVDO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBSkQsc0JBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IE5lYXIgfSBmcm9tICcuL25lYXInO1xuXG5leHBvcnQgY2xhc3MgVE5lYXIgZXh0ZW5kcyBOZWFyIHtcbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxufVxuIl19
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@bitgo-beta/sdk-coin-near",
3
+ "version": "0.0.0-semantic-release-managed",
4
+ "description": "BitGo SDK coin library for Near",
5
+ "main": "./dist/src/index.js",
6
+ "types": "./dist/src/index.d.ts",
7
+ "scripts": {
8
+ "build": "yarn tsc --build --incremental --verbose .",
9
+ "fmt": "prettier --write .",
10
+ "check-fmt": "prettier --check .",
11
+ "clean": "rm -r ./dist",
12
+ "lint": "eslint --quiet .",
13
+ "prepare": "npm run build",
14
+ "test": "npm run coverage",
15
+ "coverage": "nyc -- npm run unit-test",
16
+ "unit-test": "mocha"
17
+ },
18
+ "author": "BitGo SDK Team <sdkteam@bitgo.com>",
19
+ "license": "MIT",
20
+ "engines": {
21
+ "node": ">=20 <23"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "https://github.com/BitGo/BitGoJS.git",
26
+ "directory": "modules/sdk-coin-near"
27
+ },
28
+ "lint-staged": {
29
+ "*.{js,ts}": [
30
+ "yarn prettier --write",
31
+ "yarn eslint --fix"
32
+ ]
33
+ },
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "nyc": {
38
+ "extension": [
39
+ ".ts"
40
+ ]
41
+ },
42
+ "dependencies": {
43
+ "@bitgo-beta/sdk-core": "0.0.0-semantic-release-managed",
44
+ "@bitgo-beta/sdk-lib-mpc": "0.0.0-semantic-release-managed",
45
+ "@bitgo-beta/statics": "0.0.0-semantic-release-managed",
46
+ "@near-js/crypto": "^2.0.1",
47
+ "@near-js/transactions": "^2.0.1",
48
+ "@stablelib/hex": "^1.0.0",
49
+ "bignumber.js": "^9.0.0",
50
+ "bs58": "^4.0.1",
51
+ "js-sha256": "^0.9.0",
52
+ "lodash": "^4.17.14",
53
+ "near-api-js": "^5.1.1",
54
+ "superagent": "^9.0.1",
55
+ "tweetnacl": "^1.0.3"
56
+ },
57
+ "devDependencies": {
58
+ "@bitgo-beta/sdk-api": "0.0.0-semantic-release-managed",
59
+ "@bitgo/sdk-test": "0.0.0-semantic-release-managed",
60
+ "@types/lodash": "^4.14.121"
61
+ },
62
+ "gitHead": "cf1b83546a50fba7d18cf9af363c5663dbec2059"
63
+ }