Updated to latest spec
This commit is contained in:
parent
a77ee65615
commit
56ed635bb2
|
@ -9,13 +9,13 @@ proc useGas*(amount: int64)
|
||||||
## `amount` - the amount to subtract to the gas counter
|
## `amount` - the amount to subtract to the gas counter
|
||||||
|
|
||||||
proc getAddress*(resultOffset: pointer)
|
proc getAddress*(resultOffset: pointer)
|
||||||
## Gets address of currently executing account and loads it into memory at
|
## Gets address of currently executing account and stores it in memory at
|
||||||
## the given offset.
|
## the given offset.
|
||||||
##
|
##
|
||||||
## Parameters:
|
## Parameters:
|
||||||
## `resultOffset` the memory offset to load the address into (`address`)
|
## `resultOffset` the memory offset at which the address is to be stored (`address`)
|
||||||
|
|
||||||
proc getBalance*(addressOffset, resultOffset: pointer)
|
proc getExternalBalance*(addressOffset, resultOffset: pointer)
|
||||||
## Gets balance of the given account and loads it into memory at the given offset.
|
## Gets balance of the given account and loads it into memory at the given offset.
|
||||||
##
|
##
|
||||||
## Parameters:
|
## Parameters:
|
||||||
|
@ -213,9 +213,9 @@ proc getTxOrigin*(resultOffset: pointer)
|
||||||
## Parameters:
|
## Parameters:
|
||||||
## `resultOffset` the memory offset to load the origin address from (`address`)
|
## `resultOffset` the memory offset to load the origin address from (`address`)
|
||||||
|
|
||||||
proc ret*(dataOffset: pointer, length: int32) {.
|
proc finish*(dataOffset: pointer, length: int32) {.noreturn.}
|
||||||
importc: "retAux", codegenDecl: "$# $#$# __asm__(\"return\")".}
|
## Set the returning output data for the execution. This will cause a trap and
|
||||||
## Set the returning output data for the execution.
|
## the execution will be aborted immediately.
|
||||||
##
|
##
|
||||||
## Note: multiple invocations will overwrite the previous data.
|
## Note: multiple invocations will overwrite the previous data.
|
||||||
##
|
##
|
||||||
|
@ -223,8 +223,9 @@ proc ret*(dataOffset: pointer, length: int32) {.
|
||||||
## `dataOffset` the memory offset of the output data (`bytes`)
|
## `dataOffset` the memory offset of the output data (`bytes`)
|
||||||
## `length` the length of the output data
|
## `length` the length of the output data
|
||||||
|
|
||||||
proc revert*(dataOffset: pointer, length: int32)
|
proc revert*(dataOffset: pointer, length: int32) {.noreturn.}
|
||||||
## Set the returning output data for the execution.
|
## Set the returning output data for the execution. This will cause a trap and
|
||||||
|
## the execution will be aborted immediately.
|
||||||
##
|
##
|
||||||
## Note: multiple invocations will overwrite the previous data.
|
## Note: multiple invocations will overwrite the previous data.
|
||||||
##
|
##
|
||||||
|
@ -252,11 +253,8 @@ proc returnDataCopy*(resultOffset: pointer, dataOffset, length: int32)
|
||||||
|
|
||||||
proc selfDestruct*(addressOffset: pointer)
|
proc selfDestruct*(addressOffset: pointer)
|
||||||
## Mark account for later deletion and give the remaining balance to the specified
|
## Mark account for later deletion and give the remaining balance to the specified
|
||||||
## beneficiary address. This takes effect once the contract execution terminates.
|
## beneficiary address. This will cause a trap and the execution will be aborted
|
||||||
##
|
## immediately.
|
||||||
## Note: multiple invocations will overwrite the benficiary address.
|
|
||||||
##
|
|
||||||
## Note: the contract **shall** halt execution after this call.
|
|
||||||
##
|
##
|
||||||
## Parameters:
|
## Parameters:
|
||||||
## `addressOffset` the memory offset to load the address from (`address`)
|
## `addressOffset` the memory offset to load the address from (`address`)
|
||||||
|
|
|
@ -12,7 +12,7 @@ proc do_balance() =
|
||||||
|
|
||||||
var balance: array[32, byte]
|
var balance: array[32, byte]
|
||||||
storageLoad(address, addr balance)
|
storageLoad(address, addr balance)
|
||||||
ret(addr balance, sizeof(balance).int32)
|
finish(addr balance, sizeof(balance).int32)
|
||||||
|
|
||||||
proc do_transfer() =
|
proc do_transfer() =
|
||||||
if getCallDataSize() != 32:
|
if getCallDataSize() != 32:
|
||||||
|
|
Loading…
Reference in New Issue