@bitgo-beta/abstract-eth 1.0.2-beta.202 → 1.0.2-beta.2021

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 (172) hide show
  1. package/dist/src/abstractEthLikeCoin.d.ts +20 -9
  2. package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
  3. package/dist/src/abstractEthLikeCoin.js +46 -15
  4. package/dist/src/abstractEthLikeNewCoins.d.ts +847 -0
  5. package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
  6. package/dist/src/abstractEthLikeNewCoins.js +2553 -0
  7. package/dist/src/ethLikeToken.d.ts +38 -6
  8. package/dist/src/ethLikeToken.d.ts.map +1 -1
  9. package/dist/src/ethLikeToken.js +289 -10
  10. package/dist/src/index.d.ts +2 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +8 -2
  13. package/dist/src/lib/constants.d.ts +4 -0
  14. package/dist/src/lib/constants.d.ts.map +1 -0
  15. package/dist/src/lib/constants.js +11 -0
  16. package/dist/src/lib/contractCall.d.ts +8 -0
  17. package/dist/src/lib/contractCall.d.ts.map +1 -0
  18. package/dist/src/lib/contractCall.js +17 -0
  19. package/dist/src/lib/decryptionDelegationBuilder.d.ts +90 -0
  20. package/dist/src/lib/decryptionDelegationBuilder.d.ts.map +1 -0
  21. package/dist/src/lib/decryptionDelegationBuilder.js +59 -0
  22. package/dist/src/lib/iface.d.ts +137 -0
  23. package/dist/src/lib/iface.d.ts.map +1 -0
  24. package/dist/src/lib/iface.js +8 -0
  25. package/dist/src/lib/index.d.ts +19 -0
  26. package/dist/src/lib/index.d.ts.map +1 -0
  27. package/dist/src/lib/index.js +60 -0
  28. package/dist/src/lib/keyPair.d.ts +26 -0
  29. package/dist/src/lib/keyPair.d.ts.map +1 -0
  30. package/dist/src/lib/keyPair.js +65 -0
  31. package/dist/src/lib/messages/eip191/eip191Message.d.ts +12 -0
  32. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +1 -0
  33. package/dist/src/lib/messages/eip191/eip191Message.js +25 -0
  34. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +19 -0
  35. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +27 -0
  37. package/dist/src/lib/messages/eip191/index.d.ts +3 -0
  38. package/dist/src/lib/messages/eip191/index.d.ts.map +1 -0
  39. package/dist/src/lib/messages/eip191/index.js +19 -0
  40. package/dist/src/lib/messages/eip712/eip712Message.d.ts +6 -0
  41. package/dist/src/lib/messages/eip712/eip712Message.d.ts.map +1 -0
  42. package/dist/src/lib/messages/eip712/eip712Message.js +27 -0
  43. package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts +7 -0
  44. package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
  45. package/dist/src/lib/messages/eip712/eip712MessageBuilder.js +15 -0
  46. package/dist/src/lib/messages/eip712/index.d.ts +3 -0
  47. package/dist/src/lib/messages/eip712/index.d.ts.map +1 -0
  48. package/dist/src/lib/messages/eip712/index.js +19 -0
  49. package/dist/src/lib/messages/index.d.ts +4 -0
  50. package/dist/src/lib/messages/index.d.ts.map +1 -0
  51. package/dist/src/lib/messages/index.js +20 -0
  52. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  53. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  54. package/dist/src/lib/messages/messageBuilderFactory.js +23 -0
  55. package/dist/src/lib/transaction.d.ts +69 -0
  56. package/dist/src/lib/transaction.d.ts.map +1 -0
  57. package/dist/src/lib/transaction.js +149 -0
  58. package/dist/src/lib/transactionBuilder.d.ts +270 -0
  59. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/transactionBuilder.js +834 -0
  61. package/dist/src/lib/transferBuilder.d.ts +76 -0
  62. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/transferBuilder.js +307 -0
  64. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +54 -0
  65. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +1 -0
  66. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +120 -0
  67. package/dist/src/lib/transferBuilders/index.d.ts +4 -0
  68. package/dist/src/lib/transferBuilders/index.d.ts.map +1 -0
  69. package/dist/src/lib/transferBuilders/index.js +20 -0
  70. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +17 -0
  71. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +1 -0
  72. package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +96 -0
  73. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +21 -0
  74. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +1 -0
  75. package/dist/src/lib/transferBuilders/transferBuilderERC721.js +91 -0
  76. package/dist/src/lib/types.d.ts +40 -0
  77. package/dist/src/lib/types.d.ts.map +1 -0
  78. package/dist/src/lib/types.js +140 -0
  79. package/dist/src/lib/utils.d.ts +310 -0
  80. package/dist/src/lib/utils.d.ts.map +1 -0
  81. package/dist/src/lib/utils.js +851 -0
  82. package/dist/src/lib/walletUtil.d.ts +42 -0
  83. package/dist/src/lib/walletUtil.d.ts.map +1 -0
  84. package/dist/src/lib/walletUtil.js +45 -0
  85. package/dist/src/lib/zamaUtils.d.ts +73 -0
  86. package/dist/src/lib/zamaUtils.d.ts.map +1 -0
  87. package/dist/src/lib/zamaUtils.js +159 -0
  88. package/dist/src/types.d.ts +9 -0
  89. package/dist/src/types.d.ts.map +1 -0
  90. package/dist/src/types.js +3 -0
  91. package/dist/test/index.d.ts +2 -0
  92. package/dist/test/index.d.ts.map +1 -0
  93. package/dist/test/index.js +18 -0
  94. package/dist/test/unit/coin.d.ts +8 -0
  95. package/dist/test/unit/coin.d.ts.map +1 -0
  96. package/dist/test/unit/coin.js +577 -0
  97. package/dist/test/unit/decryptionDelegationBuilder.d.ts +2 -0
  98. package/dist/test/unit/decryptionDelegationBuilder.d.ts.map +1 -0
  99. package/dist/test/unit/decryptionDelegationBuilder.js +265 -0
  100. package/dist/test/unit/index.d.ts +8 -0
  101. package/dist/test/unit/index.d.ts.map +1 -0
  102. package/dist/test/unit/index.js +24 -0
  103. package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts +3 -0
  104. package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts.map +1 -0
  105. package/dist/test/unit/messages/abstractEthMessageBuilderTests.js +110 -0
  106. package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts +43 -0
  107. package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts.map +1 -0
  108. package/dist/test/unit/messages/abstractEthMessageTestTypes.js +3 -0
  109. package/dist/test/unit/messages/abstractEthMessagesTests.d.ts +3 -0
  110. package/dist/test/unit/messages/abstractEthMessagesTests.d.ts.map +1 -0
  111. package/dist/test/unit/messages/abstractEthMessagesTests.js +129 -0
  112. package/dist/test/unit/messages/eip191/eip191Message.d.ts +2 -0
  113. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +1 -0
  114. package/dist/test/unit/messages/eip191/eip191Message.js +15 -0
  115. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +2 -0
  116. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  117. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +16 -0
  118. package/dist/test/unit/messages/eip191/fixtures.d.ts +109 -0
  119. package/dist/test/unit/messages/eip191/fixtures.d.ts.map +1 -0
  120. package/dist/test/unit/messages/eip191/fixtures.js +63 -0
  121. package/dist/test/unit/messages/eip712/eip712Message.d.ts +2 -0
  122. package/dist/test/unit/messages/eip712/eip712Message.d.ts.map +1 -0
  123. package/dist/test/unit/messages/eip712/eip712Message.js +15 -0
  124. package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts +2 -0
  125. package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
  126. package/dist/test/unit/messages/eip712/eip712MessageBuilder.js +16 -0
  127. package/dist/test/unit/messages/eip712/fixtures.d.ts +76 -0
  128. package/dist/test/unit/messages/eip712/fixtures.d.ts.map +1 -0
  129. package/dist/test/unit/messages/eip712/fixtures.js +120 -0
  130. package/dist/test/unit/messages/index.d.ts +4 -0
  131. package/dist/test/unit/messages/index.d.ts.map +1 -0
  132. package/dist/test/unit/messages/index.js +20 -0
  133. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  134. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  135. package/dist/test/unit/messages/messageBuilderFactory.js +52 -0
  136. package/dist/test/unit/token.d.ts +2 -0
  137. package/dist/test/unit/token.d.ts.map +1 -0
  138. package/dist/test/unit/token.js +37 -0
  139. package/dist/test/unit/transaction.d.ts +3 -0
  140. package/dist/test/unit/transaction.d.ts.map +1 -0
  141. package/dist/test/unit/transaction.js +73 -0
  142. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +8 -0
  143. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
  144. package/dist/test/unit/transactionBuilder/addressInitialization.js +95 -0
  145. package/dist/test/unit/transactionBuilder/decryptionDelegation.d.ts +3 -0
  146. package/dist/test/unit/transactionBuilder/decryptionDelegation.d.ts.map +1 -0
  147. package/dist/test/unit/transactionBuilder/decryptionDelegation.js +161 -0
  148. package/dist/test/unit/transactionBuilder/flushNft.d.ts +2 -0
  149. package/dist/test/unit/transactionBuilder/flushNft.d.ts.map +1 -0
  150. package/dist/test/unit/transactionBuilder/flushNft.js +381 -0
  151. package/dist/test/unit/transactionBuilder/index.d.ts +6 -0
  152. package/dist/test/unit/transactionBuilder/index.d.ts.map +1 -0
  153. package/dist/test/unit/transactionBuilder/index.js +22 -0
  154. package/dist/test/unit/transactionBuilder/send.d.ts +3 -0
  155. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  156. package/dist/test/unit/transactionBuilder/send.js +197 -0
  157. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +11 -0
  158. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  159. package/dist/test/unit/transactionBuilder/walletInitialization.js +137 -0
  160. package/dist/test/unit/transferBuilder.d.ts +2 -0
  161. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  162. package/dist/test/unit/transferBuilder.js +76 -0
  163. package/dist/test/unit/utils.d.ts +2 -0
  164. package/dist/test/unit/utils.d.ts.map +1 -0
  165. package/dist/test/unit/utils.js +214 -0
  166. package/dist/test/unit/zamaUtils.d.ts +2 -0
  167. package/dist/test/unit/zamaUtils.d.ts.map +1 -0
  168. package/dist/test/unit/zamaUtils.js +251 -0
  169. package/dist/tsconfig.tsbuildinfo +1 -8244
  170. package/package.json +34 -10
  171. package/.eslintignore +0 -5
  172. package/CHANGELOG.md +0 -166
@@ -0,0 +1,270 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import EthereumCommon from '@ethereumjs/common';
3
+ import BigNumber from 'bignumber.js';
4
+ import { BaseAddress, BaseKey, BaseTransaction, BaseTransactionBuilder, TransactionType } from '@bitgo-beta/sdk-core';
5
+ import { KeyPair } from './keyPair';
6
+ import { Fee, TxData } from './iface';
7
+ import { ERC1155TransferBuilder } from './transferBuilders/transferBuilderERC1155';
8
+ import { ERC721TransferBuilder } from './transferBuilders/transferBuilderERC721';
9
+ import { Transaction } from './transaction';
10
+ import { TransferBuilder } from './transferBuilder';
11
+ /**
12
+ * EthereumLike transaction builder.
13
+ */
14
+ export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
15
+ protected _type: TransactionType;
16
+ protected _common: EthereumCommon;
17
+ protected _sourceKeyPair: KeyPair;
18
+ private _transaction;
19
+ private _counter;
20
+ private _fee;
21
+ protected _value: string;
22
+ private _txSignature;
23
+ private _walletOwnerAddresses;
24
+ protected _walletVersion: number;
25
+ private _forwarderAddress;
26
+ private _tokenAddress;
27
+ private _tokenId;
28
+ protected _transfer: TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder;
29
+ private _contractAddress;
30
+ private _contractCounter;
31
+ private _forwarderVersion;
32
+ private _initCode;
33
+ private _baseAddress;
34
+ private _feeAddress;
35
+ private _data;
36
+ private _salt;
37
+ protected _walletSimpleByteCode: string;
38
+ /**
39
+ * Public constructor.
40
+ *
41
+ * @param _coinConfig
42
+ */
43
+ constructor(_coinConfig: Readonly<CoinConfig>);
44
+ /** @inheritdoc */
45
+ protected buildImplementation(): Promise<BaseTransaction>;
46
+ protected getTransactionData(): TxData;
47
+ /** @inheritdoc */
48
+ protected fromImplementation(rawTransaction: string, isFirstSigner?: boolean): Transaction;
49
+ /**
50
+ * Load the builder data using the deserialized transaction
51
+ *
52
+ * @param {TxData} transactionJson the deserialized transaction json
53
+ * @param {boolean} isFirstSigner if the transaction is being signed by the first signer
54
+ */
55
+ protected loadBuilderInput(transactionJson: TxData, isFirstSigner?: boolean): void;
56
+ protected setTransactionTypeFields(decodedType: TransactionType, transactionJson: TxData, isFirstSigner?: boolean): void;
57
+ /** @inheritdoc */
58
+ protected signImplementation(key: BaseKey): BaseTransaction;
59
+ /** @inheritdoc */
60
+ validateAddress(address: BaseAddress): void;
61
+ /** @inheritdoc */
62
+ validateKey(key: BaseKey): void;
63
+ /**
64
+ * Validate the raw transaction is either a JSON or
65
+ * a hex encoded transaction
66
+ *
67
+ * @param {any} rawTransaction The raw transaction to be validated
68
+ */
69
+ validateRawTransaction(rawTransaction: any): void;
70
+ private isEip1559Txn;
71
+ private isRLPDecodable;
72
+ protected validateBaseTransactionFields(): void;
73
+ /** @inheritdoc */
74
+ validateTransaction(transaction: BaseTransaction): void;
75
+ /**
76
+ * Check wallet owner addresses for wallet initialization transactions are valid or throw.
77
+ */
78
+ private validateWalletInitializationFields;
79
+ /**
80
+ * Check if a token address for the tx was defined or throw.
81
+ */
82
+ private validateTokenAddress;
83
+ /**
84
+ * Check if a forwarder address for the tx was defined or throw.
85
+ */
86
+ private validateForwarderAddress;
87
+ /**
88
+ * Check if a contract address for the wallet was defined or throw.
89
+ */
90
+ private validateContractAddress;
91
+ /**
92
+ * Checks if a contract call data field was defined or throws otherwise
93
+ */
94
+ private validateDataField;
95
+ private setContract;
96
+ validateValue(value: BigNumber): void;
97
+ /**
98
+ * The type of transaction being built.
99
+ *
100
+ * @param {TransactionType} type
101
+ */
102
+ type(type: TransactionType): void;
103
+ /**
104
+ * Set the transaction fees. Low fees may get a transaction rejected or never picked up by bakers.
105
+ *
106
+ * @param {Fee} fee Baker fees. May also include the maximum gas to pay
107
+ */
108
+ fee(fee: Fee): void;
109
+ /**
110
+ * Set the transaction counter to prevent submitting repeated transactions.
111
+ *
112
+ * @param {number} counter The counter to use
113
+ */
114
+ counter(counter: number): void;
115
+ /**
116
+ * The value to send along with this transaction. 0 by default
117
+ *
118
+ * @param {string} value The value to send along with this transaction
119
+ */
120
+ value(value: string): void;
121
+ protected buildBase(data: string): TxData;
122
+ /**
123
+ * Set one of the owners of the multisig wallet.
124
+ *
125
+ * @param {string} address An Ethereum address
126
+ */
127
+ owner(address: string): void;
128
+ /**
129
+ * Build a transaction for a generic multisig contract.
130
+ *
131
+ * @returns {TxData} The Ethereum transaction data
132
+ */
133
+ protected buildWalletInitializationTransaction(walletVersion?: number): TxData;
134
+ /**
135
+ * Returns the smart contract encoded data
136
+ *
137
+ * @param {string[]} addresses - the contract signers
138
+ * @returns {string} - the smart contract encoded data
139
+ */
140
+ protected getContractData(addresses: string[]): string;
141
+ contract(address: string): void;
142
+ /**
143
+ * Gets the transfer funds builder if exist, or creates a new one for this transaction and returns it
144
+ *
145
+ * @param {string} data transfer data to initialize the transfer builder with, empty if none given
146
+ * @param {boolean} isFirstSigner whether the transaction is being signed by the first signer
147
+ * @returns {TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder} the transfer builder
148
+ */
149
+ abstract transfer(data?: string, isFirstSigner?: boolean): TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder;
150
+ /**
151
+ * Returns the serialized sendMultiSig contract method data
152
+ *
153
+ * @returns {string} serialized sendMultiSig data
154
+ */
155
+ getSendData(): string;
156
+ /**
157
+ * Decide if the coin uses non-packed encoding for tx data
158
+ *
159
+ * @returns {boolean} true if the coin uses non-packed encoding for tx data
160
+ */
161
+ coinUsesNonPackedEncodingForTxData(): boolean;
162
+ private buildSendTransaction;
163
+ /**
164
+ * Set the contract transaction nonce to calculate the forwarder address.
165
+ *
166
+ * @param {number} contractCounter The counter to use
167
+ */
168
+ contractCounter(contractCounter: number): void;
169
+ /**
170
+ * Build a transaction to create a forwarder.
171
+ *
172
+ * @returns {TxData} The Ethereum transaction data
173
+ */
174
+ private buildAddressInitializationTransaction;
175
+ /**
176
+ * Set the forwarder address to flush
177
+ *
178
+ * @param {string} address The address to flush
179
+ */
180
+ forwarderAddress(address: string): void;
181
+ /**
182
+ * Set the address of the ERC20 token contract that we are flushing tokens for
183
+ *
184
+ * @param {string} address the contract address of the token to flush
185
+ */
186
+ tokenAddress(address: string): void;
187
+ /**
188
+ * Set the token ID for ERC721/ERC1155 token flush
189
+ *
190
+ * @param {string} tokenId the token ID to flush
191
+ */
192
+ tokenId(tokenId: string): void;
193
+ /**
194
+ * Build a transaction to flush tokens from a forwarder.
195
+ *
196
+ * @returns {TxData} The Ethereum transaction data
197
+ */
198
+ private buildFlushTokensTransaction;
199
+ /**
200
+ * Build a transaction to flush tokens from a forwarder.
201
+ *
202
+ * @returns {TxData} The Ethereum transaction data
203
+ */
204
+ private buildFlushCoinsTransaction;
205
+ /**
206
+ * Build a transaction to flush ERC721 NFTs from a forwarder.
207
+ *
208
+ * @returns {TxData} The Ethereum transaction data
209
+ */
210
+ private buildFlushERC721Transaction;
211
+ /**
212
+ * Build a transaction to flush ERC1155 tokens from a forwarder.
213
+ *
214
+ * @returns {TxData} The Ethereum transaction data
215
+ */
216
+ private buildFlushERC1155Transaction;
217
+ data(encodedCall: string): void;
218
+ private buildGenericContractCallTransaction;
219
+ /** @inheritdoc */
220
+ protected get transaction(): Transaction;
221
+ /** @inheritdoc */
222
+ protected set transaction(transaction: Transaction);
223
+ /**
224
+ * Get the final v value. Final v is described in EIP-155.
225
+ *
226
+ * @protected for internal use when the enableFinalVField flag is true.
227
+ */
228
+ protected getFinalV(): string;
229
+ /**
230
+ * Set the forwarder version for address to be initialized
231
+ *
232
+ * @param {number} version forwarder version
233
+ */
234
+ forwarderVersion(version: number): void;
235
+ /**
236
+ * Set the salt to create the address using create2
237
+ *
238
+ * @param {string} salt The salt to create the address using create2, hex string
239
+ */
240
+ salt(salt: string): void;
241
+ /**
242
+ * Take the implementation address for the proxy contract, and get the binary initcode for the associated proxy
243
+ *
244
+ * @param {string} implementationAddress The address of the implementation contract
245
+ */
246
+ initCode(implementationAddress: string): void;
247
+ /**
248
+ * Set the wallet version for wallet to be initialized
249
+ *
250
+ * @param {number} version wallet version
251
+ */
252
+ walletVersion(version: number): void;
253
+ /**
254
+ * Set the base address of the wallet
255
+ *
256
+ * @param {string} address The wallet contract address
257
+ */
258
+ baseAddress(address: string): void;
259
+ /**
260
+ * Set the fee address of the wallet
261
+ *
262
+ * @param {string} address The fee address of the wallet
263
+ */
264
+ feeAddress(address: string): void;
265
+ /**
266
+ * Get the wallet version for wallet
267
+ */
268
+ getWalletVersion(): number;
269
+ }
270
+ //# sourceMappingURL=transactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"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"}