ChainSafe / ChainSafe/gossamer

RPC Support and Tooling

Open
#265 1 comment 0 reactions 1 assignee Claimed by @P1sar View on GitHub
Dominant language
Go
Stars
454
Forks
144
PR merge metrics
No merged PRs in 30d

Description

The following is a detailed list of the missing or incomplete RPC calls that need to be implemented. Each RPC call can be considered complete when the intended functionality is completed, error codes conform to the spec, and a corresponding integration test.

Relevant links related RPC calls:
- https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md
- https://github.com/centrifuge/go-substrate-rpc-client

### Author RPC calls
- [x] [`hasSessionKeys`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#187-author_hassessionkeys)
* [Substrate reference- `has_session_keys`](https://github.com/paritytech/substrate/blob/master/client/rpc/src/author/mod.rs#L124)
- [x] [`author_submitAndWatchExtrinsic (pubsub)`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#189-author_submitandwatchextrinsic-pubsub)

### BABE RPC calls
- [ ] [`epochAuthorship`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1162-babe_epochauthorship)
* [Substrate reference - `epoch_authorship`](https://github.com/paritytech/substrate/blob/master/client/consensus/babe/rpc/src/lib.rs#L102)

### Chain RPC calls
- [x] #1741
* [Substrate reference - `subscribe_all_heads`](https://github.com/paritytech/substrate/blob/master/client/rpc/src/chain/mod.rs#L107)

### Child State RPC calls
- [x] [`getKeys`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1121-childstate_getkeys)
- [ ] [`getStorage`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1122-childstate_getstorage)
- [x] [`getStorageHash`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1123-childstate_getstoragehash)
- [x] [`getStorageSize`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1124-childstate_getstoragesize)

### Contracts RPC calls
- [ ] [`call`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1152-contracts_call)
- [ ] [`getStorage`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1153-contracts_getstorage)
- [ ] [`rentProjection`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1154-contracts_rentprojection)

### Engine RPC calls
- [ ] [`createBlock`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1132-engine_createblock)
- [ ] [`finalizeBlock`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1133-engine_finalizeblock)

### Grandpa RPC calls
- [x] [`proveFinality`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#172-grandpa_provefinality)
- [x] [`roundState`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#171-grandpa_roundstate)
- [x] [`subscribeJustifications`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#173-grandpa_subscribejustifications-pubsub)

### Offchain RPC calls
- [x] [`localStorageGet`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1104-offchain_localstorageget)
- [x] [`localStorageSet`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1103-offchain_localstorageset)

### Payment RPC calls
- [x] [`queryInfo`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1142-payment_queryinfo)

### State RPC calls
- [x] [`getMetadata`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1119-state_getmetadata)
- [ ] [`state_call`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1113-state_call)
- [x] [`queryStorage`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#11111-state_querystorage)
- [x] [`subscribeRuntimeVersion`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#11113-state_subscriberuntimeversion-pubsub)
- [x] [`subscribeStorage`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#11115-state_subscribestorage-pubsub)
- [x] [`getReadProof`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#11112-state_getreadproof)
- [x] [`getRuntimeVersion`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#11110-state_getruntimeversion)

### Sync State RPC Calls
- [ ] [`genSyncSpec`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1171-sync_state_gensyncspec)

### System RPC Calls
- [x] [`accountNextIndex`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1516-system_accountnextindex)
- [x] [`addReservedPeer`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1512-system_addreservedpeer)
- [ ] [`dryRun`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1517-system_dryrun)
- [x] [`localListenAddresses`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#159-system_locallistenaddresses)
- [x] [`localPeerId`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#158-system_localpeerid)
- [x] [`removeReservedPeer`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1513-system_removereservedpeer)
- [x] [`syncState`](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md#1515-system_syncstate)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.