hara.runtime.solidity

create-module-entry

added in 4.0

(create-module-entry rt m & [refresh])

creates a compiled module contract entry

create-pointer-entry

added in 4.0

(create-pointer-entry rt ptr & [refresh])

creates a pointer entry

exec-rt-web3

added in 4.0

(exec-rt-web3 rt f)

helper function for executing a command via node

rt-get-caller-address

added in 4.0

(rt-get-caller-address & [rt])

gets the caller address

rt-get-caller-private-key

added in 4.0

(rt-get-caller-private-key & [rt])

gets the caller private-key

rt-get-contract

added in 4.0

(rt-get-contract & [address rt])

gets the current contract

rt-get-contract-address

added in 4.0

(rt-get-contract-address & [rt])

gets the current contract address

rt-get-id

added in 4.0

(rt-get-id & [rt])

gets the rt node id

rt-get-node

added in 4.0

(rt-get-node & [rt])

gets the node runtime

rt-set-contract

added in 4.0

(rt-set-contract address m & [rt])

sets the compiled contract

rt-web3

added in 4.0

(rt-web3 {:keys [id lang], :as m})

creates an starts a runtime

rt-web3:create

added in 4.0

(rt-web3:create {:keys [id lang], :as m})

creates a runtime

rt:bytecode-size

added in 4.0

(rt:bytecode-size & [input refresh rt])

gets the bytecode size

rt:contract

added in 4.0

(rt:contract & [input refresh rt])

gets the contract

rt:deploy

added in 4.0

(rt:deploy & [m rt])

deploys current namespace as contract

rt:deploy-ptr

added in 4.0

(rt:deploy-ptr ptr & [rt])

deploys a ptr a contract

rt:node-eval

added in 4.0

(rt:node-eval form & [rt])

evaluates a form in the node runtime

rt:node-get-balance

added in 4.0

(rt:node-get-balance & [address rt])

gets the current balance

rt:node-get-block-number

added in 4.0

(rt:node-get-block-number & [rt])

gets the current block number

(compile-node/rt:node-get-block-number) => number?

rt:node-past-events

added in 4.0

(rt:node-past-events name & [opts address rt])

gets past events

###_(compile-node/rt:node-past-events) => vector?

rt:node-ping

added in 4.0

(rt:node-ping & [rt])

pings the node

rt:print

added in 4.0

(rt:print & [m no-lines])

prints out the contract

rt:send-wei

added in 4.0

(rt:send-wei to-address amount & [rt])

sends wei to another address

start-hardhat-server

added in 4.0

(start-hardhat-server)

starts the hardhat service

start-web3

added in 4.0

(start-web3 {:keys [id lang config], :as rt})

starts the solidity rt

stop-hardhat-server

added in 4.0

(stop-hardhat-server)

stops the hardhat service

stop-web3

added in 4.0

(stop-web3 {:keys [id lang bench container], :as rt})

stops the solidity rt

with:caller-address

macro

added in 4.0

(with:caller-address [address] & body)

overrides caller address

with:caller-payment

macro

added in 4.0

(with:caller-payment [payment] & body)

overrides the caller payment

with:caller-private-key

macro

added in 4.0

(with:caller-private-key [private-key] & body)

overrides caller private key

with:clean

macro

added in 4.0

(with:clean [clean] & body)

with clean flag

with:closed-methods

macro

added in 4.0

(with:closed-methods & body)

turns off the open methods flag

with:contract-address

macro

added in 4.0

(with:contract-address [address] & body)

overrides contract address

with:gas-limit

macro

added in 4.0

(with:gas-limit [gas-limit] & body)

sets the gas limit

with:measure

macro

added in 4.0

(with:measure & body)

measures balance change before and after call

with:open-methods

macro

added in 4.0

(with:open-methods & body)

forces the open methods flag

with:params

macro

added in 4.0

(with:params {:keys [clean url contract-address caller-address caller-private-key caller-payment gas-limit temp stringify open-methods suppress-errors]} & body)

overrides all parameters

with:stringify

macro

added in 4.0

(with:stringify & body)

stringifies the output

with:suppress-errors

macro

added in 4.0

(with:suppress-errors & body)

suppresses printing of errors

with:temp

macro

added in 4.0

(with:temp & body)

deploy and run temp contract

with:url

macro

added in 4.0

(with:url [url] & body)

overrides api url