Skip to content

Commit a4ea2ca

Browse files
committed
EEI: support getReturnDataSize and returnDataCopy
1 parent 47be968 commit a4ea2ca

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

eth_interface.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,8 @@ Creates a new contract with a given value.
271271
- `length` **i32** the data length
272272
- `resultOffset` **i32ptr** the memory offset to write the new contract address to (`address`)
273273

274+
*Note*: `create` will clear the return buffer in case of success or may fill it with data coming from `revert`.
275+
274276
**Returns**
275277

276278
`result` **i32** Returns 1 or 0 depending on if the VM trapped on the message or not
@@ -424,6 +426,38 @@ Set the returning output data for the execution.
424426

425427
*nothing*
426428

429+
## getReturnDataSize
430+
431+
Get size of current return data buffer to memory. This contains the return data
432+
from the last executed `call`, `callCode`, `callDelegate`, `callStatic` or `create`.
433+
434+
*Note*: `create` only fills the return data buffer in case of a failure.
435+
436+
**Parameters**
437+
438+
*none*
439+
440+
**Returns**
441+
442+
`dataSize` **i32**
443+
444+
## returnDataCopy
445+
446+
Copies the current return data buffer to memory. This contains the return data
447+
from last executed `call`, `callCode`, `callDelegate`, `callStatic` or `create`.
448+
449+
*Note*: `create` only fills the return data buffer in case of a failure.
450+
451+
**Parameters**
452+
453+
- `resultOffset` **i32ptr** the memory offset to load data into (`bytes`)
454+
- `dataOffset` **i32** the offset in the return data
455+
- `length` **i32** the length of data to copy
456+
457+
**Returns**
458+
459+
*nothing*
460+
427461
## selfDestruct
428462

429463
Mark account for later deletion and give the remaining balance to the specified

0 commit comments

Comments
 (0)