Add SSTORE definition
This commit is contained in:
parent
86929c7dc8
commit
800a8a526f
@ -128,7 +128,9 @@ let step te cs =
|
|||||||
| (MSTORE, p::v::stack') -> Next (Exec(((gas-1, pc+1, update mem p v, stack'), (actor, input, code), gs)::ps))
|
| (MSTORE, p::v::stack') -> Next (Exec(((gas-1, pc+1, update mem p v, stack'), (actor, input, code), gs)::ps))
|
||||||
| (MLOAD, p::stack') -> let v = (mem p) in
|
| (MLOAD, p::stack') -> let v = (mem p) in
|
||||||
Next (Exec(((gas-1, pc+1, mem, v::stack'), (actor, input, code), gs') :: ps))
|
Next (Exec(((gas-1, pc+1, mem, v::stack'), (actor, input, code), gs') :: ps))
|
||||||
| (SSTORE, p::v::stack') -> magic ()
|
| (SSTORE, p::v::stack') -> let acc = (let (bal, stor, code) = gs actor in (bal, update stor p v, code)) in
|
||||||
|
let gs' = update gs actor acc in
|
||||||
|
Next (Exec(((gas-1, pc+1, mem, stack'), (actor, input, code), gs') :: ps))
|
||||||
| (SLOAD, v::stack') -> Next (Exec(((gas-1, pc+1, mem, (let (bal, stor, code) = gs actor in stor v)::stack'), (actor, input, code), gs)::ps))
|
| (SLOAD, v::stack') -> Next (Exec(((gas-1, pc+1, mem, (let (bal, stor, code) = gs actor in stor v)::stack'), (actor, input, code), gs)::ps))
|
||||||
| (BALANCE, a::stack') -> magic ()
|
| (BALANCE, a::stack') -> magic ()
|
||||||
| (ADDRESS, stack') -> Next (Exec(((gas-1, pc+1, mem, actor::stack'), (actor, input, code), gs)::ps))
|
| (ADDRESS, stack') -> Next (Exec(((gas-1, pc+1, mem, actor::stack'), (actor, input, code), gs)::ps))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user