Fix author mapping call (#5617)
* fix author mapping call * add deprecation comment
This commit is contained in:
parent
2719d8b9ff
commit
92866ab8e1
@ -46,7 +46,8 @@ function BlockAuthorsBase ({ children }: Props): React.ReactElement<Props> {
|
||||
let lastHeaders: HeaderExtendedWithMapping[] = [];
|
||||
let lastBlockAuthors: string[] = [];
|
||||
let lastBlockNumber = '';
|
||||
const isAuthorMapping = isFunction(api.query.authorMapping?.mapping);
|
||||
const isAuthorIds = isFunction(api.query.authorMapping?.authorIds); // TODO-MOONBEAM reevaluate in a month: 07/16/21
|
||||
const isAuthorMappingWithDeposit = isFunction(api.query.authorMapping?.mappingWithDeposit);
|
||||
|
||||
// subscribe to all validators
|
||||
api.query.session && api.query.session.validators((validatorIds): void => {
|
||||
@ -61,9 +62,17 @@ function BlockAuthorsBase ({ children }: Props): React.ReactElement<Props> {
|
||||
|
||||
if (lastHeader.author) {
|
||||
thisBlockAuthor = lastHeader.author.toString();
|
||||
} else if (isAuthorMapping && lastHeader.digest.logs && lastHeader.digest.logs[0] && lastHeader.digest.logs[0].isConsensus && lastHeader.digest.logs[0].asConsensus[1]) {
|
||||
} else if (isAuthorMappingWithDeposit && lastHeader.digest.logs && lastHeader.digest.logs[0] && lastHeader.digest.logs[0].isConsensus && lastHeader.digest.logs[0].asConsensus[1]) {
|
||||
// Some blockchains such as Moonbeam need to fetch the author accountId from a mapping
|
||||
thisBlockAuthor = (await api.query.authorMapping.mapping(lastHeader.digest.logs[0].asConsensus[1])).toString();
|
||||
thisBlockAuthor = ((await api.query.authorMapping.mappingWithDeposit(lastHeader.digest.logs[0].asConsensus[1])).toHuman() as {
|
||||
account: string;
|
||||
deposit: string;
|
||||
}).account;
|
||||
lastHeader.authorFromMapping = thisBlockAuthor;
|
||||
} else if (isAuthorIds && lastHeader.digest.logs && lastHeader.digest.logs[0] && lastHeader.digest.logs[0].isConsensus && lastHeader.digest.logs[0].asConsensus[1]) {
|
||||
// TODO-MOONBEAM reevaluate in a month: 07/16/21
|
||||
// Some blockchains such as Moonbeam need to fetch the author accountId from a mapping (function call may differ according to pallet version)
|
||||
thisBlockAuthor = (await api.query.authorMapping.authorIds(lastHeader.digest.logs[0].asConsensus[1])).toString();
|
||||
lastHeader.authorFromMapping = thisBlockAuthor;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user