From 5d88dd71663db6138028dcf8cb1628d6879bb17b Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Tue, 23 Apr 2019 17:23:13 +0200 Subject: [PATCH] txpool and debug module method names improved, types tests updated and with the web3-eth-debug documentation started --- docs/web3-eth-debug.rst | 106 ++++++++++++++++++ docs/web3-eth-txpool.rst | 10 +- packages/web3-core/types/index.d.ts | 2 +- .../web3-eth-accounts/src/models/Account.js | 5 +- .../web3-eth-admin/types/tests/admin-tests.ts | 4 +- .../src/methods/SendContractMethodTest.js | 11 +- .../src/factories/MethodFactory.js | 14 +-- packages/web3-eth-debug/types/index.d.ts | 20 ++-- .../web3-eth-debug/types/tests/debug-tests.ts | 24 ++-- .../src/factories/MethodFactory.js | 2 +- packages/web3-eth-txpool/types/index.d.ts | 2 +- .../types/tests/txpool-tests.ts | 12 +- 12 files changed, 165 insertions(+), 47 deletions(-) create mode 100644 docs/web3-eth-debug.rst diff --git a/docs/web3-eth-debug.rst b/docs/web3-eth-debug.rst new file mode 100644 index 00000000..f01470bc --- /dev/null +++ b/docs/web3-eth-debug.rst @@ -0,0 +1,106 @@ +.. _eth-admin: + +.. include:: include_announcement.rst + +================= +Web3 Debug Module +================= + + +The ``web3-eth-debug`` package allows you to interact with the Ethereum node's debug methods. + + +.. code-block:: javascript + + import Web3 from 'web3'; + import {Debug} from 'web3-eth-debug'; + + // "Web3.givenProvider" will be set if in an Ethereum supported browser. + const admin = new Debug(Web3.givenProvider || 'ws://some.local-or-remote.node:8546', null, options); + + +------------------------------------------------------------------------------ + + +.. include:: include_package-core.rst + + + +------------------------------------------------------------------------------ + +setBackTraceAt +========= + +.. code-block:: javascript + + debug.setBackTraceAt(location, [callback]) + +Sets the logging backtrace location. + +---------- +Parameters +---------- + +1. ``location`` - ``String``: The location is specified as ``:``. +2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. + +------- +Returns +------- + +``Promise`` - True if peer added successfully. + +------- +Example +------- + +.. code-block:: javascript + + admin.setBackTraceAt("filename.go:200").then(console.log); + + +------------------------------------------------------------------------------ + + +blockProfile +===================== + +.. code-block:: javascript + + debug.blockProfile([, callback]) + +Turns on block profiling for the given duration and writes profile data to disk. It uses a profile rate of 1 for most accurate information. +If a different rate is desired, set the rate and write the profile manually using ``debug.writeBlockProfile``. + +---------- +Parameters +---------- + + +1. ``file`` - ``String`` +1. ``seconds`` - ``Number`` +2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. + + +------- +Returns +------- + + +``Promise`` - The path. + + +------- +Example +------- + + +.. code-block:: javascript + + admin.getDataDirectory() + .then(console.log); + > "/home/ubuntu/.ethereum" + + +------------------------------------------------------------------------------ + diff --git a/docs/web3-eth-txpool.rst b/docs/web3-eth-txpool.rst index 0f0324f8..75051444 100644 --- a/docs/web3-eth-txpool.rst +++ b/docs/web3-eth-txpool.rst @@ -30,7 +30,7 @@ The ``web3-eth-txpool`` package gives you access to several non-standard RPC met .. _txpool-content: -content +getContent ========= .. code-block:: javascript @@ -144,12 +144,12 @@ Example ------------------------------------------------------------------------------ -inspect +getInspection ===================== .. code-block:: javascript - txPool.getInspect([, callback]) + txPool.getInspection([, callback]) The property can be queried to list a textual summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future executions. The RPC method used is ``txpool_inspect``. @@ -179,7 +179,7 @@ Example .. code-block:: javascript - txPool.getInspect().then(console.log); + txPool.getInspection().then(console.log); > { pending: { 0x26588a9301b0428d95e6fc3a5024fce8bec12d51: { @@ -234,7 +234,7 @@ Example ------------------------------------------------------------------------------ -status +getStatus ===================== .. code-block:: javascript diff --git a/packages/web3-core/types/index.d.ts b/packages/web3-core/types/index.d.ts index 156fb918..5b26934a 100644 --- a/packages/web3-core/types/index.d.ts +++ b/packages/web3-core/types/index.d.ts @@ -235,7 +235,7 @@ export interface NodeInfo { } export interface PeerInfo { - caps: Array; + caps: string[]; id: string; name: string; network: { diff --git a/packages/web3-eth-accounts/src/models/Account.js b/packages/web3-eth-accounts/src/models/Account.js index 76a4064c..a7a6865d 100644 --- a/packages/web3-eth-accounts/src/models/Account.js +++ b/packages/web3-eth-accounts/src/models/Account.js @@ -169,7 +169,10 @@ export default class Account { cipher.final() ]); - const mac = keccak256(Buffer.concat([derivedKey.slice(16, 32), Buffer.from(ciphertext, 'hex')])).replace('0x', ''); + const mac = keccak256(Buffer.concat([derivedKey.slice(16, 32), Buffer.from(ciphertext, 'hex')])).replace( + '0x', + '' + ); return { version: 3, diff --git a/packages/web3-eth-admin/types/tests/admin-tests.ts b/packages/web3-eth-admin/types/tests/admin-tests.ts index 47f3e348..0e6a9451 100644 --- a/packages/web3-eth-admin/types/tests/admin-tests.ts +++ b/packages/web3-eth-admin/types/tests/admin-tests.ts @@ -46,10 +46,10 @@ admin.getNodeInfo( (error: Error, result: NodeInfo) => {} ); -// $ExpectType Promise +// $ExpectType Promise admin.getPeers(); -// $ExpectType Promise +// $ExpectType Promise admin.getPeers( (error: Error, result: any[]) => {} ); diff --git a/packages/web3-eth-contract/tests/src/methods/SendContractMethodTest.js b/packages/web3-eth-contract/tests/src/methods/SendContractMethodTest.js index af78ac4b..b0e0cd5b 100644 --- a/packages/web3-eth-contract/tests/src/methods/SendContractMethodTest.js +++ b/packages/web3-eth-contract/tests/src/methods/SendContractMethodTest.js @@ -23,7 +23,16 @@ describe('SendContractMethodTest', () => { new AllEventsLogDecoder(); allEventsLogDecoderMock = AllEventsLogDecoder.mock.instances[0]; - sendContractMethod = new SendContractMethod({}, formatters, {}, {}, {}, {}, allEventsLogDecoderMock, abiModelMock); + sendContractMethod = new SendContractMethod( + {}, + formatters, + {}, + {}, + {}, + {}, + allEventsLogDecoderMock, + abiModelMock + ); }); it('constructor check', () => { diff --git a/packages/web3-eth-debug/src/factories/MethodFactory.js b/packages/web3-eth-debug/src/factories/MethodFactory.js index bceaf194..95173981 100644 --- a/packages/web3-eth-debug/src/factories/MethodFactory.js +++ b/packages/web3-eth-debug/src/factories/MethodFactory.js @@ -60,18 +60,18 @@ export default class MethodFactory extends AbstractMethodFactory { super(utils, formatters); this.methods = { - backTraceAt: BackTraceAtMethod, + setBackTraceAt: BackTraceAtMethod, blockProfile: BlockProfileMethod, cpuProfile: CpuProfileMethod, dumpBlock: DumpBlockMethod, - gcStats: GcStatsMethod, + getGCStats: GcStatsMethod, getBlockRlp: GetBlockRlpMethod, goTrace: GoTraceMethod, - memStats: MemStatsMethod, - seedHash: SeedHashMethod, + getMemStats: MemStatsMethod, + getSeedHash: SeedHashMethod, setBlockProfileRate: SetBlockProfileRateMethod, setHead: SetHeadMethod, - stacks: StacksMethod, + getStacks: StacksMethod, startCPUProfile: StartCpuProfileMethod, startGoTrace: StartGoTraceMethod, stopCPUProfile: StopCpuProfileMethod, @@ -81,8 +81,8 @@ export default class MethodFactory extends AbstractMethodFactory { traceBlockFromFile: TraceBlockFromFileMethod, traceBlock: TraceBlockMethod, traceTransaction: TraceTransactionMethod, - verbosity: VerbosityMethod, - vmodule: VmoduleMethod, + setVerbosity: VerbosityMethod, + setVerbosityPattern: VmoduleMethod, writeBlockProfile: WriteBlockProfileMethod, writeMemProfile: WriteMemProfileMethod }; diff --git a/packages/web3-eth-debug/types/index.d.ts b/packages/web3-eth-debug/types/index.d.ts index cf8dfe98..45193886 100644 --- a/packages/web3-eth-debug/types/index.d.ts +++ b/packages/web3-eth-debug/types/index.d.ts @@ -24,7 +24,7 @@ import * as net from 'net'; export class Debug extends AbstractWeb3Module { constructor(provider: provider, net?: net.Socket|null, options?: Web3ModuleOptions); - backTraceAt( + setBackTraceAt( filename: string, callback?: (error: Error, result: any) => void ): Promise; @@ -46,7 +46,7 @@ export class Debug extends AbstractWeb3Module { callback?: (error: Error, result: any) => void ): Promise; - gcStats( + getGCStats( callback?: (error: Error, result: Stats) => void ): Promise; @@ -61,20 +61,20 @@ export class Debug extends AbstractWeb3Module { callback?: (error: Error, result: any) => void ): Promise; - memStats(callback?: (error: Error, result: any) => void): Promise; + getMemStats(callback?: (error: Error, result: any) => void): Promise; - seedHash( + getSeedHash( blockNumber: number, callback?: (error: Error, result: string) => void ): Promise; - setHead( - blockNumber: number, + setBlockProfileRate( + rate: number, callback?: (error: Error, result: any) => void ): Promise; - setBlockProfileRate( - rate: number, + setHead( + blockNumber: number, callback?: (error: Error, result: any) => void ): Promise; @@ -124,12 +124,12 @@ export class Debug extends AbstractWeb3Module { callback?: (error: Error, result: TraceTransaction) => void ): Promise; - verbosity( + setVerbosity( level: number, callback?: (error: Error, result: any) => void ): Promise; - vmodule( + setVerbosityPattern( input: string, callback?: (error: Error, result: any) => void ): Promise; diff --git a/packages/web3-eth-debug/types/tests/debug-tests.ts b/packages/web3-eth-debug/types/tests/debug-tests.ts index 92c6618e..47267c16 100644 --- a/packages/web3-eth-debug/types/tests/debug-tests.ts +++ b/packages/web3-eth-debug/types/tests/debug-tests.ts @@ -22,10 +22,10 @@ import {Debug, Stats, TraceTransaction} from 'web3-eth-debug'; const debug = new Debug('http://localhost:8545'); // $ExpectType Promise -debug.backTraceAt("server.go:443"); +debug.setBackTraceAt("server.go:443"); // $ExpectType Promise -debug.backTraceAt("server.go:443", (error: Error, result: any) => {}); +debug.setBackTraceAt("server.go:443", (error: Error, result: any) => {}); // $ExpectType Promise debug.blockProfile("", 600); @@ -46,10 +46,10 @@ debug.dumpBlock(10); debug.dumpBlock(10, (error: Error, result: string) => {}); // $ExpectType Promise -debug.gcStats(); +debug.getGCStats(); // $ExpectType Promise -debug.gcStats((error: Error, result: Stats) => {}); +debug.getGCStats((error: Error, result: Stats) => {}); // $ExpectType Promise debug.getBlockRlp(10); @@ -64,16 +64,16 @@ debug.goTrace("", 600); debug.goTrace("", 600, (error: Error, result: any) => {}); // $ExpectType Promise -debug.memStats(); +debug.getMemStats(); // $ExpectType Promise -debug.memStats((error: Error, result: any) => {}); +debug.getMemStats((error: Error, result: any) => {}); // $ExpectType Promise -debug.seedHash(1); +debug.getSeedHash(1); // $ExpectType Promise -debug.seedHash(1, (error: Error, result: string) => {}); +debug.getSeedHash(1, (error: Error, result: string) => {}); // $ExpectType Promise debug.setHead(1); @@ -186,16 +186,16 @@ debug.traceTransaction( ); // $ExpectType Promise -debug.verbosity(5); +debug.setVerbosity(5); // $ExpectType Promise -debug.verbosity(5, (error: Error, result: any) => {}); +debug.setVerbosity(5, (error: Error, result: any) => {}); // $ExpectType Promise -debug.vmodule("eth/*=6"); +debug.setVerbosityPattern("eth/*=6"); // $ExpectType Promise -debug.vmodule("eth/*=6", (error: Error, result: any) => {}); +debug.setVerbosityPattern("eth/*=6", (error: Error, result: any) => {}); // $ExpectType Promise debug.writeBlockProfile(""); diff --git a/packages/web3-eth-txpool/src/factories/MethodFactory.js b/packages/web3-eth-txpool/src/factories/MethodFactory.js index 97d32422..bfa9a852 100644 --- a/packages/web3-eth-txpool/src/factories/MethodFactory.js +++ b/packages/web3-eth-txpool/src/factories/MethodFactory.js @@ -34,7 +34,7 @@ export default class MethodFactory extends AbstractMethodFactory { this.methods = { getContent: ContentMethod, - getInspect: InspectMethod, + getInspection: InspectMethod, getStatus: StatusMethod }; } diff --git a/packages/web3-eth-txpool/types/index.d.ts b/packages/web3-eth-txpool/types/index.d.ts index b0500ad1..9275d4ac 100644 --- a/packages/web3-eth-txpool/types/index.d.ts +++ b/packages/web3-eth-txpool/types/index.d.ts @@ -26,7 +26,7 @@ export class Txpool extends AbstractWeb3Module { getContent(callback?: (error: Error, result: TxPoolContent) => void): Promise; - getInspect(callback?: (error: Error, result: TxPoolInspect) => void): Promise; + getInspection(callback?: (error: Error, result: TxPoolInspect) => void): Promise; getStatus(callback?: (error: Error, result: TxPoolStatus) => void): Promise; } diff --git a/packages/web3-eth-txpool/types/tests/txpool-tests.ts b/packages/web3-eth-txpool/types/tests/txpool-tests.ts index 6c4a3f51..0ecb4b2a 100644 --- a/packages/web3-eth-txpool/types/tests/txpool-tests.ts +++ b/packages/web3-eth-txpool/types/tests/txpool-tests.ts @@ -23,19 +23,19 @@ import {Content} from 'web3-core'; const txpool = new Txpool('http://localhost:8545'); // $ExpectType Promise -txpool.content(); +txpool.getContent(); // $ExpectType Promise -txpool.content((error: Error, result: Content) => {}); +txpool.getContent((error: Error, result: Content) => {}); // $ExpectType Promise -txpool.inspect(); +txpool.getInspection(); // $ExpectType Promise -txpool.inspect((error: Error, result: Content) => {}); +txpool.getInspection((error: Error, result: Content) => {}); // $ExpectType Promise -txpool.status(); +txpool.getStatus(); // $ExpectType Promise -txpool.status((error: Error, result: Content) => {}); +txpool.getStatus((error: Error, result: Content) => {});