Type-safe contract write calls (eth_sendTransaction).
Build a write call, encode it for the JS port, optionally estimate gas first.
-- Non-payable: approve
approve : Address -> BigInt -> WriteCall
approve spender amount =
writeCall
{ contract = tokenAddress
, method = "approve"
, args = [ Encode.address spender, Encode.uint256 amount ]
}
-- Payable: buy
buy : BigInt -> Wei -> WriteCall
buy minTokens value =
payableCall
{ contract = routerAddress
, method = "buy"
, args = [ Encode.uint256 minTokens ]
, value = value
}Create a non-payable write call.
Create a payable write call with a value.
Set a gas limit.
Encode a write call as an estimateGas command for the JS port.
estimateGas myWriteCall
-- sends { tag: "estimateGas", contract: ..., method: ..., args: ..., value: ... }
-- JS responds with { tag: "gasEstimate", gas: "21000" }Encode a contract deployment for submission via the port.
Encode a raw signed transaction for broadcast via the port.
A write call to a contract.