@bitgo-beta/sdk-coin-near 1.1.0

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 (60) hide show
  1. package/.eslintignore +5 -0
  2. package/.mocharc.yml +8 -0
  3. package/CHANGELOG.md +32 -0
  4. package/LICENSE +191 -0
  5. package/README.md +30 -0
  6. package/dist/src/index.d.ts +4 -0
  7. package/dist/src/index.d.ts.map +1 -0
  8. package/dist/src/index.js +16 -0
  9. package/dist/src/lib/constants.d.ts +12 -0
  10. package/dist/src/lib/constants.d.ts.map +1 -0
  11. package/dist/src/lib/constants.js +15 -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 +68 -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/iface.d.ts +40 -0
  19. package/dist/src/lib/iface.d.ts.map +1 -0
  20. package/dist/src/lib/iface.js +8 -0
  21. package/dist/src/lib/index.d.ts +11 -0
  22. package/dist/src/lib/index.d.ts.map +1 -0
  23. package/dist/src/lib/index.js +41 -0
  24. package/dist/src/lib/keyPair.d.ts +25 -0
  25. package/dist/src/lib/keyPair.d.ts.map +1 -0
  26. package/dist/src/lib/keyPair.js +72 -0
  27. package/dist/src/lib/stakingActivateBuilder.d.ts +32 -0
  28. package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -0
  29. package/dist/src/lib/stakingActivateBuilder.js +90 -0
  30. package/dist/src/lib/stakingDeactivateBuilder.d.ts +32 -0
  31. package/dist/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
  32. package/dist/src/lib/stakingDeactivateBuilder.js +89 -0
  33. package/dist/src/lib/stakingWithdrawBuilder.d.ts +32 -0
  34. package/dist/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
  35. package/dist/src/lib/stakingWithdrawBuilder.js +89 -0
  36. package/dist/src/lib/transaction.d.ts +90 -0
  37. package/dist/src/lib/transaction.d.ts.map +1 -0
  38. package/dist/src/lib/transaction.js +368 -0
  39. package/dist/src/lib/transactionBuilder.d.ts +89 -0
  40. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  41. package/dist/src/lib/transactionBuilder.js +216 -0
  42. package/dist/src/lib/transactionBuilderFactory.d.ts +30 -0
  43. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  44. package/dist/src/lib/transactionBuilderFactory.js +71 -0
  45. package/dist/src/lib/transferBuilder.d.ts +26 -0
  46. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  47. package/dist/src/lib/transferBuilder.js +72 -0
  48. package/dist/src/lib/utils.d.ts +42 -0
  49. package/dist/src/lib/utils.d.ts.map +1 -0
  50. package/dist/src/lib/utils.js +85 -0
  51. package/dist/src/lib/walletInitializationBuilder.d.ts +12 -0
  52. package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/walletInitializationBuilder.js +20 -0
  54. package/dist/src/near.d.ts +169 -0
  55. package/dist/src/near.d.ts.map +1 -0
  56. package/dist/src/near.js +471 -0
  57. package/dist/src/tnear.d.ts +7 -0
  58. package/dist/src/tnear.d.ts.map +1 -0
  59. package/dist/src/tnear.js +11 -0
  60. package/package.json +61 -0
@@ -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,169 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ /// <reference types="node" />
5
+ import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
6
+ import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions as BaseParseTransactionOptions, SignedTransaction, SignTransactionOptions as BaseSignTransactionOptions, TransactionExplanation, VerifyAddressOptions, VerifyTransactionOptions, Eddsa, MPCAlgorithm } from '@bitgo-beta/sdk-core';
7
+ import * as request from 'superagent';
8
+ export interface SignTransactionOptions extends BaseSignTransactionOptions {
9
+ txPrebuild: TransactionPrebuild;
10
+ prv: string;
11
+ }
12
+ export interface TransactionPrebuild {
13
+ txHex: string;
14
+ key: string;
15
+ blockHash: string;
16
+ nonce: number;
17
+ }
18
+ export interface ExplainTransactionOptions {
19
+ txPrebuild: TransactionPrebuild;
20
+ publicKey: string;
21
+ feeInfo: {
22
+ fee: string;
23
+ };
24
+ }
25
+ export interface VerifiedTransactionParameters {
26
+ txHex: string;
27
+ prv: string;
28
+ signer: string;
29
+ }
30
+ export interface NearParseTransactionOptions extends BaseParseTransactionOptions {
31
+ txPrebuild: TransactionPrebuild;
32
+ publicKey: string;
33
+ feeInfo: {
34
+ fee: string;
35
+ };
36
+ }
37
+ interface TransactionOutput {
38
+ address: string;
39
+ amount: string;
40
+ }
41
+ interface RecoveryOptions {
42
+ userKey: string;
43
+ backupKey: string;
44
+ bitgoKey: string;
45
+ recoveryDestination: string;
46
+ krsProvider?: string;
47
+ walletPassphrase: string;
48
+ }
49
+ interface NearTx {
50
+ serializedTx: string;
51
+ }
52
+ interface NearTxBuilderParamsFromNode {
53
+ nonce: number;
54
+ blockHash: string;
55
+ }
56
+ interface NearFeeConfig {
57
+ sendSir: number;
58
+ sendNotSir: number;
59
+ execution: number;
60
+ }
61
+ interface ProtocolConfigOutput {
62
+ storageAmountPerByte: number;
63
+ transferCost: NearFeeConfig;
64
+ receiptConfig: NearFeeConfig;
65
+ }
66
+ declare type TransactionInput = TransactionOutput;
67
+ export interface NearParsedTransaction extends ParsedTransaction {
68
+ inputs: TransactionInput[];
69
+ outputs: TransactionOutput[];
70
+ }
71
+ export declare type NearTransactionExplanation = TransactionExplanation;
72
+ export declare class Near extends BaseCoin {
73
+ protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
74
+ constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
75
+ protected static initialized: boolean;
76
+ protected static MPC: Eddsa;
77
+ protected network: string;
78
+ static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
79
+ allowsAccountConsolidations(): boolean;
80
+ /**
81
+ * Flag indicating if this coin supports TSS wallets.
82
+ * @returns {boolean} True if TSS Wallets can be created for this coin
83
+ */
84
+ supportsTss(): boolean;
85
+ getMPCAlgorithm(): MPCAlgorithm;
86
+ supportsStaking(): boolean;
87
+ getChain(): string;
88
+ getBaseChain(): string;
89
+ getFamily(): CoinFamily;
90
+ getFullName(): string;
91
+ getBaseFactor(): any;
92
+ /**
93
+ * Flag for sending value of 0
94
+ * @returns {boolean} True if okay to send 0 value, false otherwise
95
+ */
96
+ valuelessTransferAllowed(): boolean;
97
+ /**
98
+ * Generate ed25519 key pair
99
+ *
100
+ * @param seed
101
+ * @returns {Object} object with generated pub, prv
102
+ */
103
+ generateKeyPair(seed?: Buffer): KeyPair;
104
+ /**
105
+ * Return boolean indicating whether input is valid public key for the coin.
106
+ *
107
+ * @param {String} pub the pub to be checked
108
+ * @returns {Boolean} is it valid?
109
+ */
110
+ isValidPub(pub: string): boolean;
111
+ /**
112
+ * Return boolean indicating whether the supplied private key is a valid near private key
113
+ *
114
+ * @param {String} prv the prv to be checked
115
+ * @returns {Boolean} is it valid?
116
+ */
117
+ isValidPrv(prv: string): boolean;
118
+ /**
119
+ * Return boolean indicating whether input is valid public key for the coin
120
+ *
121
+ * @param {String} address the pub to be checked
122
+ * @returns {Boolean} is it valid?
123
+ */
124
+ isValidAddress(address: string): boolean;
125
+ /** @inheritDoc */
126
+ signMessage(key: KeyPair, message: string | Buffer): Promise<Buffer>;
127
+ /**
128
+ * Explain/parse transaction
129
+ * @param params
130
+ */
131
+ explainTransaction(params: ExplainTransactionOptions): Promise<NearTransactionExplanation>;
132
+ verifySignTransactionParams(params: SignTransactionOptions): VerifiedTransactionParameters;
133
+ /**
134
+ * Assemble keychain and half-sign prebuilt transaction
135
+ *
136
+ * @param params
137
+ * @param params.txPrebuild {TransactionPrebuild} prebuild object returned by platform
138
+ * @param params.prv {String} user prv
139
+ * @param callback
140
+ * @returns {Bluebird<SignedTransaction>}
141
+ */
142
+ signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
143
+ /**
144
+ * Builds a funds recovery transaction without BitGo
145
+ * @param params
146
+ */
147
+ recover(params: RecoveryOptions): Promise<NearTx>;
148
+ /**
149
+ * Make a request to one of the public EOS nodes available
150
+ * @param params.payload
151
+ */
152
+ protected getDataFromNode(params: {
153
+ payload?: Record<string, unknown>;
154
+ }): Promise<request.Response>;
155
+ protected getAccessKey({ accountId, bs58EncodedPublicKey, }: {
156
+ accountId: string;
157
+ bs58EncodedPublicKey: string;
158
+ }): Promise<NearTxBuilderParamsFromNode>;
159
+ protected getAccountBalance(accountId: string, storageAmountPerByte: number): Promise<string>;
160
+ protected getProtocolConfig(): Promise<ProtocolConfigOutput>;
161
+ protected getGasPrice(blockHash: string): Promise<string>;
162
+ protected getPublicNodeUrls(): string[];
163
+ parseTransaction(params: NearParseTransactionOptions): Promise<NearParsedTransaction>;
164
+ isWalletAddress(params: VerifyAddressOptions): boolean;
165
+ verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
166
+ private getBuilder;
167
+ }
168
+ export {};
169
+ //# 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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"}