@parity/jsonrpc
Version:
JSON and JS interface defintions for RPC
234 lines (166 loc) • 6.41 kB
JavaScript
'use strict'; // Copyright 2015-2017 Parity Technologies (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/>.
var _require =
require('../types'),Quantity = _require.Quantity,Data = _require.Data;var _require2 =
require('../helpers'),fromDecimal = _require2.fromDecimal,Dummy = _require2.Dummy;
module.exports = {
generateAuthorizationToken: {
desc: 'Generates a new authorization token.',
params: [],
returns: {
type: String,
desc: 'The new authorization token.',
example: 'bNGY-iIPB-j7zK-RSYZ' } },
generateWebProxyAccessToken: {
desc: 'Generates a new web proxy access token.',
params: [{
type: String,
desc: 'Domain for which the token is valid. Only requests to this domain will be allowed.',
example: 'https://parity.io' }],
returns: {
type: String,
desc: 'The new web proxy access token.',
example: 'MOWm0tEJjwthDiTU' } },
requestsToConfirm: {
desc: 'Returns a list of the transactions awaiting authorization.',
params: [],
returns: {
// TODO: Types of the fields of transaction objects? Link to a transaction object in another page?
type: Array,
desc: 'A list of the outstanding transactions.',
example: new Dummy('[ ... ]') } },
confirmRequest: {
desc: 'Confirm a request in the signer queue',
params: [
{
type: Quantity,
desc: 'The request id.',
example: fromDecimal(1) },
{
type: Object,
desc: 'Modify the transaction before confirmation.',
details: {
gasPrice: {
type: Quantity,
desc: 'Modify the gas price provided by the sender in Wei.',
optional: true },
gas: {
type: Quantity,
desc: 'Gas provided by the sender in Wei.',
optional: true },
condition: {
type: Object,
desc: 'Condition for scheduled transaction. Can be either an integer block number `{ block: 1 }` or UTC timestamp (in seconds) `{ timestamp: 1491290692 }`.',
optional: true } },
example: {} },
{
type: String,
desc: 'The account password',
example: 'hunter2' }],
returns: {
type: Object,
desc: 'The status of the confirmation, depending on the request type.',
example: {} } },
confirmRequestRaw: {
desc: 'Confirm a request in the signer queue providing signed request.',
params: [
{
type: Quantity,
desc: 'Integer - The request id',
example: fromDecimal(1) },
{
type: Data,
desc: 'Signed request (RLP encoded transaction)',
example: '0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675' }],
returns: {
type: Object,
desc: 'The status of the confirmation, depending on the request type.',
example: {} } },
confirmRequestWithToken: {
desc: 'Confirm specific request with rolling token.',
params: [
{
type: Quantity,
desc: 'The request id.',
example: fromDecimal(1) },
{
type: Object,
desc: 'Modify the transaction before confirmation.',
details: {
gasPrice: {
type: Quantity,
desc: 'Modify the gas price provided by the sender in Wei.',
optional: true },
gas: {
type: Quantity,
desc: 'Gas provided by the sender in Wei.',
optional: true },
condition: {
type: Object,
desc: 'Conditional submission of the transaction. Can be either an integer block number `{ block: 1 }` or UTC timestamp (in seconds) `{ time: 1491290692 }` or `null`.',
optional: true } },
example: {} },
{
type: String,
desc: 'Password (initially) or a token returned by the previous call.',
example: 'hunter2' }],
returns: {
type: Object,
desc: 'Status.',
details: {
result: {
type: Object,
desc: 'The status of the confirmation, depending on the request type.' },
token: {
type: String,
desc: 'Token used to authenticate the next request.' } },
example: {
result: new Dummy('{ ... }'),
token: 'cAF2w5LE7XUZ3v3N' } } },
rejectRequest: {
desc: 'Rejects a request in the signer queue',
params: [
{
type: Quantity,
desc: 'Integer - The request id',
example: fromDecimal(1) }],
returns: {
type: Boolean,
desc: 'The status of the rejection',
example: true } },
signerEnabled: {
nodoc: 'Not present in Rust code',
desc: 'Returns whether signer is enabled/disabled.',
params: [],
returns: {
type: Boolean,
desc: '`true` when enabled, `false` when disabled.',
example: true } },
// Pub-Sub
subscribePending: {
desc: '\nStarts a subscription for transactions in the confirmation queue.\nEach event contains all transactions currently in the queue.\n\nAn example notification received by subscribing to this event:\n```\n{"jsonrpc":"2.0","method":"signer_pending","params":{"subscription":"0x416d77337e24399d","result":[]}}\n```\n\nYou can unsubscribe using `signer_unsubscribePending` RPC method. Subscriptions are also tied to a transport\nconnection, disconnecting causes all subscriptions to be canceled.\n ',
params: [],
returns: {
type: String,
desc: 'Assigned subscription ID',
example: '0x416d77337e24399d' } },
unsubscribePending: {
desc: 'Unsubscribes from pending transactions subscription.',
params: [{
type: String,
desc: 'Subscription ID',
example: '0x416d77337e24399d' }],
returns: {
type: Boolean,
desc: 'whether the call was successful',
example: true } } };