web-eth-abi 4.3.0

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 (190) hide show
  1. package/LICENSE +14 -0
  2. package/README.md +59 -0
  3. package/lib/commonjs/api/errors_api.d.ts +5 -0
  4. package/lib/commonjs/api/errors_api.js +44 -0
  5. package/lib/commonjs/api/errors_api.js.map +1 -0
  6. package/lib/commonjs/api/events_api.d.ts +51 -0
  7. package/lib/commonjs/api/events_api.js +90 -0
  8. package/lib/commonjs/api/events_api.js.map +1 -0
  9. package/lib/commonjs/api/functions_api.d.ts +92 -0
  10. package/lib/commonjs/api/functions_api.js +139 -0
  11. package/lib/commonjs/api/functions_api.js.map +1 -0
  12. package/lib/commonjs/api/logs_api.d.ts +49 -0
  13. package/lib/commonjs/api/logs_api.js +107 -0
  14. package/lib/commonjs/api/logs_api.js.map +1 -0
  15. package/lib/commonjs/api/parameters_api.d.ts +238 -0
  16. package/lib/commonjs/api/parameters_api.js +280 -0
  17. package/lib/commonjs/api/parameters_api.js.map +1 -0
  18. package/lib/commonjs/coders/base/address.d.ts +4 -0
  19. package/lib/commonjs/coders/base/address.js +75 -0
  20. package/lib/commonjs/coders/base/address.js.map +1 -0
  21. package/lib/commonjs/coders/base/array.d.ts +4 -0
  22. package/lib/commonjs/coders/base/array.js +106 -0
  23. package/lib/commonjs/coders/base/array.js.map +1 -0
  24. package/lib/commonjs/coders/base/bool.d.ts +4 -0
  25. package/lib/commonjs/coders/base/bool.js +56 -0
  26. package/lib/commonjs/coders/base/bool.js.map +1 -0
  27. package/lib/commonjs/coders/base/bytes.d.ts +4 -0
  28. package/lib/commonjs/coders/base/bytes.js +101 -0
  29. package/lib/commonjs/coders/base/bytes.js.map +1 -0
  30. package/lib/commonjs/coders/base/index.d.ts +11 -0
  31. package/lib/commonjs/coders/base/index.js +109 -0
  32. package/lib/commonjs/coders/base/index.js.map +1 -0
  33. package/lib/commonjs/coders/base/number.d.ts +4 -0
  34. package/lib/commonjs/coders/base/number.js +116 -0
  35. package/lib/commonjs/coders/base/number.js.map +1 -0
  36. package/lib/commonjs/coders/base/numbersLimits.d.ts +4 -0
  37. package/lib/commonjs/coders/base/numbersLimits.js +40 -0
  38. package/lib/commonjs/coders/base/numbersLimits.js.map +1 -0
  39. package/lib/commonjs/coders/base/string.d.ts +4 -0
  40. package/lib/commonjs/coders/base/string.js +40 -0
  41. package/lib/commonjs/coders/base/string.js.map +1 -0
  42. package/lib/commonjs/coders/base/tuple.d.ts +7 -0
  43. package/lib/commonjs/coders/base/tuple.js +123 -0
  44. package/lib/commonjs/coders/base/tuple.js.map +1 -0
  45. package/lib/commonjs/coders/base/utils.d.ts +2 -0
  46. package/lib/commonjs/coders/base/utils.js +50 -0
  47. package/lib/commonjs/coders/base/utils.js.map +1 -0
  48. package/lib/commonjs/coders/decode.d.ts +5 -0
  49. package/lib/commonjs/coders/decode.js +29 -0
  50. package/lib/commonjs/coders/decode.js.map +1 -0
  51. package/lib/commonjs/coders/encode.d.ts +38 -0
  52. package/lib/commonjs/coders/encode.js +113 -0
  53. package/lib/commonjs/coders/encode.js.map +1 -0
  54. package/lib/commonjs/coders/types.d.ts +16 -0
  55. package/lib/commonjs/coders/types.js +19 -0
  56. package/lib/commonjs/coders/types.js.map +1 -0
  57. package/lib/commonjs/coders/utils.d.ts +23 -0
  58. package/lib/commonjs/coders/utils.js +115 -0
  59. package/lib/commonjs/coders/utils.js.map +1 -0
  60. package/lib/commonjs/decode_contract_error_data.d.ts +3 -0
  61. package/lib/commonjs/decode_contract_error_data.js +73 -0
  62. package/lib/commonjs/decode_contract_error_data.js.map +1 -0
  63. package/lib/commonjs/eip_712.d.ts +50 -0
  64. package/lib/commonjs/eip_712.js +144 -0
  65. package/lib/commonjs/eip_712.js.map +1 -0
  66. package/lib/commonjs/index.d.ts +8 -0
  67. package/lib/commonjs/index.js +43 -0
  68. package/lib/commonjs/index.js.map +1 -0
  69. package/lib/commonjs/package.json +1 -0
  70. package/lib/commonjs/utils.d.ts +43 -0
  71. package/lib/commonjs/utils.js +216 -0
  72. package/lib/commonjs/utils.js.map +1 -0
  73. package/lib/esm/api/errors_api.js +40 -0
  74. package/lib/esm/api/errors_api.js.map +1 -0
  75. package/lib/esm/api/events_api.js +86 -0
  76. package/lib/esm/api/events_api.js.map +1 -0
  77. package/lib/esm/api/functions_api.js +134 -0
  78. package/lib/esm/api/functions_api.js.map +1 -0
  79. package/lib/esm/api/logs_api.js +103 -0
  80. package/lib/esm/api/logs_api.js.map +1 -0
  81. package/lib/esm/api/parameters_api.js +271 -0
  82. package/lib/esm/api/parameters_api.js.map +1 -0
  83. package/lib/esm/coders/base/address.js +70 -0
  84. package/lib/esm/coders/base/address.js.map +1 -0
  85. package/lib/esm/coders/base/array.js +101 -0
  86. package/lib/esm/coders/base/array.js.map +1 -0
  87. package/lib/esm/coders/base/bool.js +51 -0
  88. package/lib/esm/coders/base/bool.js.map +1 -0
  89. package/lib/esm/coders/base/bytes.js +96 -0
  90. package/lib/esm/coders/base/bytes.js.map +1 -0
  91. package/lib/esm/coders/base/index.js +90 -0
  92. package/lib/esm/coders/base/index.js.map +1 -0
  93. package/lib/esm/coders/base/number.js +111 -0
  94. package/lib/esm/coders/base/number.js.map +1 -0
  95. package/lib/esm/coders/base/numbersLimits.js +37 -0
  96. package/lib/esm/coders/base/numbersLimits.js.map +1 -0
  97. package/lib/esm/coders/base/string.js +35 -0
  98. package/lib/esm/coders/base/string.js.map +1 -0
  99. package/lib/esm/coders/base/tuple.js +118 -0
  100. package/lib/esm/coders/base/tuple.js.map +1 -0
  101. package/lib/esm/coders/base/utils.js +46 -0
  102. package/lib/esm/coders/base/utils.js.map +1 -0
  103. package/lib/esm/coders/decode.js +25 -0
  104. package/lib/esm/coders/decode.js.map +1 -0
  105. package/lib/esm/coders/encode.js +108 -0
  106. package/lib/esm/coders/encode.js.map +1 -0
  107. package/lib/esm/coders/types.js +18 -0
  108. package/lib/esm/coders/types.js.map +1 -0
  109. package/lib/esm/coders/utils.js +105 -0
  110. package/lib/esm/coders/utils.js.map +1 -0
  111. package/lib/esm/decode_contract_error_data.js +69 -0
  112. package/lib/esm/decode_contract_error_data.js.map +1 -0
  113. package/lib/esm/eip_712.js +140 -0
  114. package/lib/esm/eip_712.js.map +1 -0
  115. package/lib/esm/index.js +25 -0
  116. package/lib/esm/index.js.map +1 -0
  117. package/lib/esm/package.json +1 -0
  118. package/lib/esm/utils.js +199 -0
  119. package/lib/esm/utils.js.map +1 -0
  120. package/lib/types/api/errors_api.d.ts +6 -0
  121. package/lib/types/api/errors_api.d.ts.map +1 -0
  122. package/lib/types/api/events_api.d.ts +52 -0
  123. package/lib/types/api/events_api.d.ts.map +1 -0
  124. package/lib/types/api/functions_api.d.ts +93 -0
  125. package/lib/types/api/functions_api.d.ts.map +1 -0
  126. package/lib/types/api/logs_api.d.ts +50 -0
  127. package/lib/types/api/logs_api.d.ts.map +1 -0
  128. package/lib/types/api/parameters_api.d.ts +239 -0
  129. package/lib/types/api/parameters_api.d.ts.map +1 -0
  130. package/lib/types/coders/base/address.d.ts +5 -0
  131. package/lib/types/coders/base/address.d.ts.map +1 -0
  132. package/lib/types/coders/base/array.d.ts +5 -0
  133. package/lib/types/coders/base/array.d.ts.map +1 -0
  134. package/lib/types/coders/base/bool.d.ts +5 -0
  135. package/lib/types/coders/base/bool.d.ts.map +1 -0
  136. package/lib/types/coders/base/bytes.d.ts +5 -0
  137. package/lib/types/coders/base/bytes.d.ts.map +1 -0
  138. package/lib/types/coders/base/index.d.ts +12 -0
  139. package/lib/types/coders/base/index.d.ts.map +1 -0
  140. package/lib/types/coders/base/number.d.ts +5 -0
  141. package/lib/types/coders/base/number.d.ts.map +1 -0
  142. package/lib/types/coders/base/numbersLimits.d.ts +5 -0
  143. package/lib/types/coders/base/numbersLimits.d.ts.map +1 -0
  144. package/lib/types/coders/base/string.d.ts +5 -0
  145. package/lib/types/coders/base/string.d.ts.map +1 -0
  146. package/lib/types/coders/base/tuple.d.ts +8 -0
  147. package/lib/types/coders/base/tuple.d.ts.map +1 -0
  148. package/lib/types/coders/base/utils.d.ts +3 -0
  149. package/lib/types/coders/base/utils.d.ts.map +1 -0
  150. package/lib/types/coders/decode.d.ts +6 -0
  151. package/lib/types/coders/decode.d.ts.map +1 -0
  152. package/lib/types/coders/encode.d.ts +39 -0
  153. package/lib/types/coders/encode.d.ts.map +1 -0
  154. package/lib/types/coders/types.d.ts +17 -0
  155. package/lib/types/coders/types.d.ts.map +1 -0
  156. package/lib/types/coders/utils.d.ts +24 -0
  157. package/lib/types/coders/utils.d.ts.map +1 -0
  158. package/lib/types/decode_contract_error_data.d.ts +4 -0
  159. package/lib/types/decode_contract_error_data.d.ts.map +1 -0
  160. package/lib/types/eip_712.d.ts +51 -0
  161. package/lib/types/eip_712.d.ts.map +1 -0
  162. package/lib/types/index.d.ts +9 -0
  163. package/lib/types/index.d.ts.map +1 -0
  164. package/lib/types/utils.d.ts +44 -0
  165. package/lib/types/utils.d.ts.map +1 -0
  166. package/package.json +56 -0
  167. package/src/api/errors_api.ts +45 -0
  168. package/src/api/events_api.ts +91 -0
  169. package/src/api/functions_api.ts +145 -0
  170. package/src/api/logs_api.ts +131 -0
  171. package/src/api/parameters_api.ts +287 -0
  172. package/src/coders/base/address.ts +75 -0
  173. package/src/coders/base/array.ts +120 -0
  174. package/src/coders/base/bool.ts +54 -0
  175. package/src/coders/base/bytes.ts +106 -0
  176. package/src/coders/base/index.ts +95 -0
  177. package/src/coders/base/number.ts +116 -0
  178. package/src/coders/base/numbersLimits.ts +39 -0
  179. package/src/coders/base/string.ts +38 -0
  180. package/src/coders/base/tuple.ts +130 -0
  181. package/src/coders/base/utils.ts +51 -0
  182. package/src/coders/decode.ts +32 -0
  183. package/src/coders/encode.ts +114 -0
  184. package/src/coders/types.ts +39 -0
  185. package/src/coders/utils.ts +128 -0
  186. package/src/decode_contract_error_data.ts +80 -0
  187. package/src/eip_712.ts +252 -0
  188. package/src/index.ts +25 -0
  189. package/src/utils.ts +266 -0
  190. package/wimho03d.cjs +1 -0
@@ -0,0 +1,239 @@
1
+ import { AbiInput, HexString } from 'web3-types';
2
+ export { encodeParameters, inferTypesAndEncodeParameters } from '../coders/encode.js';
3
+ /**
4
+ * Encodes a parameter based on its type to its ABI representation.
5
+ * @param abi - The type of the parameter. See the [Solidity documentation](https://docs.soliditylang.org/en/develop/types.html) for a list of types.
6
+ * @param param - The actual parameter to encode.
7
+ * @returns - The ABI encoded parameter
8
+ * @example
9
+ * ```ts
10
+ * const res = web3.eth.abi.encodeParameter("uint256", "2345675643");
11
+ * console.log(res);
12
+ * 0x000000000000000000000000000000000000000000000000000000008bd02b7b
13
+ *
14
+ * const res = web3.eth.abi.encodeParameter("uint", "2345675643");
15
+ *
16
+ * console.log(res);
17
+ * >0x000000000000000000000000000000000000000000000000000000008bd02b7b
18
+ *
19
+ * const res = web3.eth.abi.encodeParameter("bytes32", "0xdf3234");
20
+ *
21
+ * console.log(res);
22
+ * >0xdf32340000000000000000000000000000000000000000000000000000000000
23
+ *
24
+ * const res = web3.eth.abi.encodeParameter("bytes", "0xdf3234");
25
+ *
26
+ * console.log(res);
27
+ * > 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003df32340000000000000000000000000000000000000000000000000000000000
28
+ *
29
+ * const res = web3.eth.abi.encodeParameter("bytes32[]", ["0xdf3234", "0xfdfd"]);
30
+ *
31
+ * console.log(res);
32
+ * > 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002df32340000000000000000000000000000000000000000000000000000000000fdfd000000000000000000000000000000000000000000000000000000000000
33
+ *
34
+ * const res = web3.eth.abi.encodeParameter(
35
+ * {
36
+ * ParentStruct: {
37
+ * propertyOne: "uint256",
38
+ * propertyTwo: "uint256",
39
+ * childStruct: {
40
+ * propertyOne: "uint256",
41
+ * propertyTwo: "uint256",
42
+ * },
43
+ * },
44
+ * },
45
+ * {
46
+ * propertyOne: 42,
47
+ * propertyTwo: 56,
48
+ * childStruct: {
49
+ * propertyOne: 45,
50
+ * propertyTwo: 78,
51
+ * },
52
+ * }
53
+ * );
54
+ *
55
+ * console.log(res);
56
+ * > 0x000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000004e
57
+ * ```
58
+ */
59
+ export declare const encodeParameter: (abi: AbiInput, param: unknown) => string;
60
+ /**
61
+ * Should be used to decode list of params
62
+ */
63
+ export declare const decodeParametersWith: (abis: AbiInput[] | ReadonlyArray<AbiInput>, bytes: HexString, loose: boolean) => {
64
+ [key: string]: unknown;
65
+ __length__: number;
66
+ };
67
+ /**
68
+ * Should be used to decode list of params
69
+ */
70
+ /**
71
+ * Decodes ABI encoded parameters to its JavaScript types.
72
+ * @param abi - An array of {@link AbiInput}. See the [Solidity documentation](https://docs.soliditylang.org/en/develop/types.html) for a list of types.
73
+ * @param bytes - The ABI byte code to decode
74
+ * @returns - The result object containing the decoded parameters.
75
+ * @example
76
+ * ```ts
77
+ * let res = web3.eth.abi.decodeParameters(
78
+ * ["string", "uint256"],
79
+ * "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000ea000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000"
80
+ * );
81
+ * console.log(res);
82
+ * > { '0': 'Hello!%!', '1': 234n, __length__: 2 }
83
+ *
84
+ * let res = web3.eth.abi.decodeParameters(
85
+ * [
86
+ * {
87
+ * type: "string",
88
+ * name: "myString",
89
+ * },
90
+ * {
91
+ * type: "uint256",
92
+ * name: "myNumber",
93
+ * },
94
+ * ],
95
+ * "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000ea000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000"
96
+ * );
97
+ * console.log(res);
98
+ * > {
99
+ * '0': 'Hello!%!',
100
+ * '1': 234n,
101
+ * __length__: 2,
102
+ * myString: 'Hello!%!',
103
+ * myNumber: 234n
104
+ * }
105
+ *
106
+ * const res = web3.eth.abi.decodeParameters(
107
+ * [
108
+ * "uint8[]",
109
+ * {
110
+ * ParentStruct: {
111
+ * propertyOne: "uint256",
112
+ * propertyTwo: "uint256",
113
+ * childStruct: {
114
+ * propertyOne: "uint256",
115
+ * propertyTwo: "uint256",
116
+ * },
117
+ * },
118
+ * },
119
+ * ],
120
+ * "0x00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000018"
121
+ * );
122
+ * console.log(res);
123
+ * >
124
+ * '0': [ 42n, 24n ],
125
+ * '1': {
126
+ * '0': 42n,
127
+ * '1': 56n,
128
+ * '2': {
129
+ * '0': 45n,
130
+ * '1': 78n,
131
+ * __length__: 2,
132
+ * propertyOne: 45n,
133
+ * propertyTwo: 78n
134
+ * },
135
+ * __length__: 3,
136
+ * propertyOne: 42n,
137
+ * propertyTwo: 56n,
138
+ * childStruct: {
139
+ * '0': 45n,
140
+ * '1': 78n,
141
+ * __length__: 2,
142
+ * propertyOne: 45n,
143
+ * propertyTwo: 78n
144
+ * }
145
+ * },
146
+ * __length__: 2,
147
+ * ParentStruct: {
148
+ * '0': 42n,
149
+ * '1': 56n,
150
+ * '2': {
151
+ * '0': 45n,
152
+ * '1': 78n,
153
+ * __length__: 2,
154
+ * propertyOne: 45n,
155
+ * propertyTwo: 78n
156
+ * },
157
+ * __length__: 3,
158
+ * propertyOne: 42n,
159
+ * propertyTwo: 56n,
160
+ * childStruct: {
161
+ * '0': 45n,
162
+ * '1': 78n,
163
+ * __length__: 2,
164
+ * propertyOne: 45n,
165
+ * propertyTwo: 78n
166
+ * }
167
+ * }
168
+ *}
169
+ * ```
170
+ */
171
+ export declare const decodeParameters: (abi: AbiInput[] | ReadonlyArray<AbiInput>, bytes: HexString) => {
172
+ [key: string]: unknown;
173
+ __length__: number;
174
+ };
175
+ /**
176
+ * Should be used to decode bytes to plain param
177
+ */
178
+ /**
179
+ * Decodes an ABI encoded parameter to its JavaScript type.
180
+ * @param abi - The type of the parameter. See the [Solidity documentation](https://docs.soliditylang.org/en/develop/types.html) for a list of types.
181
+ * @param bytes - The ABI byte code to decode
182
+ * @returns - The decoded parameter
183
+ * @example
184
+ * ```ts
185
+ * const res = web3.eth.abi.decodeParameter(
186
+ * "uint256",
187
+ * "0x0000000000000000000000000000000000000000000000000000000000000010"
188
+ * );
189
+ * console.log(res);
190
+ * > 16n
191
+ *
192
+ * const res = web3.eth.abi.decodeParameter(
193
+ * "string",
194
+ * "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000"
195
+ * );
196
+ *
197
+ * console.log(res);
198
+ * > Hello!%!
199
+ *
200
+ * const res = web3.eth.abi.decodeParameter(
201
+ * {
202
+ * ParentStruct: {
203
+ * propertyOne: "uint256",
204
+ * propertyTwo: "uint256",
205
+ * childStruct: {
206
+ * propertyOne: "uint256",
207
+ * propertyTwo: "uint256",
208
+ * },
209
+ * },
210
+ * },
211
+ * "0x000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000004e"
212
+ * );
213
+ *
214
+ * console.log(res);
215
+ * {
216
+ * '0': 42n,
217
+ * '1': 56n,
218
+ * '2': {
219
+ * '0': 45n,
220
+ * '1': 78n,
221
+ * __length__: 2,
222
+ * propertyOne: 45n,
223
+ * propertyTwo: 78n
224
+ * },
225
+ * __length__: 3,
226
+ * propertyOne: 42n,
227
+ * propertyTwo: 56n,
228
+ * childStruct: {
229
+ * '0': 45n,
230
+ * '1': 78n,
231
+ * __length__: 2,
232
+ * propertyOne: 45n,
233
+ * propertyTwo: 78n
234
+ * }
235
+ *}
236
+ * ```
237
+ */
238
+ export declare const decodeParameter: (abi: AbiInput, bytes: HexString) => unknown;
239
+ //# sourceMappingURL=parameters_api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameters_api.d.ts","sourceRoot":"","sources":["../../../src/api/parameters_api.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,eAAe,QAAS,QAAQ,SAAS,OAAO,KAAG,MAC/B,CAAC;AAClC;;GAEG;AACH,eAAO,MAAM,oBAAoB,SAC1B,QAAQ,EAAE,GAAG,cAAc,QAAQ,CAAC,SACnC,SAAS,SACT,OAAO;;gBAC0B,MAAM;CAiB9C,CAAC;AAEF;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;AACH,eAAO,MAAM,gBAAgB,QACvB,QAAQ,EAAE,GAAG,cAAc,QAAQ,CAAC,SAClC,SAAS;;gBACwB,MAAM;CAA6C,CAAC;AAE7F;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,eAAe,QAAS,QAAQ,SAAS,SAAS,KAAG,OAC9B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeAddress(param: AbiParameter, input: unknown): EncoderResult;
4
+ export declare function decodeAddress(_param: AbiParameter, bytes: Uint8Array): DecoderResult<string>;
5
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/address.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CA4BhF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAkB5F"}
@@ -0,0 +1,5 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeArray(param: AbiParameter, values: unknown): EncoderResult;
4
+ export declare function decodeArray(param: AbiParameter, bytes: Uint8Array): DecoderResult<unknown[]>;
5
+ //# sourceMappingURL=array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/array.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,aAAa,CAuC/E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAoD5F"}
@@ -0,0 +1,5 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeBoolean(param: AbiParameter, input: unknown): EncoderResult;
4
+ export declare function decodeBool(_param: AbiParameter, bytes: Uint8Array): DecoderResult<boolean>;
5
+ //# sourceMappingURL=bool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/bool.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CAehF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAa1F"}
@@ -0,0 +1,5 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeBytes(param: AbiParameter, input: unknown): EncoderResult;
4
+ export declare function decodeBytes(param: AbiParameter, bytes: Uint8Array): DecoderResult<string>;
5
+ //# sourceMappingURL=bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/bytes.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAS,MAAM,YAAY,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CAkD9E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CA2BzF"}
@@ -0,0 +1,12 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { EncoderResult, DecoderResult } from '../types.js';
3
+ export { encodeAddress, decodeAddress } from './address.js';
4
+ export { encodeBoolean, decodeBool } from './bool.js';
5
+ export { encodeBytes, decodeBytes } from './bytes.js';
6
+ export { encodeNumber, decodeNumber } from './number.js';
7
+ export { encodeString, decodeString } from './string.js';
8
+ export { encodeTuple, decodeTuple } from './tuple.js';
9
+ export { encodeArray, decodeArray } from './array.js';
10
+ export declare function encodeParamFromAbiParameter(param: AbiParameter, value: unknown): EncoderResult;
11
+ export declare function decodeParamFromAbiParameter(param: AbiParameter, bytes: Uint8Array): DecoderResult;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CA0B9F;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CA0BjG"}
@@ -0,0 +1,5 @@
1
+ import type { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeNumber(param: AbiParameter, input: unknown): EncoderResult;
4
+ export declare function decodeNumber(param: AbiParameter, bytes: Uint8Array): DecoderResult<bigint>;
5
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/number.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyB3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CAmC/E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAgC1F"}
@@ -0,0 +1,5 @@
1
+ export declare const numberLimits: Map<string, {
2
+ min: bigint;
3
+ max: bigint;
4
+ }>;
5
+ //# sourceMappingURL=numbersLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbersLimits.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/numbersLimits.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,YAAY;SAA0B,MAAM;SAAO,MAAM;EAAK,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeString(_param: AbiParameter, input: unknown): EncoderResult;
4
+ export declare function decodeString(_param: AbiParameter, bytes: Uint8Array): DecoderResult<string>;
5
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/string.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CAMhF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAO3F"}
@@ -0,0 +1,8 @@
1
+ import { AbiParameter } from 'web3-types';
2
+ import { DecoderResult, EncoderResult } from '../types.js';
3
+ export declare function encodeTuple(param: AbiParameter, input: unknown): EncoderResult;
4
+ export declare function decodeTuple(param: AbiParameter, bytes: Uint8Array): DecoderResult<{
5
+ [key: string]: unknown;
6
+ __length__: number;
7
+ }>;
8
+ //# sourceMappingURL=tuple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/tuple.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CAkD9E;AAED,wBAAgB,WAAW,CAC1B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,UAAU,GACf,aAAa,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD/D"}
@@ -0,0 +1,3 @@
1
+ import { EncoderResult } from '../types.js';
2
+ export declare function encodeDynamicParams(encodedParams: ReadonlyArray<EncoderResult>): Uint8Array;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coders/base/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,UAAU,CA6B3F"}
@@ -0,0 +1,6 @@
1
+ import { AbiInput, HexString } from 'web3-types';
2
+ export declare function decodeParameters(abis: AbiInput[] | ReadonlyArray<AbiInput>, bytes: HexString, _loose: boolean): {
3
+ [key: string]: unknown;
4
+ __length__: number;
5
+ };
6
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/coders/decode.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKjD,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,EAC1C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,OAAO,GACb;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKhD"}
@@ -0,0 +1,39 @@
1
+ import { AbiInput } from 'web3-types';
2
+ /**
3
+ * Encodes a parameter based on its type to its ABI representation.
4
+ * @param abi - An array of {@link AbiInput}. See [Solidity's documentation](https://solidity.readthedocs.io/en/v0.5.3/abi-spec.html#json) for more details.
5
+ * @param params - The actual parameters to encode.
6
+ * @returns - The ABI encoded parameters
7
+ * @example
8
+ * ```ts
9
+ * const res = web3.eth.abi.encodeParameters(
10
+ * ["uint256", "string"],
11
+ * ["2345675643", "Hello!%"]
12
+ * );
13
+ *
14
+ * console.log(res);
15
+ * > 0x000000000000000000000000000000000000000000000000000000008bd02b7b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000748656c6c6f212500000000000000000000000000000000000000000000000000
16
+ * ```
17
+ */
18
+ export declare function encodeParameters(abi: ReadonlyArray<AbiInput>, params: unknown[]): string;
19
+ /**
20
+ * Infer a smart contract method parameter type and then encode this parameter.
21
+ * @param params - The parameters to encode.
22
+ * @returns - The ABI encoded parameters
23
+ *
24
+ * @remarks
25
+ * This method is useful when you don't know the type of the parameters you want to encode. It will infer the type of the parameters and then encode them.
26
+ * However, it is not recommended to use this method when you know the type of the parameters you want to encode. In this case, use the {@link encodeParameters} method instead.
27
+ * The type inference is not perfect and can lead to unexpected results. Especially when you want to encode an array, uint that is not uint256 or bytes....
28
+ * @example
29
+ * ```ts
30
+ * const res = web3.eth.abi.encodeParameters(
31
+ * ["2345675643", "Hello!%"]
32
+ * );
33
+ *
34
+ * console.log(res);
35
+ * > 0x000000000000000000000000000000000000000000000000000000008bd02b7b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000748656c6c6f212500000000000000000000000000000000000000000000000000
36
+ * ```
37
+ */
38
+ export declare function inferTypesAndEncodeParameters(params: unknown[]): string;
39
+ //# sourceMappingURL=encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../src/coders/encode.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAmCpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAYxF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAYvE"}
@@ -0,0 +1,17 @@
1
+ export declare type EncoderResult = {
2
+ dynamic: boolean;
3
+ encoded: Uint8Array;
4
+ };
5
+ export declare type DecoderResult<T = unknown> = {
6
+ result: T;
7
+ encoded: Uint8Array;
8
+ consumed: number;
9
+ };
10
+ export declare type NumberType = {
11
+ signed: boolean;
12
+ byteLength: number;
13
+ };
14
+ export declare type BytesType = {
15
+ size?: number;
16
+ };
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/coders/types.ts"],"names":[],"mappings":"AAiBA,oBAAY,aAAa,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,UAAU,CAAC;CACpB,CAAC;AACF,oBAAY,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI;IACxC,MAAM,EAAE,CAAC,CAAC;IAGV,OAAO,EAAE,UAAU,CAAC;IAGpB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,UAAU,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,SAAS,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { AbiParameter as ExternalAbiParameter } from 'abitype';
2
+ import { AbiInput, AbiParameter } from 'web3-types';
3
+ export declare const WORD_SIZE = 32;
4
+ export declare function alloc(size?: number): Uint8Array;
5
+ /**
6
+ * Where possible returns a Uint8Array of the requested size that references
7
+ * uninitialized memory. Only use if you are certain you will immediately
8
+ * overwrite every value in the returned `Uint8Array`.
9
+ */
10
+ export declare function allocUnsafe(size?: number): Uint8Array;
11
+ export declare function convertExternalAbiParameter(abiParam: ExternalAbiParameter): AbiParameter;
12
+ export declare function isAbiParameter(param: unknown): param is AbiParameter;
13
+ export declare function toAbiParams(abi: ReadonlyArray<AbiInput>): ReadonlyArray<AbiParameter>;
14
+ export declare function extractArrayType(param: AbiParameter): {
15
+ size: number;
16
+ param: AbiParameter;
17
+ };
18
+ /**
19
+ * Param is dynamic if it's dynamic base type or if some of his children (components, array items)
20
+ * is of dynamic type
21
+ * @param param
22
+ */
23
+ export declare function isDynamic(param: AbiParameter): boolean;
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/coders/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAqB,MAAM,SAAS,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAQ/D,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,wBAAgB,KAAK,CAAC,IAAI,SAAI,GAAG,UAAU,CAO1C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,SAAI,GAAG,UAAU,CAOhD;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,YAAY,CAQxF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAsBrF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAgB3F;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAStD"}
@@ -0,0 +1,4 @@
1
+ import { Eip838ExecutionError } from 'web3-errors';
2
+ import { AbiErrorFragment } from 'web3-types';
3
+ export declare const decodeContractErrorData: (errorsAbi: AbiErrorFragment[], error: Eip838ExecutionError) => void;
4
+ //# sourceMappingURL=decode_contract_error_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode_contract_error_data.d.ts","sourceRoot":"","sources":["../../src/decode_contract_error_data.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,eAAO,MAAM,uBAAuB,cACxB,gBAAgB,EAAE,SACtB,oBAAoB,SAqD3B,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * The web3.eth.abi functions let you encode and decode parameters to ABI (Application Binary Interface) for function calls to the EVM (Ethereum Virtual Machine).
3
+ *
4
+ * For using Web3 ABI functions, first install Web3 package using `npm i web3` or `yarn add web3`.
5
+ * After that, Web3 ABI functions will be available.
6
+ * ```ts
7
+ * import { Web3 } from 'web3';
8
+ *
9
+ * const web3 = new Web3();
10
+ * const encoded = web3.eth.abi.encodeFunctionSignature({
11
+ * name: 'myMethod',
12
+ * type: 'function',
13
+ * inputs: [{
14
+ * type: 'uint256',
15
+ * name: 'myNumber'
16
+ * },{
17
+ * type: 'string',
18
+ * name: 'myString'
19
+ * }]
20
+ * });
21
+ *
22
+ * ```
23
+ *
24
+ * For using individual package install `web3-eth-abi` package using `npm i web3-eth-abi` or `yarn add web3-eth-abi` and only import required functions.
25
+ * This is more efficient approach for building lightweight applications.
26
+ * ```ts
27
+ * import { encodeFunctionSignature } from 'web3-eth-abi';
28
+ *
29
+ * const encoded = encodeFunctionSignature({
30
+ * name: 'myMethod',
31
+ * type: 'function',
32
+ * inputs: [{
33
+ * type: 'uint256',
34
+ * name: 'myNumber'
35
+ * },{
36
+ * type: 'string',
37
+ * name: 'myString'
38
+ * }]
39
+ * });
40
+ *
41
+ * ```
42
+ *
43
+ * @module ABI
44
+ */
45
+ import { Eip712TypedData } from 'web3-types';
46
+ /**
47
+ * Get the EIP-191 encoded message to sign, from the typedData object. If `hash` is enabled, the message will be hashed
48
+ * with Keccak256.
49
+ */
50
+ export declare const getMessage: (typedData: Eip712TypedData, hash?: boolean) => string;
51
+ //# sourceMappingURL=eip_712.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip_712.d.ts","sourceRoot":"","sources":["../../src/eip_712.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkF7C;;;GAGG;AACH,eAAO,MAAM,UAAU,cAAe,eAAe,SAAS,OAAO,KAAG,MAevE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './api/errors_api.js';
2
+ export * from './api/events_api.js';
3
+ export * from './api/functions_api.js';
4
+ export * from './api/logs_api.js';
5
+ export * from './api/parameters_api.js';
6
+ export * from './utils.js';
7
+ export * from './decode_contract_error_data.js';
8
+ export { getMessage as getEncodedEip712Data } from './eip_712.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { AbiInput, AbiCoderStruct, AbiFragment, AbiParameter, AbiStruct, AbiEventFragment, AbiFunctionFragment, AbiConstructorFragment } from 'web3-types';
2
+ export declare const isAbiFragment: (item: unknown) => item is AbiFragment;
3
+ export declare const isAbiErrorFragment: (item: unknown) => item is AbiEventFragment;
4
+ export declare const isAbiEventFragment: (item: unknown) => item is AbiEventFragment;
5
+ export declare const isAbiFunctionFragment: (item: unknown) => item is AbiFunctionFragment;
6
+ export declare const isAbiConstructorFragment: (item: unknown) => item is AbiConstructorFragment;
7
+ /**
8
+ * Check if type is simplified struct format
9
+ */
10
+ export declare const isSimplifiedStructFormat: (type: string | Partial<AbiParameter> | Partial<AbiInput>) => type is Omit<AbiParameter, "components" | "name">;
11
+ /**
12
+ * Maps the correct tuple type and name when the simplified format in encode/decodeParameter is used
13
+ */
14
+ export declare const mapStructNameAndType: (structName: string) => AbiStruct;
15
+ /**
16
+ * Maps the simplified format in to the expected format of the ABICoder
17
+ */
18
+ export declare const mapStructToCoderFormat: (struct: AbiStruct) => Array<AbiCoderStruct>;
19
+ /**
20
+ * Map types if simplified format is used
21
+ */
22
+ export declare const mapTypes: (types: AbiInput[]) => Array<string | AbiParameter | Record<string, unknown>>;
23
+ /**
24
+ * returns true if input is a hexstring and is odd-lengthed
25
+ */
26
+ export declare const isOddHexstring: (param: unknown) => boolean;
27
+ /**
28
+ * format odd-length bytes to even-length
29
+ */
30
+ export declare const formatOddHexstrings: (param: string) => string;
31
+ /**
32
+ * Handle some formatting of params for backwards compatibility with Ethers V4
33
+ */
34
+ export declare const formatParam: (type: string, _param: unknown) => unknown;
35
+ /**
36
+ * used to flatten json abi inputs/outputs into an array of type-representing-strings
37
+ */
38
+ export declare const flattenTypes: (includeTuple: boolean, puts: ReadonlyArray<AbiParameter>) => string[];
39
+ /**
40
+ * Should be used to create full function/event name from json abi
41
+ * returns a string
42
+ */
43
+ export declare const jsonInterfaceMethodToString: (json: AbiFragment) => string;
44
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAmBA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,aAAa,SAAU,OAAO,wBAI6C,CAAC;AAEzF,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAIJ,CAAC;AAE7C,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAIJ,CAAC;AAE7C,eAAO,MAAM,qBAAqB,SAAU,OAAO,gCAIJ,CAAC;AAEhD,eAAO,MAAM,wBAAwB,SAAU,OAAO,mCAIJ,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,wBAAwB,SAC9B,MAAM,GAAG,QAAQ,YAAY,CAAC,GAAG,QAAQ,QAAQ,CAAC,sDAID,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAgB,MAAM,KAAG,SAGnB,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAY,SAAS,KAAG,MAAM,cAAc,CAmB9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,UACb,QAAQ,EAAE,KACf,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,MAAM,EAAE,OAAO,CAAC,CAiCvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,OACwC,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,MACO,CAAC;AAM5D;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,UAAU,OAAO,KAAG,OAmD3D,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,YAAY,iBACV,OAAO,QACf,cAAc,YAAY,CAAC,KAC/B,MAAM,EA2BR,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,SAAU,WAAW,KAAG,MAW/D,CAAC"}