@bitgo-beta/sdk-coin-avaxc 2.2.3-alpha.400 → 2.2.3-alpha.402

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 (74) hide show
  1. package/dist/src/avaxc.d.ts +263 -0
  2. package/dist/src/avaxc.d.ts.map +1 -0
  3. package/dist/src/avaxc.js +1106 -0
  4. package/dist/src/avaxcToken.d.ts +37 -0
  5. package/dist/src/avaxcToken.d.ts.map +1 -0
  6. package/dist/src/avaxcToken.js +79 -0
  7. package/dist/src/iface.d.ts +148 -0
  8. package/dist/src/iface.d.ts.map +1 -0
  9. package/dist/src/iface.js +3 -0
  10. package/dist/src/index.d.ts +6 -0
  11. package/dist/src/index.d.ts.map +1 -0
  12. package/dist/src/index.js +22 -0
  13. package/dist/src/lib/index.d.ts +7 -0
  14. package/dist/src/lib/index.d.ts.map +1 -0
  15. package/dist/src/lib/index.js +48 -0
  16. package/dist/src/lib/keyPair.d.ts +26 -0
  17. package/dist/src/lib/keyPair.d.ts.map +1 -0
  18. package/dist/src/lib/keyPair.js +63 -0
  19. package/dist/src/lib/resources.d.ts +12 -0
  20. package/dist/src/lib/resources.d.ts.map +1 -0
  21. package/dist/src/lib/resources.js +27 -0
  22. package/dist/src/lib/transactionBuilder.d.ts +17 -0
  23. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/transactionBuilder.js +44 -0
  25. package/dist/src/lib/transferBuilder.d.ts +17 -0
  26. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/transferBuilder.js +25 -0
  28. package/dist/src/lib/utils.d.ts +39 -0
  29. package/dist/src/lib/utils.d.ts.map +1 -0
  30. package/dist/src/lib/utils.js +97 -0
  31. package/dist/src/lib/walletUtil.d.ts +22 -0
  32. package/dist/src/lib/walletUtil.d.ts.map +1 -0
  33. package/dist/src/lib/walletUtil.js +62 -0
  34. package/dist/src/register.d.ts +3 -0
  35. package/dist/src/register.d.ts.map +1 -0
  36. package/dist/src/register.js +15 -0
  37. package/dist/src/tavaxc.d.ts +11 -0
  38. package/dist/src/tavaxc.d.ts.map +1 -0
  39. package/dist/src/tavaxc.js +14 -0
  40. package/dist/test/resources/avaxc.d.ts +122 -0
  41. package/dist/test/resources/avaxc.d.ts.map +1 -0
  42. package/dist/test/resources/avaxc.js +137 -0
  43. package/dist/test/unit/avaxc.d.ts +2 -0
  44. package/dist/test/unit/avaxc.d.ts.map +1 -0
  45. package/dist/test/unit/avaxc.js +1104 -0
  46. package/dist/test/unit/avaxcToken.d.ts +2 -0
  47. package/dist/test/unit/avaxcToken.d.ts.map +1 -0
  48. package/dist/test/unit/avaxcToken.js +68 -0
  49. package/dist/test/unit/getBuilder.d.ts +3 -0
  50. package/dist/test/unit/getBuilder.d.ts.map +1 -0
  51. package/dist/test/unit/getBuilder.js +10 -0
  52. package/dist/test/unit/helpers.d.ts +15 -0
  53. package/dist/test/unit/helpers.d.ts.map +1 -0
  54. package/dist/test/unit/helpers.js +54 -0
  55. package/dist/test/unit/keyPair.d.ts +2 -0
  56. package/dist/test/unit/keyPair.d.ts.map +1 -0
  57. package/dist/test/unit/keyPair.js +135 -0
  58. package/dist/test/unit/transactionBuilder/transfer.d.ts +2 -0
  59. package/dist/test/unit/transactionBuilder/transfer.d.ts.map +1 -0
  60. package/dist/test/unit/transactionBuilder/transfer.js +223 -0
  61. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.d.ts +2 -0
  62. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.d.ts.map +1 -0
  63. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.js +174 -0
  64. package/dist/test/unit/transferBuilder.d.ts +2 -0
  65. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  66. package/dist/test/unit/transferBuilder.js +119 -0
  67. package/dist/test/unit/util.d.ts +2 -0
  68. package/dist/test/unit/util.d.ts.map +1 -0
  69. package/dist/test/unit/util.js +235 -0
  70. package/dist/tsconfig.tsbuildinfo +1 -0
  71. package/package.json +12 -9
  72. package/.eslintignore +0 -5
  73. package/.mocharc.yml +0 -8
  74. package/CHANGELOG.md +0 -1027
@@ -0,0 +1,263 @@
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';
6
+ import { AvaxSignTransactionOptions, BuildOptions, ExplainTransactionOptions, FeeEstimate, HopParams, HopPrebuild, HopTransactionBuildOptions, OfflineVaultTxInfo, PrecreateBitGoOptions, PresignTransactionOptions, SignedTransaction, SignFinalOptions, VerifyAvaxcTransactionOptions } from './iface';
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 {
15
+ static hopTransactionSalt: string;
16
+ protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
17
+ protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
18
+ static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
19
+ getBaseFactor(): number;
20
+ getChain(): string;
21
+ /**
22
+ * Method to return the coin's network object
23
+ * @returns {BaseNetwork}
24
+ */
25
+ getNetwork(): EthereumNetwork;
26
+ /**
27
+ * Get the base chain that the coin exists on.
28
+ */
29
+ getBaseChain(): string;
30
+ getFamily(): CoinFamily;
31
+ getFullName(): string;
32
+ valuelessTransferAllowed(): boolean;
33
+ isValidAddress(address: string): boolean;
34
+ isToken(): boolean;
35
+ /** inherited doc */
36
+ getDefaultMultisigType(): MultisigType;
37
+ generateKeyPair(seed?: Buffer): KeyPair;
38
+ parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
39
+ verifyAddress({ address }: VerifyAddressOptions): Promise<boolean>;
40
+ /**
41
+ * Verify that a transaction prebuild complies with the original intention
42
+ *
43
+ * @param params
44
+ * @param params.txParams params object passed to send
45
+ * @param params.txPrebuild prebuild object returned by server
46
+ * @param params.wallet Wallet object to obtain keys to verify against
47
+ * @returns {boolean}
48
+ */
49
+ verifyTransaction(params: VerifyAvaxcTransactionOptions): Promise<boolean>;
50
+ private static isAVAXCAddress;
51
+ verifyCoin(txPrebuild: TransactionPrebuild): boolean;
52
+ isValidPub(pub: string): boolean;
53
+ /**
54
+ * Check whether gas limit passed in by user are within our max and min bounds
55
+ * If they are not set, set them to the defaults
56
+ * @param {number} userGasLimit - user defined gas limit
57
+ * @returns {number} the gas limit to use for this transaction
58
+ */
59
+ setGasLimit(userGasLimit?: number): number;
60
+ /**
61
+ * Check whether the gas price passed in by user are within our max and min bounds
62
+ * If they are not set, set them to the defaults
63
+ * @param {number} userGasPrice - user defined gas price
64
+ * @returns the gas price to use for this transaction
65
+ */
66
+ setGasPrice(userGasPrice?: number): number;
67
+ /**
68
+ * Make a query to avax.network for information such as balance, token balance, solidity calls
69
+ * @param {Object} query — key-value pairs of parameters to append after /api
70
+ * @param {string} apiKey - optional API key to use instead of the one from the environment
71
+ * @returns {Promise<Object>} response from avax.network
72
+ */
73
+ recoveryBlockchainExplorerQuery(query: Record<string, any>, apiKey?: string): Promise<any>;
74
+ /**
75
+ * Queries public block explorer to get the next nonce that should be used for
76
+ * the given AVAXC address
77
+ * @param {string} address — address to fetch for
78
+ * @returns {number} address nonce
79
+ */
80
+ getAddressNonce(address: string): Promise<number>;
81
+ /**
82
+ * Queries avax.network for the balance of an address
83
+ * @param {string} address - the AVAXC address
84
+ * @returns {Promise<BigNumber>} address balance
85
+ */
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>;
94
+ /**
95
+ * Queries the contract (via avax.network) for the next sequence ID
96
+ * @param {string} address - address of the contract
97
+ * @returns {Promise<number>} sequence ID
98
+ */
99
+ querySequenceId(address: string): Promise<number>;
100
+ /**
101
+ * @param {Object} recipient - recipient info
102
+ * @param {number} expireTime - expiry time
103
+ * @param {number} contractSequenceId - sequence id
104
+ * @returns {(string|Array)} operation array
105
+ */
106
+ getOperation(recipient: Recipient, expireTime: number, contractSequenceId: number): (string | Buffer)[][];
107
+ /**
108
+ * Calculate the operation hash in the same way solidity would
109
+ * @param {Recipient[]} recipients - tx recipients
110
+ * @param {number} expireTime - expiration time
111
+ * @param {number} contractSequenceId - contract sequence id
112
+ * @returns {string} operation hash
113
+ */
114
+ getOperationSha3ForExecuteAndConfirm(recipients: Recipient[], expireTime: number, contractSequenceId: number): string;
115
+ /**
116
+ * Default expire time for a contract call (1 week)
117
+ * @returns {number} Time in seconds
118
+ */
119
+ getDefaultExpireTime(): number;
120
+ /**
121
+ * Build arguments to call the send method on the wallet contract
122
+ * @param {Object} txInfo - data for send method args
123
+ * @returns {SendMethodArgs[]}
124
+ */
125
+ getSendMethodArgs(txInfo: GetSendMethodArgsOptions): SendMethodArgs[];
126
+ /**
127
+ * Builds a funds recovery transaction without BitGo
128
+ * Steps:
129
+ * 1) Node query - how much money is in the account
130
+ * 2) Build transaction - build our transaction for the amount
131
+ * 3) Send signed build - send our signed build to a public node
132
+ * @param {Object} params The options with which to recover
133
+ * @param {string} params.userKey - [encrypted] xprv
134
+ * @param {string} params.backupKey - [encrypted] xprv or xpub if the xprv is held by a KRS provider
135
+ * @param {string} params.walletPassphrase - used to decrypt userKey and backupKey
136
+ * @param {string} params.walletContractAddress - the AVAXC address of the wallet contract
137
+ * @param {string} params.recoveryDestination - target address to send recovered funds to
138
+ * @returns {Promise<RecoveryInfo>} - recovery tx info
139
+ */
140
+ recover(params: RecoverOptions): Promise<RecoveryInfo | OfflineVaultTxInfo>;
141
+ /**
142
+ * Create a new transaction builder for the current chain
143
+ * @return a new transaction builder
144
+ */
145
+ protected getTransactionBuilder(): EthTransactionBuilder;
146
+ protected getAtomicBuilder(): AvaxpLib.TransactionBuilderFactory;
147
+ /**
148
+ * Explain a transaction from txHex, overriding BaseCoins
149
+ * transaction can be either atomic or eth txn.
150
+ * @param params The options with which to explain the transaction
151
+ */
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;
172
+ /**
173
+ * Above is standard BaseCoins functions
174
+ * ================================================================================================================
175
+ * ================================================================================================================
176
+ * Below is transaction functions
177
+ */
178
+ /**
179
+ * Coin-specific things done before signing a transaction, i.e. verification
180
+ * @param params
181
+ */
182
+ presignTransaction(params: PresignTransactionOptions): Promise<PresignTransactionOptions>;
183
+ /**
184
+ * Modify prebuild after receiving it from the server. Add things like nlocktime
185
+ */
186
+ postProcessPrebuild(params: TransactionPrebuild): Promise<TransactionPrebuild>;
187
+ /**
188
+ * Validates that the hop prebuild from the HSM is valid and correct
189
+ * @param wallet The wallet that the prebuild is for
190
+ * @param hopPrebuild The prebuild to validate
191
+ * @param originalParams The original parameters passed to prebuildTransaction
192
+ * @returns void
193
+ * @throws Error if The prebuild is invalid
194
+ */
195
+ validateHopPrebuild(wallet: IWallet, hopPrebuild: HopPrebuild, originalParams?: {
196
+ recipients: Recipient[];
197
+ }): Promise<void>;
198
+ /**
199
+ * Helper function for signTransaction for the rare case that SDK is doing the second signature
200
+ * Note: we are expecting this to be called from the offline vault
201
+ * @param params.txPrebuild
202
+ * @param params.prv
203
+ * @returns {{txHex: string}}
204
+ */
205
+ signFinal(params: SignFinalOptions): Promise<FullySignedTransaction>;
206
+ /**
207
+ * Assemble half-sign prebuilt transaction
208
+ * @param params
209
+ */
210
+ signTransaction(params: AvaxSignTransactionOptions | SignTransactionOptions): Promise<SignedTransaction>;
211
+ /**
212
+ * Modify prebuild before sending it to the server. Add things like hop transaction params
213
+ * @param buildParams The whitelisted parameters for this prebuild
214
+ * @param buildParams.hop True if this should prebuild a hop tx, else false
215
+ * @param buildParams.recipients The recipients array of this transaction
216
+ * @param buildParams.wallet The wallet sending this tx
217
+ * @param buildParams.walletPassphrase the passphrase for this wallet
218
+ */
219
+ getExtraPrebuildParams(buildParams: BuildOptions): Promise<BuildOptions>;
220
+ /**
221
+ * Creates the extra parameters needed to build a hop transaction
222
+ * @param {HopTransactionBuildOptions} The original build parameters
223
+ * @returns extra parameters object to merge with the original build parameters object and send to the platform
224
+ */
225
+ createHopTransactionParams({ recipients, type }: HopTransactionBuildOptions): Promise<HopParams>;
226
+ /**
227
+ * Fetch fee estimate information from the server
228
+ * @param {Object} params The params passed into the function
229
+ * @param {Boolean} [params.hop] True if we should estimate fee for a hop transaction
230
+ * @param {String} [params.recipient] The recipient of the transaction to estimate a send to
231
+ * @param {String} [params.data] The ETH tx data to estimate a send for
232
+ * @returns {Object} The fee info returned from the server
233
+ */
234
+ feeEstimate(params: FeeEstimateOptions): Promise<FeeEstimate>;
235
+ /**
236
+ * Calculate tx hash like evm from tx hex.
237
+ * @param {string} tx
238
+ * @returns {Buffer} tx hash
239
+ */
240
+ static getTxHash(tx: string): Buffer;
241
+ isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
242
+ /**
243
+ * Ensure either enterprise or newFeeAddress is passed, to know whether to create new key or use enterprise key
244
+ * @param params
245
+ * @param params.enterprise {String} the enterprise id to associate with this key
246
+ * @param params.newFeeAddress {Boolean} create a new fee address (enterprise not needed in this case)
247
+ */
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>;
262
+ }
263
+ //# sourceMappingURL=avaxc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avaxc.d.ts","sourceRoot":"","sources":["../../src/avaxc.ts"],"names":[],"mappings":"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"}