@bitgo-beta/abstract-eth 1.2.3-alpha.23 → 1.2.3-alpha.230

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 (88) hide show
  1. package/CHANGELOG.md +1441 -0
  2. package/dist/src/abstractEthLikeCoin.d.ts +14 -7
  3. package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
  4. package/dist/src/abstractEthLikeCoin.js +14 -11
  5. package/dist/src/abstractEthLikeNewCoins.d.ts +648 -0
  6. package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
  7. package/dist/src/abstractEthLikeNewCoins.js +1835 -0
  8. package/dist/src/ethLikeToken.d.ts +35 -5
  9. package/dist/src/ethLikeToken.d.ts.map +1 -1
  10. package/dist/src/ethLikeToken.js +281 -7
  11. package/dist/src/index.d.ts +2 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +8 -2
  14. package/dist/src/lib/contractCall.d.ts +8 -0
  15. package/dist/src/lib/contractCall.d.ts.map +1 -0
  16. package/dist/src/lib/contractCall.js +17 -0
  17. package/dist/src/lib/iface.d.ts +132 -0
  18. package/dist/src/lib/iface.d.ts.map +1 -0
  19. package/dist/src/lib/iface.js +8 -0
  20. package/dist/src/lib/index.d.ts +15 -0
  21. package/dist/src/lib/index.d.ts.map +1 -0
  22. package/dist/src/lib/index.js +46 -0
  23. package/dist/src/lib/keyPair.d.ts +26 -0
  24. package/dist/src/lib/keyPair.d.ts.map +1 -0
  25. package/dist/src/lib/keyPair.js +66 -0
  26. package/dist/src/lib/transaction.d.ts +64 -0
  27. package/dist/src/lib/transaction.d.ts.map +1 -0
  28. package/dist/src/lib/transaction.js +137 -0
  29. package/dist/src/lib/transactionBuilder.d.ts +249 -0
  30. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  31. package/dist/src/lib/transactionBuilder.js +732 -0
  32. package/dist/src/lib/transferBuilder.d.ts +72 -0
  33. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  34. package/dist/src/lib/transferBuilder.js +261 -0
  35. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +54 -0
  36. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +1 -0
  37. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +121 -0
  38. package/dist/src/lib/transferBuilders/index.d.ts +4 -0
  39. package/dist/src/lib/transferBuilders/index.d.ts.map +1 -0
  40. package/dist/src/lib/transferBuilders/index.js +20 -0
  41. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +16 -0
  42. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +1 -0
  43. package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +93 -0
  44. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +15 -0
  45. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +1 -0
  46. package/dist/src/lib/transferBuilders/transferBuilderERC721.js +78 -0
  47. package/dist/src/lib/types.d.ts +39 -0
  48. package/dist/src/lib/types.d.ts.map +1 -0
  49. package/dist/src/lib/types.js +137 -0
  50. package/dist/src/lib/utils.d.ts +269 -0
  51. package/dist/src/lib/utils.d.ts.map +1 -0
  52. package/dist/src/lib/utils.js +689 -0
  53. package/dist/src/lib/walletUtil.d.ts +30 -0
  54. package/dist/src/lib/walletUtil.d.ts.map +1 -0
  55. package/dist/src/lib/walletUtil.js +33 -0
  56. package/dist/test/index.d.ts +2 -0
  57. package/dist/test/index.d.ts.map +1 -0
  58. package/dist/test/index.js +18 -0
  59. package/dist/test/unit/coin.d.ts +8 -0
  60. package/dist/test/unit/coin.d.ts.map +1 -0
  61. package/dist/test/unit/coin.js +568 -0
  62. package/dist/test/unit/index.d.ts +5 -0
  63. package/dist/test/unit/index.d.ts.map +1 -0
  64. package/dist/test/unit/index.js +21 -0
  65. package/dist/test/unit/token.d.ts +2 -0
  66. package/dist/test/unit/token.d.ts.map +1 -0
  67. package/dist/test/unit/token.js +38 -0
  68. package/dist/test/unit/transaction.d.ts +3 -0
  69. package/dist/test/unit/transaction.d.ts.map +1 -0
  70. package/dist/test/unit/transaction.js +61 -0
  71. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +8 -0
  72. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
  73. package/dist/test/unit/transactionBuilder/addressInitialization.js +96 -0
  74. package/dist/test/unit/transactionBuilder/index.d.ts +4 -0
  75. package/dist/test/unit/transactionBuilder/index.d.ts.map +1 -0
  76. package/dist/test/unit/transactionBuilder/index.js +20 -0
  77. package/dist/test/unit/transactionBuilder/send.d.ts +3 -0
  78. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  79. package/dist/test/unit/transactionBuilder/send.js +188 -0
  80. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +10 -0
  81. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  82. package/dist/test/unit/transactionBuilder/walletInitialization.js +125 -0
  83. package/dist/test/unit/transferBuilder.d.ts +2 -0
  84. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  85. package/dist/test/unit/transferBuilder.js +76 -0
  86. package/dist/tsconfig.tsbuildinfo +1 -8128
  87. package/index.ts +2 -0
  88. package/package.json +27 -9
@@ -0,0 +1,269 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Buffer } from 'buffer';
4
+ import { BaseCoin, BaseNetwork, EthereumNetwork } from '@bitgo-beta/statics';
5
+ import EthereumCommon from '@ethereumjs/common';
6
+ import BN from 'bn.js';
7
+ import { TransactionType } from '@bitgo-beta/sdk-core';
8
+ import { ERC1155TransferData, ERC721TransferData, FlushTokensData, NativeTransferData, SignatureParts, TokenTransferData, TransferData, TxData, WalletInitializationData, ForwarderInitializationData } from './iface';
9
+ import { KeyPair } from './keyPair';
10
+ /**
11
+ * @param network
12
+ */
13
+ export declare function getCommon(network: EthereumNetwork): EthereumCommon;
14
+ /**
15
+ * Signs the transaction using the appropriate algorithm
16
+ * and the provided common for the blockchain
17
+ *
18
+ * @param {TxData} transactionData the transaction data to sign
19
+ * @param {KeyPair} keyPair the signer's keypair
20
+ * @param {EthereumCommon} customCommon the network's custom common
21
+ * @returns {string} the transaction signed and encoded
22
+ */
23
+ export declare function signInternal(transactionData: TxData, keyPair: KeyPair, customCommon: EthereumCommon): Promise<string>;
24
+ /**
25
+ * Signs the transaction using the appropriate algorithm
26
+ *
27
+ * @param {TxData} transactionData the transaction data to sign
28
+ * @param {KeyPair} keyPair the signer's keypair
29
+ * @returns {string} the transaction signed and encoded
30
+ */
31
+ export declare function sign(transactionData: TxData, keyPair: KeyPair): Promise<string>;
32
+ /**
33
+ * Returns the contract method encoded data
34
+ *
35
+ * @param {string} to destination address
36
+ * @param {number} value Amount to tranfer
37
+ * @param {string} data aditional method call data
38
+ * @param {number} expireTime expiration time for the transaction in seconds
39
+ * @param {number} sequenceId sequence id
40
+ * @param {string} signature signature of the call
41
+ * @returns {string} -- the contract method encoded data
42
+ */
43
+ export declare function sendMultiSigData(to: string, value: string, data: string, expireTime: number, sequenceId: number, signature: string): string;
44
+ /**
45
+ * Returns the contract method encoded data
46
+ *
47
+ * @param {string} to destination address
48
+ * @param {number} value Amount to tranfer
49
+ * @param {string} tokenContractAddress the address of the erc20 token contract
50
+ * @param {number} expireTime expiration time for the transaction in seconds
51
+ * @param {number} sequenceId sequence id
52
+ * @param {string} signature signature of the call
53
+ * @returns {string} -- the contract method encoded data
54
+ */
55
+ export declare function sendMultiSigTokenData(to: string, value: string, tokenContractAddress: string, expireTime: number, sequenceId: number, signature: string): string;
56
+ /**
57
+ * Get the data required to make a flush tokens contract call
58
+ *
59
+ * @param forwarderAddress The forwarder address to flush
60
+ * @param tokenAddress The token address to flush from
61
+ */
62
+ export declare function flushTokensData(forwarderAddress: string, tokenAddress: string, forwarderVersion: number): string;
63
+ /**
64
+ * Get the data required to make a flush native coins contract call
65
+ */
66
+ export declare function flushCoinsData(): string;
67
+ /**
68
+ * Returns the create forwarder method calling data
69
+ *
70
+ * @returns {string} - the createForwarder method encoded
71
+ */
72
+ export declare function getAddressInitializationData(): string;
73
+ /**
74
+ * Returns whether or not the string is a valid Eth address
75
+ *
76
+ * @param {string} address - the tx hash to validate
77
+ * @returns {boolean} - the validation result
78
+ */
79
+ export declare function isValidEthAddress(address: string): boolean;
80
+ /**
81
+ * Returns whether or not the string is a valid amount number
82
+ *
83
+ * @param {string} amount - the string to validate
84
+ * @returns {boolean} - the validation result
85
+ */
86
+ export declare function isValidAmount(amount: string): boolean;
87
+ /**
88
+ * Returns the smart contract encoded data
89
+ *
90
+ * @param {string} data The wallet creation data to decode
91
+ * @returns {string[]} - The list of signer addresses
92
+ */
93
+ export declare function decodeWalletCreationData(data: string): WalletInitializationData;
94
+ /**
95
+ * Decode the given ABI-encoded transfer data and return parsed fields
96
+ *
97
+ * @param data The data to decode
98
+ * @returns parsed transfer data
99
+ */
100
+ export declare function decodeTransferData(data: string): TransferData;
101
+ /**
102
+ * Decode the given ABI-encoded transfer data for the sendMultisigToken function and return parsed fields
103
+ *
104
+ * @param data The data to decode
105
+ * @returns parsed token transfer data
106
+ */
107
+ export declare function decodeTokenTransferData(data: string): TokenTransferData;
108
+ export declare function decodeERC721TransferData(data: string): ERC721TransferData;
109
+ export declare function decodeERC1155TransferData(data: string): ERC1155TransferData;
110
+ /**
111
+ * Decode the given ABI-encoded transfer data for the sendMultisig function and return parsed fields
112
+ *
113
+ * @param data The data to decode
114
+ * @returns parsed transfer data
115
+ */
116
+ export declare function decodeNativeTransferData(data: string): NativeTransferData;
117
+ /**
118
+ * Decode the given ABI-encoded flush tokens data and return parsed fields
119
+ *
120
+ * @param data The data to decode
121
+ * @param to Optional to parameter of tx
122
+ * @returns parsed transfer data
123
+ */
124
+ export declare function decodeFlushTokensData(data: string, to?: string): FlushTokensData;
125
+ /**
126
+ * Classify the given transaction data based as a transaction type.
127
+ * ETH transactions are defined by the first 8 bytes of the transaction data, also known as the method id
128
+ *
129
+ * @param {string} data The data to classify the transaction with
130
+ * @returns {TransactionType} The classified transaction type
131
+ */
132
+ export declare function classifyTransaction(data: string): TransactionType;
133
+ /**
134
+ *
135
+ * @param {number} num number to be converted to hex
136
+ * @returns {string} the hex number
137
+ */
138
+ export declare function numberToHexString(num: number): string;
139
+ /**
140
+ *
141
+ * @param {string} hex The hex string to be converted
142
+ * @returns {number} the resulting number
143
+ */
144
+ export declare function hexStringToNumber(hex: string): number;
145
+ /**
146
+ * Generates an address of the forwarder address to be deployed
147
+ *
148
+ * @param {string} contractAddress the address which is creating this new address
149
+ * @param {number} contractCounter the nonce of the contract address
150
+ * @returns {string} the calculated forwarder contract address
151
+ */
152
+ export declare function calculateForwarderAddress(contractAddress: string, contractCounter: number): string;
153
+ /**
154
+ * Calculate the forwarder v1 address that will be generated if `creatorAddress` creates it with salt `salt`
155
+ * and initcode `inicode using the create2 opcode
156
+ * @param {string} creatorAddress The address that is sending the tx to create a new address, hex string
157
+ * @param {string} salt The salt to create the address with using create2, hex string
158
+ * @param {string} initcode The initcode that will be deployed to the address, hex string
159
+ * @return {string} The calculated address
160
+ */
161
+ export declare function calculateForwarderV1Address(creatorAddress: string, salt: string, initcode: string): string;
162
+ /**
163
+ * Take the implementation address for the proxy contract, and get the binary initcode for the associated proxy
164
+ * @param {string} implementationAddress The address of the implementation contract for the proxy
165
+ * @return {string} Binary hex string of the proxy
166
+ */
167
+ export declare function getProxyInitcode(implementationAddress: string): string;
168
+ /**
169
+ * Convert the given signature parts to a string representation
170
+ *
171
+ * @param {SignatureParts} sig The signature to convert to string
172
+ * @returns {string} String representation of the signature
173
+ */
174
+ export declare function toStringSig(sig: SignatureParts): string;
175
+ /**
176
+ * Return whether or not the given tx data has a signature
177
+ *
178
+ * @param {TxData} txData The transaction data to check for signature
179
+ * @returns {boolean} true if the tx has a signature, else false
180
+ */
181
+ export declare function hasSignature(txData: TxData): boolean;
182
+ type RecursiveBufferOrString = string | Buffer | BN | RecursiveBufferOrString[];
183
+ /**
184
+ * Get the raw data decoded for some types
185
+ *
186
+ * @param {string[]} types ABI types definition
187
+ * @param {Buffer} serializedArgs encoded args
188
+ * @returns {Buffer[]} the decoded raw
189
+ */
190
+ export declare function getRawDecoded(types: string[], serializedArgs: Buffer): RecursiveBufferOrString[];
191
+ /**
192
+ * Get the buffered bytecode from rawData using a methodId as delimiter
193
+ *
194
+ * @param {string} methodId the hex encoded method Id
195
+ * @param {string} rawData the hex encoded raw data
196
+ * @returns {Buffer} data buffered bytecode
197
+ */
198
+ export declare function getBufferedByteCode(methodId: string, rawData: string): Buffer;
199
+ /**
200
+ * Get the statics coin object matching a given contract address if it exists
201
+ *
202
+ * @param tokenContractAddress The contract address to match against
203
+ * @param network - the coin network
204
+ * @param family - the coin family
205
+ * @returns statics BaseCoin object for the matching token
206
+ */
207
+ export declare function getToken(tokenContractAddress: string, network: BaseNetwork, family: string): Readonly<BaseCoin> | undefined;
208
+ /**
209
+ * Returns the create wallet method calling data for v1 wallets
210
+ *
211
+ * @param {string[]} walletOwners - wallet owner addresses for wallet initialization transactions
212
+ * @param {string} salt - The salt for wallet initialization transactions
213
+ * @returns {string} - the createWallet method encoded
214
+ */
215
+ export declare function getV1WalletInitializationData(walletOwners: string[], salt: string): string;
216
+ /**
217
+ * Returns the create address method calling data for v1, v2, v4 forwarders
218
+ *
219
+ * @param {string} baseAddress - The address of the wallet contract
220
+ * @param {string} salt - The salt for address initialization transactions
221
+ * @param {string} feeAddress - The fee address for the enterprise
222
+ * @returns {string} - the createForwarder method encoded
223
+ */
224
+ export declare function getV1AddressInitializationData(baseAddress: string, salt: string, feeAddress?: string): string;
225
+ /**
226
+ * Returns the create address method calling data for all forwarder versions
227
+ *
228
+ * @param {number} forwarderVersion - The version of the forwarder to create
229
+ * @param {string} baseAddress - The address of the wallet contract
230
+ * @param {string} salt - The salt for address initialization transactions
231
+ * @param {string} feeAddress - The fee address for the enterprise
232
+ * @returns {string} - the createForwarder method encoded
233
+ *
234
+ */
235
+ export declare function getAddressInitDataAllForwarderVersions(forwarderVersion: number, baseAddress: string, salt: string, feeAddress?: string): string;
236
+ /**
237
+ * Returns the createForwarderTypes and createForwarderParams for all forwarder versions
238
+ *
239
+ * @param {string} baseAddress - The address of the wallet contract
240
+ * @param {Buffer} saltBuffer - The salt for address initialization transaction
241
+ * @param {string} feeAddress - The fee address for the enterprise
242
+ * @returns {createForwarderParams: (string | Buffer)[], createForwarderTypes: string[]}
243
+ */
244
+ export declare function getCreateForwarderParamsAndTypes(baseAddress: string, saltBuffer: Buffer, feeAddress?: string): {
245
+ createForwarderParams: (string | Buffer)[];
246
+ createForwarderTypes: string[];
247
+ };
248
+ /**
249
+ * Decode the given ABI-encoded create forwarder data and return parsed fields
250
+ *
251
+ * @param data The data to decode
252
+ * @returns parsed transfer data
253
+ */
254
+ export declare function decodeForwarderCreationData(data: string): ForwarderInitializationData;
255
+ /**
256
+ * Make a query to explorer for information such as balance, token balance, solidity calls
257
+ * @param {Object} query key-value pairs of parameters to append after /api
258
+ * @param {string} token the API token to use for the request
259
+ * @param {string} explorerUrl the URL of the explorer
260
+ * @returns {Promise<Object>} response from explorer
261
+ */
262
+ export declare function recoveryBlockchainExplorerQuery(query: Record<string, string>, explorerUrl: string, token?: string): Promise<Record<string, unknown>>;
263
+ /**
264
+ * Default expire time for a contract call (1 week)
265
+ * @returns {number} Time in seconds
266
+ */
267
+ export declare function getDefaultExpireTime(): number;
268
+ export {};
269
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}