openethereum/js/src/jsonrpc/interfaces/eth.js
Jaco Greeff 1e6a2cb378 Initial new UI source code import (#2607)
* address -> name mappings

* expanding, loading all coin details

* send use only actual BasicCoin tokens registered (any reg)

* sending token & accounts

* form styling updates

* send form layout in place

* coin send working as expected

* api subscriptions on multiple addresses

* bring in events

* simplify

* basic events display in-place, functionally complete

* basic functionality in-place

* fix horrible event address issue

* rwork display of events slightly

* test TLA availability

* table for owner -> tokens

* fix signature lookup address

* fix signature lookup address

* basic overview styling

* txhash links

* page layout adjustments

* background import

* adjust colors

* no global registration, simplify color selection

* updated styling

* connection dialog for "busy connecting"

* initial token connection - WIP

* init token updates take place

* basic test for manual token

* rework connection display

* allow updates of the secure token

* first stab at making the build build

* update runner tags

* fix linting issues

* skip tests requiring network (should be e2e, TODO)

* re-enable javascript tag/runner

* release push does the trick

* push to any branch, CI name

* javscript-test runner as well

* swap dependencies build requires test

* revert stages swap

* retrieve images associated with tokens

* remove js build deps order

* null image when hash = 0x0

* 6x64 images (hashes for registries)

* don't pass tokens as prop to IdentityIcon

* check images against content hash pictures

* cleanup signer after connection changes

* fix naming typo

* display unknownImages for balances (not available as content hash)

* unknownImage for transfer dialog

* basic githubhint layout

* single input for commit/filename

* ethcore_hashContent call

* lookup hash

* registration in place

* fixes

* events is using a proper table

* pass value through as-is

* stop wrongly using main app IdentityIcon

* NEVER export class instance functions

* alignment back to normal

* typo  in definition

* set & get images working (mostly)

* show content retrieval info

* set exitcode via ||

* use javascript:latest images

* disable npm progress bar

* rename phase I

* rename phase II

* only send build output to GitHub on major branches

* also run the build step as part of the test (until comprehensive)

* ci-specific build (no webpack progress)

* allow for account creation via recovery phrase

* display account uuid (where available), closes #2546

* connection dialog now shows up in dapps as well, closes #2538

* token images show up as expected

* IdentityName component added and deployed

* fix padding tests

* adjust tests to map to stricter 0x-prefixed hex

* render names via common component for the address -> name

* split lint into seperate script (early exit)

* test phases changed to lint, test & pack

* pack part of test phase

* remove files marked for deletion (cleanup)

* Signer cleanups, start moving in the direction of the rest

* add personal signer methods

* basic signer request subscription

* don't poll blockNumber when not connected

* missing return, creating massive ws queue backlogs

* ΞTH -> ETH

* fix failing tests

* registry uses setAddress to actually set addresses now

* bytes mapping operates on lowerCase hex strings

* sha3 ids for each application

* add dappreg to list of contracts

* adjust alignment of queries

* show gas estimation log

* abi with payable for register function

* add key as required

* image retrieval from dappreg

* use proper Image urls

* embed and link apps from Parity, retrieved via /api/apps

* filter apps that has been replaced

* proxy entry for parity-utils

* add basiccoin abi

* add support for fallback abi type

* capture constructor paramaters

* merge master into js

* move images to assets/images/

* add font assets

* import fonts as part of build

* don't inline woff files

* Revert "merge master into js"

This reverts commit cfcfa81bd26f1b3cbc748d3afa1eb5c670b363fe.

* remove unused npm packages

* information on gas estimates (like almost everywhere else)

* don't pass gas & gasPrice to estimation

* display account passwordhint when available

* signer subscriptions based on polling & function trapping

* pending requests retrieved via jsapi

* update signer middleware

* remove all web3 instances

* remove web3 package

* last web3 dependencies removed

* no need to toChecksumAddress - api takes care of it

* expand description for personal_confirmRequest

* Signer conversion from web3 -> parity.js completed

* explicit in no return

* green circle background

* remove generated background

* convert /api/* paths to localhost:8080/api/* paths (hard-coded, temporary)

* change dapps to load from localhost:8080/ui/*

* remove dangling web3 files

* update manager test for signer

* /api/ping -> /

* additional token images

* additional token images

* add missing styles.css for 8180 error pages

* cater for txhash returning null/empty object

* adjust output directories

* Release merge with origin with ours strategy

* additional token images

* cater for development server

* s/localhost/127.0.0.1/ (cater for origin)

* Fix address selection for contract deployment

* Adjust z-index for error overlay

* better text on unique background pattern

* fix signer rejections

* Don't allow gavcoin transfer with no balance

* fix txhash rendering in signer

* remove unnecessary ParityBackground

* script to update js-precompiled

* Redirect from :8080 to :8180

* Remove extra return

* Dapp logo images
2016-10-18 11:52:56 +02:00

1045 lines
28 KiB
JavaScript

// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
import { Address, BlockNumber, Data, Hash, Quantity } from '../types';
export default {
accounts: {
desc: 'Returns a list of addresses owned by client.',
params: [],
returns: {
type: Array,
desc: '20 Bytes - addresses owned by the client'
}
},
blockNumber: {
desc: 'Returns the number of most recent block.',
params: [],
returns: {
type: Quantity,
desc: 'integer of the current block number the client is on'
}
},
call: {
desc: 'Executes a new message call immediately without creating a transaction on the block chain.',
params: [
{
type: Object,
desc: 'The transaction call object',
format: 'inputCallFormatter',
details: {
from: {
type: Address,
desc: '20 Bytes - The address the transaction is send from',
optional: true
},
to: {
type: Address,
desc: '20 Bytes - The address the transaction is directed to'
},
gas: {
type: Quantity,
desc: 'Integer of the gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions',
optional: true
},
gasPrice: {
type: Quantity,
desc: 'Integer of the gasPrice used for each paid gas',
optional: true
},
value: {
type: Quantity,
desc: 'Integer of the value send with this transaction',
optional: true
},
data: {
type: Data,
desc: 'Hash of the method signature and encoded parameters. For details see [Ethereum Contract ABI](https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI)',
optional: true
}
}
},
{
type: BlockNumber,
desc: 'integer block number, or the string `\'latest\'`, `\'earliest\'` or `\'pending\'`, see the [default block parameter](#the-default-block-parameter)',
format: 'inputDefaultBlockNumberFormatter'
}
],
returns: {
type: Data,
desc: 'the return value of executed contract'
}
},
checkRequest: {
desc: 'Returns the transactionhash of the requestId (received from eth_postTransaction) if the request was confirmed',
params: [
{
type: Quantity,
desc: 'The requestId to check for'
}
],
returns: {
type: Hash,
desc: '32 Bytes - the transaction hash, or the zero hash if the transaction is not yet available'
}
},
coinbase: {
desc: 'Returns the client coinbase address.',
params: [],
returns: {
type: Address,
desc: 'The current coinbase address'
}
},
compileSerpent: {
desc: 'Returns compiled serpent code.',
params: [
{
type: String,
desc: 'The source code'
}
],
returns: {
type: Data,
desc: 'The compiled source code'
}
},
compileSolidity: {
desc: 'Returns compiled solidity code.',
params: [
{
type: String,
desc: 'The source code'
}
],
returns: {
type: Data,
desc: 'The compiled source code'
}
},
compileLLL: {
desc: 'Returns compiled LLL code.',
params: [
{
type: String,
desc: 'The source code'
}
],
returns: {
type: Data,
desc: 'The compiled source code'
}
},
estimateGas: {
desc: 'Makes a call or transaction, which won\'t be added to the blockchain and returns the used gas, which can be used for estimating the used gas.',
params: [
{
type: Object,
desc: 'see [eth_sendTransaction](#eth_sendTransaction)',
format: 'inputCallFormatter'
}
],
returns: {
type: Quantity,
desc: 'The amount of gas used',
format: 'utils.toDecimal'
}
},
fetchQueuedTransactions: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
flush: {
desc: '?',
params: [],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
gasPrice: {
desc: 'Returns the current price per gas in wei.',
params: [],
returns: {
type: Quantity,
desc: 'integer of the current gas price in wei'
}
},
getBalance: {
desc: 'Returns the balance of the account of given address.',
params: [
{
type: Address,
desc: '20 Bytes - address to check for balance',
format: 'inputAddressFormatter'
},
{
type: BlockNumber,
desc: 'integer block number, or the string `\'latest\'`, `\'earliest\'` or `\'pending\'`, see the [default block parameter](#the-default-block-parameter)',
format: 'inputDefaultBlockNumberFormatter'
}
],
returns: {
type: Quantity,
desc: 'integer of the current balance in wei',
format: 'outputBigNumberFormatter'
}
},
getBlockByHash: {
desc: 'Returns information about a block by hash.',
params: [
{
type: Hash,
desc: 'Hash of a block'
},
{
type: Boolean,
desc: 'If `true` it returns the full transaction objects, if `false` only the hashes of the transactions'
}
],
returns: {
type: Object,
desc: 'A block object, or `null` when no block was found',
details: {
number: {
type: Quantity,
desc: 'The block number. `null` when its pending block'
},
hash: {
type: Hash,
desc: '32 Bytes - hash of the block. `null` when its pending block'
},
parentHash: {
type: Hash,
desc: '32 Bytes - hash of the parent block'
},
nonce: {
type: Data,
desc: '8 Bytes - hash of the generated proof-of-work. `null` when its pending block'
},
sha3Uncles: {
type: Data,
desc: '32 Bytes - SHA3 of the uncles data in the block'
},
logsBloom: {
type: Data,
desc: '256 Bytes - the bloom filter for the logs of the block. `null` when its pending block'
},
transactionsRoot: {
type: Data,
desc: '32 Bytes - the root of the transaction trie of the block'
},
stateRoot: {
type: Data,
desc: '32 Bytes - the root of the final state trie of the block'
},
receiptsRoot: {
type: Data, desc: '32 Bytes - the root of the receipts trie of the block'
},
miner: {
type: Address,
desc: '20 Bytes - the address of the beneficiary to whom the mining rewards were given'
},
difficulty: {
type: Quantity,
desc: 'integer of the difficulty for this block'
},
totalDifficulty: {
type: Quantity,
desc: 'integer of the total difficulty of the chain until this block'
},
extraData: {
type: Data,
desc: 'the \'extra data\' field of this block'
},
size: {
type: Quantity,
desc: 'integer the size of this block in bytes'
},
gasLimit: {
type: Quantity,
desc: 'the maximum gas allowed in this block'
},
gasUsed: {
type: Quantity,
desc: 'the total used gas by all transactions in this block'
},
timestamp: {
type: Quantity,
desc: 'the unix timestamp for when the block was collated'
},
transactions: {
type: Array,
desc: 'Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter'
},
uncles: {
type: Array,
desc: 'Array of uncle hashes'
}
}
}
},
getBlockByNumber: {
desc: 'Returns information about a block by block number.',
params: [
{
type: BlockNumber,
desc: 'integer of a block number, or the string `\'earliest\'`, `\'latest\'` or `\'pending\'`, as in the [default block parameter](#the-default-block-parameter)'
},
{
type: Boolean,
desc: 'If `true` it returns the full transaction objects, if `false` only the hashes of the transactions'
}
],
returns: 'See [eth_getBlockByHash](#eth_getblockbyhash)'
},
getBlockTransactionCountByHash: {
desc: 'Returns the number of transactions in a block from a block matching the given block hash.',
params: [
{
type: Hash,
desc: '32 Bytes - hash of a block'
}
],
returns: {
type: Quantity,
desc: 'integer of the number of transactions in this block'
}
},
getBlockTransactionCountByNumber: {
desc: 'Returns the number of transactions in a block from a block matching the given block number.',
params: [
{
type: BlockNumber,
desc: 'integer of a block number, or the string `\'earliest\'`, `\'latest\'` or `\'pending\'`, as in the [default block parameter](#the-default-block-parameter)'
}
],
returns: {
type: Quantity,
desc: 'integer of the number of transactions in this block'
}
},
getCode: {
desc: 'Returns code at a given address.',
params: [
{
type: Address,
desc: '20 Bytes - address',
format: 'inputAddressFormatter'
},
{
type: BlockNumber,
desc: 'integer block number, or the string `\'latest\'`, `\'earliest\'` or `\'pending\'`, see the [default block parameter](#the-default-block-parameter)',
format: 'inputDefaultBlockNumberFormatter'
}
],
returns: {
type: Data,
desc: 'the code from the given address'
}
},
getCompilers: {
desc: 'Returns a list of available compilers in the client.',
params: [],
returns: {
type: Array,
desc: 'Array of available compilers'
}
},
getFilterChanges: {
desc: 'Polling method for a filter, which returns an array of logs which occurred since last poll.',
params: [
{
type: Quantity,
desc: 'The filter id'
}
],
returns: {
type: Array,
desc: 'Array of log objects, or an empty array if nothing has changed since last poll'
}
},
getFilterChangesEx: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
getFilterLogs: {
desc: 'Returns an array of all logs matching filter with given id.',
params: [
{
type: Quantity,
desc: 'The filter id'
}
],
returns: 'See [eth_getFilterChanges](#eth_getfilterchanges)'
},
getFilterLogsEx: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
getLogs: {
desc: 'Returns an array of all logs matching a given filter object.',
params: [
{
type: Object,
desc: 'The filter object, see [eth_newFilter parameters](#eth_newfilter)'
}
],
returns: 'See [eth_getFilterChanges](#eth_getfilterchanges)'
},
getLogsEx: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
getStorageAt: {
desc: 'Returns the value from a storage position at a given address.',
params: [
{
type: Address,
desc: '20 Bytes - address of the storage'
},
{
type: Quantity,
desc: 'integer of the position in the storage',
format: 'utils.toHex'
},
{
type: BlockNumber,
desc: 'integer block number, or the string `\'latest\'`, `\'earliest\'` or `\'pending\'`, see the [default block parameter](#the-default-block-parameter)',
format: 'inputDefaultBlockNumberFormatter'
}
],
returns: {
type: Data,
desc: 'the value at this storage position'
}
},
getTransactionByHash: {
desc: 'Returns the information about a transaction requested by transaction hash.',
params: [
{
type: Hash,
desc: '32 Bytes - hash of a transaction'
}
],
returns: {
type: Object,
desc: 'A transaction object, or `null` when no transaction was found:',
format: 'outputTransactionFormatter',
details: {
hash: {
type: Hash,
desc: '32 Bytes - hash of the transaction.'
},
nonce: {
type: Quantity,
desc: 'the number of transactions made by the sender prior to this one.'
},
blockHash: {
type: Hash,
desc: '32 Bytes - hash of the block where this transaction was in. `null` when its pending.'
},
blockNumber: {
type: BlockNumber,
desc: 'block number where this transaction was in. `null` when its pending.'
},
transactionIndex: {
type: Quantity,
desc: 'integer of the transactions index position in the block. `null` when its pending.'
},
from: {
type: Address,
desc: '20 Bytes - address of the sender.'
},
to: {
type: Address,
desc: '20 Bytes - address of the receiver. `null` when its a contract creation transaction.'
},
value: {
type: Quantity,
desc: 'value transferred in Wei.'
},
gasPrice: {
type: Quantity,
desc: 'gas price provided by the sender in Wei.'
},
gas: {
type: Quantity,
desc: 'gas provided by the sender.'
},
input: {
type: Data,
desc: 'the data send along with the transaction.'
}
}
}
},
getTransactionByBlockHashAndIndex: {
desc: 'Returns information about a transaction by block hash and transaction index position.',
params: [
{
type: Hash,
desc: 'hash of a block'
},
{
type: Quantity,
desc: 'integer of the transaction index position'
}
],
returns: 'See [eth_getBlockByHash](#eth_gettransactionbyhash)'
},
getTransactionByBlockNumberAndIndex: {
desc: 'Returns information about a transaction by block number and transaction index position.',
params: [
{
type: BlockNumber,
desc: 'a block number, or the string `\'earliest\'`, `\'latest\'` or `\'pending\'`, as in the [default block parameter](#the-default-block-parameter)'
},
{
type: Quantity,
desc: 'The transaction index position'
}
],
returns: 'See [eth_getBlockByHash](#eth_gettransactionbyhash)'
},
getTransactionCount: {
desc: 'Returns the number of transactions *sent* from an address.',
params: [
{
type: Address,
desc: '20 Bytes - address'
},
{
type: BlockNumber,
desc: 'integer block number, or the string `\'latest\'`, `\'earliest\'` or `\'pending\'`, see the [default block parameter](#the-default-block-parameter)',
format: 'inputDefaultBlockNumberFormatter'
}
],
returns: {
type: Quantity,
desc: 'integer of the number of transactions send from this address',
format: 'utils.toDecimal'
}
},
getTransactionReceipt: {
desc: 'Returns the receipt of a transaction by transaction hash.\n**Note** That the receipt is not available for pending transactions.',
params: [
{
type: Hash,
desc: 'hash of a transaction'
}
],
returns: {
type: Object,
desc: 'A transaction receipt object, or `null` when no receipt was found:',
format: 'outputTransactionReceiptFormatter',
details: {
transactionHash: {
type: Hash,
desc: '32 Bytes - hash of the transaction.'
},
transactionIndex: {
type: Quantity,
desc: 'integer of the transactions index position in the block.'
},
blockHash: {
type: Hash,
desc: '32 Bytes - hash of the block where this transaction was in.'
},
blockNumber: {
type: BlockNumber,
desc: 'block number where this transaction was in.'
},
cumulativeGasUsed: {
type: Quantity,
desc: 'The total amount of gas used when this transaction was executed in the block.'
},
gasUsed: {
type: Quantity,
desc: 'The amount of gas used by this specific transaction alone.'
},
contractAddress: {
type: Address,
desc: '20 Bytes - The contract address created, if the transaction was a contract creation, otherwise `null`.'
},
logs: {
type: Array,
desc: 'Array of log objects, which this transaction generated.'
}
}
}
},
getUncleByBlockHashAndIndex: {
desc: 'Returns information about a uncle of a block by hash and uncle index position.',
params: [
{
type: Hash,
desc: 'Hash a block'
},
{
type: Quantity,
desc: 'The uncle\'s index position'
}
],
returns: 'See [eth_getBlockByHash](#eth_getblockbyhash)'
},
getUncleByBlockNumberAndIndex: {
desc: 'Returns information about a uncle of a block by number and uncle index position.',
params: [
{
type: BlockNumber,
desc: 'a block number, or the string `\'earliest\'`, `\'latest\'` or `\'pending\'`, as in the [default block parameter](#the-default-block-parameter)'
},
{
type: Quantity,
desc: 'The uncle\'s index position'
}
],
returns: 'See [eth_getBlockByHash](#eth_getblockbyhash)'
},
getUncleCountByBlockHash: {
desc: 'Returns the number of uncles in a block from a block matching the given block hash.',
params: [
{
type: Hash,
desc: '32 Bytes - hash of a block'
}
],
returns: {
type: Quantity,
desc: 'integer of the number of uncles in this block'
}
},
getUncleCountByBlockNumber: {
desc: 'Returns the number of uncles in a block from a block matching the given block number.',
params: [
{
type: BlockNumber,
desc: 'integer of a block number, or the string \'latest\', \'earliest\' or \'pending\', see the [default block parameter](#the-default-block-parameter)'
}
],
returns: {
type: Quantity,
desc: 'integer of the number of uncles in this block'
}
},
getWork: {
desc: 'Returns the hash of the current block, the seedHash, and the boundary condition to be met (\'target\').',
params: [],
returns: {
type: Array,
desc: 'Array with the following properties:'
}
},
hashrate: {
desc: 'Returns the number of hashes per second that the node is mining with.',
params: [],
returns: {
type: Quantity,
desc: 'number of hashes per second'
}
},
inspectTransaction: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
mining: {
desc: 'Returns `true` if client is actively mining new blocks.',
params: [],
returns: {
type: Boolean,
desc: '`true` of the client is mining, otherwise `false`'
}
},
newBlockFilter: {
desc: 'Creates a filter in the node, to notify when a new block arrives.\nTo check if the state has changed, call [eth_getFilterChanges](#eth_getfilterchanges).',
params: [],
returns: {
type: Quantity,
desc: 'A filter id'
}
},
newFilter: {
desc: 'Creates a filter object, based on filter options, to notify when the state changes (logs).\nTo check if the state has changed, call [eth_getFilterChanges](#eth_getfilterchanges).',
params: [{
type: Object,
desc: 'The filter options:',
details: {
fromBlock: {
type: BlockNumber,
desc: 'Integer block number, or `\'latest\'` for the last mined block or `\'pending\'`, `\'earliest\'` for not yet mined transactions.',
optional: true,
default: 'latest'
},
toBlock: {
type: BlockNumber,
desc: 'Integer block number, or `\'latest\'` for the last mined block or `\'pending\'`, `\'earliest\'` for not yet mined transactions.',
optional: true,
default: 'latest'
},
address: {
type: Address,
desc: '20 Bytes - Contract address or a list of addresses from which logs should originate.',
optional: true
},
topics: {
type: Array,
desc: 'Array of 32 Bytes `DATA` topics. Topics are order-dependent. Each topic can also be an array of DATA with \'or\' options.',
optional: true
},
limit: {
type: Number,
desc: 'The maximum number of entries to retrieve (latest first)',
optional: true
}
}
}],
returns: {
type: Quantity,
desc: 'The filter id'
}
},
newFilterEx: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
newPendingTransactionFilter: {
desc: 'Creates a filter in the node, to notify when new pending transactions arrive.\nTo check if the state has changed, call [eth_getFilterChanges](#eth_getfilterchanges).',
params: [],
returns: {
type: Quantity,
desc: 'A filter id'
}
},
notePassword: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
pendingTransactions: {
desc: '?',
params: [],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
postTransaction: {
desc: 'Posts a transaction to the Signer.',
params: [
{
type: Object,
desc: 'see [eth_sendTransaction](#eth_sendTransaction)',
format: 'inputCallFormatter'
}
],
returns: {
type: Quantity,
desc: 'The id of the actual transaction',
format: 'utils.toDecimal'
}
},
protocolVersion: {
desc: 'Returns the current ethereum protocol version.',
params: [],
returns: {
type: String,
desc: 'The current ethereum protocol version'
}
},
register: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
sendRawTransaction: {
desc: 'Creates new message call transaction or a contract creation for signed transactions.',
params: [
{
type: Data,
desc: 'The signed transaction data'
}
],
returns: {
type: Hash,
desc: '32 Bytes - the transaction hash, or the zero hash if the transaction is not yet available'
}
},
sendTransaction: {
desc: 'Creates new message call transaction or a contract creation, if the data field contains code.',
params: [
{
type: Object, desc: 'The transaction object',
format: 'inputTransactionFormatter',
details: {
from: {
type: Address,
desc: '20 Bytes - The address the transaction is send from'
},
to: {
type: Address,
desc: '20 Bytes - (optional when creating new contract) The address the transaction is directed to'
},
gas: {
type: Quantity,
desc: 'Integer of the gas provided for the transaction execution. It will return unused gas.',
optional: true,
default: 90000
},
gasPrice: {
type: Quantity,
desc: 'Integer of the gasPrice used for each paid gas',
optional: true,
default: 'To-Be-Determined'
},
value: {
type: Quantity,
desc: 'Integer of the value send with this transaction',
optional: true
},
data: {
type: Data,
desc: 'The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see [Ethereum Contract ABI](https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI)'
},
nonce: {
type: Quantity,
desc: 'Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce.',
optional: true
}
}
}
],
returns: {
type: Hash,
desc: '32 Bytes - the transaction hash, or the zero hash if the transaction is not yet available'
}
},
sign: {
desc: 'Signs data with a given address.\n**Note** the address to sign must be unlocked.',
params: [
{
type: Address,
desc: '20 Bytes - address',
format: 'inputAddressFormatter'
},
{
type: Data,
desc: 'Data to sign'
}
],
returns: {
type: Data,
desc: 'Signed data'
}
},
signTransaction: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
},
submitWork: {
desc: 'Used for submitting a proof-of-work solution.',
params: [
{
type: Data,
desc: '8 Bytes - The nonce found (64 bits)'
},
{
type: Data,
desc: '32 Bytes - The header\'s pow-hash (256 bits)'
},
{
type: Data,
desc: '32 Bytes - The mix digest (256 bits)'
}
],
returns: {
type: Boolean,
desc: '`true` if the provided solution is valid, otherwise `false`'
}
},
submitHashrate: {
desc: 'Used for submitting mining hashrate.',
params: [
{
type: Data,
desc: 'a hexadecimal string representation (32 bytes) of the hash rate'
},
{
type: String,
desc: 'A random hexadecimal(32 bytes) ID identifying the client'
}
],
returns: {
type: Boolean,
desc: '`true` if submitting went through succesfully and `false` otherwise'
}
},
syncing: {
desc: 'Returns an object with data about the sync status or `false`.',
params: [],
returns: {
type: Object,
desc: 'An object with sync status data or `FALSE`, when not syncing',
format: 'outputSyncingFormatter',
details: {
startingBlock: {
type: Quantity,
desc: 'The block at which the import started (will only be reset, after the sync reached his head)'
},
currentBlock: {
type: Quantity,
desc: 'The current block, same as eth_blockNumber'
},
highestBlock: {
type: Quantity,
desc: 'The estimated highest block'
}
}
}
},
uninstallFilter: {
desc: 'Uninstalls a filter with given id. Should always be called when watch is no longer needed.\nAdditonally Filters timeout when they aren\'t requested with [eth_getFilterChanges](#eth_getfilterchanges) for a period of time.',
params: [
{
type: Quantity,
desc: 'The filter id'
}
],
returns: {
type: Boolean,
desc: '`true` if the filter was successfully uninstalled, otherwise `false`'
}
},
unregister: {
desc: '?',
params: [
'?'
],
returns: {
type: Boolean,
desc: 'whether the call was successful'
}
}
};