@bitgo-beta/abstract-eth 1.0.2-beta.12 → 1.0.2-beta.1200

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 +1733 -0
  2. package/dist/src/abstractEthLikeCoin.d.ts +20 -9
  3. package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
  4. package/dist/src/abstractEthLikeCoin.js +43 -15
  5. package/dist/src/abstractEthLikeNewCoins.d.ts +696 -0
  6. package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
  7. package/dist/src/abstractEthLikeNewCoins.js +2092 -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 +27 -0
  29. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +25 -0
  30. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  31. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +68 -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 +148 -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 +19 -0
  90. package/dist/test/unit/messages/fixtures.d.ts.map +1 -0
  91. package/dist/test/unit/messages/fixtures.js +25 -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 -7796
  120. package/index.ts +2 -0
  121. package/package.json +29 -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;CAOrD"}
@@ -0,0 +1,27 @@
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
+ if (!this.signablePayload) {
20
+ const prefix = `\u0019Ethereum Signed Message:\n${this.payload.length}`;
21
+ this.signablePayload = Buffer.from(prefix.concat(this.payload)).toString('hex');
22
+ }
23
+ return this.signablePayload;
24
+ }
25
+ }
26
+ exports.EIP191Message = EIP191Message;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVzc2FnZXMvZWlwMTkxL2VpcDE5MU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXdGO0FBRXhGOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVc7SUFDNUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsOEJBQW1CLENBQUMsTUFBTTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsbUNBQW1DLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBbEJELHNDQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNZXNzYWdlLCBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBNZXNzYWdlIGZvciBFSVAxOTEgc3RhbmRhcmRcbiAqL1xuZXhwb3J0IGNsYXNzIEVJUDE5MU1lc3NhZ2UgZXh0ZW5kcyBCYXNlTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIEVJUC0xOTEgcHJlZml4ZWQgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPiB7XG4gICAgaWYgKCF0aGlzLnNpZ25hYmxlUGF5bG9hZCkge1xuICAgICAgY29uc3QgcHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke3RoaXMucGF5bG9hZC5sZW5ndGh9YDtcbiAgICAgIHRoaXMuc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20ocHJlZml4LmNvbmNhdCh0aGlzLnBheWxvYWQpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNpZ25hYmxlUGF5bG9hZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseMessageBuilder, BroadcastableMessage, IMessage } 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
+ * Build a signable message using the EIP-191 standard
14
+ * with previously set input and metadata
15
+ * @returns A signable message
16
+ */
17
+ build(): Promise<IMessage>;
18
+ /**
19
+ * Parse a broadcastable message back into a message
20
+ * @param broadcastMessage The broadcastable message to parse
21
+ * @returns The parsed message
22
+ */
23
+ fromBroadcastFormat(broadcastMessage: BroadcastableMessage): Promise<IMessage>;
24
+ }
25
+ //# 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,oBAAoB,EAAE,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAE/G;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAuBvC;;;;OAIG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAgB5F"}
@@ -0,0 +1,68 @@
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
+ * Build a signable message using the EIP-191 standard
19
+ * with previously set input and metadata
20
+ * @returns A signable message
21
+ */
22
+ async build() {
23
+ try {
24
+ if (!this.payload) {
25
+ throw new Error('Message payload must be set before building the message');
26
+ }
27
+ return new eip191Message_1.EIP191Message({
28
+ coinConfig: this.coinConfig,
29
+ payload: this.payload,
30
+ signatures: this.signatures,
31
+ signers: this.signers,
32
+ metadata: {
33
+ ...this.metadata,
34
+ encoding: 'utf8',
35
+ },
36
+ });
37
+ }
38
+ catch (err) {
39
+ if (err instanceof Error) {
40
+ throw err;
41
+ }
42
+ throw new Error('Failed to build EIP-191 message');
43
+ }
44
+ }
45
+ /**
46
+ * Parse a broadcastable message back into a message
47
+ * @param broadcastMessage The broadcastable message to parse
48
+ * @returns The parsed message
49
+ */
50
+ async fromBroadcastFormat(broadcastMessage) {
51
+ const { type, payload, signatures, signers, metadata } = broadcastMessage;
52
+ if (type !== sdk_core_1.MessageStandardType.EIP191) {
53
+ throw new Error(`Invalid message type, expected ${sdk_core_1.MessageStandardType.EIP191}`);
54
+ }
55
+ return new eip191Message_1.EIP191Message({
56
+ coinConfig: this.coinConfig,
57
+ payload,
58
+ signatures,
59
+ signers,
60
+ metadata: {
61
+ ...metadata,
62
+ encoding: 'utf8',
63
+ },
64
+ });
65
+ }
66
+ }
67
+ exports.Eip191MessageBuilder = Eip191MessageBuilder;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2VpcDE5MS9laXAxOTFNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFFaEQsbURBQStHO0FBRS9HOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSw2QkFBa0I7SUFDMUQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsT0FBTyxJQUFJLDZCQUFhLENBQUM7Z0JBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsUUFBUSxFQUFFO29CQUNSLEdBQUcsSUFBSSxDQUFDLFFBQVE7b0JBQ2hCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sR0FBRyxDQUFDO1lBQ1osQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsZ0JBQXNDO1FBQ3JFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7UUFDMUUsSUFBSSxJQUFJLEtBQUssOEJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsOEJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsT0FBTyxJQUFJLDZCQUFhLENBQUM7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE9BQU87WUFDUCxVQUFVO1lBQ1YsT0FBTztZQUNQLFFBQVEsRUFBRTtnQkFDUixHQUFHLFFBQVE7Z0JBQ1gsUUFBUSxFQUFFLE1BQU07YUFDakI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExREQsb0RBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUlQMTkxTWVzc2FnZSB9IGZyb20gJy4vZWlwMTkxTWVzc2FnZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlTWVzc2FnZUJ1aWxkZXIsIEJyb2FkY2FzdGFibGVNZXNzYWdlLCBJTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBFSVAtMTkxIG1lc3NhZ2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBFaXAxOTFNZXNzYWdlQnVpbGRlciBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlciB7XG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0gX2NvaW5Db25maWcgQmFzZUNvaW4gZnJvbSBzdGF0aWNzIGxpYnJhcnlcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZywgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgc2lnbmFibGUgbWVzc2FnZSB1c2luZyB0aGUgRUlQLTE5MSBzdGFuZGFyZFxuICAgKiB3aXRoIHByZXZpb3VzbHkgc2V0IGlucHV0IGFuZCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBBIHNpZ25hYmxlIG1lc3NhZ2VcbiAgICovXG4gIHB1YmxpYyBhc3luYyBidWlsZCgpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghdGhpcy5wYXlsb2FkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWVzc2FnZSBwYXlsb2FkIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgbWVzc2FnZScpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZzogdGhpcy5jb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgICAgIHNpZ25hdHVyZXM6IHRoaXMuc2lnbmF0dXJlcyxcbiAgICAgICAgc2lnbmVyczogdGhpcy5zaWduZXJzLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIC4uLnRoaXMubWV0YWRhdGEsXG4gICAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGJ1aWxkIEVJUC0xOTEgbWVzc2FnZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIGJyb2FkY2FzdGFibGUgbWVzc2FnZSBiYWNrIGludG8gYSBtZXNzYWdlXG4gICAqIEBwYXJhbSBicm9hZGNhc3RNZXNzYWdlIFRoZSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgdG8gcGFyc2VcbiAgICogQHJldHVybnMgVGhlIHBhcnNlZCBtZXNzYWdlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICBjb25zdCB7IHR5cGUsIHBheWxvYWQsIHNpZ25hdHVyZXMsIHNpZ25lcnMsIG1ldGFkYXRhIH0gPSBicm9hZGNhc3RNZXNzYWdlO1xuICAgIGlmICh0eXBlICE9PSBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lc3NhZ2UgdHlwZSwgZXhwZWN0ZWQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IHRoaXMuY29pbkNvbmZpZyxcbiAgICAgIHBheWxvYWQsXG4gICAgICBzaWduYXR1cmVzLFxuICAgICAgc2lnbmVycyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIC4uLm1ldGFkYXRhLFxuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -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 eip191MessageBuilder_1 = require("./eip191/eip191MessageBuilder");
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 eip191MessageBuilder_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0VBQXFFO0FBRXJFLG1EQUF1RztBQUV2RyxNQUFhLHFCQUFzQixTQUFRLG9DQUF5QjtJQUNsRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBeUI7UUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssOEJBQW1CLENBQUMsTUFBTTtnQkFDN0IsT0FBTyxJQUFJLDJDQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFiRCxzREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9laXAxOTEvZWlwMTkxTWVzc2FnZUJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSwgSU1lc3NhZ2VCdWlsZGVyLCBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWVzc2FnZUJ1aWxkZXIodHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxOlxuICAgICAgICByZXR1cm4gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKHRoaXMuY29pbkNvbmZpZyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWVzc2FnZSBzdGFuZGFyZCAke3R5cGV9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=