@bitgo-beta/abstract-eth 1.2.3-alpha.22 → 1.2.3-alpha.221

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