openethereum/js/src/api/pubsub/net/net.js
kaikun213 349316f70e PubSub for parity-js (#5830)
* PubSub Integration WebSocket

* PubSub Provider API

* Parity License and fix switch statement

* Minor fix: use parameter api

* Exclude subscriptionId return

* Unsubscribe parameters as array

* secureProvider API added

* isSecure check

* Refractor: Formatting in callback (no Promise)

* Tests for parityProvider

* Refractor: Formatting in callback (secure API)

* Updated transaction documentation

* Module instead of API-Names, Options always as array (e.g. empty)

'parity' instead of 'parity_subscribe' calls
params with empty array as options. If eth_subscribe includes empty array parity-core will send invalid request (eth api doesn't have options)

* Removed isSecure transport check, because APIs are configurable

* Refractor Provider API to single Pubsub

* Modify transport layer to have single identifier for subscriptions

* FIX: Display pubsub errors

* Discard Messages after unsubscribing

* Fix: display error normal messages correctly

* Simplified code, removed unnecessary pubsub methods

* trace_call API 2nd argument blockNumber, first whatTrace

https://github.com/paritytech/parity/wiki/JSONRPC-trace-module#trace_call

* Separate namespaces pubsub. eth, parity, net

* Keep error for messages from unsubscribed topics.

* Fix: Unsubscribe Promise

* Add Test: Unsubscribe promise resolved

* Fix: 'error' in params
2017-07-06 09:50:27 +02:00

43 lines
1.3 KiB
JavaScript

// 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/>.
import PubsubBase from '../pubsubBase';
import { outNumber } from '../../format/output';
export default class Net extends PubsubBase {
constructor (transport) {
super(transport);
this._api = 'parity';
}
// net API
version (callback) {
return this.addListener(this._api, 'net_version', callback);
}
peerCount (callback) {
return this.addListener(this._api, 'net_peerCount', (error, data) => {
error
? callback(error)
: callback(null, outNumber(data));
});
}
listening (callback) {
return this.addListener(this._api, 'net_listening', callback);
}
}