Commit Graph
53 Commits
Author SHA1 Message Date
Jaco Greeff 478f54c703 Convert RPC classes to primitive classes or /srml types (#1192)
* Convert RPC classes to primitive classes or /srml types

* Lint passes... lokking at tests next.

* Tests pass.

* Types with basic docs (lots of work here)

* Update StorageKey.spec.ts

* Add injector to metadata doc generation

* Fix import
2019-07-26 10:23:37 +02:00
Jaco Greeff 9ef7ee4a67 Unskip additional tests (#1185) 2019-07-25 10:29:15 +02:00
Jaco Greeff 79e5f7c9cc Metadata v7 (#1182)
* Make a start... static is in, code copied as a start.

* Get exports (more-or-less) right

* Well, the v7/* tests pass... now just to tweak storage generation

* Linting is happy, it doesn't mean it will work...

* It compiles... ship it.
2019-07-24 21:34:51 +02:00
Jaco GreeffandAmaury Martiny 50a2314544 Extrinsic v2 (#1150)
* Extrinsic v2

* Save after last move of files

* Signature V2

* Rework signature decoding

* Simplify V1 and V2 underlying impl.

* Detect chain extrinsic version

* SignaturePayload

* remove Raw payload variant link (Payload is now raw)

* Remove v2 comments referring to v1 data

* Pass isSigned to Extrinsic{V1, V2}

* Cleanup era injection

* It flows :)

* Add SignerPayload and signPayload for Signer (#1152)

* Add SignerPayload and signPayload for Signer

* Submittables use signPayload

* Don't pass version on deprecated interface

* Update after all e2e tx tests passes

* Comment around payload generation

* Adjust blocktime to default (nice round 50 block eras)

* Fix calc

* Re-add test comment

* Update packages/api/src/types.ts

Co-Authored-By: Amaury Martiny <amaury.martiny@protonmail.com>

* Update packages/types/src/primitive/BalanceCompact.ts

Co-Authored-By: Amaury Martiny <amaury.martiny@protonmail.com>

* Backwards compatibility for current in-store signers

* Apply options suggestions

* Add missing Compact params (linting)
2019-07-22 17:08:06 +02:00
Jaco Greeff 71c5920b1f eslint rules (#1099)
* Off to the races - 3760 problems (1794 errors, 1966 warnings)

* Convert Array<T> -> T[] (not all correct, eg. extends)

* () => { -> (): void  => {

* get is/as -> public get is/as

* public for getters, constructors & base Codec

* Some cleanups from previous overzealous search & replace

* Under 2k, 1874 problems (649 errors, 1225 warnings)

* ^^^ check that commit for details ;)

* Minor.

* rm config header

* Minor cleanups

* Default to tslint, eslint as option

* Trigger

* Update jsonrpc

* 1494 problems (433 errors, 1061 warnings)

* 1103 problems (135 errors, 968 warnings)

* 899 problems (9 errors, 890 warnings)

* 483 problems (9 errors, 474 warnings) (ignore any... for now)

* 366 problems (9 errors, 357 warnings)

* 336 problems (9 errors, 327 warnings)

* 148 problems (9 errors, 139 warnings)

* 31 problems (8 errors, 23 warnings)

* 0, 0
2019-07-14 12:15:14 +02:00
Jaco Greeff 910d786a29 Switch off 'handling: xyz' RPC logs, adds no new info (#1087)
* Swicth off 'handling: xyz' RPC logs, adds no new info

* Whack.
2019-07-10 08:10:50 +02:00
Axel Chalon 9abbaab991 Pull parameter_types! from metadata (#1066)
* @polkadot/{extrinsics,storage} moved to @polkadot/metadata

* Fix previous commit

* Fix previous commit

* Expose parameter types using api.consts

* Grumbles; update v6 static metadata; add UncleEntryItem (fix #1067)

* Update api.query.* to api.consts.* where changed

* Update tests and stray api.query.staking.sessionsPerEra

* Grumbles

* Grumbles

* Revert updates to api-derive (taken care of by #1068)

* Grumbles; fix UncleEntryItem

* Rename "@polkadot/metadata" => "@polkadot/api-metadata"

* Skip derive test

* Grumbles

* Grumbles

* Grumbles

* Cleanup merge, ensure metadata is latest

* Move api-metadata to actual api-metadata folder

* README api-metadata description (& folder link)

* Remove stray type-extrinsics package.json
2019-07-09 08:54:28 +02:00
YJ 7229a5fdfb feat: Metadata V6 with module constants (#1059)
* feat: metadata v6, minus static and test

* fix: update v5 to v6 everywhere

* fix: lint and testUtil

* fix typo

* fix: match final metadata. constants no longer optional, StorageFunctionMetadata renamed to StorageEntryMetadata.

* fix: constants constructor

* fix: unit tests pass

* fix: linting and renaming, make tests pass

* fix: skip e2e

remove console log

* fix: formatting test

* fix api e2e tests

* fix: put the skip back

* feat: yarn test:skip-e2e

* fix: grumbles, add fresh flipper wasm

* fix: grumbles, add fresh flipper wasm

* fix: changelog

* fix ci
2019-07-02 11:48:40 +02:00
Stefanie DollandAmaury Martiny e4a97d4efd Update to Metadata v5 (#991)
* add v5 folder

* Fixed typo in README

* Updated tests to v5

* added v5 methods to MetadataVersioned

* Added toV5 conversion file to v4 folder

* change from v4 to v5

* Bump up version

* Update imports in type-storage package

* Switch to v5 imports in type-extrinsics, rpc-core and rpc-provider

* 0.81.0 => 0.82.0

* Updating dependencies to 0.82.0

* update comments

* Undo version bump

* Remove release notes

* v4 to v5 conversion

* WIP tests

* Addresses Amaurys comments

* re-added conversion function

* removed unused imports

* Re-add string to HasherInput type

* addresses failing derive tests

* Fixed broken derive e2e tests

* v5 tests

* Update packages/types/src/Metadata/MetadataVersioned.ts

Co-Authored-By: Amaury Martiny <amaury.martiny@protonmail.com>

* v3->v4

* trigger hung up travis build
2019-06-13 14:42:44 +02:00
Axel Chalon 3ab581119d Adapt to new @polkadot/keyring KeyPair interface (#994)
* Adapt to new @polkadot/keyring KeyPair interface

* Pull in common 0.93.0-beta.4
2019-06-13 10:44:47 +02:00
Stefanie DollandAmaury Martiny c01ade86a6 Convert tests to ts and fix existing (#936)
* Add jest watch option to package.json

* convert promise-alex-spec to ts & add types

* convert ./api tests from JS to TS

* convert ./api tests from JS to TS pt. 2

* More convert tests from JS to TS

* rpc-provider convert tests from js to ts

* rpc-provider tests js => ts

* rpc-provider tests js => ts

* linting issues

* tslint fixes

* 101 => 68 typescript errors

* WIP

* connect() e2e tests

* more fixes

* Fix linting errors of new ERA tests after merge

* test for listeners in connect

* formatting

* getting there...

* re-add skips

* test refactoring & codeclimate fixes

* more fixed tests

* mock.body workaround

* Fixed wrong test description

* ApiPromiseInterface => Api

* ws polyfill / send

* bring back isZero() test

* .then().catch() => .catch()

* Removed leftover body

* Type ProviderInterface => Http

* Fixed polyfill tests

* trailing whitespce

* (mock.body as any)['test_body'] and Balance

* Fix autoconnect in WsProvider

* Fixed part of linting errors in ERA tests

* call unused const unsubscribe

* added ts-ignores for testing private properties/ methods of Provider

* Archive node test

* Fixed linting for ERA tests

* Further changes

* Update packages/rpc-provider/src/ws/polyfill.spec.ts

Co-Authored-By: Amaury Martiny <amaury.martiny@protonmail.com>

* relative paths for imports inside module & reordering of imports pt. 1

* relative paths for imports inside module & reordering of imports pt. 2

* added skip back to e2e transactions

* Fix some more tests in TS (#952)

* Fix some more tests in ts

* Add more constructor

* More typing in ./api

* .skip

* <SubmittableResult>'s

* .catch() -> return()

* Extrinsics tests

* Left TODO's for extrinsic e2e tests

* Workaround for failing Type Extrinsic tests
2019-05-27 17:08:06 +02:00
Amaury Martiny 2b538f5f58 refactor: Metadata overhaul (#913)
* Replace part1

* Replace part2

* Replace part3

* Replace part5

* Replace part6

* Fix small bugs

* Fix double map toString

* Small fixes

* Update to v4

* Fix docs script

* Grumbles

* Alphabetical

* Reads better

* comment

* module to modul
2019-05-16 12:57:51 +02:00
Jaco Greeff 7b04ea0bfe new EventRecord with topics (#902)
* new EventRecord with topics

* Add additional decoding checks (from #612)

* Slightly rework storage parsing (future checks)

* Split storage result formatting (set vs data)

* Allow v3 event parsing

* Max Vector length check

* assert during Event parsing

* Well, HACK-y fallback

* Revert "Well, HACK-y fallback"

This reverts commit edbf61b99da2753bec3a535126660e71bdcd9861.

* Node overrides...

* Add implVersion

* Register types

* Update with polkadot as well

* inject compatibility types

* EventRecord77 in testing

* Conversion with DoubleMap

* E2E tested against v3 & v4

* Filter with some

* Split archive/remove alex tests

* beforeAll -> beforeEach

* Remove .only

* EventRecordV0 -> 77
2019-05-15 08:07:23 +02:00
Stefanie Doll db78aeb225 Fix for RPC bugs caused by uk spelling (#904)
* Replaced UK with US spelling

* -ised to -ized

* UK -> US spelling in chain rpc methods

* Tests for RPC chain methods on Alex
2019-05-14 21:27:16 +02:00
Jaco Greeff 6fef86cc78 Adjust support fo US English as per substrate (#811)
* Rename ExtinsicStatus Finalised -> Finalized

* Finalised heads -> Finalized
2019-03-29 14:12:56 +01:00
Xiliang Chen 19009d1112 update on socket close error message (#794) 2019-03-25 09:50:58 +01:00
Jaco Greeff 3d49194a47 Add extra data error field (#785)
* Add error data field to Error (contains sub-code)

* Trim data length

* Data display

* Data type
2019-03-18 15:13:45 +01:00
Jaco Greeff 34888bd4fb Remove /index imports (swap to bare) (#773)
* Remove /index imports (swap to bare)

* Bump common
2019-03-14 09:02:55 +01:00
Jaco Greeff 7c4371bfa0 Allow subscription id & subscription result out of order (#765)
* Bump dependencies

* Allow waiting for out-of-order replies (due to network)

* Add comments around logic

* subId naming

* Bumps (re-apply)
2019-03-08 11:31:21 +01:00
Jaco Greeff b313614935 Pull in vuepress foir docs (as opposed to gitbook) (#742)
* Pull in latest @polkadot/dev, cleanup existing *.html

* Cleanups (old gitbook interfaces)

* Bump, WIP

* Ready for testing

* Update examples

* Include source

* Cleanup links

* Adjust links

* Add typedoc exclusions

* Default classes from class files

* Adjust imports

* Adjust config

* Re-add types split

* Update links to substrate interfaces

* Anchors for metadata

* Adjust links

* Restore HTML (to be deleted on CI)

* Bump deps

* Re-gen yarn.lock

* Remove a in links

* Adjust interfaces
2019-02-26 15:21:39 +01:00
Jaco Greeff 50159233ed Add async crypto init (#697)
* Add async crypto init

* Used ed25519 for mock
2019-02-15 10:01:09 +01:00
Jaco Greeff ead67ec9d6 Integrate new keyring (#693)
* Integrate new keyring

* Bump

* Bump version

* ed25519 dusl-support
2019-02-14 23:17:02 +01:00
Jaco Greeff b2f06188d9 Add Api{Promise,Rx}.clone() - new instance, new transport (#668)
* Add Api{Promise,Rx}.clone() - new instance, new transport

* If source is not ready, load from chain
2019-02-08 16:43:58 +02:00
Jaco Greeff a2f863c56b Expose api.disconnect() (#664)
* Expose api.disconnect()

* Noop for non-WS disconnects
2019-02-08 16:32:38 +02:00
Jaco Greeff 383573658b Auto-convert large numbers to hex, smaller as number (#647)
* Auto-convert large numbers to hex, smaller as number

* Update tests
2019-01-29 17:09:54 +01:00
Jaco Greeff e798df949b Ensure large >U32 is encoded as hex (#641)
* Ensure large >U32 is enocoded as hex

* Update U64 test compares to hex

* Update subscribe.spec.ts
2019-01-28 13:11:44 +01:00
Jaco Greeff fd93fbc4a6 Support new versioned metadata format (#632)
* Start something...

* Parsing via proxy (everything still all-ok)

* Imp[ort order (minor)

* WIP expanding the structure

* Adjust V1 structure

* Parsing seems to do the trick...

* Add CodeHash and Schedule types

* //v0/ -> /v0/

* Update Extrinsic.ts

* Updated with compact outerDispatch, non-throw construction

* v1 to V0 conversion

* Bubble non-magic errors in constructor

* Update e2e after testing them

* Bump version with CHANGELOG  (potentially breaking change)
2019-01-26 16:27:00 +01:00
Jaco Greeff c17036b028 Change checking for re-sububscriptions (#555) 2019-01-09 16:04:23 +01:00
Amaury Martiny f6c93e48b7 Add derive functions (#540)
* Make types work

* Add test for derive

* Skip e2e

* Change description

* Add some comments

* Add caching

* Integrate cache

* Add tests

* Add test

* Fix types in tests

* Add e2e tests

* Add comments

* Fix lint

* Bump versions

* Remove useless stuff

* Address grumbles
2019-01-09 10:59:56 +01:00
Jaco Greeff 6678d7255c Remove api-observable (#530)
* 2019

* Remove api-observable

* tuples (SomeLonelyType) -> SomeLonelyType

* Bump to 0.37.0
2019-01-04 16:18:44 +01:00
Jaco Greeff e802b8e69f Only re-create query subscriptions (#525) 2019-01-01 17:01:51 +01:00
Xiliang Chen 7b667cfb9f Improve events (#454)
* Fix typo in docs

* Improve events
Expose `error` event
Add `once`
Allow method chaining for `on` and `once`
2018-12-10 10:46:04 +01:00
Jaco Greeff 448a729d70 Fix some Codeclimate smells (#450)
* Fix some Codeclimate smells

* Cleanup Metadata complexity

* Cleanup uniqueTypes

* Bump deps
2018-12-08 15:31:54 +01:00
Jaco Greeff 50103dcfab WS error logging & stacks trimmed (#448)
* Cleanup error stacks

* Close error code & reason

* Re-add debug throw

* Remove stack

* Cleanup console checks (bullsh*t, wtf did I add these anyway)
2018-12-07 10:07:20 +01:00
Jaco Greeff 69b05c7fef Allow any provider into API constructor (#444)
* Allow any provider into API constructor

* Update documentation

* Remove combineLatest exposure (deprecation error)

* Linting & test cleanups

* Exclude docs from codeclimate
2018-12-06 11:28:40 +01:00
Jaco Greeff 9092250acc Move types.d.ts -> types.ts (#421)
* Move types.d.ts -> types.ts

* Bump common deps
2018-11-29 12:13:28 +01:00
Jaco Greeff 5e5f8b8dab Bump deps, update with stricter TS checks from dev (#415)
* Bump deps, update with stricter TS checks from dev

* Add pretty to tsc
2018-11-27 14:44:51 +01:00
Jaco Greeff 4805f9cb36 Update LICENSE and README (#408)
* Update LICENSE and README

* Bump
2018-11-21 13:37:27 +01:00
Amaury Martiny 9548f977f5 Simplify Base (#403)
* Convert Base to a wrapper

* Remove isEmpty

* Fix bug with storage

* Fix lint

* Fix imports

* Protected raw

* Remove useless imports

* Remove test for Base

* Use unwrap on Option

* Storage unwrap

* Use isNone

* Add test for accessing values

* Remove comment

* toU8a always return Uint8Array
2018-11-19 11:38:47 +01:00
Amaury Martiny d097a7a32d UInt extends BN (#396)
* Fix Uint and Moment and Compact

* Fix address and account index

* Remove .toBN

* Add comment

* Fix lint

* _raw to raw

* bitLength as method in U8aFixed
2018-11-14 12:35:06 +01:00
Jaco Greeff 7bfeaa1b20 Auto re-subscribe upon re-connect (#340)
* Auto re-subscribe upon re-connect

* Update FIXME

* newHead -> subscribeNewHead in example
2018-10-25 14:45:51 +02:00
Jaco Greeff b1e13b20c8 Class-ify and cleanup mock provider (#347) 2018-10-25 14:05:43 +02:00
Jaco Greeff d6b6713418 Classify JSONRPC coder (#341) 2018-10-25 14:04:26 +02:00
Jaco Greeff 55ac4626d5 Cleanup imports from @polkadot/util (#315)
* Cleanup imports from @polkadot/util

* Example imports

* Alphabetic imports
2018-10-18 13:30:04 +02:00
Jaco Greeff 290123b85f Cleanup util-crypto & keyring imports (#314)
* Cleanup util-crypto & keyring imports

* Adjust util imports for types

* Bump deps
2018-10-18 11:06:02 +02:00
Jaco Greeff 2b5169c232 Bump @polkadot/keyring, change package name (#272) 2018-10-12 17:33:29 +02:00
Jaco Greeff 78101e1292 Update subscription naming handling (#266) 2018-10-12 15:39:00 +02:00
Jaco Greeff 8fafedcf00 Extend examples for ApiPromise (#261)
* examples-rpc -> examples/rpc

* 01-simple-connect

* 02-chain-newHead

* Subscriptions only return value
2018-10-12 11:19:35 +02:00
Jaco Greeff dd521f0e45 Formatting (#260) 2018-10-11 21:35:51 +02:00
Jaco Greeff 2b88a8f43c Expand API documentation (#259)
* Expand API documentation

* Cleanups

* Structuring

* Checks & cleanups
2018-10-11 20:56:42 +02:00