Fix StorageKey args throw

This commit is contained in:
Jaco Greeff
2020-03-07 10:37:28 +01:00
parent 0ce28c519f
commit 6bb421dac6
6 changed files with 31 additions and 9 deletions
+2 -2
View File
@@ -27,12 +27,12 @@ export function member (api: ApiInterfaceRx): (accountId: AccountId) => Observab
[api.query.society.suspendedMembers, accountId],
[api.query.society.vouching, accountId]
]).pipe(
map(([payouts, strikes, defenderVote, suspended, vouching]: Result): DeriveSocietyMember => ({
map(([payouts, strikes, defenderVotes, suspended, vouching]: Result): DeriveSocietyMember => ({
accountId,
payouts,
isSuspended: suspended.isTrue,
strikes,
vote: defenderVote.unwrapOr(undefined),
vote: defenderVotes.unwrapOr(undefined),
vouching: vouching.unwrapOr(undefined)
}))
)
+16
View File
@@ -0,0 +1,16 @@
// Copyright 2017-2020 @polkadot/api authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { ApiPromise, WsProvider } from '@polkadot/api';
describe.skip('misc quick tests', (): void => {
it.skip('does something in society', async (): Promise<void> => {
const provider = new WsProvider('wss://kusama-rpc.polkadot.io');
const api = await new ApiPromise({ provider }).isReady;
console.error(api.query.society.defenderVotes.creator.meta.toHuman());
await api.query.society.defenderVotes('Dab4bfYTZRUDMWjYAUQuFbDreQ9mt7nULWu3Dw7jodbzVe9');
});
});
@@ -235,6 +235,8 @@ describe('StorageKey', (): void => {
describe('with MetadataV11', (): void => {
const metadata = new Metadata(registry, rpcDataV11);
// 0x426e15054d267946093858132eb537f191ca57b0c4b20b29ae7e99d6201d680cc906f7710aa165d62c709012f807af8fc3f0d2abb0c51ca9a88d4ef24d1a092bf89dacf5ce63ea1d
it('should allow decoding of a key', (): void => {
const key = new StorageKey(registry, '0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01b66ccada06515787c10000000e535263148daaf49be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f');
+5 -1
View File
@@ -246,7 +246,11 @@ export default class StorageKey extends Bytes {
* @description Decode the args embedded in the key (assuming we have decodable hashers)
*/
public decodeArgsFromMeta (meta?: StorageEntryMetadataLatest): this {
this._args = decodeArgsFromMeta(this.registry, this.toU8a(true), meta || this.meta);
try {
this._args = decodeArgsFromMeta(this.registry, this.toU8a(true), meta || this.meta);
} catch (error) {
// ignore
}
return this;
}