Skip to content

Commit ab9538f

Browse files
committed
📝 Fix doctests
1 parent 24ddb16 commit ab9538f

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

README.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn main() {
3535

3636
let empty_revert = runtime_marks.next();
3737

38-
let runtime = vec![
38+
let mut runtime = vec![
3939
// Load x, y
4040
Op(PUSH0),
4141
Op(CALLDATALOAD), // x
@@ -63,13 +63,13 @@ fn main() {
6363
Op(REVERT),
6464
];
6565

66-
let runtime_bytecode = assemble_full(&runtime, true).unwrap();
66+
let runtime_bytecode = assemble_full(&mut runtime, true).unwrap();
6767

6868
let mut deploy_marks = MarkTracker::new();
6969
let runtime_start = deploy_marks.next();
7070
let runtime_end = deploy_marks.next();
7171

72-
let deploy = vec![
72+
let mut deploy = vec![
7373
// Constructor
7474
Asm::delta_ref(runtime_start, runtime_end), // rt_size
7575
Op(DUP1), // rt_size, rt_size
@@ -86,7 +86,7 @@ fn main() {
8686
Asm::padded_back(32, vec![data!("49203c3320796f75203a29")]),
8787
];
8888

89-
let deploy_bytecode = assemble_full(&deploy, true).unwrap();
89+
let deploy_bytecode = assemble_full(&mut deploy, true).unwrap();
9090

9191
println!("runtime bytecode: {}", hex::encode(runtime_bytecode));
9292
println!("deploy bytecode: {}", hex::encode(deploy_bytecode));
@@ -129,7 +129,7 @@ let asm = vec![
129129
Op(CALLDATALOAD),
130130
Op(DUP2),
131131
Op(PUSH5(hex!("0000138302"))),
132-
]
132+
];
133133
```
134134

135135
### Marks & References
@@ -198,14 +198,17 @@ tables.
198198
These also have helpers:
199199

200200
```rust
201-
use evm_glue::assembly::Asm;
201+
use evm_glue::{assembly::Asm, utils::MarkTracker};
202202

203+
let mut deploy_marks = MarkTracker::new();
204+
let runtime_start = deploy_marks.next();
205+
let runtime_end = deploy_marks.next();
203206
let asm = vec![
204207
Asm::delta_ref(runtime_start, runtime_end), // Pushed delta reference
205208
// ...,
206209
Asm::mref(runtime_start), // Pushed direct reference
207210
// ...,
208-
Asm::mark(runtime_start),
211+
Asm::Mark(runtime_start),
209212
];
210213
```
211214

@@ -221,7 +224,7 @@ To insert a byte stream (`Vec<u8>`) as data you can use the `Asm::Data` enum mem
221224
```rust
222225
use evm_glue::assembly::Asm::*;
223226

224-
let runtime_bytecode: Vec<u8> = /* some bytecode */;
227+
let runtime_bytecode: Vec<u8> = vec![0x00];
225228

226229
let asm = vec![
227230
Data(runtime_bytecode.clone())
@@ -233,7 +236,7 @@ let asm = vec![
233236
You can use the `evm_glue::data` macro to directly specify a hex literal as data:
234237

235238
```rust
236-
use evm_glue::data;
239+
use evm_glue::{data, assembly::Asm};
237240

238241
let asm = vec![
239242
data!("0283")

src/assembly.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ macro_rules! evm_asm {
267267
/// let runtime_macro = evm_asm!(
268268
/// // Load x, y
269269
/// VAR push0_var,
270-
/// CALLDATALOAD,
270+
/// CALLDATALOAD, // x
271271
/// PUSH1(hex!("20")),
272272
/// CALLDATALOAD, // x, y
273273
/// // Add and check for overflow
@@ -300,8 +300,8 @@ macro_rules! evm_asm_vec {
300300
$res.push(Asm::Mark($expr));
301301
evm_asm_vec!($res; $($($rest)*)?);
302302
};
303-
($res:ident; Data($expr:expr) $(, $($rest:tt)*)?) => {
304-
$res.push(data!($expr));
303+
($res:ident; Data($lit:literal) $(, $($rest:tt)*)?) => {
304+
$res.push(data!($lit));
305305
evm_asm_vec!($res; $($($rest)*)?);
306306
};
307307
($res:ident; PaddedBlock { $a:expr, $b:expr, $c:expr, $d: expr } $(, $($rest:tt)*)?) => {

0 commit comments

Comments
 (0)