150 KiB
CHANGELOG
12.0.1 June 24, 2024
Important Changes:
- Addition of an optional
signedTransactionfield to theSignerResultresponse for injected signers. This only applies to thesignPayloadmethod exposed in theSignerinterface for polkadot-js. As the name suggests the field expects a signed transaction (extrinsic) when inputted. When its present, the api will not add the signature to the payload, but instead broadcast the inputted signed transaction. This means the signer may modify the payload it's given. The only part of the payload that may not be modified is the call data. This is verified on the api, and will throw an error if it does not match the initial payloads call data.- This is very useful for signers that want to adjust the
modeandmetadataHashfield for theCheckMetadataHashsigned extension. - Note that this is not your traditional breaking change since it more-so acts as an addition, but since this is a high magnitude change it is going to be considered a MAJOR bump.
- For more info please review the following PR (#5914)
- This is very useful for signers that want to adjust the
Changes:
- Replace
system_accountNextIndexwith runtime api callaccountNonceApiforapi.derive.tx.signingInfo - Sanitize
erasforapi.derive.staking._stakerRewards
11.3.1 June 17, 2024
Changes:
- Fix period assumption on signingInfo (derive)
- Bump dev to 0.79.3
- Update {Polkadot, Kusama, Westend} types-known
- Bump Substrate metadata to latest
- NOTE: Moving forward when bumping the metadata for {Polkadot, Kusama, Substrate} the version will always be a minor bump since it can add, modify, remove augmented types.
11.2.1 May 28, 2024
Contributed:
- fix: Re-subscribe to chain updates on reconnection if not a clone (Thanks to https://github.com/F-OBrien)
Changes:
- Add support for AuraUnincludedSegmentApi (Thanks to https://github.com/bee344)
- Add support for ParachainHost v11 Api
- Update Kusama and Westend block upgrades
- Update Substrate metadata to latest
11.1.1 May 21, 2024
Changes
- Dedupe nextElected accountIds in
api.derive.staking.nextElected - Bump @polkadot/dev to 0.79.1 w/ topo sort
- Bump yarn to 4.2.2
- fix: updated extrinsics' assetId
toHuman(Thanks to https://github.com/bee344) - fix
api.derive.accounts.{info && identity} - feat: Add support for
CheckMetadataHashsignedExtension (Thanks to https://github.com/bee344)
11.0.3 May 8, 2024
Changes
- Make
api.derive.staking.*backwards compatible - Fix
claimedRewardsregression inapi.derive.staking.queryMulti - Update Substrate to latest
11.0.2 Apr 24, 2024
Changes
- Fix type for TAssetConversion in Polkadot Asset hub
11.0.1 Apr 23, 2024
Breaking Changes:
Note! The following breaking changes only refer to @polkadot/api-derive calls under api.derive.staking.* due to the most recent breaking changes in runtime version v1.2. Please refer to the link next to the bullet points for more information.
- Update
api.derive.stakingcalls with breaking changes (#5860) - Add
claimedRewardsErato api.derive.staking.query for compatibility with legacyClaimedRewards (#5862)
Contributed:
- Bump @substrate/connect to 0.8.10 (Thanks to https://github.com/kratico)
Changes:
- Update polkadot types-known for latest runtime upgrades
10.13.1 Apr 16, 2024
Changes:
- Update CI actions and setup_node to v4
- Update substrate metadata to latest
- Support ParachainHost runtime api v6, 7, 8, 9, 10
- Resolve correct module for council derive
- Update westend types-known for 1010000
- Update kusama types-known for 1001003
10.12.6 Apr 2, 2024
NOTE: Because of a broken CI build for 10.12.5 -> 10.12.6 is a replacement
Contributed:
- chore: fix typos in error (Thanks to https://github.com/xiaoxianBoy)
Changes:
- Upgrade westend types-known for 1009000
- Add
disableAsciioption for toHuman, and toPrimitive - V14 Update substrate latest metadata
- V15 Update substrate latest metadata
- Bump yarn to 4.1.1
- Add
assetIdgetter field to to necessary ExtrinsicPayloads - Add Updated Runtime Defintions
- ValidateStatement
- MMRApi
- mmr_root
- mmr_leaf_count
- Core v5
- GenesisBuilder
- MixnetApi
10.12.5 Apr 2, 2024
Contributed:
- chore: fix typos in error (Thanks to https://github.com/xiaoxianBoy)
Changes:
- Upgrade westend types-known for 1009000
- Add
disableAsciioption for toHuman, and toPrimitive - V14 Update substrate latest metadata
- V15 Update substrate latest metadata
- Bump yarn to 4.1.1
- Add
assetIdgetter field to to necessary ExtrinsicPayloads - Add Updated Runtime Defintions
- ValidateStatement
- MMRApi
- mmr_root
- mmr_leaf_count
- Core v5
- GenesisBuilder
- MixnetApi
10.12.4 Mar 19, 2024
Contributed:
- Fix add muln(2) to signingInfo Derive (Thanks to https://github.com/pepoviola)
10.12.3 Mar 18, 2024
Contributed:
- Bump @substrate/connect to 0.8.8 (Thanks to https://github.com/kratico)
- Fix optional chaining operator in toHuman (Thanks to https://github.com/Imod7)
- Fix check if minimumPeriod is zero (Thanks to https://github.com/pepoviola)
Changes:
- Fix api.derive.staking.eraExposure for compatibility
- Fix invalid Lookup assignment on augmentation and update polkadot and kusama metadata
- Update polkadot runtime upgrade per block
- Update kusama runtime upgrade per block
- Update westend runtime upgrade per block
10.12.2 Mar 11, 2024
Contributed:
- fix cache key (rpc-provider) (Thanks to https://github.com/ermalkaleci)
Changes:
- Update to latest Substrate metadata
10.12.1 Mar 4, 2024
Contributed:
- Ink! V5 Support (Thanks to https://github.com/peetzweg)
10.11.3 Feb 27, 2024
Contributed:
- Fix sorting of
Optionvalues and error on duplicates from BTreeSet/BTreeMap (Thanks to https://github.com/Neopallium) - Fix BEEFY compact signed commitment in versioned finality proofs (Thanks to https://github.com/mfornos)
- Update @substrate/connect (Thanks to https://github.com/kratico)
Changes:
- Bump dev w/ packageDetect adjustments
- Update copyright year
- Bump nock, and dev deps
- Allow
cacheCapacityoption for theWsProvider - Bump yarn
10.11.2 Dec 18, 2023
Contributed:
- Add
chainIsEthereumkey toRegistryinterface (Thanks to https://github.com/fgamundi) - Adjust types for
ChargeAssetTxPayment(Thanks to https://github.com/bee344)
Changes:
- Support
[8a;32]types in known keys - Update to latest Substrate metadata
10.11.1 Nov 18, 2023
Contributed:
- Support for latest
ChargeAssetTxPayment(Thanks to https://github.com/bee344) - Support for latest
beefy::subscribeJustifications()(Thanks to https://github.com/serban300)
Changes:
- Add known
intrablockEntropystorage key - Add support for
SkipCheckIfFeelesssigned extension - Ensure all usages of
balances.transfer(in tests) have been removed - Drop support for Node 16 (EOL 11 Sep 2023)
10.10.1 Oct 14, 2023
Contributed:
- Add aliases for Noir type paths (Thanks to https://github.com/conr2d)
- Add runtime
FungliblesApiversion 2 (Thanks to https://github.com/bkontur) - Add runtime
EthereumApiversion 5 (Thanks to https://github.com/timbrinded) - Add runtime
AssetConversionApi(Thanks to https://github.com/jsidorenko) - Adjust types for runtime
AssetConversionApi(Thanks to https://github.com/jsidorenko) - Expand test cases for
Intconversions (Thanks to https://github.com/peetzweg) - Add
isEthereumto chain properties (Thanks to https://github.com/fgamundi) - Allow RiscV contracts via check (Thanks to https://github.com/statictype)
Changes:
- Serialize any additional payload fields via
toJSON() - Expose internal
rpc-corestats onapi.statsgetter - Add support for latest/stable V15 metadata interfaces
- Add runtime
BeefyApiversion 3 - Add runtime
ParachainHostversion 5 - Expose
chain.subscribeFinalizedBlocksderive - Consistently use
import.meta.urlinside tests - Group
Uint/Inttests for maintainability - Update to latest Polkadot, Kusama & Substrate metadata
10.9.1 Jun 12, 2023
Changes:
- Adjust object index access for stricter tsconfig settings
- Update to latest Polkadot, Kusama & Substrate metadata
10.8.1 Jun 5, 2023
Contributed:
- Added support for extended Contracts ABI V4 definitions (Thanks to https://github.com/statictype)
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
- Cleanup (some) linting overrides
10.7.3 May 28, 2023
Changes:
- Ensure that
.paymentInfonever mutates the underlying/existing signature
10.7.2 May 21, 2023
Contributed:
- Allow
api.setSigner(...)to clear existing (Thanks to https://github.com/polymath-eric)
Changes:
- Adjust
@polkadot/types-createexports with no duplicates
10.7.1 May 13, 2023
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
- Add
moduletopackage.jsonexport map (ESM-only)
10.6.1 May 7, 2023
Contributed:
- Extract runtime details for custom documentation (Thanks to https://github.com/FlorianFranzen)
Changes:
- Apply historic
Scheduledtypes for Kusama (as reported, non-comprehensive) - Adjust Deno types inside
WsProvider - Allow parsing of (experimental) metadata v15
- Update to latest Polkadot, Kusama & Substrate metadata
10.5.1 Apr 29, 2023
Changes:
- Default to hex-only in
Int/UInt.toJSONfor > 128-bit values - Allow for disabling of
isPedanticstorage checks in API options - Adjust usage of
objectSpread, default to runtime as required - Adjust compilation output for
__internal__class fields - Update to latest Polkadot, Kusama & Substrate metadata
10.4.1 Apr 22, 2023
Contributed:
- Apply
noInitWarnflag to signed extension warnings (Thanks to https://github.com/xlc)
Changes:
- Adjust
AccountId20detection with partial match - Cleanup block author extraction derives
- Update to latest Polkadot, Kusama & Substrate metadata
- Drop support for Node 14 (EOL 30 Apr 2023)
10.3.4 Apr 16, 2023
Changes:
- Ensure block author extract uses the correct as-at block construction state
10.3.3 Apr 15, 2023
Contributed:
- Add support for Fungibles runtime api (Thanks to https://github.com/bkontur)
- Update Nimbus Collator lookups (Thanks to https://github.com/grenade)
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
- Minimal support for a
@tsconfig/strictersetup
10.3.2 Apr 10, 2023
Changes:
- Revert throw on MSB BitVec (
toHuman()output is still incorrect)
10.3.1 Apr 9, 2023
Changes:
- Add
BitVec.toBoolArray()helper function - Tie down
BitVecfrom metadata to only allow (default) Lsb - Support for
TransactionPaymentApi/4 - Update to latest Polkadot, Kusama & Substrate metadata
10.2.2 Apr 1, 2023
Contributed:
- Support expanded Nimbus lookups to Collators (Thanks to https://github.com/grenade)
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
10.2.1 Mar 25, 2023
Contributed:
- Add support for new Frontier
AccountId20mapping (Thanks to https://github.com/koushiro) - Adjust MMR RPCs & runtime calls to align with latest (Thanks to https://github.com/Lederstrumpf)
Changes:
- Use Promise resolve/reject to track state in typegen on-chain metadata retrievals
- Adjust signing header retrieval, catering for discarded state fallbacks
- Add support for
ParachainHost v4runtime calls - Basic support for markdown generation for different chains (only Kusama & Polkadot currently added)
- Add not-to-be-used
ISizetype support (same asUSize, throwing on use - added for completeness) - Ensure
AccountId20.eqdoes not fail on null/undefined inputs - Expand tests around
toU8a()where theisBareflag is is being used - Update to latest Polkadot, Kusama & Substrate metadata
10.1.4 Mar 19, 2023
Changes:
- Add methods for v2
Metadata_*runtime calls
10.1.3 Mar 15, 2023
Changes:
- Remove incorrect
.module.specifiers in typegen code - Mark unsafe RPC methods (and include in
rpc.mdgeneration)
10.1.2 Mar 11, 2023
Changes:
- Adjust type exports to remove invalid generated exports from
/src/ - Apply missing
/*#__PURE__*/exports inapi-derive
10.1.1 Mar 11, 2023
Contributed:
- Fix yargs usage inside ESM modules (Thanks to https://github.com/conr2d)
Changes:
- Align runtime APIs with latest Substrate
- Update to latest Polkadot, Kusama & Substrate metadata
- Use consistent
.jsimports in source files (TS moduleResolution)
10.0.1 Mar 4, 2023
Contributed:
- Expose per-endpoint stats for providers (Thanks to https://github.com/jeluard)
- Adjust ink! primitive extraction for v4 (Thanks to https://github.com/statictype)
Changes:
- Ensure that provider disconnect clears all subscriptions
- Adjust typegen to internally use
import()(catering for ESM provided types) - Swap TS -> JS compiler to use tsc (from babel)
- Adjust all tests to use
node:testrunner (ESM variants) - Update to latest Polkadot, Kusama & Substrate metadata
9.14.2 Feb 19, 2023
Changes:
- Don't allow
WsProvider.connect()on an open connection (creates resource leaks) - Adjust typegen to use metadata-defined aliases in query return decoration
- Update to latest Polkadot, Kusama & Substrate metadata
9.14.1 Feb 12, 2023
Changes:
- Extract aliases for
*_runtime::Runtime{Call, Event}from metadata - Update to latest Polkadot, Kusama & Substrate metadata
9.13.6 Feb 5, 2023
Contributed:
- Align
eth_getTransactionCountwith frontier (Thanks to https://github.com/alko89)
Changes:
- Additional override for
Compact<{ refTime: u64 }>chains - Add script to retrieve local rpc, version & metadata for typegen
9.13.5 Feb 2, 2023
Changes:
- Adjust
Weightalias for 1.5 chains - Ensure correct registry is pass through for runtime TS generation
9.13.4 Feb 1, 2023
Changes:
- None from 9.13.3 (The previous version had npm registry publishing issues)
9.13.3 Feb 1, 2023
Changes:
- Adjust
Weightalias detection to cater forWeightV0/u32overrides (e.g. early Kusama blocks)
9.13.2 Jan 29, 2023
Changes:
- Allow null as valid param to Int/UInt
9.13.1 Jan 29, 2023
Contributed:
- Add support for V3 of
TransactionPaymentApi(Thanks to https://github.com/notlesh)
Changes:
- Adjust
Weightalias detection (moved fromPortableRegistry->Registry) - Move default (typegen) weight alias to
WeightV2(does not affect runtime detection) - Prepare metadata docs from chain generation for future cli arguments
- Add base type object for (future) composite types
- Apply additional JSDoc comments into
PortableRegistry - Update to latest Polkadot, Kusama & Substrate metadata
9.12.1 Jan 22, 2023
Changes:
- Add
isStorageFallbackon theCodecinterface. (trueif entry was created from a metadata fallback value from an empty storage item) - Ensure
api.queryMultireturns empty result when no keys are provided - Add explicit Array checks on
Vec/Tupleinputs - Align
Struct.{toU8a/toPrimitive/toHuman/toJSON}population of results - Apply memoization to batched API queries
- Update to latest Polkadot, Kusama & Substrate metadata
9.11.3 Jan 15, 2023
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
9.11.2 Jan 13, 2023
Changes:
- Ensure
derive.democracy.preimagesretrieves correctly from (current-gen)preimage
9.11.1 Jan 8, 2023
- Breaking change For users of
ScProvideryou now need to explicitly pass@substrate/connectas a parameter. This means the code needs to be adjusted as follows -
import { ScProvider } from '@polkadot/api';
import * as Sc from '@substrate/connect';
const provider = new ScProvider(Sc, Sc.WellKnownChain.polkadot);
Contributed:
- Fix for typegen with nested tuples (Thanks to https://github.com/sander2)
- Expose blockNumber on submittable results (Thanks to https://github.com/ken-centrality)
Changes:
- The
ScProviderinterface now needs receive an@substrate/connectinstance - Along with the above
ScProvider.WellKnownChainshas been removed - Update to latest Polkadot, Kusama & Substrate metadata
9.10.5 Dec 27, 2022
Changes:
- Revert 9.10.4 paymentInfo changes (fallback only works on struct, not
Weight)
9.10.4 Dec 25, 2022
Changes:
- Align runtime
paymentInfocalls with Substrate (w/ decoding fallbacks)
9.10.3 Dec 17, 2022
Changes:
- Add override for Structs where
registryappear as a field - Update to latest Polkadot, Kusama & Substrate metadata
- Kusama 9320/9340/9350 & Westend 9330/9340/9350 upgrade blocks
9.10.2 Dec 9, 2022
Changes:
- Fix
derive.balances.accountdetection for system vs balances
9.10.1 Dec 4, 2022
- Important Since 9.2.1 the recommended way of accessing
WellKnownChainfor light clients is viaScProvider.WellKnownChain. This release removes the explicit export from theScProviderroot.
Changes:
- Adjust payloads to use
BlockHashtypes (as applicable) - Adjust type-only imports in
ScProvider - Update to latest Polkadot, Kusama & Substrate metadata
- Update to
@polkadot/util10.2.1
9.9.4 Nov 28, 2022
Changes:
- Fix dispatchQueue preimage retrieval in derives
- No change from incorrectly published 9.9.3
9.9.2 Nov 27, 2022
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
9.9.1 Nov 20, 2022
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
- Adjust code for latest Eslint & TS released versions
9.8.2 Nov 16, 2022
Changes:
- Adjust
api.rpc.payment.queryInfoto always returnWeightV1responses - Mark
api.rpc.payment.queryInfoas deprecated (will be in a future Substrate version)
9.8.1 Nov 13, 2022
Contributed:
- Params encoding fix for
api.rpc(...)(Thanks to https://github.com/xlc) - Support for
WeightV2contract interfaces (Thanks to https://github.com/jasl)
Changes:
- Cater for
TransactionPaymentApi/2runtime calls - Add getters for
has{DryRun, PaymentInfo}on submittables (feature detection) - Polkadot 9300, Kusama 9300 & Westend 9310/9320 upgrade blocks
- Update to latest Polkadot, Kusama & Substrate metadata
9.7.1 Nov 6, 2022
Contributed:
- Update
@substrate/connectto latest (Thanks to https://github.com/wirednkod) - Add
api.rpc(method, ...params)support (Thanks to https://github.com/xlc)
Changes:
- Align
ScProvidercode structure with other providers - Add
isClonablegetter on providers (some, e.g. sc doesn't support this) - Update to latest Substrate metadata
9.6.2 Oct 30, 2022
Changes:
- Adjust historic
DispatchErrortype forstatemint/statemine
9.6.1 Oct 23, 2022
Contributed:
- Update
@substrate/connectto latest (Thanks to https://github.com/wirednkod) - Use
.?operators in submittable class (Thanks to https://github.com/shunjizhan)
Changes:
- Cater for latest Substrate
DispatchError(additional preimage statuses) - Adjust
api.derive.democracy.*to returnimageHashasHexString(as applicable, supports current-gen preimages) - Adjust
api.derive.preimages.*to retrieve viademocracyorpreimagepallets - Ensure
apiAt.<section>.<method>.key(...)passes through the correct arguments - Apply fallback for Weight downgrades (V2 >> V1 detection)
- Update to latest Substrate metadata
- Polkadot 9291 & Westend 9300 upgrade blocks
9.5.2 Oct 16, 2022
Changes:
- Add
ParachainHostversion 3 runtime calls
9.5.1 Oct 8, 2022
- Important While the API witll detect and decorate the weight type based on V1 or V2, the default
Weighttype (used in runtime calls and RPCs) has not been swapped from the oldu64variant. This means that on new chains usingWeightV2, the TS decorated type will still reflect the old version.
Changes:
- Adjust handling of
Weighttype for V2 structures - Add alis definitions for
Weight{V1, V2}(used for type overrides) - Cater for weight v2 (along with v1 pass-through) extrinsics in
api-contract - Update to latest Substrate, Polkadot & Kusama metadata
9.4.3 Oct 2, 2022
Contributed:
- Allow for new
ink_primitivestypes (Thanks to https://github.com/statictype) - Fix contracts runtime
instantiatecall params (Thanks to https://github.com/statictype)
Changes:
- Align staking derive redeemableSum with Rust source (
currentEravsactiveErausage) - Add
@deprecatedflag to RPC interface generation (contracts_*&state_get{Pairs/Keys}) - Polkadot 9280/9281, Kusama 9291 upgrade blocks
9.4.2 Sep 24, 2022
Contributed:
- Allow for re-subscriptions on
ScProvider(Thanks to https://github.com/wirednkod)
Changes:
- Align derives to cater for latest (& previous) Substrate interfaces
- Update to latest Substrate, Polkadot & Kusama metadata
9.4.1 Sep 17, 2022
Contributed:
- Update
@substrate/connectto latest (Thanks to https://github.com/wirednkod)
Changes:
- Cater for v1.5 Weight JSON representation (via RPC)
- Polkadot 9270, Kusama 9280 & Westend 9290 upgrade blocks
- Update to latest Substrate, Polkadot & Kusama metadata
9.3.3 Sep 6, 2022
Contributed:
- Ensure JS reserved words are aliassed in types (Thanks to https://github.com/dqbd)
Changes:
- Fix and adjust tests for
AccountId{32, 33}
9.3.2 Sep 4, 2022
Changes:
- Cater for v1.5 Weight types (structure to inner value)
- Westend 9280 & Kusama 9271 upgrade blocks
- Update to latest Substrate, Polkadot & Kusama metadata
9.3.1 Sep 3, 2022
Changes:
- Support for ink! v4 metadata
- Adjust pool runtime call
pendingRewardsreturn type - Support for
AccountId33(raw/compressed 33-byte ecdsa) - Update to latest Substrate, Polkadot & Kusama metadata
9.2.4 Aug 27, 2022
Changes:
- Remove extra error logging in internal rpc-core Observable
- Allow for embebbed
EnuminStructtypegen (nolookupName)
9.2.3 Aug 21, 2022
Contributed:
- Update
@substrate/connectto latest (Thanks to https://github.com/wirednkod)
Changes:
- Adjust
StakingLedgerwith fallback for Kusama 1050 (2 different structures on-chain) - Remove
TryRuntimestate call definitions (only off-chain usage) - Update to latest Substrate, Polkadot & Kusama metadata
9.2.2 Aug 16, 2022
Changes:
- Replace
rpc.payment.queryInfousage withcall.transactionPaymentApi.queryInfo - Ensure that
api.call.*is decorated on historic blocks
9.2.1 Aug 13, 2022
- Important If using
import { WellKnownChain } from '@polkadot/rpc-provider'it is recommended that you rather useScProvider.WellKnownChain(the import may be dropped in a future major version)
Changes:
- Don't assume non-empty path specifiers on portable variant/composites
- Explicit param length checks for all generic portable overrides
- Re-export
ScProviderin@polkadot/api, aligning with{Http, Ws}Provider - Expose
WellKnownChainas static onScProvider.WellKnownChain - Checks for non-available interface types & runtime/rpc definitions
- Ensure
.entries/.keysarguments is less than map-entry query - Add Polkadot 9260 upgrade block
- Add Westend 9271 upgrade block
- Update to latest Substrate metadata
9.1.1 Aug 6, 2022
Contributed:
- Update
@substrate/connectto latest (Thanks to https://github.com/wirednkod) - Handle both string and object keys in
CodecMap(Thanks to https://github.com/CertainLach)
Changes:
- Add
noInitWarn: booleanflag to API options, disabling runtime & RPC warnings - Only log missing runtime calls on new (detected) specVersion
- Add shallow/one-blockHash cache for
api.at(...)instances - Add Westend 9270 upgrade block
- Update to latest Substrate, Polkadot & Kusama metadata
9.0.1 Jul 30, 2022
- Breaking change The decorated field getters on
Structwere moved to the prototype class for performance reasons. Whilestruct.<field>access still behaves in the same way, with the same results, this does mean that the prototype getters are not visible when doing anObject.keys(struct)or when doing an object spread. - Breaking change Deprecated interfaces have been removed including
tx.sign(...)(usesignAsync),Result.{is, as}Error(use{is, as}Err) as well as storage.range(...)operations. - Breaking change Deprecated interfaces on
api-contracthave been removed. Always ensure you pass an options object to construction and query methods. - Breaking change Contracts access via
api-contractwill now detect the usage ofstorageDepositLimitin params, if not available the contract interfaces will not be decorated.
Changes:
- Decorate
Struct/Enum/Setfield getters on class prototypes - Convert
api-contractusage ofapi.rpc.*toapi.call.* - Drop support for contract runtimes without
storageDepositLimit(runtimecontractsApionly has support for latest) - Export
api.rx.call.*for internal usage (derive, contracts) - Remove old-style param passing as opposed to options in
api-contract - Support for alliance/motion collective derives
- Add Kusama 9260 upgrade block
- Add Polkadot 9230 & 9250 upgrade blocks
- Add Westend 9251, 9260 & 9261 upgrade blocks
- Update to latest Substrate, Polkadot & Kusama metadata
8.14.1 Jul 23, 2022
Contributed:
- Update
@substrate/connectwith dual ESM/CJS support (Thanks to https://github.com/wirednkod)
Changes:
{BTree|Hash}Map.toHuman()now displayRawkeys as ascii (if detected)- Add
toPrimitive()to all baseCodecinterfaces (string/boolean/number) - Adjust metadata conversion with
objectSpread(where missing) - Support for
TransactionPaymentCallApiruntime interface - Check
registry.getModuleInstancesagainst metadata paths (fallback) - Update to
@polkadot/util10.1.1 - Update to latest Kusama metadata (Substrate & Polkadot are current)
8.13.1 Jul 16, 2022
Changes:
- Add
derive.chain.subscribeFinalized{Heads, Blocks}which returns all finalized, no skips - Support Moonbeam author extraction on
derive.chain.*(w/ shared logic dedupe) - Cater for older
BlockBuilder 2/3/4&GrandpaApi 2runtime interface definitions - Support for
NominationPoolsApiruntime interface - Support for
DebugRuntimeApiruntime interface, Frontier-specific - Support for
NimbusApiruntime interface (& olderAuthorFilterAPI) - Add additional historic
DispatchErrorenum variant for asset chains - Add Kusama 9250 upgrade block
- Update to latest Substrate, Polkadot & Kusama metadata
8.12.2 Jul 10, 2022
Changes:
- Update to
@polkadot/util10.0.2
8.12.1 Jul 9, 2022
Changes:
- Adjust
Opaque{Metadata, Multiaddr, PeerId}decoding toOpaque<Bytes> - Fix historic
XcmV0definitions forBuyExecution - Adjust type generation to correctly cater for ambient definitions
- Improve type argument generation for
Option<...>types - Adjust usage of deprecated
@polkadot/utilmethods - Runtime call typegen from
system.versionconstant value - Expose query flags on
derive.staking.account - Update to latest Substrate, Polkadot & Kusama metadata
- Update to
@polkadot/util10.0.1
8.11.3 Jul 5, 2022
Changes:
- Ensure historic
DispatchErroris always the non-current variant - Adjust type signatures for non-required use of
@types/node
8.11.2 Jul 4, 2022
Changes:
- Bump to
@polkadot/util-crypto9.7.2 (w/@polkadot/wasm-crypto6.2.2)
8.11.1 Jul 2, 2022
Contributed:
- Adjust
api.{tx, query, ...}with no external side-effects (Thanks to https://github.com/btwiuse)
Changes:
- Support for
state_calldefinitions via API config (exposed onapi.call.*) - Base type definitions for
state_callfrom Substrate, Polkadot & Orml - Align runtime types with latest Substrate master
- Type generation for runtime call definitions (internal & external)
- Update to latest Substrate, Polkadot & Kusama metadata
8.10.1 Jun 26, 2022
Contributed:
- Bump
@substrate/connectto 0.7.7 (Thanks to https://github.com/wirednkod) - Support
feeHistory&maxPriorityFeePerGaseth RPCs (Thanks to https://github.com/crystalin)
Changes:
- Align
BeefyPayloadwith Substrate master - Use
static get [Symbol.species] ()forArray&Uint8Arraytypes - Add support for (optional, non-runtime recommended)
f32&f64types - Add future-use
AbstrateBigIntwrapper extension - Update Codec-internal performance tests
- Add Westend 9250 upgrade block
- Update to latest Substrate, Polkadot & Kusama metadata
8.9.1 Jun 19, 2022
Contributed:
- Update
@substrate/connectto 0.7.6 (Thanks to https://github.com/tomaka)
Changes:
- Deupe all internal type property getters
- Adjust
@polkadot/types-codecasserts - Rename
Basetype toAbstractBase(reflecting usage) - Alias
blockHashonrpc.engine.createBlockreturn - Instantiate
Compact/UInt/Intwithnumberwhen passed - Adjust name extraction in
PortableRegistry(maintainability) - Adjust string type path extraction (maintainability)
- Add Kusama 9230 upgrade block
- Update to latest Substrate metadata
8.8.2 Jun 14, 2022
Changes:
- Align historic
DispatchErrorModulewithU8variant - Extend lookup type name generation when conflicts arrise
- Update to latest Substrate metadata
8.8.1 Jun 12, 2022
Contributed:
- Ensure typegen disconnects from WS endpoint (Thanks to https://github.com/rflechtner)
Changes:
- Ensure storage
Option<Option<Type>>are correctly handled - Cater for named event fields (expose on event data as available)
- Expose (partial)
runtimeVersiononapi.atinterfaces - Add aliases for
DispatchError{U8, U8a}(default to newU8avariant) - Align
DispatchErrordefinition with latest Substrate - Adjust contracts RPC definitions with
DispatchErrorreturn - Ensure
blockHashis passed through witherasign options - Workaround for default calls on chains with non-standard indexes
- Optimization for value returns on merged queries
- Update
derive.bagsListto detectvoterListpallet - Add Polkadot 9200/9220 & Westend 9230 upgrade blocks
8.7.1 Jun 4, 2022
Changes:
- Add internal merge of single storage queries
- Expose provider stats on API intrerface via
.stats - Adjust flag extraction for latest phragmen types
- Support for
Rangein typegen forEnum - Add Kusama 9220 upgrade block
8.6.2 May 30, 2022
Changes:
- Don't apply default to
Option<bool>opt-in - Lower default historic LRU cache size (128 entries, 192MB est)
- Cater for updates required by TS 4.7.2
8.6.1 May 29, 2022
Changes:
- Add codec support for specialized
Option<bool> - Optimization for
createClasswith shortcut typeDef creation - Optimization of
registry.getOrUnknownwith lookup cache - Optimization of Array allocations in decoding
- Use
compactFromU8aLim&u8aConcatStrictvariants - Adjust
.inspect()forExtrinsicPayload - Adjust Kusama
StakingLedgerfor runtime 1051 - Update to latest Substrate, Kusama & Polkadot static metadata
8.5.1 May 22, 2022
Contributed:
- Bump
@substrate/connectto 0.7.5 (Thanks to https://github.com/wirednkod)
Changes:
- Adjust extrinsic inspect for signed/unsigned
- Add support for
mmr_generateBatchProofRPC - Add additional
isCodecchecks to error/event.is - Add support for
Vec<Option<X>>in typegen - Update to latest Substrate, Kusama & Polkadot static metadata
8.4.2 May 15, 2022
Changes:
- Expand/fix TS typings for
MortalEra.{birth, death}(...)
8.4.1 May 14, 2022
Changes:
- Added support for typegen over
Range/RangeInclusivetypes - Add explicit support for
Calltypegen (inclusive of non-defaults) - Deupe
wss://handling inpolkadot-types-from-{chain, defs} - Allow for optional
definitions.tsin typegen (only use chain) - Optimize
Compact<*>decoding in Uint8Array streams - Use
I*interfaces for extrinsic payload getters - Re-add support for historic linked-map queries
- Update to latest Substrate, Kusama & Polkadot static metadata
- Add latest upgrade blocks for Polkadot, Kusama & Westend
8.3.2 May 8, 2022
Contributed:
- Bump
@substrate/connectto 0.7.4 (Thanks to https://github.com/wirednkod)
Changes:
- Adjust
BTreeSetin typegen top-level generation
8.3.1 May 1, 2022
Contributed:
- Fetch metadata via WS for
types-from-defs(Thanks to https://github.com/alex-nax)
Changes:
- Extract metadata v14
BTreeSettypes into correct type - Assert to ensure that
[u8; <size>]has exact sizes (non-u8a inputs) - Adjust
tx.paymentInfosigning process for existing signature - Add Kusama 9190 upgrade block
- Add Westend 9200 upgrade block
- Update to latest Substrate, Kusama & Polkadot static metadata
8.2.1 Apr 24, 2022
Contributed:
- Make WS timeout check configurable (Thanks to https://github.com/isSerge)
Changes:
- Don't fake signature for
paymentInfoif already signed - Remove
api.derive.balances.fees(use direct constants as applicable) - Add Westend 9190 upgrade block
- Update to latest Substrate, Kusama & Polkadot static metadata
8.1.1 Apr 17, 2022
Contributed:
- Adjust typegen for
Vec<{ struct: <type> }>(Thanks to https://github.com/zannis) - Adjust typegen __dirname for ESM (Thanks to https://github.com/drewstone)
Changes:
- Fix
entriesPagedwhere noat?: BlockHashis specified - Apply windcard matches for
democracy::vote::Voteandidentity::type::Data - Adjust default "no RPC response" timeout to 60s
- Update to latest Substrate, Kusama & Polkadot static metadata
8.0.2 Apr 11, 2022
Changes:
- Detect typegen template location for commonjs execution
8.0.1 Apr 10, 2022
- Breaking change In this major version the commonjs outputs are moved to a sub-folder. Since the export map and main field in package.json does reflect this change, there should be no usage changes. However the packages here will all need to be on the same version for internal linkage.
Contributed:
- Improve
rpc-providerREADME (Thanks to https://github.com/josepot) - Add handling for
Vec<[<Type>;<length>]>in typegen (Thanks to https://github.com/zannis)
Changes:
- Add support for
apiAt.tx(...)to construct at a specific point - Add basic
api.derive.bagsList.*support - Return sorted names for
api.registry.lookup.names - Optimize JSONRPC requests/response handling
- Output commonjs files under the
cjs/**root - Update to latest Substrate, Kusama & Polkadot static metadata
- Add latest Polkadot 9180 upgrade block
- Update to
@polkadot/util9.0.1
7.15.1 Apr 3, 2022
Contributed:
- Export
WellKnownChainforsubstrate-connect(Thanks to https://github.com/josepot) - Add support for
{entries, keys}Pagedin.at(Thanks to https://github.com/xlc) - Align
WeightsPerClassinterface onmaxExtrinsic(Thanks to https://github.com/HackFisher)
Changes:
- Cater for
DispatchErrorwitherroras[u8; 4] - Add in-flight cache for parallel same-version metadata queries
- Cater for lazy
@polkadot/util-cryptoinit (adjustment for React Native) - Update to latest Substrate, Kusama & Polkadot static metadata
- Update latest Westend & Kusama (up to 9180) upgrade blocks
7.14.3 Mar 28, 2022
Changes:
- Ensure
BitVecwith MSB does not fail (used in PolkadotDeliveredMessages)
7.14.2 Mar 28, 2022
Changes:
- Don't export
ScProvidertop-level in@polkadot/rpc-provider
7.14.1 Mar 27, 2022
Contributed:
- Add
ScProviderfor@substrate/substrate-connect(Thanks to https://github.com/josepot) - Add support for
BTree{Map, Set}in typegen (Thanks to https://github.com/CertainLach)
Changes:
- Only explicitly support LSB on
BitVectypes - Change
toHuman()onBitVecto output default LSB - Add
bytes{Sent, Recv}to provider stats - Clear connection timeout on provider
disconnect() - Add support for
dev_getBlockStatsRPC
7.13.1 Mar 19, 2022
Important This contains an upgraded version of @polkadot/wasm-crypto. For users of asm.js, e.g. React Native, there are some additional upgrade instructions in the release notes for this version https://github.com/polkadot-js/wasm/releases/tag/v5.0.1
Contributed:
- Expose custom RPC error details (Thanks to https://github.com/intendednull)
- Improve custom RPC error typings (Thanks to https://github.com/MOZGIII)
Changes:
- Support for rejection of hanging RPC requests (30s timeout)
- Add
.statsto provider interfaces with running counters - Add support for
state_trieMigrationStatusRPC - Update to latest Substrate, Kusama & Polkadot static metadata
- Update to
@polkadot/util8.6.1 - Additional workaround for Vite bundling
7.12.1 Mar 13, 2022
Changes:
- Allow for correct handling of
Option<Null>types - Adjust for bundlers where
import.meta.urlis undefined - Update to
@polkadot/util8.5.1
7.11.1 Mar 6, 2022
Changes:
- Chunk derive retrieval of
era{Exposure, Prefs, Slashes} - Ensure that signer (passed via options) do get updated
- Kusama & Polkadot 9170 upgrade blocks
- Update to latest Substrate, Kusama & Polkadot static metadata
- Adjustments for TypeScript 7.6.2
7.10.1 Feb 27, 2022
Contributed:
- Ensure
updateIdis correct in signer callbacks (Thanks to https://github.com/coolcorexix)
Changes:
- Ensure
BTreeSethas the correct decoded length - Attach
PortableRegistryat point of metadata set - Add
derive.chain.getBlockByNumber - Retrieve named reserves in
derive.balances.all - Ensure
v13 -> v14metadata conversion attaches primitives - Update to latest Substrate, Kusama & Polkadot static metadata
7.9.1 Feb 20, 2022
Contributed:
- Support historic queries via blockNumber (Thanks to https://github.com/stwiname)
Changes:
- Align
grandpa_proveFinalitywith Substrate - Allow for derive augmentation (swap base type to interfaces)
- Kusama 9160 upgrade block
- Update to latest Substrate, Kusama & Polkadot static metadata
7.8.1 Feb 14, 2022
Contributed:
- Add
isHistoricflag to ETH RPCs (Thanks to https://github.com/stwiname) - Align contract instantiate types with Substrate (Thanks to https://github.com/kwingram25)
Changes:
- Adjust map header output type with lookup id
- Re-enable all
BitVectests fortoU8a - Expose
txIndexas event index on extrinsic results - Allow inspection of Codec encoding (experimental)
- Allow inspection of storage key encoding (experimental)
- Update to latest Substrate, Kusama & Polkadot static metadata
- Update
@polkadot/utilto 8.4.1
7.7.1 Feb 6, 2022
Upgrade priority: Low. Recommended for users with long-running scripts.
Contributed:
- Fix rpc-provider LRU memory leak (Thanks to https://github.com/gdethier)
Changes:
- Don't warn on
Lookup*types missing (these are resolvable) - Don't clear injected
PortableRegistrytypes on runtime upgrade - Clear warning for
Call/Eventon non-meta v14 runtimes - Add
beefy_getFinalizedHeadRPC support - Update to latest Substrate, Kusama & Polkadot static metadata
7.6.1 Jan 30, 2022
Upgdare priority: Low. Recommended for users with long-running scripts and those chains based around the latest Substrate master versions.
Contributed:
- Fix memory leak on
.rawRPC calls (Thanks to https://github.com/r0t0r-r0t0r)
Changes:
- Adjust extraction of
Call&Eventtypes for metadata v14 - Adjust historic
WinningDataandSlotRangetypes (36-entry variant) - Emit
decoratedevent on API on metadata decoration - Dedupe and extend
WrapperKeepOpaque/WrapperOpaque - Align
Range/RangeInclusiveusage with similar types - Adjust bounty derive, return empty on no
{treasury, bounties}.bounties - Ensure handling of all
TypeDefInfokeys in extraction - Add support for
rpc.contracts.uploadCode - Workaround for generators where
#private = { this... }yields undefined - Update to latest Substrate, Kusama & Polkadot static metadata
7.5.1 Jan 23, 2022
Upgrade priority: Low. Recommended for users of the latest contract pallet and ink! versions.
Contributed:
- Add additional namespaced contract tests (Thanks to https://github.com/VargSupercolony)
Changes:
- Adjust
Registryconsistency, augment extensions - Add
.multisupport onapi.at(...).<section>.<method> - Add support for ink! metadata V3 with payable constructors
- Cleanup ink! metadata parsing, allowing for easier extension
- Expose
contract.{query, tx}.<method>.meta, aligning with API - Fix storage metadata, aligning method with decorated name
- Adjust typegen, only using exportInterface
- Added Kusama/Polkadot 9151 upgrade block (known types)
- Update to latest Substrate, Kusama & Polkadot static metadata
7.4.1 Jan 15, 2022
Upgrade priority: Medium. Required for all chains using Range and RangeInclusive types. Also includes better error handling for number conversions.
Changes:
- Asserts for invalid number format inputs (MAX_SAFE_INTEGER, float)
- Ensure
Range/RangeInclusivevariant check does not fail on encoding - Ensure non-option calls in api-contract are marked as
@deprecated - Added Kusama 9150 upgrade block (known types)
- Update
@polkadot/utilto 8.3.2
7.3.1 Jan 9, 2022
Upgrade priority: Low. Maintenance upgrade, tracking the latest @polkadot libraries.
Changes:
- Extend support for
WrapperKeepOpaquewith internal decoding (allowed to fail) - Adjust max-entries in historic provider LRU
- Update to latest Substrate/Polkadot/Kusama metadata
- Update
@polkadot/utilto 8.3.1 - Update package paths under ESM
7.2.1 Jan 3, 2022
Upgrade priority: Low. Recommended for users generating TS chain-specific augmentations.
Changes:
- Convert contract
ReturnFlagsto set (as opposed to bareu32) - Adjust chain-specific augmentation to not auto-add RPC imports
- Ensure package path is availble under ESM & CJS
7.1.1 Dec 26, 2021
Upgrade priority: Low. Recommended for users of contracts form Substrate master & Polkador/Kusama TS app developers where specific chain augmentation would be helpful.
Contributed:
- Expose
storageDepositLimiton contract options (Thanks to https://github.com/kwingram25)
Changes:
- Expose
@polkadot/api-augment/{kusama, polkadot, substrate}for specific augmentations (The bare@polkadot/api-augmentis equivalent to/substrate, keeping the existing behavior) - Expose
@polkadot/types-augment/{lookup, registry}variants (The bare@polkadot/types-augmentapplies both) - Expose
txHashon submittable results, e.g.tx.signAndSend(..., ({ txHash }) => ...) - Align casing for TS & exposed queries (adjusts for
ALLCAPSentries) - Additional tests for
Optioncodec (explicit in expectations) - Update to latest Substrate, Kusama & Polkadot static metadata
7.0.2 Dec 21, 2021
Upgrade priority: Low. Recommended for applications where collective derives with aliasses are being used.
Changes:
- Fix alias module mapping in collective derives
- Update
dispathchQueuederive to align with latest Substrate - Update to latest Substrate metadata
7.0.1 Dec 20, 2021
Upgrade priority: Low. Recommended for TS users with their own non-Polkadot/Kusama chains.
-
Breaking changes For TS users the default API augmentation is now optional. This means that the API, for TypeScript, is not decorated by default with the Substrate types and encpoints. TS users should add a singular
import '@polkadot/api-augment';in their code to restore old behavior. A full writeup of the rationale and other options can be found in the FAQ -
Breaking change To cater for the above, chain-specific interfaces generated with older versions may not be compatible with the current version of the API. Additionally, TS interfaces generated with this version of the API is not compatible with older API versions.
Contributed:
- Add contracts storage deposit support (Thanks to https://github.com/statictype)
- Do not throw error on socket closes (Thanks to https://github.com/xcaptain)
Changes:
- Split
@polkadot/types-{codec, create}packages fromtypes - Extract
@polkadot/{api, rpc, types}-augment(now optional, TS-user applied) - Rework build steps to use TS project references
- Add Polkadot 9140 upgrade block
- Update to latest Substrate, Kusama & Polkadot static metadata
6.12.1 Dec 13, 2021
Upgrade priority: Low. Recommended for users of contracts on the current Substrate master version and TS users who generate metadata v14 interfaces.
Changes:
- Add support for contracts V2 ABI metadata
CheckNonZeroSendersigned extension support- Remove old-style capabilities detection (unneeded with metadata v14+)
- Generated TS Enum interfaces now expose the
type(with allowed values) - Split local & package imports in generated TS interfaces
- Add Kusama 9130 upgrade block
- Internal maintainability cleanups
6.11.1 Dec 5, 2021
Upgrade priority: Low. Maintenance upgrade, tracking the latest @polkadot libraries.
Changes:
- Align
state_traceBlockRPC with Substrate - Bump static metadata for latest Substrate, Polkadot & Kusama
6.10.3 Nov 30, 2021
Upgrade priority: Medium. Recommended for 6.10.x users
Changes:
- Fix ss58Prefix extraction
6.10.2 Nov 30, 2021
Upgrade priority: Low. Aligns TS augmentation and decoration with older behavior for ALL_CAPS identifiers.
Changes:
- Adjust augmentation interface consistency with top-level declarations
- Update
@polkadot/utilto 8.0.4 with adjustedstringCamelCase
6.10.1 Nov 29, 2021
Upgrade priority: Low. Recommended for users of HttpProvider and for chains generating types using TS augmentation.
Changes:
- Fix for HttpProvider init (RPC sections with only subscriptions)
- Re-order imports in lookup type augmentation interfaces
- Bump static metadata for latest Substrate, Polkadot & Kusama
6.9.2 Nov 22, 2021
Upgrade priority: Medium. Pulls in @polkadot/util-crypto fix for TS projects.
Changes:
- Update
@polkadot/util-cryptowith TS compilation work-around
6.9.1 Nov 21, 2021
Upgrade priority: Medium. Recommended for metadata v14 parachains. For TS users, the package now support TypeScript 4.5.2 and allows extraction of user types from metadata v14.
Contributed:
- Lookup TS generation for all metadata v14 chains (Thanks to https://github.com/savudani8)
- Update
BeefySignedCommitmenttype (Thanks to https://github.com/czl1378)
Changes:
- Adjust runtime
*::{Call, Event}matching for metadata v14 - Adjust derive decoration with (optional) known methods
- Expose
*{Call, Event, Error}TS types for metadata v14 - Align Option
.toJSONoutput with Substrate input - Optimize Enum, Struct, Option & Number decoding paths
- Ajust PascalCase conversions with function from util
- Prepare pre-v13 types for optional injection
- Adjustments for TS 4.5.2 support (flatten type infers)
6.8.1 Nov 11, 2021
Upgrade priority: Low. Recommended for chains with non-MultiSignature variants where paymentInfo is required.
Changes:
- Adjust
paymentInfosignatures to cater for non-MultiSignature variants - Remove
::generic::from names & namespaces under metadata v14 - Add Polkadot 9122 upgrade block
- Cleanup Polkadot/Kusama/Westend/Rococo known types (>= v14 metadata)
- Internal
decorateMethod{Promise, Rx}renamed toto{Promise, Rx}Method - Add RPC provider-level LRU for historic requests
- Add optional known runtime version param to internal
rx.queryAt
6.7.2 Nov 9, 2021
Upgrade priority: Low. Recommended for chains on metadata v14 with non-default Address implementations.
Changes:
- Detect
AccountId&Addresstypes viaSpRuntime*definitions - Adjust api-derive call ordering when using
.queryAt
6.7.1 Nov 7, 2021
Upgrade priority: Low. Internal maintenance updates, focussed on internal optimizations.
Changelog:
- Optimize Extrinsic & block handling (Thanks to https://github.com/nazar-pc)
- Add
account::AccountId20mapping (Thanks to https://github.com/joelamouche)
Changes:
- Use new-gen
voteLockingPeriodin democracy derives (as available) - Dynamically inject getters for
Extrinsicpayloads - Optimize caching for complex constructed type classes per registry
- Convert metadata, rpc and api to use lazy decoration
- Split u8a decoding paths for
Vec(different from general path) - Keep track of initial u8a decoded length inside base Codecs
- Extract multi property assignments for
Struct,Set,Json&Enum - Move
PortableRegistrylocation inside@polkadot/types/metadata - Bump static metadata for latest Substrate, Polkadot & Kusama
6.6.1 Nov 1, 2021
Upgrade priority: Low. Internal maintenance updates.
Changes:
- Fix construction for
palletVersionkeys with correct prefix - Add Polkadot
EthereumAddressas a knownPortableRegistryoverride - De-dupe
PortableRegistrynamespace splitting operations - Optimize internal
AbstractArray&Structu8a decoding - Shortcut
Structconstruction fromStructinstance - Use internal
lookupNameincreateClass(allows deeply recursive lookups) - Codec
toHex()will now correctly return the TSHexStringtype - Update known upgrade blocks for Westend & Kusama
- Bump static metadata for latest Substrate, Polkadot & Kusama
6.5.2 Oct 26, 2021
Upgrade priority: Low. Recommended for users with .at queries on unknown blocks.
Changes:
- Adjust
toHumanonCallto return names & (not only) values - Allow for optional known
RuntimeVersionto short-circuitapi.at - Ensure
Structdecodes fully onnullinput (equivalent toundefined&{})
6.5.1 Oct 24, 2021
Upgrade priority: Low. Internal maintenance upgrades.
Contributed:
- Add
Auctionto Polkadot pre-0.9.11ProxyType(Thanks to https://github.com/wirednkod)
Changes:
- Ecah module now exposes the Substrate-added
palletVersionstorage item - Adjust Websocket
maxReceivedFrameSizeunder Node TypeDefstructures now contain thetypeNamefrom metadata v14 on fields- Fix browser bundle imports for xcm-mapping (move to
types-known) - Expose all extracted type names in
PortableRegistry - Adjust
toJSON(Ascii) output detection onRaw - Adjust
api.rpc.*.*.raw(..args)return to the actual over-the-wire JSON result - Remove
api.rpc.*.*.json(..args)since it now overlaps with new.raw - Bump static metadata for latest Substrate, Polkadot & Kusama
6.4.2 Oct 18, 2021
Upgrade priority: Low. Recommended for Westmint runtime 500+
Changes:
- Ensure
SignerPayloadcorrectly serializesOptionwithNone - Add Ethereum
BlockV{0, 1, 2}types, aligning with latest Frontier - Additional tests for metadata serialization/de-serialization
6.4.1 Oct 17, 2021
Upgrade priority: Low. Recommended for Kusama & Polkadot runtime 9110+
Changes:
- Adjust Statemint known types for version 4+
- Adjust balance derives to return multiple vesting schedules
- Adjust crowdloan derives to use paged key retrieval
- Ensure account indices (derived) are
Accountindextypes - Adjust metadata v14 to include top-level type field from metadata
- Filter metadata v14 unused enum fields in TS generation
- Adjust derives to use more metadata v14 types on returns
- Add Kusama & Polkadot upgrade blocks for 9100/9110
- Align contract usage with latrest
PortableRegistry(remove old-generation) - Adjust contracts
InstantiateReturnValuetype (no rent projection after 267) - Adjust for eslint v8 checks
- Don't run any online tests on CI by default (uncontrolled external dependencies)
6.3.1 Oct 9, 2021
Upgrade priority: Low. Recommended for Kusama & Polkadot runtime 9100+
Changes:
- Mark
api.query.*.*.atas deprecated (useapi.at) - Expose
queryMulti,findErrorandfindCallonapi.at - Optimize parallel metadata retrieval/decoration
- Rework derive
.atto ensure no additional metadata calls - Adjust Xcm types for Kusama, Polkadot, Westend (V1 & V2 usage)
- Fix Xcm Fungibility type
- Add upgrade blocks for Westend
- Prepare for v14 metadata swap in Kusama/Polkadot (9110 runtime)
- Adjust metadata wilcard path matching (event extraction)
- Bump static metadata for latest Substrate, Polkadot & Kusama
6.2.1 Oct 4, 2021
Upgrade priority: Low. Maintenance updates.
Contributed:
- Cater for new asset fee payment extension (Thanks to https://github.com/apopiak)
Changes:
- Extend error messages for malformed
queryMultiinputs - Correctly handle non-map queries passed to
queryMultiin map form - Use new metadata v14 lookup type in derive results
- Adjust definitions to infer TS types in
.multiqueries - Fix TS lookup enum generation with nested Option & Tuple
- Bump static metadata for latest Substrate, Polkadot & Kusama
6.1.2 Sep 29, 2021
Upgrade priority: Low. Recommended for 6.x users using historic queries.
Changes:
- Fix
.atqueries/decoration for pre-V13 metadata - Added
BridgeMessageId&SpecVersiontypes for bridges - Added
WrapperOpaqueencoding/decoding (as per latest Substrate) - Bump static metadata for latest Substrate, Polkadot & Kusama
6.1.1 Sep 27, 2021
Upgrade priority: Low. Minor maintenance changes from the 6.0.x versions.
Contributed:
- Adjust bridges
OutboundLaneDatatype (Thanks to https://github.com/HackFisher) - Fix README 404 (Thanks to https://github.com/nblogist)
Changes:
- Add
childstate_getStorageEntriesRPC - Allow for scale-info v0 -> v1 conversion
6.0.5 Sep 20, 2021
Upgrade priority: Low. Recommended for all users on 6.0.4 using api.query.*.*.at calls
Changes:
- Revert cross-registry (now-inactive) change introduced in 6.0.3
- Ensure
Optionis correctly imported for TS query generation
6.0.4 Sep 20, 2021
Upgrade priority: Low. Recommended for all users on 6.0.3 using api.query.*.*.at calls
Changes:
api.query.<module>.<method>.atwill now useat.at(<hash>)- Use and expose
metadata/util/getSiNameto get human type names
6.0.3 Sep 19, 2021
Upgrade priority: Low. Recommended for all users on 6.0.2 using api.query.*.*.at calls
Changes:
- Fix
api.query.<module>.<method>.atqueries - Adjust typegen formatting for metadata documentation
6.0.2 Sep 18, 2021
Upgrade priority: Low. Recommended for all users on 6.0.1, especially those using api.query.substrate.* calls
Changes:
- Fix
api.query.substrate.*key generation
6.0.1 Sep 18, 2021
Upgrade priority: Low. Recommended for users of the latest Substrate/Polkadot with Metadata v14.
- Important The Metadata v14 change allows the metadata to expose the chain types. This has been a major overhaul of the metadata handling, hence the major version bump.
Contributed:
- Allow for
.cloneon Http provider (Thanks to https://github.com/ianhe8x)
Changes:
- Allow for Metadata v14 parsing & usage
- Align
DigestItemto latest Substrate - Adjust Kusama
IdentityInfotype for historic versions - All
nullvalues in bundles min/max - Bump static metadata for latest Substrate, Polkadot & Kusama
5.9.1 Sep 13, 2021
Upgrade priority: Low. Recommended for chains using Xcm.
Contributed:
- Adjust Centrifuge
ProxyType(Thanks to https://github.com/branan)
Changes:
- Additional types for parachain Disputes
- Adjust Xcm Error enum types
- Add Polkadot 9090 upgrade block
- Decoding enhancements with narrowing checks for TS
5.8.3 Sep 6, 2021
Upgrade priority: Low.
Changes:
- Adjust Statemint, Rococo and Westend Xcm overrides
5.8.2 Sep 6, 2021
Upgrade priority: Low.
Contributed:
- Correct Xcm V1
MultiLocationdefinitions (Thanks to https://github.com/apopiak)
Changes:
- Adjust Kusama Xcm overrides
5.8.1 Sep 6, 2021
Upgrade priority: Low.
Changes:
- Add
Auctionto KusamaProxyTypedefinition - Adjust Xcm definitions with latest v1 & v2 types
- Support for
scale-info1.0Rangemapping - Bump static metadata for latest Substrate, Polkadot & Kusama
5.7.1 Aug 29, 2021
Upgrade priority: Low.
Changes:
- Optimize
Vecconstruction (no re-create on new arrays) - Adjust output for enums in
toHuman - Adjust aliases for new parachain module locations
- Support for versioned xcm types (Polkadot master)
- Add support for
RangeinPortableRegistry(used in Metadata 14) - Adjust balances derive for non-existent instances
- Ensure Statemint (current) defaults to xcm v0
- Add Kusama 9090 upgrade block
5.6.1 Aug 23, 2021
Upgrade priority: Low. Recommended for users of Xcm, preparing for Kusama/Westend 9100
Contributed:
- Support 0...N-1 args on
keys/entries(Thanks to https://github.com/hamidra)
Changes:
- Updated XCM types,
AssetId,MultiAssets,MultiAssetV1,AssetInstanceV1,XcmOrderV1 - Rename
Nullentry inMultiLocationtoHere(Xcm V1) - Westend 9090 upgrade block
- Bump static Substrate, Kusama & Polkadot metadata
5.5.2 Aug 19, 2021
Upgrade priority: Medium. Contains fixes for parachain types, affecting historic block retrieval on Kusama.
Changes:
- Adjust
ValidDisputeStatementKindenum to latest version - Only enable API health keepalive on connections supporting subscriptions
5.5.1 Aug 15, 2021
Upgrade priority: Low. Recommended for users of TS (createType and bigint adjustments)
Contributed:
- Add
Range&RangeInclusivetypes (Thanks to https://github.com/c410-f3r) - Always use TS
biginttype (Thanks to https://github.com/ntduan)
Changes:
- Loosen pedantic check not to fail on all-empty values
- Extend
createTypeauto-TS decoration forBreeMap,BTreeSet,HashMap,Range - Add Polkadot 9080 upgrade block
5.4.1 Aug 9, 2021
Upgrade priority: Low. Recommended for potential users of NMap.
- Important The
ClassOfalias forcreateClasshas been removed, usecreateClass(with new generics) directly
Contributed:
- Enable
.keys()/.entries()on NMap (Thanks to https://github.com/hamidra)
Changes:
createType<T = Codec>('...': K)now returnsCodecwhenKis not knowncreateTypedoes basic TypeScript type matching on the input type- Handle
BitSequenceinPortableRegistry - Ensure API
isConnectedis set before connect/disconnect events are fired - Move all static test support files into
@polkadot/types-support - Align static Metadata with latest Substrate, Polkadot & Kusama
- Adjust v14 Metadata definitions to latest version
5.3.2 Aug 3, 2021
Upgrade priority: Low. Recommended for users of bridges.
Contributed:
- Add missing bridges types (Thanks to https://github.com/tomusdrw)
Changes:
- Align static metadata with latest Substrate
5.3.1 Aug 2, 2021
Upgrade priority: Low. Recommended for users of api.at(...) interfaces
Changes:
- Check specName & specVersion for historic registries (caters for runtime renames)
- Fix circular dependencies in codec utils
- Fix
api.at(<blockHash>)to decorate with the correct storage hash - Adjustments for upcoming metadata v14 in type creation &
PortableRegistry - Add Kusama 9080 upgrade block
- Add v13/v14 static metadata for Polkadot
- Align static metadata with latest Substrate
5.2.1 Jul 26, 2021
Upgrade priority: Low. Recommended for users of BTreeMap and BTreeSet
Contributed:
- Perform sorting on
BTree{Map, Set}, aligning with Substrate (Thanks to https://github.com/Lezek123)
Changes:
- Adjust RPC to use
registry.createTypewith optionality (required for metadata v14) - Adjust alphabetical sorting for TS type generation
- Adjustments for upcoming metadata v14 in type creation &
PortableRegistry - Provide the capability to convert v13 Metadata to upcoming v14
5.1.1 Jul 19, 2021
Upgrade priority: Low. Recommended for users of XCM with type fixes.
- Breaking changes With the support for v14 metadata parsing, the
documentationfields on metadata was renamed todocsfor consistency, aligning with the SCALE type generators.
Contributed:
- Don't clear rpc decoration on Api clone (Thanks to https://github.com/ianhe8x)
- Align Xcm Junction type with Substrate (Thanks to https://github.com/dt665m)
Changes:
- Update
ParaPastCodeMetawithReplacementTimes - Add mappings for
AccountId20&AccountId32types - Adjust scale-info types with Substrate (mapping for api-contracts to old)
- Allow nested structs in enum definitions & generation
- Allow for parsing of v14 metadata (not enabled by default, not merged into Substrate as of yet)
5.0.1 Jul 11, 2021
Upgrade priority: Low. Recommended for users of current-generation Substrate chains.
- Breaking change The
@polkadot/metadatapackage has been removed, adjust imports to@polkadot/types - Important Internally rxjs has been upgraded to the 7.0 version, affecting users of the
ApiRxinterface
Changes:
- Remove the
@polkadot/metadatapackage, consolidate into@polkadot/types - Contract reads will now expose an additional
gasRequired(total estimated) - Allow schedule derives to handle scheduler entries that cannot decode
- Add missing historic
Heartbeat: HeartbeatTo244mapping to Westend - Adjust Ws
.disconnect()logic to always clear auto-connect - Add
BlockNumberFortype mapping - Add Westend 9080 upgrade block
- Add
derive.crowdloan.contributions(paraId) - Allow building as a completely stand-alone browser bundle (experimental)
- Update to latest
@polkadot/x-rxjswith RxJs 7.2 - Align static metadata with latest Substrate
4.17.1 Jul 5, 2021
Upgrade priority: Low. Allows cleaner access to multiple .at queries via new API.
Contributed:
- Added
EmergencytoElectionPhase(Thanks to https://github.com/arjanz)
Changes:
- Added
await api.at(<blockHash>)to retrieve API instances at a point - Added
fallbackTypefor type classes (only struct, as defined) - Allow
instancesAPI config to drive derive collective locations - Ensure correct registry is attached to historic metadata
- Align static metadata with latest Substrate
4.16.2 Jun 27, 2021
Upgrade priority: Low. Recommended for Polkadot with runtime >= 9050.
Changes:
- Correct
CompactAssignments&RawSolutiontypes for Polkadot
4.16.1 Jun 26, 2021
Upgrade priority: Low. Recommended for full from-genesis queries on Kusama.
Contributed:
- Adjust types for uniques (Thanks to https://github.com/Yuripetusko)
Changes:
- Add Kusama, Polkadot & Westend 9050 upgrade blocks
- Add Kusama & Westend 9070 upgrade blocks
- Adjust API decoration to lazy-create event and storage types
- Use TS
overrideas applicable (with--noImplicitOverridesoption) - Add missing historic
Heartbeat: HeartbeatTo244mapping to Kusama - Remove duplication from contracts registry
- Add explicit check for scale-info 0.7+ (contracts index lookups)
- Align static metadata with latest Substrate
4.15.1 Jun 19, 2021
Upgrade priority: Medium. Recommended for all chains where Xcm is used (addition of new XcmOrigin)
Contributed:
- Added
ChargeAssetTxPaymentextension (Thanks to https://github.com/apopiak)
Changes:
- Allow for type decoding of nested fixed vectors, tuples and structs
- Added
childstate_getKeysPagedRPC - Add
XcmOriginmapping forOriginCallergeneration - Align static metadata with latest Substrate
- Adjust error message for contracts V3 (extrinsic from runtime)
- Correct module optionality in
api.derive.balances.account - Add alias for
GenericAddress->GenericMultiAddress - Adjust metadata doc generation (keep spaces between subsequent lines)
4.14.1 Jun 14, 2021
Upgrade priority: Low. Internal adjustment only, no major external usage changes.
Contributed:
- Adjust types for uniques (Thanks to https://github.com/hamidra)
- Add
ValidationCodeHashtype (Thanks to https://github.com/andresilva) - Extend
OriginCallertype creation (Thanks to https://github.com/xlc)
Changes:
- Do strict length checking on
[u8; <length>]type inputs - Adjust keys/entries retrieval batch sizes
- Add upgrade block for Kusama 9040
- Use
BNimports from@polkadot/util
4.13.1 Jun 6, 2021
Upgrade priority: Medium. Required for users connecting to Statemine and future Kusama upgrades.
Changes:
- Overrides for
westmintspec (same asstatemint) - Adjust
tx.session.setKeysTS augmentation to allowstring&Uint8Arraykeys - Add & adjust types for latest Cumulus code
- Added 9031-9033 upgrade block for Westend
- Update static metadata to latest Substrate
- Optimize map retrieval with split page sizes for keys & values
- Sanitizing
BNimports totype-only as required
4.12.1 May 30, 2021
Upgrade priority: Low. Internal adjustment only, no major external usage changes.
Changelog:
- Update
FundInfotype with Polkadot (Thanks to https://github.com/arjanz)
Changes:
- Allow storage queries with default keys values
- Align identity
Datato limit to 32 bytes in theRawenum (as per Substrate) - Align static (test & docs-only) metadata with latest Substrate master
- Added 9030 upgrade blocks for Kusama & Westend
- Cleanup of Eth pallet RPC definitions
- Cleanup README for
@polkadot/rpc-core(recommended for internal-usage only) - Cleanup internal tests (no dangling handles, cater for Jest 27)
4.11.2 May 24, 2021
Upgrade priority: Low. Recommended where users are having TS mismatches with type definitions created on older versions.
Changes:
- Add backwards-compatible TS-only
AugmentedQueryDoubleMaptype (unused now in type generation)
4.11.1 May 23, 2021
Upgrade priority: Low. Recommended for users using staking entries on Polkadot and users of Substrate master.
Changes:
- Fix metadata v13 storage decoding on
NMap - Add augmentation & keys/entries for NMap types
- Return additional error information from internal u8a decoding failures
- Adjust Westend types for 16 nominators-only
- Add support for
DisallowSigned(as per shell runtime) extension - Display small hex-slice with u8a decoding failures
- Add
state_getChildReadProofRPC - Cleanup Rococo known types (only as used)
- Under Node.js allow for WS receiving up to 16MB messages
- Update entries/keys for max of 256 items per call
4.10.1 May 17, 2021
Upgrade priority: Medium. Recommended for uses of Polkadot/Kusama 9010 runtimes.
- Breaking change Support for the contracts V2 compatibility has been dropped in
@polkadot/api-contract
Contributed:
- Expose RPC definitions via
.meta(Thanks to https://github.com/jiqiang90) - Adjust staking derives for chain-specific optional fields (https://github.com/WoeOm)
- Update base Centrifuge types (Thanks to https://github.com/branan)
Changes:
- Allow for
Bounded*type usage (as per latest Substrate) - Adjust internal TS definitions for providers
- Fix
ContractRxquery result definitions (no extra Observable) - Handle contract call RPC result directly as
Raw(returned as hex) - Use
BN_*constants as non-specified defaults in contract interfaces - Remove all type overrides for node/node-template (API tracks latest)
- Contracts ABI now supports metadata version where indexes are 0-based
- Remove support for the old-style V2 contracts from
@polkadot/api-contract - Adjust historic decoration, return as-at registry via
getHeader,getMetadata&getRuntimeVersion - Adjust
VecFixedto allow for the handling of hex inputs - Adjust
Compact<*>to allow for wrappedtoBigInt()conversions - Fix
isPedanticdecoding to correctly handleText - Cater for new
phragmenElectionmodule naming - Add Kusama & Westend 9010 upgrade blocks
- Adjust
CompactSolutionfor 24 nominators - Bump static metadata to latest Substrate
4.9.1 May 6, 2021
Upgrade priority: Medium. Required for the next v0.9.0 Polkadot/Kusama chain upgrades where parachains are used.
- Breaking change The previously deprecated contracts interfaces, has been removed. Update to
<myContract>.query.*,<myContract>.tx.*and<myCode>.tx.*interfaces as per the previous code usage hints. - Important By default the
isPedanticmode is now switched on for storage queries. This means that the API will fail on any types where the input/output decoding doesn't match 100%
Changes:
- Re-add isPedantic check on storage decoding
ConsensusEngineIdnow implements[u8;4](mapping closer to Rust source)- Additional Xcm types
- Adjust parachain types
- Remove error logging on createType (details passed in error)
- Adjust
ContractInfotype as per latest Substrate - Adjust
DigestItemtype as per latest Substrate - Adjust re-encoding of
BitVecbased on decoded length - Added
contracts_instantiate,state_traceBlock&system_reservedPeersRPCs - Prepare for auto-capability detection with historic
.atqueries - Add known upgrade block for Westend 900 & 9000
- Remove all deprecated interfaces inside
@polkadot/api-contracts - Initial support for NMap storage keys
- Support metadata v13 from Substrate (upcoming upgrade)
- Optimize historic metadata retrieval from rpc core
4.8.1 May 2, 2021
Upgrade priority: Low. Recommended when using or developing for parachains.
Changes:
- De-alias xcm
Outcome(used in multiple pallettes) - Adjust xcm types as per latest, e.g.
XcmError - Fix generate of well-known storage keys (e.g.
:code) - Optimize metadata unknown type validation
- Allow metadata creation for
MaporRecord - Expose additional camelCase
methodonAbiMessage(maps to decorated name) - Added explicit double-byte ss58
AccountIdencoding test - Add known upgrade block for Polkadot v30
- Cleanup WebSocket handlers when close event has been received
- Update to latest Substrate metadata
4.7.2 Apr 26, 2021
Upgrade priority: Low. Recommended for users of 4.7.1 using nvm
Changes:
- Update
EthBlock/EthHeadertypes (as per Rust origin) - Updated Xcm
OriginKindenum - Add derives for
membership - Cleanups on encodedLength calculations
- Update
.nvmrcto reflect engines changes
4.7.1 Apr 25, 2021
Upgrade priority: Low. Recommended for users following Substrate master.
Changes:
- Adjust Struct decoding with better error messages on invalid input objects
- Add support for new
BoundedVectype - Expand
Datatype (as used in identity), with all is/as getters - Updated
Xcmtypes (with Plularity) - Adjust
DispatchErrortype as per current Substrate master - Adjusted Statemint
Proxytype - Remove metadata generation dependency on well-known.json (dedupe)
- Adjust WebSocket reconnection delay from 1s to 2.5s
- Revert Beefy keys addition for Westend
- Add explicit
enginesconfig topackage.json - Support for
NoneinRewardDestination - Align with latest substrate metadata
4.6.2 Apr 19, 2021
Upgrade priority: Low. Recommended for users of Kusama/Polkadot.
Changes:
- Correct Kusama/Polkadot runtime 30 session key definitions
4.6.1 Apr 19, 2021
Upgrade priority: Low. Recommended if used in a Node.js 15.x environment.
Changes:
- Assert keypair validity in signing operations
- Expose
internalErroron submittable results (e.g. event decoding errors) - Simplify session derives for old/new
- Add Statemint to known types
- Add support for
rpc.beefy.subscribeJustifications - Update Xcm types
- Explicitly handle
isReadyOrErrorwithApi.create - Add Kusama upgrade block for 2030
4.5.1 Apr 12, 2021
Upgrade priority: Low. Recommended with usage with the Rococo testnet.
Changes:
- Update parachain types as per latest Polkadot
- Cater for
KeyswithBEEFYsession keys - Update
Keysinjection to allow for on-chain type detection - Add
Westendknown upgrade block for runtime 50 - Align types with latest Substrate master
- Adjust keepalive
system_healthtimer
4.4.1 Apr 5, 2021
Upgrade priority: Low. Recommended with usage with the Rococo testnet.
Changes:
- Add
ServiceQualitytype for Cumulus - Adjust XCM MultiLocation type (X5 to X8 junctions)
- Add Polkadot 29 upgrade block
4.3.1 Mar 29, 2021
Upgrade priority: Low.
Contributed:
- Fix documentation on ABI parameters (Thanks to https://github.com/vminkov)
Changes:
- Warn on usage of deprecated contract interfaces
- Update
ParaInfotype - Council should be optional in treasury derives
- Allow extraction of session derives indexes with no staking
4.2.1 Mar 22, 2021
Upgrade priority: Low. Recommended when tracking the latest updates from Substrate.
Contributed:
- Fix contract even decoding on Substrate 3 (Thanks to https://github.com/vminkov)
Changes:
- Adjust
Extender{Header, SignedBlock}types to ensure at-blockHeadertypes are used - Explicit definition for new Rococo triple refcount
AccountDatatypes - Convert metadata private class fields to ES-private
- Adjust
SignedBlocktype for newjustificationsfield - Optimize society derive for multi accounts
- Bump metadata to latest substrate version
4.1.1 Mar 15, 2021
Upgrade priority: Low. Recommended when tracking the latest updates from Substrate.
Changes:
- Fix author extraction for last block in a session
- Expand
SignerPayloadto inject/expose custom signed extensions ConsensusEngineIdformats non-Ascii engines correctly- Allow
getBlock/Headerderives to use as-at registry (instead of latest) - Cleanup
RpcCoreaugmentation (removing TS warnings on typegen chains) - Add upgrade block for Kusama 2029
- Ensure that type alias overrides also apply to map keys
- Check type generation against fallbacks (build-time only sanity check)
- Add
mmr_generateProofRPC - Align types with latest substrate master
- Apply latest Polkadot auctions/crowdloan/parachains/slots types
4.0.3 Mar 8, 2021
Upgrade priority: Low. Recommended if you use the API to sync the full chain, most notably Polkadot.
Contributed:
- Re-add unused historical
SudoBalancestoProxyType(Thanks to https://github.com/emostov)
4.0.2 Mar 8, 2021
Upgrade priority: High. Required if you are using 4.0.1 in a Node.js environment.
Changes:
- Fix import from
@polkadot/x-rxjsin Node environments (From common) - Add correct types for
Phaseis new validator elections module
4.0.1 Mar 7, 2021
Upgrade priority: Low. Recommended for users wanting to keep updated with chain changes.
Important In the 4.0 version the default package type has been changed to ESM modules by default. This should not affect usage, however since the output formats changed, a new major version is required.
Contributed:
- Expose
unknownTypeson the registry interface (Thanks to https://github.com/ii-ii-ii)
Changes:
- Build to ESM by default (with cjs versions via export map)
- Enum
.toSON()now encodes all keys ascamelCase(aligning with the output from Substrate) - Add
createdAtHash?: HashtoCodecinterface (filled-in by storage retrievals) - Expose the source hash as
wamHashon Abi parsed instances - Use
parentHashwhen creating mortal era (handles frequent forks better) - Add
AccountInfoWithTripleRefCountto cater for latest Substrate - Add upgrade block for Westend 49
3.11.1 Feb 28, 2021
Upgrade priority: Low. Recommended for users wanting to keep updated with chain changes.
Contributed:
- Clean Websocket states on disconnects (Thanks to https://github.com/ianhe8x)
- Support for C-like indexed enums (Thanks to https://github.com/xlc)
Changes:
- Adjust council derives to cater for current-generation candidate mapping
- Allow for override of codec hasher (& output type)
- Adjust submittables to submit hex-encoded addresses to queries
- Adjust initialization to always retrieve tx version from Metadata only
- Update election types as per latest Substrate
- Add types for the new gilt module
- Upgrade to the latest Substrate metadata
- Adjust package detection to check for local monorepo dependencies
- Ensure that metadata
.toJSON()does apply type aliasses
3.10.2 Feb 23, 2021
Upgrade priority: Medium. Recommended for users of chains where MultiAddress is in-use and blocks are decoded.
Changes:
- Fix decoding for
MultiAddressenum where non-AccountIdvariable-lengths are provided as part of a stream - Added known Polkadot 28 upgrade block
- Update for latest Substrate contracts
Scheduletypes
3.10.1 Feb 22, 2021
Upgrade priority: Low.
Changes:
- Adjust ConsumedWeight types to align with Rust module code
- Check for connection status in subscription unsubscribe
- Adjust staking reward derives ordering for better performance
- Adapt detection imports to remove
.jsondependencies (Better behavior using Node.js with ESM)
3.9.3 Feb 16, 2021
Upgrade priority: Low. Recommended for parachain builders since it contains the updated parachain types.
Changes:
- Adjusted parachain
PersistedValidationDatastructure
3.9.2 Feb 15, 2021
Upgrade priority: Low. Recommended for parachain builders since it contains the latest parachain types.
Contributed:
- Update README links (Thanks to https://github.com/wirednkod)
Changes:
- Added missing Culmulus
ParachainInherentData&MessageQueueChaintypes - Add alias for
system_unstable_networkStateRPC
3.9.1 Feb 14, 2021
Upgrade priority: Low.
- Important The
Result<T, E>has been updated in the generation and the base types to follow the Rust version 100%. This means{as, is}Erroris now available as{as, is}Erron theResulttype. The older versions can still be used, but the*Errorinterfaces are now marked as deprecated.
Changes:
- Adjust
Result<T, E>interface to be 100% compatible with the Rust version - Add the
2028upgrade to the known upgrades (optimizing certain.atqueries) - Adjust council derives to cater for latest Substrate & Polkadot
- Adjust Rococo know type definitions to cater for the latest update
- Update types for latest Polkadot/Substrate
- Add generic arguments for TypeScript users to
.entries/.keysto deal with the key typings
3.8.1 Feb 7, 2021
Upgrade priority: Low. Recommended for users of the latest Substrate master, especially using contracts.
- Important The
api-contractCodenow supports deploying the code and a contract in on operation. This aligns with the latest Substrate where code cannot be uploaded with a contract. ThecreateBlueprintis therefore deprecated, usecode.tx.<constructor>(...)to deploy code. (Compatible with both old and new versions of Substrate)
Contributed:
- Add support for latest Frontier RPCs (Thanks to https://github.com/jnaviask)
- Fix user-supplied signed extensions type signature (Thanks to https://github.com/ntduan)
Changes:
- Expand
api-contractto allow forCodeto deploy contract alongside code.createBlueprintis now deprecated, replaced bycreateContractor the preferredcode.tx.<constructor>, which uploads and deploys the code in one operation. This aligns with the current Substrate master contracts implementation. - Allow for signed extensions to be supplied inside type bundles
- Ensure that the auto-connect state is checked on auto-connections (respecting disconnect)
- Added
CancelProxyto `ProxyTypes on Polkadot, Kusama & Westend - Updated to latest Substrate metadata
3.7.3 Feb 2, 2021
Changes:
- Added Polkadot upgrade block for runtime 27 (known checkpoint optimization)
3.7.2 Feb 2, 2021
Changes:
- Adjusted the
Keystype for the 28 runtime on Kusama, Polkadot & Westend
3.7.1 Feb 1, 2021
Upgrade priority: Low. However recommended for current Substrate master, Polkadot and Rococo users and those wishing to support the upcoming Polkadot 28 runtime with the new MultiAddress.
- Breaking change As indicated in the 3.5.1 release notes, the
Address/LookupSourcedefaults have now been adjusted forMultiAddress. If your chain does not use these types, explicitly add the correctAddress/LookupSourcetypes. This new extensible format is mean to cater for all address types into the future, removing a lot of discrepancies between chains.
Contributed:
- Extraction of the block author on Moonbeam (Thanks to https://github.com/joelamouche)
- Cleanup logs with HTTP providers, no subs (Thanks to https://github.com/Tbaut)
Changes:
- Allow
.sliceoperator on theVectype - Apply
MultiAddressas a default - Adds support for the upcoming Polkadot 28 and Kusama 2028 runtimes
- Add checkpoint for Kusama 2027 upgrade
- Update all parachain types (as per latest Rococo)
- Correctly use relay blockNumber in parachain validation data
- remove information log for capabilities detection (creates confusion)
- Remove explicit references to
global, use thex-globaldetection - Remove explicit
moduleinpackage.json(exports map available)
3.6.1 Jan 24, 2020
Upgrade priority: Medium if not already on at least 3.3.1. The next upgrade of Kusama/Polkadot requires it.
- Breaking change To support chains with multiple tokens, such as bridges, the
ChainPropertiestype now returns an array of tokens and decimals (instead of singular values) in thetoken{Decimals, Symbol}getters. Additionally, this means that theregistryinterfaces has been changes, toregistry.chainDecimals: number[]andregistry.chainTokens: string[]. Where used the[0]index will return the first value if only interested in a single, for a straight conversion.
Changes:
- Allow for the detection of on-chain capabilities as available (e.g.
AccountData,ValidatorPrefs) - Cater for multiple tokens and decimals in the chain the chain
system.properties(as per the chain specification) - Add a
instances: { [key]: [module1, module2] }definition in teh bundle types, allowing for multiple instances (e.g. Balances) - Adjust the
api-derivefor balances to retrieve values viainstancesas well as across multiple modules - Ensure all types are registered for all metadata typegen steps
- Add
rpc.payment.queryFeeDetailsRPC endpoint - Update types & metadata to latest Substrate
- Move the
@polkadot/x-rxjspackage into the common repo - Allow doc generation for errors/events (markdown outputs)
3.5.1 Jan 18, 2020
Upgrade priority: Low. Recommended for parachain developers.
- Important The default for Substrate on the Address types are
MultiAddress. It is recommended that chains add explicit definitions forAddressandLookupSourcein their types, instead of relying on the API-defaults. A future update will swap the API defaults to align with Substrate. - Important Like the above changes in Substrate, the
AccountInfostructure has also changed. It is recommended that chain developers explicitly addAccountInfo: 'AccountInfoWithRefCount'for the version withrefCounton andAccountInfoWithProvidersfor the latest Substrate version. As per the above, the API defaults will be changed to align with Substrate.
Contributed:
- Apply correct TypeScript type for
toBigInt()(Thanks to https://github.com/ianhe8x) - Expand type definitions for storage key tuples (Thanks to https://github.com/monitz87)
- Adjust bounty derive to cater for non-council chains (Thanks to https://github.com/ekowalsk)
Changes:
- Remove recursion in vector/struct U8a stream decoding
- Availability of staking made optional in session length calcs (era does require it)
- Updates to parachain types, ensuring it has coverage for all the latest
- Update all Rococo types to the latest (session keys, session reports, parachain indexes)
- Update known upgrade checkpoints fo WestEnd
- Add types of the lottery module in Substrate
- Add and extend types for the crowdloan module in Polkadot
- Adjust node-template to default to
MultiAddresson specVersion >= 100
3.4.1 Jan 11, 2020
Upgrade priority: Low. Fixes for parachain types, .entries() (with no values) and event.is(...) checks, users of these interfaces will have benefit.
- Breaking change The
derive.chain.{getBlock, subscribeNewBlocks}now returnSignedBlockExtended, all with the actual extrinsics and events mapped. Users of the latter interface should take note.
Contributed:
- Fix
SessionKeys{6-9}definitions (Thanks to https://github.com/icodezjb) - Support
Vec<(a, b)>in enums (Thanks to https://github.com/monitz87) - Add motions to bounty derive (Thanks to https://github.com/ekowalsk)
Changes:
derive.chain.getBlock()now maps events to extrinsics via.extrinsicsgetter- Ensure dispatchInfo is extracted on failed extrinsics (
getBlockderive) - Allow specification of additional signed extrinsic via API options
- Add missing parachain types,
ParaGenesisArgs - Correct
EthTransactiontype (as per the correct cargo crate) - Update with latest contract types for Substrate master
- Update alias mapping for asset palette (including Substrate starting defaults)
- Allow
.entries()call where 0 keys are present - Fix
.ison events not checking the correct index - Construction of
i*types ow correctly checks for max positive/negative
3.3.1 Jan 4, 2021
Upgrade priority: Low. Recommended for users of frontier evm module with additional types.
Contributed:
- Expand bounty derives (Thanks to https://github.com/ekowalsk)
- Adjust known-types (Thanks to https://github.com/mikiquantum)
Changes:
- Parallelize the API-init RPC calls for faster overall startup
- Add
ExitReasontypes for the frontier evm module - Adjust checks for indexed/non-indexed module checks (metadata decoration)
- Apply module aliases on constants (aligning with events, extrinsics)
- Allow for use of
system.ss58Prefixas exposed (current Substrate master) - Correct use of api-contract
blockWeights.maxBlockin estimation - Build metadata docs & interfaces with section aliases
- Update to latest Substrate master metadata in tests
3.2.1 Dec 27, 2020
Upgrade priority: Low. Recommended for users of parachains.
Contributed:
- Adjust metadata
.asV12type signature (Thanks to https://github.com/yjhmelody)
Changes:
- Add
api.{errors, events, query, tx}.<section>.<name>.is(...) - Remove support for staking pre Substrate 2.0
- Add all frontier types & RPCs
- Support
AccountInfowith new provider/consumer refCount structure - Additional Cumulus parachain types
- Consistently format number JSON based on bitLength
- Cleanup metadata -> api dependencies
- Update
@polkadot/utilto 5.2.1
3.1.1 Dec 20, 2020
Upgrade priority: Low. Recommended for users of parachains.
Contributed:
- Additional parachain types (Thanks to https://github.com/joelamouche)
- Support for multi queries with
HttpProvider(Thanks to https://github.com/ianhe8x) - Configurable error logging with
createTypeUnsafe(Thanks to https://github.com/dvdplm)
Changes:
- Adjust core type creation, removing storage duplication
- Update parachain types to support Rococo v1
- Adjust bounties derive to cater for new Substrate namespaces (& move to bounties)
- Mark
detectPackageas known side-effect - Add
detectPackageto@polkadot/metadata(a number of requests on this) - Adjust x-rxjs wrapper to expose all methods, incl. Node.js esm fixes
- Update to latest Substrate static metadata
- Update
@polkadot/utilto 5.1.1
3.0.1 Dec 14, 2020
Upgrade priority: Low. Recommended for the next Kusama/Polkadot upgrades due to additional types and those following chains following Substrate master closely.
Important While this package contains no external interface changes, it now compiles and ships both cjs and esm modules. This means that modern bundlers will have more information for tree-shaking available. Additionally when using Node with .mjs extensions, the esm version imports will be used on recent Node versions. Adding an export map, as here, may have some impacts so a major semver bump is advised. There may be (small) dragons hiding in the dark corners...
Contributed:
- Injection of derives via typesBundle (Thanks to https://github.com/pr0fedt)
- Added derives for bounties (Thanks to https://github.com/krzysztof-jelski)
Changes:
- Build and expose both cjs and esm via exports map
- Inject RPC definitions for typesBundle, allowing per-spec configuration
- Added
query.<section>.<method>.sizeAt(hash, [...params])for all storage - Add new Substrate consumed Weight types
- Expand
SessionKeys<n>definitions (up to 9) - Cleanup circular
Type<->Textdefinitions - Cleanup circular
Metadata<->TypeRegistryimports - Update
@polkadot/utilto 5.0.1
2.10.1 Dec 7, 2020
Upgrade priority: Low. Recommended when following Substrate master and/or parachains development, contains the latest types for both.
- Breaking change If using the
staking.queryderive, you now need to pass flags as to which values to retrieve
Changes:
- Ensure that maximum era is limited to
consts.system.blockHashCount(don't overflow on very low blocktimes) - Apply current Polkadot master parachain types
- Apply current Substrate master asset types
- Add
system_{addLogFilter, resetLogFilter}RPCs - Adjust tests for latest Substrate metadata
- Adjust staking derives to be more performant (flags indicate which query values to retrieve)
- Add account derive to cater for the availability of identities
- Use
import typein all cases
2.9.1 Nov 30, 2020
Upgrade priority: Low. No major changes when on at least 2.8.2. Users encouraged to upgrade to at least that patch.
- Breaking change The API will now not attempt to queue calls made while not connected and send on connection. Rather when making a call and the RPC node is not connected, an error will be thrown.
Contributed:
- Add typegen capability for custom RPCs (Thanks to https://github.com/holygits)
Changes:
- Remove rpc-core send queue, only allow sends while connected
- Adjust staking derive for
electedInfoto contain details of current validators - Extract identity-only derive from
accounts.infofor simpler reusability - Add types for Substrate master node (to allow for consistent swapping to
MultiAddress) - Adjust
Byteswith.sliceto be consistent forUint8arrayextensions (already released in 2.8.2 as a bugfix)
2.8.1 Nov 23, 2020
Upgrade priority: Low. Recommended if using Substrate master with new MultiAddress.
Contributed:
- Export
derive.chain.getBlock(Thanks to https://github.com/lovesh)
Changes:
- Expand
MultiAddressconstruction with multi type detection - Rename
GenericLookupSourcetoIndicesLookupSource(internal use) - Cleanup list retrievals with
Rawdata results for undecodable entries - Export actual version via
RegistryMetadata - Dedupe bn.js (one version shared between dependencies)
2.7.1 Nov 16, 2020
Upgrade priority: Medium. Recommended for users of Polkadot/Kusama and api-contract users.
Changes:
- Allow for
ExtrinsicSignatureoverrides (defaults toMultiSignature) - Update api-contract
Blueprintto allow for optional salt (auto if not provided) - Support for ink!
.contractfiles (in addition to ABI.json) - Fix contract event decoding with pass-through of raw
Bytes - Fix support for enum encoding in api-contract
- Support new contract
Scheduletype as per Substrate - Update Kusama/Polkadot known upgrade blocks
- Adjust typegen generated
@polkadot/typesimports - Adjust internal
@polkadot/typesimports/exports (overall bundle sizes)
2.6.1 Nov 9, 2020
Upgrade priority: Low. Should be done alongside an update to @polkadot/util to 4.0
Changes:
- Adjust auto-gas to contract RPC call to 5 * 10 ^ 12 (align with Rust)
- Adjust derive
AccountIdcheck to take Ethereum-compatible chains into account - Fallback for chains with invalid council proposal data in derives
- Bump static v12 Metadata (tests) to latest Substrate version
- Bump
@polkadot/{util,util-crypto}to 4.0 (optimized WASM layers)
2.5.1 Nov 2, 2020
Upgrade priority: Low. Recommended for api-contract developers.
- Breaking change Substrate changed the
ContractExecResultfromapi.rpc.contracts.call. The API does have pass-through support for both old and new variants via theContractinterface, however it means the structure has changed to accommodate the new Substrate structure. Refer to the docs for the latest interface (includingisSuccess/isError->isOk/isErr, and the availability of thegasConsumed)
Contributed:
- Dedup similar types on generation (Thanks to https://github.com/monitz87)
Changes:
Contractexecution will now return contract events decoded in the result- Add
.dryRunon extrinsics (alongside.paymentInfousage) - Add
system_syncStateandsyncstate_genSyncSpecRPCs - Enhance error reporting,
Callindicates explicit call as found - Adjust internal metadata decoration and use as exposed from
@types/metadata - Expand Rococo known types to cater for v1 (specVersion 10)
registry.hashnow returns anH256object (as opposed to raw Uint8Array)- Use utility logger in all relevant error messages (consistency in logging)
- Add
derive.council.proposal(<hash>)for retrieval of a single (expanded) proposal - Correctly and transparently format type generation types (allowing for nested variants)
2.4.1 Oct 26, 2020
Upgrade priority: Low. No breaking changes, however it does move api-contract forward with additional features.
Contributed:
- Add support for both
{i,u}256types on contracts (Thanks to https://github.com/seanyoung)
Changes:
- Add
.keysAt&.entriesAtto query maps at a specific blockHash - Adjust ordering of type injection, any
types: { ... }definitions not have precedence - Correctly format Tuples in both RPC and const definitions as part of type generation
- Add node-template to known types (tracking inside API), remove warnings for the spec
- Add initial implementation for new Substrate
MultiAddresstype - Add
api.derive.chain.subscribeNewBlocksfor full block retrievals - Contracts identifiers to
.{exec, read}('name', ...)now matches on both snake_case and camelCase (consistency) - Cleanup contracts serialization for messages to allow both to and from
- Add deserialization of contract events against the ABI
- Adjust contracts metadata parsing to be future-proof with type retrievals
- Add tests for Solang into contracts, re-organize layout per type
2.3.1 Oct 19, 2020
Upgrade priority: Low. Recommended for api-contract developers and those using large messages via Node.js WS.
Contributed:
- Adjust frame size for Node.js WebSockets (Thanks to https://github.com/mnaamani)
- Update warnings to reflect new docs URLs (Thanks to https://github.com/aphelionz)
Changes:
- Expose
dispatch{Error, Info}on all.txresults (less boilerplate on info checks) - Add missing primitive types inside contracts type parsing
- Adjust api-contract to expose
Contract.{query, tx}.<message>andBlueprint.tx.<constructor> - Rework contracts registry to be generic to all scale-info definitions
- Allow for auto-max weight on contract read/exec (useful in estimation)
- Fix memoization where
BigIntparams are passed
2.2.1 Oct 12, 2020
Upgrade priority: Low.
- Breaking change
@polkadot/api-contractnow only supports ink! 3.0-rc1 and later formats. Users of ink! 2.1 are recommended to stay on an older version until upgraded.
Contributed:
- Add latest Ink! types (Thanks to https://github.com/ascjones & https://github.com/kwingram25)
- Add base for new contract metadata parsing (Thanks to https://github.com/ascjones & https://github.com/kwingram25)
Changes:
- Introduce
OriginCallertype (& apply to scheduler types) - Adjust
ContractInfotype for latest Substrate (contracts) - Adjust
Scheduletype for latest Substrate (contracts) - Allow snake_case to be handled transparently in structs
- Full new api-contract developer interfaces (Code, Blueprint, Contract)
- Rework Abi & Abi Registry use & parse (based on contributed) for efficiency & non-global clobber
- Allow
nullinput onTextvalues in addition to existingundefined - Remove all documentation after move to https://github.com/polkadot-js/docs repo
- Adjust type encoding from TypeDef, s/encodeType/encodeTypeDef/
2.1.1 Oct 5, 2020
Upgrade priority: Low.
Contributed:
- Remove unused documentation link (Thanks to https://github.com/roccomuso)
Changes:
- Adjust RPC error formatting with string cleanups and a larger allowed range
- Apply limit protection on
Text&Bytes, protecting against OOM on erroneous decoding - Add
derive.staking.validatorsFromto determine validators nominated and own validators - Cleanup document generation without (currently unused) summary links
- Rename static TRANSACTION_VERSION to EXTRINSIC_VERSION (Substrate alignment)
- Bump Substrate metadata (tests, doc generation)
2.0.1 Sep 28, 2020
Upgrade priority: Medium. Required for all teams building on Substrate 2.0 for full compatibility.
- Important The
RefCounttype (used byquery.system.accounts) has been changed to au32. On older chains supply theRefCount: 'RefCountTo259'override - Breaking change Metadata versions before v9 as not supported anymore. v4 was the first version to go with the Substrate 1.0 while Kusama itself starts at v9 as the earliest version. This means that Substrate 1.x chains that have not had any upgrades are not supported in this version of the API anymore.
- Breaking change Extrinsic versions before v4 (1-3) are not supported anymore. This aligns with the above metadata change, where v4 is the canonical version.
- Breaking change Support for the old-style linked-map retrievals via
query.<module>.map()have been dropped, only the existing.keys()/.entries()are available for map iteration.
Contributed:
- Add secondary fields to EpochAuthorship (Thanks to https://github.com/andresilva)
- Add support for FixedVec in enums (Thanks to https://github.com/monitz87)
Changes:
- Drop support for Substrate 1.0 metadata versions 1-8
- Drop support for Substrate 1.0 extrinsics version 1-3
- Add support for
grandpa_proveFinalityRPC - Drop support for linked map queries not via .entries (deprecated since early versions of Substrate 2)
- Support
.entries()on older chains withoutqueryStorageAtsupport - Add bounty type definitions from treasury palette
- Adjust
RefCounttype as per substrate 2.0 - Add
PalletVersiontypes for future palette versioning - Adjust formatting for
Per{cent, bill, mill}without instance checks - Skip invalid keys on validator retrievals
1.34.1 Sep 21, 2020
Upgrade priority: High. Metadata v12 is the next major version containing structural data exchange changes and will start rolling out to test and live networks in due course.
- Breaking change The
Decorated(from@polkadot/metadata) class signature has changed. It now always expects a validMetadataobject to be passed-in, instead of raw data. It is recommended to create aMetadataobject, set it on the registry with.setMetadataand then only create aDecoratedinstance. (Only affects metadata-only users of the API)
Contributed:
- Added support for POW block author extraction (Thanks to https://github.com/sorpaas)
Changes:
- Ensure Metadata retrieval does not pollute the default registry
- When passing
{ nonce: -1 }tosignAndSendthe API will usesystem.accountNextIndexto determine the nonce - Ensure that upgrades override old registry types (non-specified in current)
- Support for Metadata v12 with fixed indices
- Cleanups for WebSocket class detection and creation
- Ensure that ignored map params yield an error on
iterKey - Cater for older chains in derive democracy locks (availability detection)
1.33.1 Sep 14, 2020
Upgrade priority: Low. Recommended when using clones instances.
Changes:
- Allow
paymentInfoon any extrinsic withtx.paymentInfo(<address>, <at>)(hash specified) - When cloning an API instance the runtimeChain is now properly set from source
- When cloning an API instance the registry is shared with the source
- Optimize derive
receivedHeartbeatsto not re-create the full object - Add
staking.stakerPrefsderive to retrieve validatorPrefs over a range of eras - Basic map of Websocket error codes to short descriptions (where none available)
1.32.1 Sep 7, 2020
Upgrade priority: Low. Recommended when manually using provider connect/disconnect or using multiple instances in a single process.
- Breaking change Previously
.isReadycould throw an error, now it will always succeed on connection. For trapping errors, use the.isReadyOrErrorvariant on the API - Breaking change The
isConnectedprovider interface is now a getter, replacing previous calls toprovider.isConnected(). Additionally theprovider.disconnect()is now async, aligning with.connect().
Contributed:
- Expand vesting information via derive balances (Thanks to https://github.com/niklabh)
- Add
isReadyOrErrorto API,isReadyalways succeeds (Thanks to https://github.com/shawntabrizi)
Changes:
- Adjust memoization to work on a per-instance basis, with no contamination between multiple api/provider instances
- Added
derive.chain.getBlock(hash)to retrieve aSignedBlockextended with an.author(same asderive.chain.getHeader(...)) - Added
api.{connect, disconnect}()as well asisConnectedinterfaces. The first functions async returningPromise<void> - Error on provider connections will now emit all (as expected) via the event emitter
- Ensure that initial connection failures always retry (when using auto-connection management)
- The
api.derive.staking.query/queryMultino longer retrieves session keys (can be done via.keys/keysMulti) - Add
api.derive.accounts.accountIdto perform AccountId lookups (from indices or actual AccountId) - Lessen load of
paymentInfoqueries to only use accounId mappings as available - Adjust staking derives to cater for early Substrate 2.0 chains (optional/non-optional EraIndexes)
- Cater for the handling of nested aliased types, e.g. wrapped inside Vec or Tuple
- Add the support for the
grandpa_subscribeJustificationsRPC - Adjust
Call.toHuman()to remove decoding-related technical internal details - Static metadata & tests updated for the latest substrate master
toHuman()&.toBigInt()has been explicitly added to the API documentation- Adjust known types for latest Kusama network state
1.31.1 Aug 31, 2020
Upgrade priority: Medium, especially for staking users on Polkadot, Kusama & Westend (type updates applied for v23 onwards) or if transparent .at(hash) queries are required/used
- Important Substrate changed the
RewardDestinationenum with an extra field for payout-to-any account for staking preferences. If on an older chain consider addingRewardDestination: 'RewardDestinationTo257' - Important Substrate changed the
CompactAssignmenttype enhanced types for session solution submissions. If on an older chain consider addingCompactAssignments: 'CompactAssignmentsTo257'
Contributed:
- Fix documentation language and typos (Thanks to https://github.com/Meuko)
- Add missing
TransactionPrioritytype (Thanks to https://github.com/aniiantt) - Update definitions for new
CompactAssignments, including tests (Thanks to https://github.com/kianenigma)
Changes:
- Add transparent support for types/metadata, i.e. hash queries such as
rpc.chain.getBlock(<hash>)&query.system.events.at(<hash>)now works out-of-the-box injecting the correct metadata & types. - Optimize RPC-layer calls with detection of short-term cacheable calls (in the same way subscriptions are done)
- Additional checks on
AccountIdfor valid sizes - Add
toBigInt()(JS built-inBigInt) onInt/Uint, &Compact<*>types - Support for
.concaton Codec arrays - Support for serialization with
isBareflag on enums - Add
api.getBlockRegistry(blockHash?)to create registry/types for a specific block derive.democracy.locksnow returns delegated locks for an account as well- Adjust unlocking derives with appropriate in-place additions (less object allocations)
.signon submittables is marked deprecated (not due for removal, but rather use.signAsyncfor consistency with.signAndSend)- Adjust types for
CompactAssignments&RewardDestinationfor Polkadot, Kusama & Westend @polkadot/util3.4@polkadot/wasm-crypto1.4
1.30.1 Aug 24, 2020
Upgrade priority: Low, unless using the proposeParachain module.
Changes:
- Adjust balance retrievals to check for
system.accountfor new/old determination - Add types for the new
proposeParachainmodule (as per Rococo) - Adjust
Address<->LookupSourcedefinitions (no external impact, both in existence) - Add Ethereum-compatible
Ethereum{AccountId, LookupSource}types, underlyingH160 - Allow for configurable hashers via
registry.setHasher(...)(defaults toblake2AsU8a) @polkadot/util3.3
1.29.1 Aug 17, 2020
Upgrade priority: Low, unless on bleeding-edge chain with new compact CompactAssignments.
- Important The Substrate
CompactAssignmentstype has changed for better space utilization. On older chains, supplyCompactAssignments: 'CompactAssignmentsTo257'
Contributed:
- Clean tx cookbook param expansion (Thanks to https://github.com/swswsw)
Changes:
- Add additional
Fixed{I,U}{64,128}and{I,U}32F32types - Add
desiredRunnersUpto council derives - Cleanup indices/AccountId combination derive lookups
@polkadot/util3.2
1.28.1 Aug 10, 2020
Upgrade priority: Low, unless using Centrifuge or parachains
Contributed:
- Update Centrifuge types to latest (Thanks to https://github.com/mikiquantum)
Changes:
- Add cookbook entry for viewing block extrinsics
- Support types for time-delay proxies
- Update types for parachains
@polkadot/util3.1@polkadot/wasm-crypto1.3
1.27.1 Aug 3, 2020
Upgrade priority: Low, unless using the Rococo chain
Contributed:
- Remove outdated example poc-3 RPC reference (Thanks to https://github.com/swswsw)
Changes:
- Raw/Bytes
toHumandetects ASCII sequence for text output - Add know types for the Rococo chain
1.26.1 Jul 27, 2020
Upgrade priority: Low
Contributed:
- Update docs for the new
system.accountNextIndex(Thanks to https://github.com/shawntabrizi) - Update contracts call parameter typing (Thanks to https://github.com/kwingram25)
Changes:
- Adjust votingBalance to only return
freeBalance(only council voting is free + reserved) - Additional checks for referenced Vec sub-type deconstruction in typegen
- Allow for API
typesBundleoption to inject a group of chain versions types - Update metadata static tests for latest Substrate
@polkadot/util3.0
1.25.1 Jul 20, 2020
Upgrade priority: Medium, especially if using contracts.
- Important Contract RPC result updated on Substrate, on older chains supply
ContractExecResult: 'ContractExecResultTo255'
Contributed:
- Support for custom HTTP headers in providers (Thanks to https://github.com/brad-larson)
- Update known types for Centrifuge (Thanks to https://github.com/philipstanislaus)
- Update API users with Registrar #1 (Thanks to https://github.com/chevdor)
Changes:
- Raw/Bytes
toHuman()displays utf-8 as available - Add fallback for
setImmediatewhen not polyfilled - Update
NetworkStatereputation type forsystem_networkStateRPC - Update session progress calcs for Aura (cater for negative)
- Fix class prototype for (basically-deprecated) Linkage type
- Add Polkadot types for
purchasepallet
1.24.1 Jul 13, 2020
Changes:
- Added
isAscii&isUtf8getters toBytes&Rawtypes - Added
toUtf8()helper toBytes&Rawtypes @polkadot/util2.18
1.23.1 Jul 6, 2020
Contributed:
- Small README typo fix (Thanks to https://github.com/woss)
Changes:
- Add latest Substrate master types
- Adjust
<Codec>.toRawType()to use registry name as available - Update
ProxyTypefor Kusama, Polkadot & Westend withIdentityJudgement - Validate number format (signed/unsigned) for number types
- Remove core codec dependencies on Base class (with proper TS encapsulation)
@polkadot/util2.17
1.22.1 Jun 30, 2020
- Important Substrate changed the treasury tip structure, on older chains supply
OpenTip: 'OpenTipTo225'
Contributed:
- Allow for
[u8; 33]in U8aFixed (Thanks to https://github.com/akru)
Changes:
- Improve derive accountId -> accountIndex lookups (optimize entries queries)
- Vesting balance calculations via
derive.balances.allhas been updated for locks - Add derive for multi staking rewards with specified eras
@polkadot/util2.16
1.21.1 Jun 23, 2020
Contributed:
- Fix subscriptions never unsubscribing after the id swap in 1.18.1 (Thanks to https://github.com/dillu24 for testing iterations)
Changes:
- Add support for
CheckMortalitysigned extension (oldCheckErais now an alias) - Promise API will default to using
getStorageon non-subscription calls, reducing RPC overhead - Optimize derive BN allocations, using in-place operators as applicable
- Add new Substrate types for Babe
EquivocationProof - Adjust
Releasesenum to use a shared instance
1.20.1 Jun 22, 2020
- Important RPC for
account_nextIndexhas been moved tosystem_accountNextIndex(Aligning with Substrate as a primary alias)
Changes:
- Cleanup map entries support with only Substrate 2.0-era RPCs (when introduced)
- Add
system_dryRunRPC - Optimize
derive.staking.queryMultiretrievals with additional per-type batching - Add
derive.staking.waitingInfo(same aselectedInfofor waiting validators) - Adjust types & metadata for latest Substrate
@polkadot/util2.15
1.19.1 Jun 16, 2020
Contributed:
- Improve typing on
.entries()queries (Thanks to https://github.com/monitz87)
Changes:
- Align metadata and types with latest Substrate
- Update Polkadot types for current evolution of parachains
- Allow for type aliasing on events (aligning with calls & queries)
@polkadot/util2.14
1.18.1 Jun 8, 2020
Contributed:
- Expand docs on node-template types (Thanks to https://github.com/g2udevelopment)
- Update contract fees to current impl. (Thanks to https://github.com/djuanit0x)
- Allow
Optiontypes in enum/Result type generation (Thanks to http://github.com/xlc) - Add
.entriesPagedand.keysPagedmethods for state maps (https://github.com/monitz87)
Changes:
- Add types for new Substrate proxy module
- Adjust types for new Substrate (renamed) npos-elections module
Callnow exposesmethod§ionfields (aligned withtoHuman()representation)- Cater for new Substrate string subscription ids (with backwards compatibility)
@polkadot/util2.13
1.17.2 Jun 2, 2020
Changes:
- Ensure subscription promise resolves before first result
1.17.1 Jun 2, 2020
Contributed:
- Fix
ElectionSizetype (Thanks to https://github.com/arjanz)
Changes:
- Allow
BTreeSetdecoding from Array/JSON inputs - Adjust Call-only metadata output to trim documentation to first full line
- Safeguard against divide-by-zero for total era points (expired reward eras)
- Internal derive optimizations with combining calls
- Support for latest Substrate types & metadata
@polkadot/util2.12
1.16.1 May 26, 2020
Changes:
- Support for Polkadot CC1 types & signed extensions
- Add support for Babe VRF secondary digests (author extraction)
- Adjust
Perbill/PermilltoHuman()formatting to output percentage - Support for latest Substrate types & metadata
- Update to latest TypeScript, eslint & typescript-eslint
@polkadot/util2.11
1.15.1 May 23, 2020
Contributed:
- Adjust
keyPrefix()with DoubleMap args (Thanks to https://github.com/KiChjang) - Added
WeightToFeeCoefficienttype (Thanks to https://github.com/danforbes) - Spelling fixes for console logs (Thanks to https://github.com/JoshOrndorff)
- Spelling fixes in cookbook (Thanks to https://github.com/pawelnguyen)
- Add
transactionVersiongetter in payloads (Thanks to https://github.com/amaurymartiny)
Changes:
- Adjust
stakerRewardsderive ordering for improved on-payout refreshes - Baseline implementation for derive caching infrastructure
- Adjust
Multipliertype toFixed128(as per latest Substrate) - Updated to latest Substrate metadata & add new types
1.14.1 May 14, 2020
- Important
DispatchInfochangedpaysFeeto an enum, if using an older version use,DispatchInfo: 'DispatchInfoTo244'
Contributed:
- Align imOnline
Heartbeatwith Substrate (Thanks to https://github.com/arjanz) - Adust EVM types to include
Vicinity(Thanks to https://github.com/drewstone)
Changes:
- Ensure metadata is only requested once upon startup (bypass on upgrade subscriptions)
- Expand testing around
ExtrinsicEraconstruction - Expand
Registryto direct access to available signed extensions (in addition to exposed types) - Cater for new
CheckSpecVersionandCheckTxVersionsigned extensions (withSignerPayloadadjustments) - Cater for new
PrevalidateAttestssigned extensions (Polkadot claims) - Don't re-calculate submittable extrinsic hash on status checks (optimization)
- Support for both old/new Tuples in
democracy.depositOfin derives - Fix democracy
ProxyStatetypes - Extends types for Polkadot claims
- Update
@polkadot/utilto 2.10
1.13.1 May 6, 2020
Contributed:
- Add support for ECDSA keypairs in extrinsic signers (Thanks to https://github.com/akru)
- Rework type generation to use templating for better maintenance (Thanks to https://github.com/xlc)
- Adjust extrinsic
sign/signAsyncsignature to optional options (Thanks to https://github.com/KiChjang) - Support round-robin endpoints in the
WsProviderwith array of urls (Thanks to https://github.com/hoani) - Remove static test-only metadata for Polkadot dev chains (not updated regularly, Substrate dev to remain)
Changes:
- Revert error swallow for wrong preimage data (temp. override for Kusama upgrade with no migration)
- Fix
.encodedLengthcalculation on[Type; N]types - Add new
rpc.grandpa.roundStateRPC - Update types & metadata as per latest Substrate master
- Adjust Centrifuge starting version
1.12.2 Apr 30, 2020
Changes:
- Update
@polkadot/utilto stable 2.9.1 (sadly missed in the previous version, stable should match to stable)
1.12.1 Apr 29, 2020
Contributed:
- Fix
CompactAssignmentstypes (Thanks to https://github.com/arjanz) - Provider ayo-connect now allows for interval config (Thanks to https://github.com/jnaviask)
- Cleanup generation for c-like enums (Thanks to https://github.com/monitz87)
- Allow subscription to all storage keys, alignment with Substrate (Thanks to https://github.com/xlc)
Changes:
- Cater for vote delegations in democracy derives
- Cleanup account derive flags where to allow for optional council modules
- Allow generic types in ApiPromise.combineLatest
- Update to latest substrate metadata
1.11.2 Apr 22, 2020
Changes:
- Small patch to add missing Polkadot master types (will be in next Kusama update)
1.11.1 Apr 21, 2020
- Important Substrate master has an updated
Weight(tou64), on older chains applyWeight: 'u32'(This does affect event decoding if wrongly set)
Contributed:
- Allow user type augmentation to work with different versions of rxjs (Thanks to https://github.com/monitz87)
- Align augmented generation with camelCase (Thanks to https://github.com/monitz87)
- Fix bitfield endian encoding (Thanks to investigation by https://github.com/xlc)
- Add account flag derives via
accounts.flags(accountId)(Thanks to https://github.com/kwingram25)
Changes:
- Fix entries decoding for
Option<Number>(& simplify, decoding correctly on rpc layer) - Add
system.{localPeerId, localListenAddresses}&state.getReadProofRPCs - Ensure proper propagation of
api.runtimeVersion(used for signing) after upgrade - Field ordering fix for deprecated
Linkage(used in linked maps) derive.account.infonow returns all field enum types decoded (not only raw)- Add banner with FAQ entries for node-template to aid with common issues
Digesthas been moved to definitions, removal ofGenericDigesttype- Support
Fixed128type - Add
transactionVersiontoRuntimeVersionstruct - Enhance API support for non-subscription providers (skip subscription to runtimeVersion)
- Adjust types for Kusama 1057 (notably the new
StakingLedger)
1.10.1 Apr 13, 2020
- Important Substrate master has updated staking, on older chains apply
StakingLedger: 'StakingLedgerTo240'
Changes:
- Add
rpc.system.chainTypeto retrieve the chain type (Development. Local, Live & Custom) - Adjust types for Westend after the reset
- Adjust democracy derives, including the support of the frame-scheduler for scheduled deployments
- Allow staking derives to work with new staking payouts, specifically
tx.staking.payoutStakers - Cleanups to derives for democracy & staking to be more performant
- Add Centrifuge base types to
@polkadot/types-known - Adjust with all the latest substrate master types
- Internally all private/protected methods/variables are now
_prefixed (Aligning with theprivate/protectedindicators in the TS definitions) - Update metadata/docs-from-metadata to the latest Substrate
1.9.1 Apr 1, 2020
- Breaking change (TypeScript with derives only) The return type names for
api.derive.*have been adjusted for consistency, all starting withDerive*(previously a mixture ofDerived*andDerive*) - Breaking change (derives only) Additional cleanups of democracy proposal & referenda derives, including support for new Polkadot/Substrate vote retrievals
Changes:
- Tx signing via
signAndSend&signAsyncnow tries to use the last finalized block (depending on finalized drift) - Add support for
api.rpc.childstate.*Substrate RPCs, older nodes with still populateapi.rpc.state.*with the child methods - Adjust
Error.messageon RPC failures to not include the (already known) method signature - Split
@polkadot/types/knowninto@polkadot/types-known, allowing for base API overrides - Extended
api.derive.democracyto cater for dispatchQueue and externals - Extended
api.derive.councilto cater for new phragmen elections - Use new
queryStorageAtfor query.entries, removing unneeded subscriptions (use as available) - Fix
BTreeSetinitialization when it forms part of query interfaces - Fix encoding for
Vec<u8>-related types as part of constants - Internal adjustment of interface type locations (no impact on imports via
@polkadot/types/interfaces)
1.8.1 Mar 22, 2020
- Breaking change The format for any custom RPCs have been changed (alongside API-internal changes) to allow for better RPC management. If you are currently using custom RPCs (or planning to do so), look at the updated documentation
- Breaking change Alongside API RPC changes, the
@polkadot/jsonrpcpackage has been removed. Since it was never documented and only used internally, this should not have adverse impacts. All RPC definitions itself has now been moved to the relevant modules inside@polkadot/types/interfaces - Important Substrate has an updated democracy module. If using an older chain add the
ReferendumInfo: 'ReferendumInfoTo239'type when using referendums
Changes:
- The
isRetractedExtrinsic status is now a warning, not a fatal error, correctly aligning with Polkadot/Substrate - The Substrate extrinsic phase definitions has been expanded with
Initializationto align with the latest versions - Add support for all known substrate RPC methods
- Extend account derives to include status flags, e.g.
isCouncil,isSudo, ... - Adjusted referendum derives to cater for bot new/old democracy. Derived
referendumInfonow includesstatusfield, notinfo - Add
initWasmflag to API options. When set tofalsedoes not init the WASM portion (leaving it to the user elsewhere)
1.7.1 Mar 17, 2020
- Important Current versions of Polkadot/Substrate have dropped support for linked maps on storage entries. If you are using these queries to retrieve all entries, for instance
staking.{nominators,validators}()and using an upgraded chain, you need to swap to retrieving entries via.entries()or.keys()for the keys.
Changes:
- Pull in support and types for latest Polkadot/Substrate
- Add support for the new Substrate
state_getKeysPagedRPC, including use in storage keys - Move
derive.staking.controllerstoderive.staking.stashes, reflecting actual content - Cater for adjusted storage (non-linked mapped) for
derive.staking.stashesqueries (with old-compat) - Expanded
derive.staking.*derives, including addition ofderive.staking.own* - Re-add fixed (with tests) checks for query args, previously disabled in 1.6.2
1.6.2 Mar 12, 2020
Changes:
- Revert checks for query args, not working on
.at()queries (proper fix in next version)
1.6.1 Mar 12, 2020
- Breaking change
api.rpc.state.queryStorage(...)now fully decodes theVec<StorageChangeSet>and returns a decoded[Hash, Codec[]][]when using this RPC.
Changes:
StorageKeynow has an.argsproperty, decoded from meta wheretwox64_concatorblake128_concatare used on maps- Fix
api.query.*.*.entriestype conversions to return exact types (notOptionin some cases) - Add
api.query.*.*.keysto retrieve only the storage keys, similar to.entries - Full linked map retrievals will now use direct getStorage queries for faster operation
- Underlying rpc-core interfaces now unwraps
Error("...")when found in responses - Added
derive.eras*interfaces for queries to new Substrate staking interfaces - Update
derive.accountto cater for new indices module storage (detected with fallbacks) - Adjust derive queries for session without module prefix (DoubleMap -> Map), detected on use
- Add runtime validation for map arguments to
api.query.* - TypeScript interfaces for linked maps now correctly generates as
[Type, Linkage<Next>]
1.5.1 Mar 06, 2020
- Important Substrate master has updated staking, on older chains supply
StakingLedger: 'StakingLedgerTo223' - Important Substrate master has updated collective, on older chains supply
Votes: 'VotesTo230'
Contributed:
- Add proper support for type generation with an Enum containing an Tuple (Thanks to https://github.com/monitz87)
- Fix storage parsing not resulting in rejected Promises (Fix from https://github.com/aniiantt applied)
- Remove use of deprecated
Observable.create(Thanks to https://github.com/Himself65)
Changes:
- Add types & metadata for the latest Polkadot/Substrate runtime versions (master branches)
- Type extraction will now allow the same sub-module name across packages, i.e.
@polkadot/types/interfaces/runtime&@mine/interfaces/runtimewill be valid - Add
.range([from, to]: [Hash, Hash?], ...args: any[]): [Hash, Codec][]on all storage entries - Add
.raw(...args: any[]): Promise<Uint8Array & Codec>to all RPC calls, returning the un-encoded result - Allow pre-module type aliasing with
typesAlias: { <moduleName>: { <meta-type>: <alias-type> } }in API construction options - Allow
BTreeMapto be initialized with aRecord<string, any>object (in addition toMap) - Allow for
HashMap<KeyType, ValueType>definitions Boolwill now correctly returnisEmptyon false/default values- Refresh the
NetworkStatetypes as returned by therpc.system.networkState()call to current - Expose
registry.createClass(<typeName>)to allow for creating type classes. If you are usingcreateClassorClassOfin your code, it is recommended to swap to this instance. - Add additional derives to
api.derive.stakingto handle lazy-payout retrievals - Update
@polkadot/{util, util-crypto, keyring}to 1.6.1 &@polkadot/wasmto 1.2.1
1.4.2 Feb 27, 2020
Changes:
- Fix
api.tx(<extrinsic>): Submittabledecoration (non-working in 1.4.1, now with proper test)
1.4.1 Feb 26, 2020
- Breaking change (TypeScript only) The
*.d.tsfiles now contain TypeScript 3.8 features (specifically#private), which is not usable in TS versions < 3.8 - Breaking change -
api.derive.staking.*has updated result types and detects support for lazy payouts queries
Contributed:
- Rework type generation for
api.{query, tx}to properly handle complex type inputs (Thanks to https://github.com/monitz87) - Rework metadata
--strictmode to effectively decorate chain metadata (Thanks to https://github.com/monitz87) - Add
api.rpc.chain.subscribeAllHeads(not just best) (Thanks to https://github.com/jak-pan)
Changes:
- Add
api.rpc.engine.*for manual seal support - Add
api.injectMetadata(metadata)to initialize API with a specific metadata version - The api now checks for runtime upgrades, augmenting the interfaces with new metadata when found
- Support types & interfaces required for lazy reaping, lazy payouts & offchain phragmen
Optiontypes now has an.unwrapOrDefaultas an complement to.unwrap&.unwrapOr- Support JS
BigIntinputs in any derivedUIntandIntobject, e.g.api.tx.balances.transfer(..., 9876543210123456789n) UInt&Intnow does source bitLength checks upon construction- Registry now exposes
.createType(<type>, ...args)as an additional helper (like the API) - Expand
.toHumanonExtrinsicEra,SubmittableResult&Vote - Move
DigestItem,Fixed64,H160,H256&H512to interfaces in@polkadot/types/interfaces - Align construction of unknown types in
registry.getconsistently warn on detection, throw on use - Support for arbitrary
u*`` types viaUInt` type definitions - Expose static
.withonUInt,Int&U8aFixedclasses with optional type name override - Remove 11 Jan 2019 extrinsic length hack
- Use ES
#fieldon private class fields as applicable - Move
types/primitive/{extrinsics, generic}totypes/{extrinsics, generic} - Cleanup augmentation and generation scripts for type definitions, aligning with api augmentation
- Bump to
@polkadot/{util, util-crypto, keyring}2.5.1
1.3.1 Feb 18, 2020
Contributed:
- Add
@types/bn.jsas a normal dependency, exposed in*.d.ts(Thanks to https://github.com/monitz87)
Changes:
- Type generation scripts (including
polkadot-types-from-{chain,defs}) has been moved to the@polkadot/typegenpackage - The
@polkadot/types/codec/createhas been moved to@polkadot/types/create, imports from@polkadot/typesare unaffected - Expose chain properties on registry (and use for API type formatting)
- Add
toHuman(isExtended?: boolean)to all codec types, formatting into a human-readable structure
1.2.1 Feb 16, 2020
- Important Update RPC status codes (latest Substrate 2), with the
isInBlock(isFinalizednow indicates finality)
Contributed:
- Storage
.entries(arg?: any)now has the correct argument type for DoubleMap (Thanks to https://github.com/monitz87)
Changes:
- Swap Kusama and Polkadot aliases for
AddresstoAccountId(future update) - Add
LookupSourceandLookupTargettypes instead of mapping these directly for aliasing - Add
BitVectype primitive - Add support for
system.accountfor balance & nonce queries in derives as well as Submittables (Substrate composites) - Add
rpc.author.hasKeyandrpc.author.hasSessionKeysRPCs - Add derives for the parachains interfaces
- Applied the latest types for Polkadot parachains
registry.findMetaErrornow can take in aDispatchErrorModuleobject for error lookups (fromasModuleinDispatchError)- Metadata now correctly serializes to the original input data via
toHex()&toU8a() - Metadata documentation generation rework, including the output of errors from metadata
- Update all examples and comments to use latest
system.accountqueries (instead ofsystem.accountNonceandbalances.freeBalance/balances.reservedBalance) - Cleanup
codec/Datetests to make it run properly on all timezones - Add explicit dependencies to all packages and move TypeScript
@types/*to dev deps
1.1.1 Feb 06, 2020
- Important Chains without
balances.accountorsystem.accountshould supply"BalanceLock": "BalanceLockTo212"to their types to use the previous-generationBalanceLock(when querying locks)
Changes:
- Add support for
balances.accountin all applicable derives (incl.vestingmodule) - Inject and use SignedExtensions by name from V11 metadata (V4 extrinsics only)
- Add typings for
api.tx.*.*- thepolkadot-types-from-chainnow also generates these - Remove additional V1-only derives
(staking.recentlyOffline,balances.nominatorsFor) - Add
.isMax()on int values, an opposite ofisZero()(e.g.u128, as well as derived, e.g.Balances) - Add
.keyPrefix()to allapi.query.*complementing the.key()call, both returning a hex string - Council derives now takes bootstrapping (member, no elections) into account
- Account derives now allow for an optional indices module (not required)
- Adjust balances fees derivation with optional transfer and creation fees (removed in Substrate)
- Adjust enum
.toJSON()to return type name as specified
1.0.1 Jan 30, 2020
- Breaking change Drop support for Substrate v1 chain in all derives
Contributed:
- Return unsub functions from provider .on emitters (Thanks to https://github.com/jak-pan)
ApiPromise.isReadynow rejects on unrecoverable errors (Thanks to https://github.com/laec)
Changes:
- Add
polkadot-types-from-chain&polkadot-types-from-defsTypeScript generators to@polkadot/types - Only decorate derives where relevant parent
api.query.*is available - Support
.entries(arg?: any)lookups on DoubleMaps (in addition to previously supported maps) - Allow v9 metadata to parse even in cases where it was wrongly deployed pre-v10
- Allow type-aliases on a per-module basis (e.g.
Judgementin identity as well as society) - Allow passing
{ signer }to bothapi.tx.*andapi.sign(in addition toapi.setSigner) - Add derives for the society module
- Don't map empty tuples, e.g.
()toNull, rather keep them empty - Add lookups to the metadata errors via
findMetaError - Update metadata and types for the latest Substrate & Polkadot versions
- Support metadata V11 as per latest Substrate
- Remove support for un-deployed metadata
- Remove old known types for Substrate V1
0.100.1 Jan 13, 2020
- Important This will the the last API version with Substrate 1.x support. Although you will still be able to use subsequent versions with older chains, dependent libraries such as sr25519 may not be compatible.
Contributed:
- Add support for
BTreeSet(Thanks to https://github.com/satellitex)
Changes:
- Add support for the Substrate identity module
- Remove the
codec/Datatype, to remove a conflict with Substrate. This type is now namedRaw - Fix for linked maps using
Option - Add support for Metadata v10
- Add support for latest Polkadot/Substrate types
- Add
paymentInfoto submittables to calculate fees
0.99.1 Dec 13, 2019
- Breaking change The
DataandU8atype has been renamed and just replaced with theRawtype - Breaking change The
api.derive.staking.infohas been split into 2 -staking.queryfor non-balance related information (more effective) andstaking.accountthat enhances query for all the information previously found.info
Changes:
- Cleanup
DoubleMaphashing to always hash over the full value (in the case ofVec<T>, this includes the length) - Update democracy derives to take care of nextTally and lowestUnbaked
- Add additional derives for both council & treasury
- Alignment with latest Polkadot/Substrate master branch types
0.98.1 Dec 04, 2019
Contributed:
- Make the TypeScript generation script mor re-usable (Thanks to https://github.com/xlc)
- Add
.entries()for all map-types, returning storage keys and values - Add
.signAsyncto submittable extrinsics (Thanks to https://github.com/c410-f3r)
Changes:
- Cleanup circular references between internal dependencies
- Support for new Substrate democracy with preimages in derive
- Alignment of types with Substrate/Polkadot master branches
0.97.1 Nov 29, 2019
- Breaking change Add the passing on an explicit
Registryto all calls tocreateTypeas well as all codec classes. If you are upgrading form an older version, use the migration guide to walk through the changes required. - Breaking change The metadata classes have been moved from
@polkadot/typesinto@polkadot/metadata. If you explicitly createMetadataclasses, you now would need to do so with theimport Metadata from '@polkadot/metadata';This is a decorated class, where the previous metadata is now available onMetadata.metadata, alongside decoratedconsts.*',tx.*andquery.*. - Breaking change Session
Keysdefaults to 4 keys now (Substrate master), depending on your node config, you would want to override with e.g.Keys: 'SessionKeys3'(1, 2, 3, 4, 5 & 6) - Breaking change
ValidatorPrefsnow default to the new percentage commission model, to use the previousvalidatorPayment, you can override withValidatorPrefs: 'ValidatorPrefsTo196'
Changes:
api.derive.*now has built-in memomization- Various fixes and cleanups to
api.derive.*including era length progress and vesting calculations - Aligned all types with the latest Polkadot & Substrate, including Kusama CC3
- Support for Metadata V9, which adjusts the hashing methods of storage entries
- Support for Metadata V10 (still un-released), which includes prefixed map support
0.96.1 Nov 09, 2019
Changes:
- Updated types for latest Kusama
- Add
filterRecords(in addition tofindRecord) on submittable results - Various ABI v2 contract fixes
- Update derive for elections (incl. RunnersUp) and heartbeat derives (with blocks & messages)
- Add vesting totals & locked breakdowns to derive balances
- Update council derives for the latest Substrate master support (with constants)
- Derive cleanups, including sharing of instances between the API and internal to derives
0.95.2 Oct 25, 2019
Changes:
- Temporary removal of
account_nextIndexuse, will be re-added in a future release
0.95.1 Oct 25, 2019
- Breaking change
Call.injectMethodsis moved toCall.injectMetadatato align withEvents(This should not be used externally, however mentioned as breaking here)
Changes:
- Support Extrinsic V4 with additional signature indicator (Latest Polkadot/Substrate/Kusama)
- Adjust subscription update checks to avoid duplicated data updates
- Support Metadata V8 (exposes per-module
decl_errordefinitions) - Support next generation contracts ABI (with additional type definitions)
- Support for
BTreeMap<K, V>types and definitions - All latest Polkadot & Substrate types (as per master branches)
0.94.1 Oct 07, 2019
Changes:
- Add handling of
Result<Ok, Error>definitions - Adjust API cloning now takes RPC filters from source into account
- Simplification of isPedantic checks and less overhead on StorageData types
- Cleanups and fixes around RPC and derive type definitions
- Fix
derive.imOnline.receivedHeartbeatsto query via indexes - Adjustment of
api.derive.elections.{approvalsOf|approvalsOfAt}to allow ss58 address input - Cleanup
Enum.eqhandling to be more exhaustive - Add documentation for custom extrinsic formats (advanced chains)
- Update to latest substrate master metadata
0.93.1 Sep 26, 2019
Changes:
- Support for Kusama CC2
- In extrinsic submission, use
rpc.account.nextIndexto retrieve the nonce when available - For TypeScript users
api.query.*.*is now properly typed for default Substrate calls, i.e.api.query.balances.freeBalance(...)will return aBalancetype. Additionally theapi.queryMultiand.multion queries not allow generic type params. - Add
api.rpc.accounts.nextIndex,api.rpc.contracts.callandapi.rpc.rpc.methodscalls. Optional calls (such as account/contracts) is decorated based on the results fromrpc.methods, so they don't show up on nodes where they are not active. - Updated types to support the latest Polkadot/Substrate master changes
- Support recursive type registration (self-referencing via
Box) in addition to better sanitation of user-defined-types - Documentation and example updates (thanks mostly to contributions)
0.92.1 Sep 12, 2019
Changes:
- The API now correctly sets the ss58 prefix as retrieved from the chain properties via
ss58Format - Bump to
@polkadot/util1.4.1, removing use ofExtError - The
Keyringfrom@polkadot/keyringis now exposed on the API as well. You can doimport { Keyring } from '@polkadot/api'- this alleviates the need for extra dependencies (apart from@polkadot/api), and since the keyring is critical for signing operations, aligns everything in one bundle - Support the latest Polkadot & Substrate master branches (incl. metadata updates)
- Getting started documentation has been made available
0.91.1 Sep 09, 2019
Changes:
- This release was focussed on stability, with a number of cleanups and bug-fixes
- Adjustments for Substrate 1.x chain detection (with auto-types) and Substrate 2.x support has been extended with all latest types
- The
getRuntimeVersionandsubscribeRuntimeVersionRPCs are now only available on therpc.state.*endpoints. This aligns with the Substrate implementation. - The
author_insertKeyRPC's last argumentpublicKeyis now required, as to reflect Substrate implementation. - Support for extrinsics with versions that is not in the base Substrate implementation (V1-V3) can now be done by providing an implementation for
ExtrinsicUnknown - Redeemed balance calculation if
api.derivenow returns the correct values again (bug fix) - added the
yarn chain:info [--ws URL]utility to extract a calls-only metadata version - Missing types are now logged via a
console.warn, not via.error Extrinsic,ExtrinsicPayload&SignerPayloadis registered in the type registry and can be overridden now- Breaking change
SignerPayloadis renamed toSignerPayloadJSON - Breaking change
SignerPayloadJSON,SignerPayloadRawBaseandSignerPayloadRaware all moved to@polkadot/types
- Breaking change
0.90.1 Aug 24, 2019
If you are upgrading form an older version, use the CHANGELOG hand-in-hand with the migration guide.
- Breaking change
api.rpc.chain.subscribeNewHeadsis now available as opposed to the oldsubscribeNewHead. This aligns with the Substrate implementation. - Breaking change Substrate 2.x & Polkadot master has moved both
BlockNumber&Indextou32. The API tracks these closely. If you are running a chain withu64values (for either), pass the type override to the API on creation, e.g.ApiPromise.create({ types: { BlockNumber: 'u64', Index: 'u64' } })to avoid getting warnings about mismatched types. - Breaking change
Api.create(...)andnew Api(...)now only takes an options Object, so if you passed the provider directly previously, you need to swap the use toApi.create({ provider: ... }) - Breaking change Runtime types have been extended and moved to definitions instead of classes
- Primitive types for
i*andu*(e.g.u32) are now only available in their lowercase versions. AdditionallyVectoris now only available asVec, andMethodhas been renamed toCall, in both cases aligning with Rust. Momentnow implements asu64as per the Substrate codebase. (It it up to the user to interpret, for substrate 2.x it is not ms resolution)- For creation of types, it is recommended to use
createType(<TypeName>, <value>)instead of e.g.new Proposal(...). When passing these to methods/queries, construction should not be needed, the raw value can be passed. - For moved types, a previous import would have been from
@polkadot/types, i.e.import { SetIndex } from '@polkadot/types, now just the interfaces (TypeScript) are available viaimport { SetIndex } from '@polkadot/types/interfaces usizeis now a blacklisted type that will throw on construction. Since it is platform-specific, it creates incompatibilities between native (generallyu64) and WASM (alwaysu32) code. Use one of theu32oru64types explicitly.
- Primitive types for
Changes:
- Support substrate v7 metadata
- The
Method.findFunction(callIndex)(allowing decoding of raw data), is now available onapi.findCall(callIndex). To keep backwards compatibility, it is still available onGenericCall.findMethodbut theapi.findCallis recommended and suggested. - The
types/codec/createTypehas been moved totypes/codec/createwith the same exports. If you explicitly imported from here (and not doing the suggestedimport { createType } from '@polkadot/types), the reference needs to be updated
0.82.0-beta.x Jul 28, 2019
Changes:
-
Support for substrate 2.x (master) has been extended,
- Additional types have been addedd for the modules
api.derive.contractis nowapi.derive.contractsto align with the substrate 2.x rename. (Feature detection is used so it supports both 1.x and 2.x chains)- Addition of
api.derive.elections
-
Support latest substrate 2 v6 metadata with module constants using
api.consts.- The api now uses the module name for the storage methods, aligning module names for consistency with transactions. The methods of the grandpa module moved from
api.query.grandpaFinalitytoapi.query.grandpa. - Internally the
@polkadot/extrinsicsand@polkadot/storagehave been moved to@polkadot/api-metadataand are now accessible as@polkadot/api-metadata/extrinsicsand@polkadot/api-metadata/storage, respectively. - Breaking Change Vote interface extends U8a instead of i8. Vote properties can be accessed via the
isAye,isNay, andconvictiongetters. Votes can still be constructed as before with a raw JS boolean, a SCALE encoded Boolean, an i8 number, or a JS object with propertiesayeandconvictiondefined.
- The api now uses the module name for the storage methods, aligning module names for consistency with transactions. The methods of the grandpa module moved from
-
Support V2 Extrinsics in addition to V1, v2 includes an optional
tip- In addition to this support, the
Signerinterface has deprecated thesignmethod and replaced it withsignPayload - Support for the
signinterfaces (API detection and calling whensignPayloadis not available) will be removed in subsequent versions.
- In addition to this support, the
-
The
ContractsAbitype has been moved from@polkadot/typestoimport { Abi } from '@polkadot/api-contract. This paves the way for an enhanced contracts interface, instead of dealing with low-level API calls.
0.81.1 Jun 14, 2019
Changes:
-
The dependency on
@polkadot/keyringhas been removed - if you relied on the API to provide this, you would now need to manually add it -
createTypeallows for the creation of[u8; <length>]types (opening the door for contract support) -
api.derive.staking.infonow returns therewardDestination -
Fix for disconnection when default providers (non-specified) are used
-
Don't console.log type decoding errors and then throw, only re-throw with additional info
-
Support latest substrate 2.x v5 metadata
- Add
ApprovalFlag,SetIndex,VoterInfotypes for council as per substrate - Update
ContractInfoto match substrate master
- Add
-
Add support for new inherent digests from substrate.
- Breaking change Because of the new
Seal, the old/new Seals are not compatible. If you were using the oldSealfrom theDigests, you would now useisSealV0for the pre-substrate 1.0 version and the newisSealfor the current version - Update
HeaderExtendedto retrieve author information from substrate 2.x (newPreRuntimedigests)
- Breaking change Because of the new
-
Cater for
Vec,Option,Result, tuples and fixed vectors for contracts ABIs -
Additional examples for subscriptions using multi
-
Add
offmethod toApi(Base, for bothApiPromise&ApiRx) to remove an event listener
0.80.1 Jun 04, 2019
Changes:
- Support for mortal transactions
- Better DoubleMap storage support
- api-derive cleanups, including additional info for balances.all and taking.info returning redeemable and locked balances
- Added SignaturePayloadRaw for better offline signing support
- Updated metadata for current substrate master
- Misc. cleanups and fixes
0.79.1 May 22, 2019
Changes:
- DoubleMap query support
- Support latest EventRecord metadata (substrate master)
- Introduce RuntimeVersion type overrides in api/nodeCompat.ts
- Add
api.queryMultiandapi.query.<module>.<method>.multi - Convert
api.derive.*to use multi queries types/codec/Setnow extends the base JSSet(breaking change:set.values->set.strings)- Breaking: rename
meta.argumentstometa.argsin function metadata (argumentsis a JS reserved word) - Add
toRawTypeon all type classes (breakdown into primitive types)
0.78.1 May 08, 2019
Changes:
- Fix linked-maps (not working since 0.77.1)
- Convert Usize to U32 (as found in WASM environments)
- Allow pre-bundled metadata in API create & constructor
- Don't clobber existing keys in structs when auto-adding fields
- Additional logging when constructing Structs as to where failures occur
- Do type assertion on all exposed asXXX getters
- Metadata updates for substrate (WithdrawReasons, ContractInfo)
0.77.1 Apr 25, 2019
Changes:
- Support Metadata v4, which introduces the use of a custom hasher to hash storage map keys.
- Add TreasuryProposal (not the same as democracy, type aliased)
0.76.1 Apr 03, 2019
Changes:
- Caching improvements (duplicate queries, no duplicate subscriptions)
- Experimental contract API
- Update @polkadot/keyring to enable Alice's stash account on dev chains
- Update @polkadot/util-crypto with smaller footprint
0.75.1 Mar 29, 2019
Changes:
- Start journey to 1.0
0.53.1 Mar 29, 2019
Changes:
- Change spelling to US English as per substrate master (1.0-rc1). Breaking changes as a result:
- For extrinsic status results, if you have checked the type returns, i.e.
result.type === 'Finalised'now check on the status forresult.status.isFinalizedorresult.status.isBroadcast, ... (thetypeproperty is now accessible only onresult.status.type) - If using
subscribeFinalisedHeadsupdate this tosubscribeFinalizedHeads(likewisegetFinalisedHeadshould be updated togetFinalizedHeadandderive.bestNumberFinalized)
- For extrinsic status results, if you have checked the type returns, i.e.
- The underlying ss58 address checksums have changed
- The updated keyring with support for this has been made available
- All examples have been updated with sr25519 addresses (with the new checksums)
0.52.1 Mar 28, 2019
Changes:
- Support queries to linked mapped storage (found in new staking interfaces)
- Add
derive.staking.controllersto retrieve all active staking controllers - Align types as per latest substrate master
- PeerInfo from system_peers does not have the index field anymore (dropped in substrate)
- Allow parsing of V3 metadata with DoubleMap support
- Check for single instances for api and types as they are loaded (assertSingletonPackage)
0.51.1 Mar 25, 2019
Changes:
- Support metadata V2 as per latest substrate master
- Update metadata with new types as per latest substrate master
0.50.1 Mar 23, 2019
Changes:
- Latest util-crypto (usage of WASM with JS fallbacks if not available)
- Update upstream @polkadot dependencies (for new crypto)
0.49.1 Mar 20, 2019
Changes:
- Fix large message signing on non-known nodes (default is now hashing, there has been enough time between upgrades)
0.48.1 Mar 18, 2019
Changes:
- Pull in new sr25519 capable keyring for dev nodes
- When using dev mode, it assumes that the node is the latest with derived sr25519 keys
0.47.1 Mar 14, 2019
Changes:
- Swap to publishing -beta.x on merge (non-breaking testing)
0.46.1 Mar 01, 2019
Changes:
- Extended type registration to now handle internal types as well. Additionally the built-in Extrinsic type can now we overridden with a custom version.
- Where
ExtrinsicandMethodis used as types, consider importing{ IMethod, IExtrinsic }from@polkadot/types/types, especially in the cases where this is used from aSubmittableExtrinsic - The
typeRegistryconstant is nowgetTypeRegistry()as a function
0.45.1 Feb 19, 2019
Changes:
- Storage with option values now correctly return
Option<Type>and is indicated as such in the documentation
// old
const ll = await api.query.session.lastLengthChange();
console.log('ll', ll /* BlockNumber */); // would be 0 if not set yet
// new
const llo = await api.query.session.lastLengthChange();
console.log('llo', llo.unwrapOr('not set') /* Option<BlockNumber> */)
0.44.1 Feb 19, 2019
Changes:
- Split primitives and types into separate folders. This should not affect external use since the exports remain the same, however does have an impact where classes are referenced directly. e.g.
// old (affected)
import Method from '@polkadot/types/Method';
import Signature from '@polkadot/types/Signature';
// new locations
import Method from '@polkadot/types/primitive/Method';
import Signature from '@polkadot/types/type/Signature';
// unaffected
import { Method, Signature } from '@polkadot/types';
0.43.1 Feb 14, 2019
Changes:
- Introduces support for the new keyring with sr25519 support in addition to ed25519. While this does not change the exposed API, it is considered breaking since @polkadot/keyring has interface changes. (Unless needed, don't rush the upgrade)
0.42.1 Jan 31, 2019
Changes:
- Support for substrate hash signing with implVersion >= 18
- Changed signatures for Extrinsic signing, this should not have (much) of an impact since it is generally not used directly. SubmittableExtrinsic (as exposed by the API), supports the old-style use.
0.41.1 Jan 26, 2019
Changes:
- Support the V1 metadata specification from Substrate in addition to the currently testnet active V0 version
0.40.1 Jan 16, 2019
Changes:
- The API interfaces now require a WS-compatible provider, e.g. subscription support is a must. Previously the HTTPProvider could be use (although it was very limited in the interactions).
0.39.1 Jan 11, 2019
Changes:
- The Promise API now returns a
Promise<UnsubFunction>instead ofUnsubFunctionwhen making subscriptions.
0.38.1 Jan 08, 2019
Changes:
Substrate has been updated with a breaking new transaction format where the Index/Nonce is now encoded as a Compact. This change is being rolled out to both Alexander (Polkadot testnet) as well as Charred Cherry (Substrate testnet) - transactions between old and new are not compatible.
0.37.1 Jan 04, 2019
Changes:
api-observable has been removed. This was only used in /apps and inconsistent with the api/rx and api/promise APIs. Future work will include derives like was included in api-observable into the base.
Tuples now return single types when only one type is available, i.e. (AccountId) would now resolve as AccountId. The extra type wrapper adds no benefit to users here.
0.36.1 Jan 03, 2019
Changes:
Api Promise has been updated in the way we deal with subscriptions. Previously a subscription returned Promise<number> where the caller was to keep track of the id and use it in subsequent unsubscribes. Now any subscriptions return an unsubscribe/destroy function (): void, that is use for removing the subscriptions, e.g.
const unsubscribe = api.query.balance.freeBalance(Alice, (balance) => {...});
unsubscribe(); // here we destroy the subscription
0.35.1 Dec 20, 2018
Changes:
Swapped to new metadata structures from Substrate. If the API is not working with your node, update Substrate to latest master branch. (Or 0.9.1 for Charred Cherry). Dropped support for old metadata as found as far back as BBQ Birch.
0.34.1 Dec 18, 2018
Changes:
Changed the send signature (for future expansion of eg. events) to return result: { status: ExtrinsicStatus } instead of status: ExtrinsicStatus. For most cases where only status type checks are used, i.e. status.type === 'Finalised' this should not be a breaking change. Deep inspection of the status object however will need to adapt.