@@ -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.
198198These 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 ();
203206let 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
222225use evm_glue :: assembly :: Asm :: * ;
223226
224- let runtime_bytecode : Vec <u8 > = /* some bytecode */ ;
227+ let runtime_bytecode : Vec <u8 > = vec! [ 0x00 ] ;
225228
226229let asm = vec! [
227230 Data (runtime_bytecode . clone ())
@@ -233,7 +236,7 @@ let asm = vec![
233236You 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
238241let asm = vec! [
239242 data! (" 0283" )
0 commit comments