... | ... | @@ -13,8 +13,8 @@ Copy类操作指的是在EVM中进行不定长的一段数据数据拷贝,例 |
|
|
- RETURNDATACOPY
|
|
|
- LOG
|
|
|
- 调用开始(开始处理一笔交易或者CALL)时,CALLDATA要被写入STATE子电路所维持的状态中。分为两种:
|
|
|
- CALLDATA_FROMPUBLIC 外界(交易、公开数据)的CALLDATA输入
|
|
|
- CALLDATA_FROMCALL 合约调用另一个合约的CALLDATA输入
|
|
|
- CALLDATA_FROMPUBLIC: 外界(交易、公开数据)的CALLDATA输入
|
|
|
- CALLDATA_FROMCALL: 合约调用另一个合约的CALLDATA输入
|
|
|
|
|
|
## 设计
|
|
|
|
... | ... | @@ -50,6 +50,7 @@ pub struct Row { |
|
|
```
|
|
|
|
|
|
例子:CODECOPY,从bytecode拷贝到memory。例子里长度为8,被拷贝的数据为0xabcd......见下表。
|
|
|
|
|
|
| byte | src type | dst type | src id | src pointer | src stamp | dst id | dst pointer | dst stamp | cnt | len |
|
|
|
|------|------------|----------|---------------|-------------|-----------|--------|---------------|------------|-----|-----|
|
|
|
| 0xab | bytecode=5 | memory=0 | contract addr | some offset | nil | callid | some mem addr | some stamp | 0 | 8 |
|
... | ... | |