@bitgo-beta/abstract-eth 1.2.3-alpha.37 → 1.2.3-alpha.371

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 (121) hide show
  1. package/CHANGELOG.md +1718 -0
  2. package/dist/src/abstractEthLikeCoin.d.ts +18 -9
  3. package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
  4. package/dist/src/abstractEthLikeCoin.js +39 -15
  5. package/dist/src/abstractEthLikeNewCoins.d.ts +715 -0
  6. package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
  7. package/dist/src/abstractEthLikeNewCoins.js +2113 -0
  8. package/dist/src/ethLikeToken.d.ts +36 -6
  9. package/dist/src/ethLikeToken.d.ts.map +1 -1
  10. package/dist/src/ethLikeToken.js +286 -10
  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 +133 -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 +16 -0
  21. package/dist/src/lib/index.d.ts.map +1 -0
  22. package/dist/src/lib/index.js +57 -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 +65 -0
  26. package/dist/src/lib/messages/eip191/eip191Message.d.ts +12 -0
  27. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +1 -0
  28. package/dist/src/lib/messages/eip191/eip191Message.js +25 -0
  29. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +19 -0
  30. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  31. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +27 -0
  32. package/dist/src/lib/messages/eip191/index.d.ts +3 -0
  33. package/dist/src/lib/messages/eip191/index.d.ts.map +1 -0
  34. package/dist/src/lib/messages/eip191/index.js +19 -0
  35. package/dist/src/lib/messages/index.d.ts +3 -0
  36. package/dist/src/lib/messages/index.d.ts.map +1 -0
  37. package/dist/src/lib/messages/index.js +19 -0
  38. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  39. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  40. package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
  41. package/dist/src/lib/transaction.d.ts +67 -0
  42. package/dist/src/lib/transaction.d.ts.map +1 -0
  43. package/dist/src/lib/transaction.js +142 -0
  44. package/dist/src/lib/transactionBuilder.d.ts +251 -0
  45. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  46. package/dist/src/lib/transactionBuilder.js +742 -0
  47. package/dist/src/lib/transferBuilder.d.ts +76 -0
  48. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  49. package/dist/src/lib/transferBuilder.js +307 -0
  50. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +54 -0
  51. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +1 -0
  52. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +120 -0
  53. package/dist/src/lib/transferBuilders/index.d.ts +4 -0
  54. package/dist/src/lib/transferBuilders/index.d.ts.map +1 -0
  55. package/dist/src/lib/transferBuilders/index.js +20 -0
  56. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +17 -0
  57. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +1 -0
  58. package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +96 -0
  59. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +16 -0
  60. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +1 -0
  61. package/dist/src/lib/transferBuilders/transferBuilderERC721.js +81 -0
  62. package/dist/src/lib/types.d.ts +39 -0
  63. package/dist/src/lib/types.d.ts.map +1 -0
  64. package/dist/src/lib/types.js +137 -0
  65. package/dist/src/lib/utils.d.ts +270 -0
  66. package/dist/src/lib/utils.d.ts.map +1 -0
  67. package/dist/src/lib/utils.js +717 -0
  68. package/dist/src/lib/walletUtil.d.ts +32 -0
  69. package/dist/src/lib/walletUtil.d.ts.map +1 -0
  70. package/dist/src/lib/walletUtil.js +35 -0
  71. package/dist/src/types.d.ts +9 -0
  72. package/dist/src/types.d.ts.map +1 -0
  73. package/dist/src/types.js +3 -0
  74. package/dist/test/index.d.ts +2 -0
  75. package/dist/test/index.d.ts.map +1 -0
  76. package/dist/test/index.js +18 -0
  77. package/dist/test/unit/coin.d.ts +8 -0
  78. package/dist/test/unit/coin.d.ts.map +1 -0
  79. package/dist/test/unit/coin.js +577 -0
  80. package/dist/test/unit/index.d.ts +6 -0
  81. package/dist/test/unit/index.d.ts.map +1 -0
  82. package/dist/test/unit/index.js +22 -0
  83. package/dist/test/unit/messages/eip191/eip191Message.d.ts +2 -0
  84. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +1 -0
  85. package/dist/test/unit/messages/eip191/eip191Message.js +137 -0
  86. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +2 -0
  87. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  88. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +95 -0
  89. package/dist/test/unit/messages/fixtures.d.ts +24 -0
  90. package/dist/test/unit/messages/fixtures.d.ts.map +1 -0
  91. package/dist/test/unit/messages/fixtures.js +28 -0
  92. package/dist/test/unit/messages/index.d.ts +4 -0
  93. package/dist/test/unit/messages/index.d.ts.map +1 -0
  94. package/dist/test/unit/messages/index.js +20 -0
  95. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  96. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  97. package/dist/test/unit/messages/messageBuilderFactory.js +44 -0
  98. package/dist/test/unit/token.d.ts +2 -0
  99. package/dist/test/unit/token.d.ts.map +1 -0
  100. package/dist/test/unit/token.js +37 -0
  101. package/dist/test/unit/transaction.d.ts +3 -0
  102. package/dist/test/unit/transaction.d.ts.map +1 -0
  103. package/dist/test/unit/transaction.js +60 -0
  104. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +8 -0
  105. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
  106. package/dist/test/unit/transactionBuilder/addressInitialization.js +95 -0
  107. package/dist/test/unit/transactionBuilder/index.d.ts +4 -0
  108. package/dist/test/unit/transactionBuilder/index.d.ts.map +1 -0
  109. package/dist/test/unit/transactionBuilder/index.js +20 -0
  110. package/dist/test/unit/transactionBuilder/send.d.ts +3 -0
  111. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  112. package/dist/test/unit/transactionBuilder/send.js +197 -0
  113. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +10 -0
  114. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  115. package/dist/test/unit/transactionBuilder/walletInitialization.js +124 -0
  116. package/dist/test/unit/transferBuilder.d.ts +2 -0
  117. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  118. package/dist/test/unit/transferBuilder.js +76 -0
  119. package/dist/tsconfig.tsbuildinfo +1 -10143
  120. package/index.ts +2 -0
  121. package/package.json +30 -9
@@ -0,0 +1,133 @@
1
+ import { BaseFee } from '@bitgo-beta/sdk-core';
2
+ import { KeyPair } from './keyPair';
3
+ export interface EthFee extends BaseFee {
4
+ gasLimit: string;
5
+ }
6
+ export interface LegacyFee extends EthFee {
7
+ gasPrice?: string;
8
+ eip1559?: never;
9
+ }
10
+ export interface EIP1559Fee extends EthFee {
11
+ gasPrice?: never;
12
+ eip1559: {
13
+ maxFeePerGas: string;
14
+ maxPriorityFeePerGas: string;
15
+ };
16
+ }
17
+ export type Fee = LegacyFee | EIP1559Fee;
18
+ /**
19
+ * A transaction's data.
20
+ */
21
+ export interface BaseTxData {
22
+ to?: string;
23
+ gasLimit: string;
24
+ nonce: number;
25
+ data: string;
26
+ value: string;
27
+ chainId?: string;
28
+ deployedAddress?: string;
29
+ from?: string;
30
+ id?: string;
31
+ /**
32
+ * EC recovery ID.
33
+ */
34
+ v?: string;
35
+ /**
36
+ * EC signature parameter.
37
+ */
38
+ r?: string;
39
+ /**
40
+ * EC signature parameter.
41
+ */
42
+ s?: string;
43
+ }
44
+ export declare const ETHTransactionType: {
45
+ readonly LEGACY: "Legacy";
46
+ readonly EIP1559: "EIP1559";
47
+ };
48
+ export type ETHTransactionType = (typeof ETHTransactionType)[keyof typeof ETHTransactionType];
49
+ export interface LegacyTxData extends BaseTxData {
50
+ _type: typeof ETHTransactionType.LEGACY;
51
+ gasPrice: string;
52
+ maxFeePerGas?: never;
53
+ maxPriorityFeePerGas?: never;
54
+ }
55
+ export interface EIP1559TxData extends BaseTxData {
56
+ _type: typeof ETHTransactionType.EIP1559;
57
+ gasPrice?: never;
58
+ maxFeePerGas: string;
59
+ maxPriorityFeePerGas: string;
60
+ }
61
+ export type TxData = EIP1559TxData | LegacyTxData;
62
+ /**
63
+ * An Ethereum transaction with helpers for serialization and deserialization.
64
+ */
65
+ export interface EthLikeTransactionData {
66
+ /**
67
+ * Sign this transaction with the given key
68
+ *
69
+ * @param keyPair The key to sign the transaction with
70
+ */
71
+ sign(keyPair: KeyPair): any;
72
+ /**
73
+ * Return the JSON representation of this transaction
74
+ */
75
+ toJson(): TxData;
76
+ /**
77
+ * Return the hex string serialization of this transaction
78
+ */
79
+ toSerialized(): string;
80
+ }
81
+ export interface SignatureParts {
82
+ v: string;
83
+ r: string;
84
+ s: string;
85
+ }
86
+ export interface ContractMethodConfig {
87
+ contractAddress: string;
88
+ methodId: string;
89
+ types: string[];
90
+ }
91
+ export interface TransferData {
92
+ to: string;
93
+ amount: string;
94
+ expireTime: number;
95
+ sequenceId: number;
96
+ signature: string;
97
+ tokenContractAddress?: string;
98
+ data?: string;
99
+ operationHashPrefix?: string;
100
+ }
101
+ export interface TokenTransferData extends TransferData {
102
+ tokenContractAddress: string;
103
+ amount: string;
104
+ }
105
+ export interface ERC721TransferData extends TokenTransferData {
106
+ from: string;
107
+ tokenId: string;
108
+ userData: string;
109
+ }
110
+ export interface ERC1155TransferData extends TokenTransferData {
111
+ from: string;
112
+ tokenIds: string[];
113
+ values: string[];
114
+ userData: string;
115
+ }
116
+ export interface FlushTokensData {
117
+ forwarderAddress: string;
118
+ tokenAddress: string;
119
+ forwarderVersion?: number;
120
+ }
121
+ export interface NativeTransferData extends TransferData {
122
+ data: string;
123
+ }
124
+ export interface WalletInitializationData {
125
+ salt?: string;
126
+ owners: string[];
127
+ }
128
+ export interface ForwarderInitializationData {
129
+ baseAddress?: string;
130
+ addressCreationSalt?: string;
131
+ feeAddress?: string;
132
+ }
133
+ //# sourceMappingURL=iface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ETHTransactionType = void 0;
4
+ exports.ETHTransactionType = {
5
+ LEGACY: 'Legacy',
6
+ EIP1559: 'EIP1559',
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlEYSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGZWUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcblxuZXhwb3J0IGludGVyZmFjZSBFdGhGZWUgZXh0ZW5kcyBCYXNlRmVlIHtcbiAgZ2FzTGltaXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWdhY3lGZWUgZXh0ZW5kcyBFdGhGZWUge1xuICBnYXNQcmljZT86IHN0cmluZztcbiAgZWlwMTU1OT86IG5ldmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVJUDE1NTlGZWUgZXh0ZW5kcyBFdGhGZWUge1xuICBnYXNQcmljZT86IG5ldmVyO1xuICBlaXAxNTU5OiB7XG4gICAgbWF4RmVlUGVyR2FzOiBzdHJpbmc7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRmVlID0gTGVnYWN5RmVlIHwgRUlQMTU1OUZlZTtcblxuLyoqXG4gKiBBIHRyYW5zYWN0aW9uJ3MgZGF0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlVHhEYXRhIHtcbiAgdG8/OiBzdHJpbmc7XG4gIGdhc0xpbWl0OiBzdHJpbmc7XG4gIG5vbmNlOiBudW1iZXI7XG4gIGRhdGE6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgY2hhaW5JZD86IHN0cmluZztcbiAgZGVwbG95ZWRBZGRyZXNzPzogc3RyaW5nO1xuICBmcm9tPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEVDIHJlY292ZXJ5IElELlxuICAgKi9cbiAgdj86IHN0cmluZztcbiAgLyoqXG4gICAqIEVDIHNpZ25hdHVyZSBwYXJhbWV0ZXIuXG4gICAqL1xuICByPzogc3RyaW5nO1xuICAvKipcbiAgICogRUMgc2lnbmF0dXJlIHBhcmFtZXRlci5cbiAgICovXG4gIHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBFVEhUcmFuc2FjdGlvblR5cGUgPSB7XG4gIExFR0FDWTogJ0xlZ2FjeScsXG4gIEVJUDE1NTk6ICdFSVAxNTU5Jyxcbn0gYXMgY29uc3Q7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmV4cG9ydCB0eXBlIEVUSFRyYW5zYWN0aW9uVHlwZSA9ICh0eXBlb2YgRVRIVHJhbnNhY3Rpb25UeXBlKVtrZXlvZiB0eXBlb2YgRVRIVHJhbnNhY3Rpb25UeXBlXTtcblxuZXhwb3J0IGludGVyZmFjZSBMZWdhY3lUeERhdGEgZXh0ZW5kcyBCYXNlVHhEYXRhIHtcbiAgX3R5cGU6IHR5cGVvZiBFVEhUcmFuc2FjdGlvblR5cGUuTEVHQUNZO1xuICBnYXNQcmljZTogc3RyaW5nO1xuICBtYXhGZWVQZXJHYXM/OiBuZXZlcjtcbiAgbWF4UHJpb3JpdHlGZWVQZXJHYXM/OiBuZXZlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFSVAxNTU5VHhEYXRhIGV4dGVuZHMgQmFzZVR4RGF0YSB7XG4gIF90eXBlOiB0eXBlb2YgRVRIVHJhbnNhY3Rpb25UeXBlLkVJUDE1NTk7XG4gIGdhc1ByaWNlPzogbmV2ZXI7XG4gIG1heEZlZVBlckdhczogc3RyaW5nO1xuICBtYXhQcmlvcml0eUZlZVBlckdhczogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUeERhdGEgPSBFSVAxNTU5VHhEYXRhIHwgTGVnYWN5VHhEYXRhO1xuXG4vKipcbiAqIEFuIEV0aGVyZXVtIHRyYW5zYWN0aW9uIHdpdGggaGVscGVycyBmb3Igc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV0aExpa2VUcmFuc2FjdGlvbkRhdGEge1xuICAvKipcbiAgICogU2lnbiB0aGlzIHRyYW5zYWN0aW9uIHdpdGggdGhlIGdpdmVuIGtleVxuICAgKlxuICAgKiBAcGFyYW0ga2V5UGFpciBUaGUga2V5IHRvIHNpZ24gdGhlIHRyYW5zYWN0aW9uIHdpdGhcbiAgICovXG4gIHNpZ24oa2V5UGFpcjogS2V5UGFpcik7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gICAqL1xuICB0b0pzb24oKTogVHhEYXRhO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGhleCBzdHJpbmcgc2VyaWFsaXphdGlvbiBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gICAqL1xuICB0b1NlcmlhbGl6ZWQoKTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZVBhcnRzIHtcbiAgdjogc3RyaW5nO1xuICByOiBzdHJpbmc7XG4gIHM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250cmFjdE1ldGhvZENvbmZpZyB7XG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBtZXRob2RJZDogc3RyaW5nO1xuICB0eXBlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJEYXRhIHtcbiAgdG86IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGV4cGlyZVRpbWU6IG51bWJlcjtcbiAgc2VxdWVuY2VJZDogbnVtYmVyO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG4gIG9wZXJhdGlvbkhhc2hQcmVmaXg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5UcmFuc2ZlckRhdGEgZXh0ZW5kcyBUcmFuc2ZlckRhdGEge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFUkM3MjFUcmFuc2ZlckRhdGEgZXh0ZW5kcyBUb2tlblRyYW5zZmVyRGF0YSB7XG4gIGZyb206IHN0cmluZztcbiAgdG9rZW5JZDogc3RyaW5nO1xuICB1c2VyRGF0YTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVSQzExNTVUcmFuc2ZlckRhdGEgZXh0ZW5kcyBUb2tlblRyYW5zZmVyRGF0YSB7XG4gIGZyb206IHN0cmluZztcbiAgdG9rZW5JZHM6IHN0cmluZ1tdO1xuICB2YWx1ZXM6IHN0cmluZ1tdO1xuICB1c2VyRGF0YTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsdXNoVG9rZW5zRGF0YSB7XG4gIGZvcndhcmRlckFkZHJlc3M6IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzOiBzdHJpbmc7XG4gIGZvcndhcmRlclZlcnNpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0aXZlVHJhbnNmZXJEYXRhIGV4dGVuZHMgVHJhbnNmZXJEYXRhIHtcbiAgZGF0YTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldEluaXRpYWxpemF0aW9uRGF0YSB7XG4gIHNhbHQ/OiBzdHJpbmc7XG4gIG93bmVyczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGVySW5pdGlhbGl6YXRpb25EYXRhIHtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGFkZHJlc3NDcmVhdGlvblNhbHQ/OiBzdHJpbmc7XG4gIGZlZUFkZHJlc3M/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export * from './contractCall';
2
+ export * from './iface';
3
+ export * from './keyPair';
4
+ export * from './transaction';
5
+ export * from './transactionBuilder';
6
+ export * from './transferBuilder';
7
+ export * from './transferBuilders';
8
+ export * from './transferBuilder';
9
+ export * from './types';
10
+ export * from './utils';
11
+ export * from './walletUtil';
12
+ export * from './messages';
13
+ import * as Interface from './iface';
14
+ import * as Utils from './utils';
15
+ export { Interface, Utils };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAG3B,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Utils = exports.Interface = void 0;
40
+ __exportStar(require("./contractCall"), exports);
41
+ __exportStar(require("./iface"), exports);
42
+ __exportStar(require("./keyPair"), exports);
43
+ __exportStar(require("./transaction"), exports);
44
+ __exportStar(require("./transactionBuilder"), exports);
45
+ __exportStar(require("./transferBuilder"), exports);
46
+ __exportStar(require("./transferBuilders"), exports);
47
+ __exportStar(require("./transferBuilder"), exports);
48
+ __exportStar(require("./types"), exports);
49
+ __exportStar(require("./utils"), exports);
50
+ __exportStar(require("./walletUtil"), exports);
51
+ __exportStar(require("./messages"), exports);
52
+ // for Backwards Compatibility
53
+ const Interface = __importStar(require("./iface"));
54
+ exports.Interface = Interface;
55
+ const Utils = __importStar(require("./utils"));
56
+ exports.Utils = Utils;
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQjtBQUMvQiwwQ0FBd0I7QUFDeEIsNENBQTBCO0FBQzFCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsb0RBQWtDO0FBQ2xDLHFEQUFtQztBQUNuQyxvREFBa0M7QUFDbEMsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4QiwrQ0FBNkI7QUFDN0IsNkNBQTJCO0FBRTNCLDhCQUE4QjtBQUM5QixtREFBcUM7QUFHNUIsOEJBQVM7QUFGbEIsK0NBQWlDO0FBRWIsc0JBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRyYWN0Q2FsbCc7XG5leHBvcnQgKiBmcm9tICcuL2lmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmZXJCdWlsZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YWxsZXRVdGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuXG4vLyBmb3IgQmFja3dhcmRzIENvbXBhdGliaWxpdHlcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBJbnRlcmZhY2UsIFV0aWxzIH07XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { DefaultKeys, KeyPairOptions, Secp256k1ExtendedKeyPair } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Ethereum keys and address management.
4
+ */
5
+ export declare class KeyPair extends Secp256k1ExtendedKeyPair {
6
+ /**
7
+ * Public constructor. By default, creates a key pair with a random master seed.
8
+ *
9
+ * @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
10
+ * (extended, compressed, or uncompressed)
11
+ */
12
+ constructor(source?: KeyPairOptions);
13
+ /**
14
+ * Ethereum default keys format is raw private and uncompressed public key
15
+ *
16
+ * @returns { DefaultKeys } The keys in the protocol default key format
17
+ */
18
+ getKeys(): DefaultKeys;
19
+ /**
20
+ * Get an Ethereum public address
21
+ *
22
+ * @returns {string} The address derived from the public key
23
+ */
24
+ getAddress(): string;
25
+ }
26
+ //# sourceMappingURL=keyPair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAIX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B;;GAEG;AACH,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAStB;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAIrB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyPair = void 0;
4
+ const ethereumjs_util_1 = require("ethereumjs-util");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ const crypto_1 = require("crypto");
7
+ const secp256k1_1 = require("@bitgo-beta/secp256k1");
8
+ const DEFAULT_SEED_SIZE_BYTES = 64;
9
+ /**
10
+ * Ethereum keys and address management.
11
+ */
12
+ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
13
+ /**
14
+ * Public constructor. By default, creates a key pair with a random master seed.
15
+ *
16
+ * @param { KeyPairOptions } source Either a master seed, a private key (extended or raw), or a public key
17
+ * (extended, compressed, or uncompressed)
18
+ */
19
+ constructor(source) {
20
+ super(source);
21
+ if (!source) {
22
+ const seed = (0, crypto_1.randomBytes)(DEFAULT_SEED_SIZE_BYTES);
23
+ this.hdNode = secp256k1_1.bip32.fromSeed(seed);
24
+ }
25
+ else if ((0, sdk_core_1.isSeed)(source)) {
26
+ this.hdNode = secp256k1_1.bip32.fromSeed(source.seed);
27
+ }
28
+ else if ((0, sdk_core_1.isPrivateKey)(source)) {
29
+ this.recordKeysFromPrivateKey(source.prv);
30
+ }
31
+ else if ((0, sdk_core_1.isPublicKey)(source)) {
32
+ this.recordKeysFromPublicKey(source.pub);
33
+ }
34
+ else {
35
+ throw new Error('Invalid key pair options');
36
+ }
37
+ if (this.hdNode) {
38
+ this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
39
+ }
40
+ }
41
+ /**
42
+ * Ethereum default keys format is raw private and uncompressed public key
43
+ *
44
+ * @returns { DefaultKeys } The keys in the protocol default key format
45
+ */
46
+ getKeys() {
47
+ return {
48
+ pub: this.getPublicKey({ compressed: this.hdNode !== undefined })
49
+ .toString('hex')
50
+ .toUpperCase(),
51
+ prv: this.getPrivateKey()?.toString('hex').toUpperCase(),
52
+ };
53
+ }
54
+ /**
55
+ * Get an Ethereum public address
56
+ *
57
+ * @returns {string} The address derived from the public key
58
+ */
59
+ getAddress() {
60
+ const publicKey = Buffer.from(this.getKeys().pub, 'hex'); // first two characters identify a public key
61
+ return (0, ethereumjs_util_1.addHexPrefix)((0, ethereumjs_util_1.pubToAddress)(publicKey, true).toString('hex'));
62
+ }
63
+ }
64
+ exports.KeyPair = KeyPair;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkQ7QUFDN0QsbURBTzhCO0FBQzlCLG1DQUFxQztBQUNyQyxxREFBOEM7QUFFOUMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2lCQUM5RCxRQUFRLENBQUMsS0FBSyxDQUFDO2lCQUNmLFdBQVcsRUFBRTtZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUU7U0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVTtRQUNSLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztRQUN2RyxPQUFPLElBQUEsOEJBQVksRUFBQyxJQUFBLDhCQUFZLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQWxERCwwQkFrREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRIZXhQcmVmaXgsIHB1YlRvQWRkcmVzcyB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgaXNQcml2YXRlS2V5LFxuICBpc1B1YmxpY0tleSxcbiAgaXNTZWVkLFxuICBLZXlQYWlyT3B0aW9ucyxcbiAgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gNjQ7XG5cbi8qKlxuICogRXRoZXJldW0ga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSAoZXh0ZW5kZWQgb3IgcmF3KSwgb3IgYSBwdWJsaWMga2V5XG4gICAqICAgICAoZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZClcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VlZCA9IHJhbmRvbUJ5dGVzKERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTKTtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzb3VyY2Uuc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkoc291cmNlLnBydik7XG4gICAgfSBlbHNlIGlmIChpc1B1YmxpY0tleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHVibGljS2V5KHNvdXJjZS5wdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhkTm9kZSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0gU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLnRvS2V5UGFpcih0aGlzLmhkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV0aGVyZXVtIGRlZmF1bHQga2V5cyBmb3JtYXQgaXMgcmF3IHByaXZhdGUgYW5kIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5XG4gICAqXG4gICAqIEByZXR1cm5zIHsgRGVmYXVsdEtleXMgfSBUaGUga2V5cyBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBrZXkgZm9ybWF0XG4gICAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHViOiB0aGlzLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQ6IHRoaXMuaGROb2RlICE9PSB1bmRlZmluZWQgfSlcbiAgICAgICAgLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAudG9VcHBlckNhc2UoKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKS50b1VwcGVyQ2FzZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIEV0aGVyZXVtIHB1YmxpYyBhZGRyZXNzXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleVxuICAgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IEJ1ZmZlci5mcm9tKHRoaXMuZ2V0S2V5cygpLnB1YiwgJ2hleCcpOyAvLyBmaXJzdCB0d28gY2hhcmFjdGVycyBpZGVudGlmeSBhIHB1YmxpYyBrZXlcbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KHB1YlRvQWRkcmVzcyhwdWJsaWNLZXksIHRydWUpLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { BaseMessage, MessageOptions } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Implementation of Message for EIP191 standard
4
+ */
5
+ export declare class EIP191Message extends BaseMessage {
6
+ constructor(options: MessageOptions);
7
+ /**
8
+ * Returns the hash of the EIP-191 prefixed message
9
+ */
10
+ getSignablePayload(): Promise<string | Buffer>;
11
+ }
12
+ //# sourceMappingURL=eip191Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip191Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/eip191Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAExF;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAKrD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EIP191Message = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ /**
6
+ * Implementation of Message for EIP191 standard
7
+ */
8
+ class EIP191Message extends sdk_core_1.BaseMessage {
9
+ constructor(options) {
10
+ super({
11
+ ...options,
12
+ type: sdk_core_1.MessageStandardType.EIP191,
13
+ });
14
+ }
15
+ /**
16
+ * Returns the hash of the EIP-191 prefixed message
17
+ */
18
+ async getSignablePayload() {
19
+ const prefix = `\u0019Ethereum Signed Message:\n${this.payload.length}`;
20
+ this.signablePayload = Buffer.from(prefix.concat(this.payload)).toString('hex');
21
+ return this.signablePayload;
22
+ }
23
+ }
24
+ exports.EIP191Message = EIP191Message;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVzc2FnZXMvZWlwMTkxL2VpcDE5MU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXdGO0FBRXhGOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVc7SUFDNUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsOEJBQW1CLENBQUMsTUFBTTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLG1DQUFtQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBaEJELHNDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNZXNzYWdlLCBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBNZXNzYWdlIGZvciBFSVAxOTEgc3RhbmRhcmRcbiAqL1xuZXhwb3J0IGNsYXNzIEVJUDE5MU1lc3NhZ2UgZXh0ZW5kcyBCYXNlTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIEVJUC0xOTEgcHJlZml4ZWQgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPiB7XG4gICAgY29uc3QgcHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke3RoaXMucGF5bG9hZC5sZW5ndGh9YDtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHByZWZpeC5jb25jYXQodGhpcy5wYXlsb2FkKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIHJldHVybiB0aGlzLnNpZ25hYmxlUGF5bG9hZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseMessageBuilder, IMessage, MessageOptions } from '@bitgo-beta/sdk-core';
3
+ /**
4
+ * Builder for EIP-191 messages
5
+ */
6
+ export declare class Eip191MessageBuilder extends BaseMessageBuilder {
7
+ /**
8
+ * Base constructor.
9
+ * @param _coinConfig BaseCoin from statics library
10
+ */
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ /**
13
+ * Builds an EIP-191 message instance with the provided options
14
+ * @param options Options to create the message
15
+ * @returns A Promise that resolves to an EIP191Message instance
16
+ */
17
+ buildMessage(options: MessageOptions): Promise<IMessage>;
18
+ }
19
+ //# sourceMappingURL=eip191MessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip191MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/eip191MessageBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAEzG;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAG/D"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Eip191MessageBuilder = void 0;
4
+ const eip191Message_1 = require("./eip191Message");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ /**
7
+ * Builder for EIP-191 messages
8
+ */
9
+ class Eip191MessageBuilder extends sdk_core_1.BaseMessageBuilder {
10
+ /**
11
+ * Base constructor.
12
+ * @param _coinConfig BaseCoin from statics library
13
+ */
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig, sdk_core_1.MessageStandardType.EIP191);
16
+ }
17
+ /**
18
+ * Builds an EIP-191 message instance with the provided options
19
+ * @param options Options to create the message
20
+ * @returns A Promise that resolves to an EIP191Message instance
21
+ */
22
+ async buildMessage(options) {
23
+ return new eip191Message_1.EIP191Message(options);
24
+ }
25
+ }
26
+ exports.Eip191MessageBuilder = Eip191MessageBuilder;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2VpcDE5MS9laXAxOTFNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFFaEQsbURBQXlHO0FBRXpHOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSw2QkFBa0I7SUFDMUQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBdUI7UUFDeEMsT0FBTyxJQUFJLDZCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBakJELG9EQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVJUDE5MU1lc3NhZ2UgfSBmcm9tICcuL2VpcDE5MU1lc3NhZ2UnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZU1lc3NhZ2VCdWlsZGVyLCBJTWVzc2FnZSwgTWVzc2FnZU9wdGlvbnMsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbi8qKlxuICogQnVpbGRlciBmb3IgRUlQLTE5MSBtZXNzYWdlc1xuICovXG5leHBvcnQgY2xhc3MgRWlwMTkxTWVzc2FnZUJ1aWxkZXIgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXIge1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcsIE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW4gRUlQLTE5MSBtZXNzYWdlIGluc3RhbmNlIHdpdGggdGhlIHByb3ZpZGVkIG9wdGlvbnNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyB0byBjcmVhdGUgdGhlIG1lc3NhZ2VcbiAgICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gRUlQMTkxTWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgYXN5bmMgYnVpbGRNZXNzYWdlKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxJTWVzc2FnZT4ge1xuICAgIHJldHVybiBuZXcgRUlQMTkxTWVzc2FnZShvcHRpb25zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './eip191Message';
2
+ export * from './eip191MessageBuilder';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./eip191Message"), exports);
18
+ __exportStar(require("./eip191MessageBuilder"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2VpcDE5MS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWlwMTkxTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2VpcDE5MU1lc3NhZ2VCdWlsZGVyJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './messageBuilderFactory';
2
+ export * from './eip191';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./messageBuilderFactory"), exports);
18
+ __exportStar(require("./eip191"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9laXAxOTEnO1xuIl19
@@ -0,0 +1,7 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseMessageBuilderFactory, IMessageBuilder, MessageStandardType } from '@bitgo-beta/sdk-core';
3
+ export declare class MessageBuilderFactory extends BaseMessageBuilderFactory {
4
+ constructor(coinConfig: Readonly<CoinConfig>);
5
+ getMessageBuilder(type: MessageStandardType): IMessageBuilder;
6
+ }
7
+ //# sourceMappingURL=messageBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvG,qBAAa,qBAAsB,SAAQ,yBAAyB;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIrC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAQrE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageBuilderFactory = void 0;
4
+ const eip191_1 = require("./eip191");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ class MessageBuilderFactory extends sdk_core_1.BaseMessageBuilderFactory {
7
+ constructor(coinConfig) {
8
+ super(coinConfig);
9
+ }
10
+ getMessageBuilder(type) {
11
+ switch (type) {
12
+ case sdk_core_1.MessageStandardType.EIP191:
13
+ return new eip191_1.Eip191MessageBuilder(this.coinConfig);
14
+ default:
15
+ throw new Error(`Invalid message standard ${type}`);
16
+ }
17
+ }
18
+ }
19
+ exports.MessageBuilderFactory = MessageBuilderFactory;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdEO0FBRWhELG1EQUF1RztBQUV2RyxNQUFhLHFCQUFzQixTQUFRLG9DQUF5QjtJQUNsRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBeUI7UUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssOEJBQW1CLENBQUMsTUFBTTtnQkFDN0IsT0FBTyxJQUFJLDZCQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFiRCxzREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9laXAxOTEnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSwgSU1lc3NhZ2VCdWlsZGVyLCBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWVzc2FnZUJ1aWxkZXIodHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxOlxuICAgICAgICByZXR1cm4gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKHRoaXMuY29pbkNvbmZpZyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWVzc2FnZSBzdGFuZGFyZCAke3R5cGV9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Ethereum transaction model. This is the base model for all ethereum based coins (Celo, ETC, RSK, ETH)
3
+ */
4
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
5
+ import EthereumCommon from '@ethereumjs/common';
6
+ import { BaseKey, Entry, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
7
+ import { KeyPair } from './keyPair';
8
+ import { EthLikeTransactionData, TxData } from './iface';
9
+ export declare class Transaction extends BaseTransaction {
10
+ protected _id: string;
11
+ protected _inputs: Entry[];
12
+ protected _outputs: Entry[];
13
+ protected _signatures: string[];
14
+ protected _type: TransactionType;
15
+ protected _common: EthereumCommon;
16
+ protected _transactionData?: EthLikeTransactionData;
17
+ /**
18
+ * return a new Transaction initialized with the serialized tx string
19
+ *
20
+ * @param coinConfig The coin configuration object
21
+ * @param common network commons
22
+ * @param serializedTx The serialized tx string with which to initialize the transaction
23
+ * @param isFirstSigner whether the transaction is being signed by the first signer
24
+ * @returns a new transaction object
25
+ */
26
+ static fromSerialized(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, serializedTx: string, isFirstSigner?: boolean): Transaction;
27
+ /**
28
+ * Public constructor.
29
+ *
30
+ * @param {Readonly<CoinConfig>} coinConfig
31
+ * @param common the network commons
32
+ * @param {TxData} txData The object transaction data or encoded transaction data
33
+ * @param {boolean} isFirstSigner whether the transaction is being signed by the first signer
34
+ */
35
+ constructor(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, txData?: TxData, isFirstSigner?: boolean);
36
+ /**
37
+ * Set the transaction data
38
+ *
39
+ * @param {TxData} txData The transaction data to set
40
+ * @param {boolean} isFirstSigner Whether the transaction is being signed by the first signer
41
+ */
42
+ setTransactionData(txData: TxData, isFirstSigner?: boolean): void;
43
+ /**
44
+ * Update the internal fields based on the currently set transaction data, if there is any
45
+ */
46
+ protected updateFields(isFirstSigner?: boolean): void;
47
+ /**
48
+ * Set the transaction type
49
+ *
50
+ * @param {TransactionType} transactionType The transaction type to be set
51
+ */
52
+ setTransactionType(transactionType: TransactionType): void;
53
+ /** @inheritdoc */
54
+ canSign(key: BaseKey): boolean;
55
+ /**
56
+ * Sign the transaction with the provided key. It does not check if the signer is allowed to sign
57
+ * it or not.
58
+ *
59
+ * @param {KeyPair} keyPair The key to sign the transaction with
60
+ */
61
+ sign(keyPair: KeyPair): Promise<void>;
62
+ /** @inheritdoc */
63
+ toBroadcastFormat(): string;
64
+ /** @inheritdoc */
65
+ toJson(): TxData;
66
+ }
67
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,OAAO,EACP,KAAK,EACL,eAAe,EACf,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMzD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAElC,SAAS,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAEpD;;;;;;;;OAQG;WACW,cAAc,CAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,OAAO,GACtB,WAAW;IASd;;;;;;;OAOG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;IAQ9G;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAKjE;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAoDrD;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAK9B;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;CAMjB"}