alloy-sol-macro 0.8.11

Solidity to Rust procedural macro
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.8.11]https://github.com/alloy-rs/core/releases/tag/v0.8.11 - 2024-11-05

### Miscellaneous Tasks

- Release 0.8.11

## [0.8.10]https://github.com/alloy-rs/core/releases/tag/v0.8.10 - 2024-10-28

### Miscellaneous Tasks

- Release 0.8.10

## [0.8.9]https://github.com/alloy-rs/core/releases/tag/v0.8.9 - 2024-10-21

### Miscellaneous Tasks

- Release 0.8.9

## [0.8.8]https://github.com/alloy-rs/core/releases/tag/v0.8.8 - 2024-10-14

### Miscellaneous Tasks

- Release 0.8.8

## [0.8.7]https://github.com/alloy-rs/core/releases/tag/v0.8.7 - 2024-10-08

### Miscellaneous Tasks

- Release 0.8.7

## [0.8.6]https://github.com/alloy-rs/core/releases/tag/v0.8.6 - 2024-10-06

### Miscellaneous Tasks

- Release 0.8.6

## [0.8.5]https://github.com/alloy-rs/core/releases/tag/v0.8.5 - 2024-09-25

### Miscellaneous Tasks

- Release 0.8.5

## [0.8.4]https://github.com/alloy-rs/core/releases/tag/v0.8.4 - 2024-09-25

### Miscellaneous Tasks

- Release 0.8.4

## [0.8.3]https://github.com/alloy-rs/core/releases/tag/v0.8.3 - 2024-09-10

### Miscellaneous Tasks

- Release 0.8.3

## [0.8.2]https://github.com/alloy-rs/core/releases/tag/v0.8.2 - 2024-09-06

### Miscellaneous Tasks

- Release 0.8.2

## [0.8.1]https://github.com/alloy-rs/core/releases/tag/v0.8.1 - 2024-09-06

### Miscellaneous Tasks

- Release 0.8.1
- Use proc-macro-error2 ([#723]https://github.com/alloy-rs/core/issues/723)

## [0.8.0]https://github.com/alloy-rs/core/releases/tag/v0.8.0 - 2024-08-21

### Features

- [sol-macro] Support namespaces ([#694]https://github.com/alloy-rs/core/issues/694)

### Miscellaneous Tasks

- Release 0.8.0

## [0.7.7]https://github.com/alloy-rs/core/releases/tag/v0.7.7 - 2024-07-08

### Documentation

- Add per-crate changelogs ([#669]https://github.com/alloy-rs/core/issues/669)

### Miscellaneous Tasks

- Release 0.7.7
- Use workspace.lints ([#676]https://github.com/alloy-rs/core/issues/676)
- Swap sol macro doctests symlink ([#657]https://github.com/alloy-rs/core/issues/657)

### Styling

- Sort derives ([#662]https://github.com/alloy-rs/core/issues/662)

## [0.7.4]https://github.com/alloy-rs/core/releases/tag/v0.7.4 - 2024-05-14

### Bug Fixes

- [sol-macro] Json feature ([#629]https://github.com/alloy-rs/core/issues/629)

## [0.7.3]https://github.com/alloy-rs/core/releases/tag/v0.7.3 - 2024-05-14

### Features

- [sol-macro] Allow missing docs for event fields ([#619]https://github.com/alloy-rs/core/issues/619)

### Refactor

- Move `expand` from `sol-macro` to its own crate ([#626]https://github.com/alloy-rs/core/issues/626)

## [0.7.2]https://github.com/alloy-rs/core/releases/tag/v0.7.2 - 2024-05-02

### Documentation

- Unhide and mention `sol!` wrappers ([#615]https://github.com/alloy-rs/core/issues/615)

### Other

- Add derive[Clone] to SolEvent creation ([#616]https://github.com/alloy-rs/core/issues/616)

## [0.7.1]https://github.com/alloy-rs/core/releases/tag/v0.7.1 - 2024-04-23

### Bug Fixes

- Use deploy in sol expansion ([#606]https://github.com/alloy-rs/core/issues/606)

### Documentation

- [sol-macro] Add some more disclaimers ([#595]https://github.com/alloy-rs/core/issues/595)

### Miscellaneous Tasks

- Add a automatically_derived ([#597]https://github.com/alloy-rs/core/issues/597)

## [0.7.0]https://github.com/alloy-rs/core/releases/tag/v0.7.0 - 2024-03-30

### Bug Fixes

- [json-abi] Correct to_sol for arrays of contracts ([#586]https://github.com/alloy-rs/core/issues/586)
- [sol-macro] Don't double attributes in JSON input ([#583]https://github.com/alloy-rs/core/issues/583)
- [sol-macro] Rpc event filter function name ([#572]https://github.com/alloy-rs/core/issues/572)
- [sol-macro] Enumerate before filtering when expanding events ([#561]https://github.com/alloy-rs/core/issues/561)

### Documentation

- [sol-macro] Add a note about sol(rpc) in Contracts paragraph ([#556]https://github.com/alloy-rs/core/issues/556)

### Features

- Rlp encoding for logs with generic event data ([#553]https://github.com/alloy-rs/core/issues/553)
- [sol-macro] Add event filters to contracts ([#563]https://github.com/alloy-rs/core/issues/563)
- [json-abi] Add configuration for `JsonAbi::to_sol` ([#558]https://github.com/alloy-rs/core/issues/558)
- Add network generic to sol-macro ([#557]https://github.com/alloy-rs/core/issues/557)

### Performance

- [sol-macro] Decode bytecode hex strings ourselves ([#562]https://github.com/alloy-rs/core/issues/562)

### Refactor

- Break SolInput to its own crate ([#578]https://github.com/alloy-rs/core/issues/578)

### Styling

- Rearranged type param order so that the Network param is the last ([#587]https://github.com/alloy-rs/core/issues/587)
- Make `Bytes` map to `Bytes` in `SolType` ([#545]https://github.com/alloy-rs/core/issues/545)

## [0.6.4]https://github.com/alloy-rs/core/releases/tag/v0.6.4 - 2024-02-29

### Miscellaneous Tasks

- [primitives] Improve `from_slice` functions ([#546]https://github.com/alloy-rs/core/issues/546)

## [0.6.3]https://github.com/alloy-rs/core/releases/tag/v0.6.3 - 2024-02-15

### Dependencies

- [deps] Update some dependencies ([#522]https://github.com/alloy-rs/core/issues/522)

### Features

- [sol-macro] Provide a way to override import paths for dependencies ([#527]https://github.com/alloy-rs/core/issues/527)
- [sol-types] Constify type name formatting ([#520]https://github.com/alloy-rs/core/issues/520)
- [sol-macro] Add `#[sol(rpc)]` to generate type-safe provider contract calls ([#510]https://github.com/alloy-rs/core/issues/510)
- [sol-macro] Expand state variable getters in contracts ([#514]https://github.com/alloy-rs/core/issues/514)

### Miscellaneous Tasks

- [sol-macro] Tweak inline attributes in generated code ([#505]https://github.com/alloy-rs/core/issues/505)

### Performance

- [sol-macro] Use a lookup table when generating `SolInterface::abi_decode_raw` ([#508]https://github.com/alloy-rs/core/issues/508)
- [sol-macro] Use `binary_search` in `SolInterface::valid_selector` ([#506]https://github.com/alloy-rs/core/issues/506)

## [0.6.1]https://github.com/alloy-rs/core/releases/tag/v0.6.1 - 2024-01-25

### Features

- Add constructorCall to `sol!` ([#493]https://github.com/alloy-rs/core/issues/493)

### Miscellaneous Tasks

- Include path in error ([#486]https://github.com/alloy-rs/core/issues/486)

## [0.6.0]https://github.com/alloy-rs/core/releases/tag/v0.6.0 - 2024-01-10

### Miscellaneous Tasks

- Touch up UDVT expansion ([#473]https://github.com/alloy-rs/core/issues/473)
- Move define_udt! decl macro to sol! proc macro ([#471]https://github.com/alloy-rs/core/issues/471)

### Refactor

- Log implementation ([#465]https://github.com/alloy-rs/core/issues/465)

## [0.5.1]https://github.com/alloy-rs/core/releases/tag/v0.5.1 - 2023-11-30

### Bug Fixes

- Fix public leak ([#437]https://github.com/alloy-rs/core/issues/437)

## [0.5.0]https://github.com/alloy-rs/core/releases/tag/v0.5.0 - 2023-11-23

### Bug Fixes

- [sol-types] Many ABI coder fixes ([#434]https://github.com/alloy-rs/core/issues/434)
- [sol-macro] Handle outer attrs in abigen input ([#429]https://github.com/alloy-rs/core/issues/429)
- [sol-macro] Correctly print Custom types in parameters ([#425]https://github.com/alloy-rs/core/issues/425)
- [sol-types] Remove `SolType::ENCODED_SIZE` default ([#418]https://github.com/alloy-rs/core/issues/418)
- [syn-solidity] Raw keyword identifiers ([#415]https://github.com/alloy-rs/core/issues/415)
- Rust keyword conflict ([#405]https://github.com/alloy-rs/core/issues/405)
- Wrong as_u8 generated for enum ([#413]https://github.com/alloy-rs/core/issues/413)
- Avoid symlinks ([#396]https://github.com/alloy-rs/core/issues/396)
- Don't use directory symlinks ([#394]https://github.com/alloy-rs/core/issues/394)
- [sol-macro] Keep more attributes on contract module ([#391]https://github.com/alloy-rs/core/issues/391)
- [json-abi] `Param.ty` is not always a valid `TypeSpecifier` ([#386]https://github.com/alloy-rs/core/issues/386)
- [sol-macro] Bug fixes ([#372]https://github.com/alloy-rs/core/issues/372)
- [sol-macro] Correct `SolCall::abi_decode_returns` ([#367]https://github.com/alloy-rs/core/issues/367)

### Features

- [sol-macro] `SolEventInterface`: `SolInterface` for contract events enum ([#426]https://github.com/alloy-rs/core/issues/426)
- [sol-macro] Add `json-abi` item generation ([#422]https://github.com/alloy-rs/core/issues/422)
- [json-abi] Improve `JsonAbi::to_sol` ([#408]https://github.com/alloy-rs/core/issues/408)
- [sol-macro] Add definition doc to structs and enums ([#393]https://github.com/alloy-rs/core/issues/393)

### Miscellaneous Tasks

- Rename `TokenType` GAT and trait to `Token` ([#417]https://github.com/alloy-rs/core/issues/417)
- Remove dead code ([#416]https://github.com/alloy-rs/core/issues/416)
- Clean up ABI, EIP-712, docs ([#373]https://github.com/alloy-rs/core/issues/373)
- [sol-macro] Move generated docs below input attrs ([#363]https://github.com/alloy-rs/core/issues/363)

### Styling

- Update rustfmt config ([#406]https://github.com/alloy-rs/core/issues/406)

## [0.4.1]https://github.com/alloy-rs/core/releases/tag/v0.4.1 - 2023-10-09

### Bug Fixes

- [sol-macro] Flatten doc strings correctly ([#357]https://github.com/alloy-rs/core/issues/357)
- [json-abi] Fallback to tuple types for nested params in `to_sol` ([#354]https://github.com/alloy-rs/core/issues/354)
- [sol-macro] Dedup json abi items ([#346]https://github.com/alloy-rs/core/issues/346)
- [sol-macro] Remove extra 0x in function docs ([#341]https://github.com/alloy-rs/core/issues/341)
- [sol-macro] Pass attributes to all generated items ([#340]https://github.com/alloy-rs/core/issues/340)
- [syn-solidity] Set spans on generated struct names ([#336]https://github.com/alloy-rs/core/issues/336)

### Features

- [sol-macro] Add docs to generated contract modules ([#356]https://github.com/alloy-rs/core/issues/356)
- [json-abi] Deserialize more ContractObjects ([#348]https://github.com/alloy-rs/core/issues/348)
- [sol-macro] Improve error messages ([#345]https://github.com/alloy-rs/core/issues/345)
- [sol-types] Introduce `SolValue`, make `Encodable` an impl detail ([#333]https://github.com/alloy-rs/core/issues/333)
- [sol-macro] Improve generated docs ([#338]https://github.com/alloy-rs/core/issues/338)

## [0.4.0]https://github.com/alloy-rs/core/releases/tag/v0.4.0 - 2023-09-29

### Bug Fixes

- [sol-macro] Implement EventTopic for generated enums ([#320]https://github.com/alloy-rs/core/issues/320)
- Add super import on generated modules ([#307]https://github.com/alloy-rs/core/issues/307)
- Respect `all_derives = false`, fix custom type printing ([#272]https://github.com/alloy-rs/core/issues/272)

### Features

- [sol-macro] Add docs to generated items ([#321]https://github.com/alloy-rs/core/issues/321)
- [sol-macro] Add support for overloaded events ([#318]https://github.com/alloy-rs/core/issues/318)
- [sol-macro] Improve type expansion ([#302]https://github.com/alloy-rs/core/issues/302)
- [syn-solidity] Add more `Spanned` impls ([#301]https://github.com/alloy-rs/core/issues/301)
- Improve `SolError`, `SolInterface` structs and implementations ([#285]https://github.com/alloy-rs/core/issues/285)
- [sol-macro] Expand getter functions' return types ([#262]https://github.com/alloy-rs/core/issues/262)
- Add attributes to enum variants ([#264]https://github.com/alloy-rs/core/issues/264)
- [sol-macro] Expand fields with attrs ([#263]https://github.com/alloy-rs/core/issues/263)
- [syn-solidity] Improve variable getters generation ([#260]https://github.com/alloy-rs/core/issues/260)
- [sol-macro] Add opt-in attributes for extra methods and derives ([#250]https://github.com/alloy-rs/core/issues/250)

### Miscellaneous Tasks

- Prefix ABI encode and decode functions with `abi_` ([#311]https://github.com/alloy-rs/core/issues/311)
- Sync crate level attributes ([#303]https://github.com/alloy-rs/core/issues/303)
- Add missing `#[automatically_derived]` ([#294]https://github.com/alloy-rs/core/issues/294)
- Do not implement SolType for SolStruct generically ([#275]https://github.com/alloy-rs/core/issues/275)

### Performance

- Use `slice::Iter` where possible ([#256]https://github.com/alloy-rs/core/issues/256)

### Styling

- Some clippy lints ([#251]https://github.com/alloy-rs/core/issues/251)

## [0.3.2]https://github.com/alloy-rs/core/releases/tag/v0.3.2 - 2023-08-23

### Bug Fixes

- [sol-macro] Snake_case'd function names ([#226]https://github.com/alloy-rs/core/issues/226)
- [sol-macro] Encode UDVTs as their underlying type in EIP-712 ([#220]https://github.com/alloy-rs/core/issues/220)
- [sol-macro] Don't panic when encountering functions without names ([#217]https://github.com/alloy-rs/core/issues/217)

### Features

- Implement abi2sol ([#228]https://github.com/alloy-rs/core/issues/228)
- [syn-solidity] Add statements and expressions ([#199]https://github.com/alloy-rs/core/issues/199)
- Function type ([#224]https://github.com/alloy-rs/core/issues/224)
- [sol-macro] Expand getter functions for public state variables ([#218]https://github.com/alloy-rs/core/issues/218)

## [0.3.0]https://github.com/alloy-rs/core/releases/tag/v0.3.0 - 2023-07-26

### Bug Fixes

- Correct encodeType expansion for nested structs ([#203]https://github.com/alloy-rs/core/issues/203)
- Remove unused method body on solstruct ([#200]https://github.com/alloy-rs/core/issues/200)
- [sol-types] Empty data decode ([#159]https://github.com/alloy-rs/core/issues/159)

### Features

- [sol-macro] `#[sol]` attributes and JSON ABI support ([#173]https://github.com/alloy-rs/core/issues/173)
- [json-abi] Add more impls ([#164]https://github.com/alloy-rs/core/issues/164)
- `SolEnum` and `SolInterface` ([#153]https://github.com/alloy-rs/core/issues/153)

### Miscellaneous Tasks

- Warn on all rustdoc lints ([#154]https://github.com/alloy-rs/core/issues/154)
- Clean ups ([#150]https://github.com/alloy-rs/core/issues/150)
- Add smaller image for favicon ([#142]https://github.com/alloy-rs/core/issues/142)
- Move macro doctests to separate folder ([#140]https://github.com/alloy-rs/core/issues/140)

### Refactor

- Rename Sol*::Tuple to Parameters/Arguments  ([#145]https://github.com/alloy-rs/core/issues/145)
- Do not generate SolCall for return values ([#134]https://github.com/alloy-rs/core/issues/134)

## [0.2.0]https://github.com/alloy-rs/core/releases/tag/v0.2.0 - 2023-06-23

### Bug Fixes

- Remove to_rust from most traits ([#133]https://github.com/alloy-rs/core/issues/133)
- Fmt ([#130]https://github.com/alloy-rs/core/issues/130)

### Features

- Finish high-level Solidity parser ([#119]https://github.com/alloy-rs/core/issues/119)
- Compute encoded size statically where possible ([#105]https://github.com/alloy-rs/core/issues/105)
- Solidity events support ([#83]https://github.com/alloy-rs/core/issues/83)
- `sol!` contracts ([#77]https://github.com/alloy-rs/core/issues/77)
- Syn-solidity visitors ([#68]https://github.com/alloy-rs/core/issues/68)
- Move Solidity syn AST to `syn-solidity` ([#63]https://github.com/alloy-rs/core/issues/63)
- Support function overloading in `sol!` ([#53]https://github.com/alloy-rs/core/issues/53)
- Primitive utils and improvements ([#52]https://github.com/alloy-rs/core/issues/52)

### Miscellaneous Tasks

- Add logo to all crates, add @gakonst to CODEOWNERS ([#138]https://github.com/alloy-rs/core/issues/138)
- Typo fix ([#129]https://github.com/alloy-rs/core/issues/129)
- Rename to Alloy ([#69]https://github.com/alloy-rs/core/issues/69)
- Enable `feature(doc_cfg, doc_auto_cfg)` ([#67]https://github.com/alloy-rs/core/issues/67)
- Remove syn "full" feature ([#66]https://github.com/alloy-rs/core/issues/66)
- Rename crates ([#45]https://github.com/alloy-rs/core/issues/45)

### Other

- Release 0.2.0 ([#139]https://github.com/alloy-rs/core/issues/139)

### Refactor

- Lifetimes for token types ([#120]https://github.com/alloy-rs/core/issues/120)
- Sol-macro expansion ([#113]https://github.com/alloy-rs/core/issues/113)
- `sol!` AST and macro expansion ([#61]https://github.com/alloy-rs/core/issues/61)

[`dyn-abi`]: https://crates.io/crates/alloy-dyn-abi
[dyn-abi]: https://crates.io/crates/alloy-dyn-abi
[`json-abi`]: https://crates.io/crates/alloy-json-abi
[json-abi]: https://crates.io/crates/alloy-json-abi
[`primitives`]: https://crates.io/crates/alloy-primitives
[primitives]: https://crates.io/crates/alloy-primitives
[`sol-macro`]: https://crates.io/crates/alloy-sol-macro
[sol-macro]: https://crates.io/crates/alloy-sol-macro
[`sol-type-parser`]: https://crates.io/crates/alloy-sol-type-parser
[sol-type-parser]: https://crates.io/crates/alloy-sol-type-parser
[`sol-types`]: https://crates.io/crates/alloy-sol-types
[sol-types]: https://crates.io/crates/alloy-sol-types
[`syn-solidity`]: https://crates.io/crates/syn-solidity
[syn-solidity]: https://crates.io/crates/syn-solidity

<!-- generated by git-cliff -->