diff --git a/packages/api/src/format/output.ts b/packages/api/src/format/output.ts index d5221d85..5a675b1d 100644 --- a/packages/api/src/format/output.ts +++ b/packages/api/src/format/output.ts @@ -119,6 +119,14 @@ export function outBlock (block: SerializedBlock) { return result; } +export function outBlockReceipts (receipts: SerializedReceipt[]) { + if (receipts) { + return receipts.map(outReceipt); + } + + return receipts; +} + export function outChainStatus (status?: SerializedChainStatus) { const result: ChainStatus = {}; if (status) { diff --git a/packages/api/src/pubsub/parity/parity.js b/packages/api/src/pubsub/parity/parity.js index 5ec186bc..6cf4e3ba 100644 --- a/packages/api/src/pubsub/parity/parity.js +++ b/packages/api/src/pubsub/parity/parity.js @@ -16,7 +16,7 @@ const PubsubBase = require('../pubsubBase'); const { inAddress, inBlockNumber, inData, inHex, inDeriveHash, inDeriveIndex } = require('../../format/input'); -const { outAccountInfo, outAddress, outBlock, outChainStatus, outHistogram, outHwAccountInfo, outNodeKind, outNumber, outPeers, outTransaction, outAddresses, outRecentDapps, outVaultMeta } = require('../../format/output'); +const { outAccountInfo, outAddress, outBlock, outBlockReceipts, outChainStatus, outHistogram, outHwAccountInfo, outNodeKind, outNumber, outPeers, outTransaction, outAddresses, outRecentDapps, outVaultMeta } = require('../../format/output'); class Parity extends PubsubBase { constructor (provider) { @@ -270,6 +270,14 @@ class Parity extends PubsubBase { }, [inBlockNumber(blockNumber)]); } + getBlockReceipts (callback, blockNumber = 'latest') { + return this.addListener(this._api, 'parity_getBlockReceipts', (error, data) => { + error + ? callback(error) + : callback(null, outBlockReceipts(data)); + }, [inBlockNumber(blockNumber)]); + } + cidV0 (callback, data) { return this.addListener(this._api, 'parity_cidV0', callback, [inData(data)]); } diff --git a/packages/api/src/rpc/parity/parity.js b/packages/api/src/rpc/parity/parity.js index d871e19d..32357bbc 100644 --- a/packages/api/src/rpc/parity/parity.js +++ b/packages/api/src/rpc/parity/parity.js @@ -15,7 +15,7 @@ // along with Parity. If not, see . const { inAddress, inAddresses, inBlockNumber, inData, inDeriveHash, inDeriveIndex, inHex, inNumber16, inOptions } = require('../../format/input'); -const { outAccountInfo, outAddress, outAddresses, outBlock, outChainStatus, outHistogram, outHwAccountInfo, outNodeKind, outNumber, outPeers, outRecentDapps, outTransaction, outVaultMeta } = require('../../format/output'); +const { outAccountInfo, outAddress, outAddresses, outBlock, outBlockReceipts, outChainStatus, outHistogram, outHwAccountInfo, outNodeKind, outNumber, outPeers, outRecentDapps, outTransaction, outVaultMeta } = require('../../format/output'); class Parity { constructor (provider) { @@ -222,6 +222,12 @@ class Parity { .then(outBlock); } + getBlockReceipts (blockNumber = 'latest') { + return this._provider + .send('parity_getBlockReceipts', inBlockNumber(blockNumber)) + .then(outBlockReceipts) + } + getDappAddresses (dappId) { return this._provider .send('parity_getDappAddresses', dappId)