@bitgo-beta/sdk-coin-avaxc 1.1.1-beta.2 → 1.1.1-beta.2000

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 (56) hide show
  1. package/dist/src/avaxc.d.ts +77 -19
  2. package/dist/src/avaxc.d.ts.map +1 -1
  3. package/dist/src/avaxc.js +370 -141
  4. package/dist/src/avaxcToken.d.ts +1 -1
  5. package/dist/src/avaxcToken.d.ts.map +1 -1
  6. package/dist/src/avaxcToken.js +3 -3
  7. package/dist/src/iface.d.ts +16 -6
  8. package/dist/src/iface.d.ts.map +1 -1
  9. package/dist/src/iface.js +1 -1
  10. package/dist/src/index.d.ts +1 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +7 -2
  13. package/dist/src/lib/index.js +23 -9
  14. package/dist/src/lib/keyPair.js +10 -11
  15. package/dist/src/lib/transactionBuilder.js +2 -2
  16. package/dist/src/lib/utils.d.ts +2 -1
  17. package/dist/src/lib/utils.d.ts.map +1 -1
  18. package/dist/src/lib/utils.js +31 -10
  19. package/dist/src/register.d.ts +3 -0
  20. package/dist/src/register.d.ts.map +1 -0
  21. package/dist/src/register.js +15 -0
  22. package/dist/test/resources/avaxc.d.ts +122 -0
  23. package/dist/test/resources/avaxc.d.ts.map +1 -0
  24. package/dist/test/resources/avaxc.js +137 -0
  25. package/dist/test/unit/avaxc.d.ts +2 -0
  26. package/dist/test/unit/avaxc.d.ts.map +1 -0
  27. package/dist/test/unit/avaxc.js +1271 -0
  28. package/dist/test/unit/avaxcToken.d.ts +2 -0
  29. package/dist/test/unit/avaxcToken.d.ts.map +1 -0
  30. package/dist/test/unit/avaxcToken.js +68 -0
  31. package/dist/test/unit/getBuilder.d.ts +3 -0
  32. package/dist/test/unit/getBuilder.d.ts.map +1 -0
  33. package/dist/test/unit/getBuilder.js +10 -0
  34. package/dist/test/unit/helpers.d.ts +15 -0
  35. package/dist/test/unit/helpers.d.ts.map +1 -0
  36. package/dist/test/unit/helpers.js +54 -0
  37. package/dist/test/unit/keyPair.d.ts +2 -0
  38. package/dist/test/unit/keyPair.d.ts.map +1 -0
  39. package/dist/test/unit/keyPair.js +135 -0
  40. package/dist/test/unit/transactionBuilder/transfer.d.ts +2 -0
  41. package/dist/test/unit/transactionBuilder/transfer.d.ts.map +1 -0
  42. package/dist/test/unit/transactionBuilder/transfer.js +223 -0
  43. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.d.ts +2 -0
  44. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.d.ts.map +1 -0
  45. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.js +174 -0
  46. package/dist/test/unit/transferBuilder.d.ts +2 -0
  47. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  48. package/dist/test/unit/transferBuilder.js +119 -0
  49. package/dist/test/unit/util.d.ts +2 -0
  50. package/dist/test/unit/util.d.ts.map +1 -0
  51. package/dist/test/unit/util.js +235 -0
  52. package/dist/tsconfig.tsbuildinfo +1 -0
  53. package/package.json +23 -16
  54. package/.eslintignore +0 -5
  55. package/.mocharc.yml +0 -8
  56. package/CHANGELOG.md +0 -34
@@ -1,15 +1,28 @@
1
- /// <reference types="node" />
2
- import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
3
- import { BaseCoin, BitGoBase, FeeEstimateOptions, FullySignedTransaction, IWallet, KeyPair, ParsedTransaction, ParseTransactionOptions, Recipient, TransactionExplanation, VerifyAddressOptions } from '@bitgo-beta/sdk-core';
4
- import { GetSendMethodArgsOptions, RecoverOptions, RecoveryInfo, SendMethodArgs, TransactionBuilder as EthTransactionBuilder, TransactionPrebuild } from '@bitgo-beta/sdk-coin-eth';
1
+ import { BaseCoin as StaticsBaseCoin, CoinFamily, EthereumNetwork } from '@bitgo-beta/statics';
2
+ import { BaseCoin, BitGoBase, FeeEstimateOptions, FullySignedTransaction, IWallet, KeyPair, MultisigType, ParsedTransaction, ParseTransactionOptions, Recipient, TransactionExplanation, VerifyAddressOptions } from '@bitgo-beta/sdk-core';
3
+ import { AbstractEthLikeNewCoins, GetSendMethodArgsOptions, RecoverOptions, RecoveryInfo, SendMethodArgs, TransactionBuilder as EthTransactionBuilder, TransactionPrebuild } from '@bitgo-beta/sdk-coin-eth';
4
+ import { BN } from 'ethereumjs-util';
5
+ import { Buffer } from 'buffer';
5
6
  import { AvaxSignTransactionOptions, BuildOptions, ExplainTransactionOptions, FeeEstimate, HopParams, HopPrebuild, HopTransactionBuildOptions, OfflineVaultTxInfo, PrecreateBitGoOptions, PresignTransactionOptions, SignedTransaction, SignFinalOptions, VerifyAvaxcTransactionOptions } from './iface';
6
- export declare class AvaxC extends BaseCoin {
7
+ import { AvaxpLib } from '@bitgo-beta/sdk-coin-avaxp';
8
+ import { SignTransactionOptions } from '@bitgo-beta/abstract-eth';
9
+ /** COIN-1708 : Avaxc is added for CCR in WRW,
10
+ * hence adding the feature for AbstractEthLikeNewCoins
11
+ * Super class changed from BaseCoin to AbstractEthLikeNewCoins
12
+ * @since Sept 2024
13
+ */
14
+ export declare class AvaxC extends AbstractEthLikeNewCoins {
7
15
  static hopTransactionSalt: string;
8
16
  protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
9
17
  protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
10
18
  static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
11
19
  getBaseFactor(): number;
12
20
  getChain(): string;
21
+ /**
22
+ * Method to return the coin's network object
23
+ * @returns {BaseNetwork}
24
+ */
25
+ getNetwork(): EthereumNetwork;
13
26
  /**
14
27
  * Get the base chain that the coin exists on.
15
28
  */
@@ -19,9 +32,11 @@ export declare class AvaxC extends BaseCoin {
19
32
  valuelessTransferAllowed(): boolean;
20
33
  isValidAddress(address: string): boolean;
21
34
  isToken(): boolean;
35
+ /** inherited doc */
36
+ getDefaultMultisigType(): MultisigType;
22
37
  generateKeyPair(seed?: Buffer): KeyPair;
23
38
  parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
24
- verifyAddress({ address }: VerifyAddressOptions): boolean;
39
+ verifyAddress({ address }: VerifyAddressOptions): Promise<boolean>;
25
40
  /**
26
41
  * Verify that a transaction prebuild complies with the original intention
27
42
  *
@@ -50,11 +65,12 @@ export declare class AvaxC extends BaseCoin {
50
65
  */
51
66
  setGasPrice(userGasPrice?: number): number;
52
67
  /**
53
- * Make a query to Snowtrace for information such as balance, token balance, solidity calls
68
+ * Make a query to avax.network for information such as balance, token balance, solidity calls
54
69
  * @param {Object} query — key-value pairs of parameters to append after /api
55
- * @returns {Promise<Object>} response from Snowtrace
70
+ * @param {string} apiKey - optional API key to use instead of the one from the environment
71
+ * @returns {Promise<Object>} response from avax.network
56
72
  */
57
- recoveryBlockchainExplorerQuery(query: Record<string, string>): Promise<any>;
73
+ recoveryBlockchainExplorerQuery(query: Record<string, any>, apiKey?: string): Promise<any>;
58
74
  /**
59
75
  * Queries public block explorer to get the next nonce that should be used for
60
76
  * the given AVAXC address
@@ -63,13 +79,20 @@ export declare class AvaxC extends BaseCoin {
63
79
  */
64
80
  getAddressNonce(address: string): Promise<number>;
65
81
  /**
66
- * Queries Snowtrace for the balance of an address
82
+ * Queries avax.network for the balance of an address
67
83
  * @param {string} address - the AVAXC address
68
84
  * @returns {Promise<BigNumber>} address balance
69
85
  */
70
- queryAddressBalance(address: string): Promise<any>;
86
+ queryAddressBalance(address: string): Promise<BN>;
87
+ /**
88
+ * Queries avax.network for the token balance of an address
89
+ * @param {string} walletContractAddress - the AVAXC address
90
+ * @param {string} tokenContractAddress - the Token contract address
91
+ * @returns {Promise<BigNumber>} address balance
92
+ */
93
+ queryAddressTokenBalance(tokenContractAddress: string, walletContractAddress: string): Promise<BN>;
71
94
  /**
72
- * Queries the contract (via Snowtrace) for the next sequence ID
95
+ * Queries the contract (via avax.network) for the next sequence ID
73
96
  * @param {string} address - address of the contract
74
97
  * @returns {Promise<number>} sequence ID
75
98
  */
@@ -120,11 +143,32 @@ export declare class AvaxC extends BaseCoin {
120
143
  * @return a new transaction builder
121
144
  */
122
145
  protected getTransactionBuilder(): EthTransactionBuilder;
146
+ protected getAtomicBuilder(): AvaxpLib.TransactionBuilderFactory;
123
147
  /**
124
148
  * Explain a transaction from txHex, overriding BaseCoins
149
+ * transaction can be either atomic or eth txn.
125
150
  * @param params The options with which to explain the transaction
126
151
  */
127
152
  explainTransaction(params: ExplainTransactionOptions): Promise<TransactionExplanation>;
153
+ /**
154
+ * Explains an atomic transaction using atomic builder.
155
+ * @param txHex
156
+ * @private
157
+ */
158
+ private explainAtomicTransaction;
159
+ /**
160
+ * Verify signature for an atomic transaction using atomic builder.
161
+ * @param txHex
162
+ * @return true if signature is from the input address
163
+ * @private
164
+ */
165
+ private verifySignatureForAtomicTransaction;
166
+ /**
167
+ * Explains an EVM transaction using regular eth txn builder
168
+ * @param tx
169
+ * @private
170
+ */
171
+ private explainEVMTransaction;
128
172
  /**
129
173
  * Above is standard BaseCoins functions
130
174
  * ================================================================================================================
@@ -163,7 +207,7 @@ export declare class AvaxC extends BaseCoin {
163
207
  * Assemble half-sign prebuilt transaction
164
208
  * @param params
165
209
  */
166
- signTransaction(params: AvaxSignTransactionOptions): Promise<SignedTransaction>;
210
+ signTransaction(params: AvaxSignTransactionOptions | SignTransactionOptions): Promise<SignedTransaction>;
167
211
  /**
168
212
  * Modify prebuild before sending it to the server. Add things like hop transaction params
169
213
  * @param buildParams The whitelisted parameters for this prebuild
@@ -175,10 +219,10 @@ export declare class AvaxC extends BaseCoin {
175
219
  getExtraPrebuildParams(buildParams: BuildOptions): Promise<BuildOptions>;
176
220
  /**
177
221
  * Creates the extra parameters needed to build a hop transaction
178
- * @param buildParams The original build parameters
222
+ * @param {HopTransactionBuildOptions} The original build parameters
179
223
  * @returns extra parameters object to merge with the original build parameters object and send to the platform
180
224
  */
181
- createHopTransactionParams(buildParams: HopTransactionBuildOptions): Promise<HopParams>;
225
+ createHopTransactionParams({ recipients, type }: HopTransactionBuildOptions): Promise<HopParams>;
182
226
  /**
183
227
  * Fetch fee estimate information from the server
184
228
  * @param {Object} params The params passed into the function
@@ -189,11 +233,12 @@ export declare class AvaxC extends BaseCoin {
189
233
  */
190
234
  feeEstimate(params: FeeEstimateOptions): Promise<FeeEstimate>;
191
235
  /**
192
- * Gets the hop digest for the user to sign. This is validated in the HSM to prove that the user requested this tx
193
- * @param paramsArr The parameters to hash together for the digest
236
+ * Calculate tx hash like evm from tx hex.
237
+ * @param {string} tx
238
+ * @returns {Buffer} tx hash
194
239
  */
195
- static getHopDigest(paramsArr: string[]): Buffer;
196
- isWalletAddress(params: VerifyAddressOptions): boolean;
240
+ static getTxHash(tx: string): Buffer;
241
+ isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
197
242
  /**
198
243
  * Ensure either enterprise or newFeeAddress is passed, to know whether to create new key or use enterprise key
199
244
  * @param params
@@ -201,5 +246,18 @@ export declare class AvaxC extends BaseCoin {
201
246
  * @param params.newFeeAddress {Boolean} create a new fee address (enterprise not needed in this case)
202
247
  */
203
248
  preCreateBitGo(params: PrecreateBitGoOptions): void;
249
+ getAvaxP(): string;
250
+ /**
251
+ * Fetch the gas price from the explorer
252
+ */
253
+ getGasPriceFromExternalAPI(): Promise<BN>;
254
+ /**
255
+ * Fetch the gas limit from the explorer
256
+ * @param intendedChain
257
+ * @param from
258
+ * @param to
259
+ * @param data
260
+ */
261
+ getGasLimitFromExternalAPI(intendedChain: string, from: string, to: string, data: string): Promise<BN>;
204
262
  }
205
263
  //# sourceMappingURL=avaxc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avaxc.d.ts","sourceRoot":"","sources":["../../src/avaxc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaxc.d.ts","sourceRoot":"","sources":["../../src/avaxc.ts"],"names":[],"mappings":"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"}