From f961cae0544e2fef17f7fe8b0903a5c8ad596ea6 Mon Sep 17 00:00:00 2001 From: Zeke Mostov <32168567+emostov@users.noreply.github.com> Date: Fri, 15 Jan 2021 08:16:47 -0800 Subject: [PATCH] fix: Use correct registry when creating calls; Remove usage of derive.chain.getBlock (#391) * fix: Use correct registry when creating calls; Remove usage of derive.chain.getBlock * small change * Update specs --- package.json | 14 +- src/services/blocks/BlocksService.spec.ts | 4 +- src/services/blocks/BlocksService.ts | 47 +++- yarn.lock | 297 +++++++++++----------- 4 files changed, 193 insertions(+), 169 deletions(-) diff --git a/package.json b/package.json index e7fbb6770..58360a651 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,8 @@ "test": "jest --silent" }, "dependencies": { - "@polkadot/api": "^3.3.2", - "@polkadot/apps-config": "^0.74.1", + "@polkadot/api": "^3.4.1", + "@polkadot/apps-config": "^0.75.1", "@polkadot/util-crypto": "^5.2.3", "@substrate/calc": "^0.1.3", "confmgr": "^1.0.6", @@ -47,14 +47,14 @@ "winston": "^3.3.3" }, "devDependencies": { - "@types/express": "^4.17.9", - "@types/express-serve-static-core": "^4.17.17", + "@types/express": "^4.17.11", + "@types/express-serve-static-core": "^4.17.18", "@types/http-errors": "^1.6.3", - "@types/jest": "^26.0.19", + "@types/jest": "^26.0.20", "@types/morgan": "^1.9.2", "@types/triple-beam": "^1.3.2", - "@typescript-eslint/eslint-plugin": "4.12.0", - "@typescript-eslint/parser": "4.12.0", + "@typescript-eslint/eslint-plugin": "4.13.0", + "@typescript-eslint/parser": "4.13.0", "eslint": "^7.17.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-prettier": "^3.3.1", diff --git a/src/services/blocks/BlocksService.spec.ts b/src/services/blocks/BlocksService.spec.ts index 0695d3304..f392c208a 100644 --- a/src/services/blocks/BlocksService.spec.ts +++ b/src/services/blocks/BlocksService.spec.ts @@ -53,7 +53,7 @@ describe('BlocksService', () => { (undefined as unknown) as GenericExtrinsic ); - mockApi.derive.chain.getBlock = (() => + mockApi.rpc.chain.getBlock = (() => Promise.resolve().then(() => { return { block: mockBlock789629BadExt, @@ -68,7 +68,7 @@ describe('BlocksService', () => { ) ); - mockApi.derive.chain.getBlock = (getBlock as unknown) as GetBlock; + mockApi.rpc.chain.getBlock = (getBlock as unknown) as GetBlock; }); }); diff --git a/src/services/blocks/BlocksService.ts b/src/services/blocks/BlocksService.ts index b6a5f9380..d3c8b1dde 100644 --- a/src/services/blocks/BlocksService.ts +++ b/src/services/blocks/BlocksService.ts @@ -1,10 +1,11 @@ import { ApiPromise } from '@polkadot/api'; -import { SignedBlockExtended } from '@polkadot/api-derive/type'; import { GenericCall, Struct } from '@polkadot/types'; import { AbstractInt } from '@polkadot/types/codec/AbstractInt'; import { + AccountId, Block, BlockHash, + Digest, DispatchInfo, EventRecord, Hash, @@ -45,16 +46,12 @@ export class BlocksService extends AbstractService { ): Promise { const { api } = this; - let block; - let events; - let author; + let block, events, sessionValidators; if (typeof api.query.session?.validators?.at === 'function') { - // `api.derive.chain.getBlock` requires that `api.query.session?.validators?.at` - // is a function in order to query the validator set to pull out the author - // see: https://github.com/polkadot-js/api/blob/master/packages/api-derive/src/chain/getBlock.ts#L31 - [{ author, block }, events] = await Promise.all([ - api.derive.chain.getBlock(hash) as Promise, + [{ block }, events, sessionValidators] = await Promise.all([ + api.rpc.chain.getBlock(hash), this.fetchEvents(api, hash), + api.query.session.validators.at(hash), ]); } else { [{ block }, events] = await Promise.all([ @@ -62,7 +59,6 @@ export class BlocksService extends AbstractService { this.fetchEvents(api, hash), ]); } - const authorId = author; const { parentHash, @@ -72,9 +68,11 @@ export class BlocksService extends AbstractService { digest, } = block.header; - const logs = digest.logs.map((log) => { - const { type, index, value } = log; + const authorId = sessionValidators + ? this.extractAuthor(sessionValidators, digest) + : undefined; + const logs = digest.logs.map(({ type, index, value }) => { return { type, index, value }; }); @@ -513,4 +511,29 @@ export class BlocksService extends AbstractService { args: newArgs, }; } + + // Almost exact mimic of https://github.com/polkadot-js/api/blob/e51e89df5605b692033df864aa5ab6108724af24/packages/api-derive/src/type/util.ts#L6 + // but we save a call to `getHeader` by hardcoding the logic here and using the digest from the blocks header. + private extractAuthor( + sessionValidators: AccountId[], + digest: Digest + ): AccountId | undefined { + const [pitem] = digest.logs.filter(({ type }) => type === 'PreRuntime'); + // extract from the substrate 2.0 PreRuntime digest + if (pitem) { + const [engine, data] = pitem.asPreRuntime; + return engine.extractAuthor(data, sessionValidators); + } else { + const [citem] = digest.logs.filter( + ({ type }) => type === 'Consensus' + ); + // extract author from the consensus (substrate 1.0, digest) + if (citem) { + const [engine, data] = citem.asConsensus; + return engine.extractAuthor(data, sessionValidators); + } + } + + return undefined; + } } diff --git a/yarn.lock b/yarn.lock index 51f702ba1..0805da422 100644 --- a/yarn.lock +++ b/yarn.lock @@ -308,10 +308,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@edgeware/node-types@^3.0.11": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@edgeware/node-types/-/node-types-3.0.11.tgz#a2ff3fbacd2ee600fb125ad9a4bbef4300a273c7" - integrity sha512-Pf8KG+tmUV/zt9Mt9HcjVRbBEDi15MkneMohsEflnr1wCyo4azLGqPKj6iLUvBkWwWy1M1rK3YEC1dUQb9JUhA== +"@edgeware/node-types@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@edgeware/node-types/-/node-types-3.2.0.tgz#fdc6d049b2d361ef8b80ef61fed5b6a447a3571b" + integrity sha512-uhjncXI+B89nCq1dtFWOuPq9/dmuQZziMMCV0i6rzetPyN/ibdn0lCNMl5rPpPP4WKDNT+hAgxhKipEaRlbiJw== "@eslint/eslintrc@^0.2.2": version "0.2.2" @@ -330,9 +330,9 @@ strip-json-comments "^3.1.1" "@interlay/polkabtc-types@^0.2.9": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@interlay/polkabtc-types/-/polkabtc-types-0.2.9.tgz#4ab078bf57822f6a3245b223caed95f5316165bf" - integrity sha512-UqtyQ2N+SPXCGdW8/uu3L6TFY3dS2ACJSUGxixxsmwSMtKS0Gnmc0+GE2F1IinUKIP0g17ZS7RA3LN1J0NxLAw== + version "0.2.12" + resolved "https://registry.yarnpkg.com/@interlay/polkabtc-types/-/polkabtc-types-0.2.12.tgz#8b6a189345ef188fe49380813a873d40ef841e08" + integrity sha512-Rj1Rt3HH6G4xEF4yl4FQQPwk1f1TGWcYhKq/5zDRy/JrE1tIXNNnJtjs5nJzdAxm9OZ/qFSIg5KUYyWgcAGr0g== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -521,7 +521,7 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@laminar/type-definitions@^0.2.0-beta.141": +"@laminar/type-definitions@^0.2.0-beta.143": version "0.2.0-beta.143" resolved "https://registry.yarnpkg.com/@laminar/type-definitions/-/type-definitions-0.2.0-beta.143.tgz#a4dd18ac34addfeb451dbd3aea789d0976c34c27" integrity sha512-9CanpyDiQC+XFpc6K70T7pN5qS2uclIUImuNKDgWdV/dbviQnFz5PgZurYsdSCSvOGStjsoRY84SU/S8eCmTLg== @@ -559,53 +559,53 @@ resolved "https://registry.yarnpkg.com/@open-web3/orml-type-definitions/-/orml-type-definitions-0.8.2-5.tgz#f65b000affdb207a71f35adc9a7d10a8141a6eb7" integrity sha512-o/o7ucy4RkuQ5oZgGMBc7t7UuaTK/+rG6QHE7+ZPCRG6cnYzg6ZZ9pApOTmzG0e47k0GUZDg0m+IYzltgwJRMQ== -"@polkadot/api-derive@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-3.3.2.tgz#4c9d6c6801dda71a18d511fabb890779471f9a70" - integrity sha512-Zp7SuRfgjsGUGmMaSJLaXH3PcCLfieo3rhiwajcgZm6/ZBoX5eQlADpAuAhAcugrr60a0LTiiHgt6a2MsqsX6w== +"@polkadot/api-derive@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-3.4.1.tgz#58cd106fb22461802b85e3297d3977542bce641f" + integrity sha512-rkquelXpdUGA6s1eA6Pjyo94kzm+v02hK5AbFwX+miPzMJWPwDgPwHRFe93v9qDmqtjMEyPkuryF72XSIY7lWw== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/api" "3.3.2" - "@polkadot/rpc-core" "3.3.2" - "@polkadot/types" "3.3.2" + "@polkadot/api" "3.4.1" + "@polkadot/rpc-core" "3.4.1" + "@polkadot/types" "3.4.1" "@polkadot/util" "^5.2.3" "@polkadot/util-crypto" "^5.2.3" - "@polkadot/x-rxjs" "3.3.2" + "@polkadot/x-rxjs" "3.4.1" bn.js "^4.11.9" -"@polkadot/api@3.3.2", "@polkadot/api@^3.2.3", "@polkadot/api@^3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-3.3.2.tgz#c5d244fa1312c04a147322a14bc6eb43f93b8829" - integrity sha512-GUzuNFberFQjeqZq513sH8BMDx5Ez8JbgRF24HUJeWjpBZAwEgVr6mK+eUCnqE2P+PW7n971353nCUyfsixCxQ== +"@polkadot/api@3.4.1", "@polkadot/api@^3.2.3", "@polkadot/api@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-3.4.1.tgz#9f1a2846dd80f184169d87127b8f724aff54e727" + integrity sha512-LmlSaOF6QomTAKW96J5MhPgOV8XkH6PClsi5x802G4CKXYYtr65D3CyWsNykpLHFd/h/TTUb+8Cpk3zvSWDg7A== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/api-derive" "3.3.2" + "@polkadot/api-derive" "3.4.1" "@polkadot/keyring" "^5.2.3" - "@polkadot/metadata" "3.3.2" - "@polkadot/rpc-core" "3.3.2" - "@polkadot/rpc-provider" "3.3.2" - "@polkadot/types" "3.3.2" - "@polkadot/types-known" "3.3.2" + "@polkadot/metadata" "3.4.1" + "@polkadot/rpc-core" "3.4.1" + "@polkadot/rpc-provider" "3.4.1" + "@polkadot/types" "3.4.1" + "@polkadot/types-known" "3.4.1" "@polkadot/util" "^5.2.3" "@polkadot/util-crypto" "^5.2.3" - "@polkadot/x-rxjs" "3.3.2" + "@polkadot/x-rxjs" "3.4.1" bn.js "^4.11.9" eventemitter3 "^4.0.7" -"@polkadot/apps-config@^0.74.1": - version "0.74.1" - resolved "https://registry.yarnpkg.com/@polkadot/apps-config/-/apps-config-0.74.1.tgz#1f647712c07e969e0b78f7819757efbe5be66de1" - integrity sha512-S8xIAahKK/eizcIDwB7k/dIfZvRz2uezDlsNn/mPvAYiyUbFJTVDmlsXwhqKnASmyb1CJLxNkhEZJ7oO387SLw== +"@polkadot/apps-config@^0.75.1": + version "0.75.1" + resolved "https://registry.yarnpkg.com/@polkadot/apps-config/-/apps-config-0.75.1.tgz#e007c0f0b238f555cab72d3ea03c685b21236c90" + integrity sha512-bE8K3jEFn1cglBaSqmE9nV9KKBZ7wiSpgL1n6J/rvaiEd5XSRJX1t/Uq7RkWYru9+f5Q1rMDJ+ujtCt47SRBog== dependencies: "@acala-network/type-definitions" "^0.6.1" "@babel/runtime" "^7.12.5" - "@edgeware/node-types" "^3.0.11" + "@edgeware/node-types" "^3.2.0" "@interlay/polkabtc-types" "^0.2.9" - "@laminar/type-definitions" "^0.2.0-beta.141" + "@laminar/type-definitions" "^0.2.0-beta.143" "@polkadot/networks" "^5.2.3" - "@sora-substrate/type-definitions" "^0.3.1" - "@subsocial/types" "^0.4.27" - moonbeam-types-bundle "^1.0.1" + "@sora-substrate/type-definitions" "^0.3.3" + "@subsocial/types" "^0.4.28" + moonbeam-types-bundle "^1.0.5" "@polkadot/keyring@^5.2.3": version "5.2.3" @@ -616,14 +616,14 @@ "@polkadot/util" "5.2.3" "@polkadot/util-crypto" "5.2.3" -"@polkadot/metadata@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-3.3.2.tgz#7654b9a612cace41fb87b5c6e508912f194c6eaa" - integrity sha512-+dIgGghwEl88uiRLZhEwlKyK0OX3TPGsXbyATWT6u8C388vNAyV2Her//Kluie/tESLVpjXzEeeqqvd9xm+RrA== +"@polkadot/metadata@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-3.4.1.tgz#53144d409e32558995327047e8360beb4df05d3b" + integrity sha512-Hk21Fmbty5AqsvzH1dGHdsUlSA0LWGAmzouve2qt9rfB7bwq+rmhuPW09JZwS21rF0XhRSo5Y0MocJL50ZTQ2g== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/types" "3.3.2" - "@polkadot/types-known" "3.3.2" + "@polkadot/types" "3.4.1" + "@polkadot/types-known" "3.4.1" "@polkadot/util" "^5.2.3" "@polkadot/util-crypto" "^5.2.3" bn.js "^4.11.9" @@ -635,25 +635,25 @@ dependencies: "@babel/runtime" "^7.12.5" -"@polkadot/rpc-core@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-3.3.2.tgz#6d915afc75ca09f2a68c79129e42e27c324d1e2a" - integrity sha512-1f167jRxbsCoxzeG3Dq/bc3ZgtLWbbxO/RDJbAlUc/AWpP/pDLEMh/JuqossYtWzrByq0+t0y5aq+zEabhlYpw== +"@polkadot/rpc-core@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-3.4.1.tgz#8fcce37bdc8d3ec94e0e3a2cae04182e5b5cdb77" + integrity sha512-Wp63rmP6re2FcUnwJ9d97jKPTwsZQnhgecqDP8Sv03Nf+XaUdQ/W0Kb2MzMf+0GhkdK/YZeInp3iypg7B/dLIw== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/metadata" "3.3.2" - "@polkadot/rpc-provider" "3.3.2" - "@polkadot/types" "3.3.2" + "@polkadot/metadata" "3.4.1" + "@polkadot/rpc-provider" "3.4.1" + "@polkadot/types" "3.4.1" "@polkadot/util" "^5.2.3" - "@polkadot/x-rxjs" "3.3.2" + "@polkadot/x-rxjs" "3.4.1" -"@polkadot/rpc-provider@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-3.3.2.tgz#cb23bb63c9998b4ffca4470cfb1c9297b37b5ee0" - integrity sha512-yNtffX2DkCOsgw2pks8C5XP2P458FRyMhIOJsYwushbCHpa3iHTeUHSRqpKz2JiTp3SIKPtcTA0+SSmgsZ+Kzg== +"@polkadot/rpc-provider@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-3.4.1.tgz#4e2ff56120ed158997c9e2ce8394bde1f32634bf" + integrity sha512-8Iy7yBWSQePaFtWAE5Iq4tKR6Flr5epzaKRJwF+7ybnl7WBMiHFMouIGh4/7twB9OswHslF9A2oB2uY17jhD3A== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/types" "3.3.2" + "@polkadot/types" "3.4.1" "@polkadot/util" "^5.2.3" "@polkadot/util-crypto" "^5.2.3" "@polkadot/x-fetch" "^5.2.3" @@ -661,26 +661,26 @@ bn.js "^4.11.9" eventemitter3 "^4.0.7" -"@polkadot/types-known@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-3.3.2.tgz#7618e96d977ba630ed6ecca969df2c21c4dc272f" - integrity sha512-PpvHrJD7SWZMTvvOTv8mq3uwZvspDbYQBGfUvDwG3sY6IeD8KBY00FM2atGFPcDW07SgX5pnsR+uMAZfOBErSQ== +"@polkadot/types-known@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-3.4.1.tgz#36000957f3a781867622cc92d7019403b042822f" + integrity sha512-1bE9iatJb912QNyEXJrxV/TMI3vfStpQPCSu+9HZJSkONG/qfLJH9xPHJjYnYOJVDlM8tA1JldTGjaQyuEb+jg== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/types" "3.3.2" + "@polkadot/types" "3.4.1" "@polkadot/util" "^5.2.3" bn.js "^4.11.9" -"@polkadot/types@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-3.3.2.tgz#5cae028994435b332da19cd67f7915b4bbe2a93f" - integrity sha512-QF18+OdhV06Xa1IhzQARRUTo1Hqkb7X4ACuUGOM463epekcPE4HkW0h/fa21wGjmEFYm/2ur76BVNuvXuIuL3A== +"@polkadot/types@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-3.4.1.tgz#75e1df78a0230b55985755f3b29af5750067c193" + integrity sha512-GAQxqukU4Ey6LtnyXQiaRaZS4xi8ku3ISLn9/RbRVppdZpjdiv4ehD9Xas3uYiiYkp4OVR9ccZtusK0KCiZKmg== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/metadata" "3.3.2" + "@polkadot/metadata" "3.4.1" "@polkadot/util" "^5.2.3" "@polkadot/util-crypto" "^5.2.3" - "@polkadot/x-rxjs" "3.3.2" + "@polkadot/x-rxjs" "3.4.1" "@types/bn.js" "^4.11.6" bn.js "^4.11.9" @@ -757,10 +757,10 @@ dependencies: "@babel/runtime" "^7.12.5" -"@polkadot/x-rxjs@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-3.3.2.tgz#b29829f1c3df3ae63e2fcf70cefd477829ca8929" - integrity sha512-ktc78M7QCCykHYKGN1LMVkFhXiLkORYMC4d7+K1t/bM+oR7UQ6WXA6v2C7Zm10rPW5uS0O1JrAKjk+nxUPp5AQ== +"@polkadot/x-rxjs@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-3.4.1.tgz#3ac08a473b81163c0d1a9f1a0782b1c01c1ee80b" + integrity sha512-X1o1S9zcLWj2HamQGeYKK9V10vmqcJlJgq8i+wm+i3mDvVf9lMk1JMuviNCAQeFSPS+XAT6dtjkLmc1Iaiu2AQ== dependencies: "@babel/runtime" "^7.12.5" rxjs "^6.6.3" @@ -789,9 +789,9 @@ websocket "^1.0.33" "@sinonjs/commons@^1.7.0": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" - integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== dependencies: type-detect "4.0.8" @@ -802,17 +802,17 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@sora-substrate/type-definitions@^0.3.1": +"@sora-substrate/type-definitions@^0.3.3": version "0.3.3" resolved "https://registry.yarnpkg.com/@sora-substrate/type-definitions/-/type-definitions-0.3.3.tgz#8aa7e05d90339805aa689c2caeac0df7c9c459f6" integrity sha512-rOVpjb5dexjM7JEcOxiGXNuMKMtYEuYd5wSZLiG0OkUfVjXfZu1pMfJwPT3bkXwRElyXnooNDhW3XhBrpkvJHQ== dependencies: "@open-web3/orml-type-definitions" "^0.6.0-beta.26" -"@subsocial/types@^0.4.27": - version "0.4.27" - resolved "https://registry.yarnpkg.com/@subsocial/types/-/types-0.4.27.tgz#a5caad3c098f7bbe3d4b7f6d6513ffff97f6f721" - integrity sha512-tbfyWo1LbqAEVVh0ayRLdB3VV+48cHSOyXdyOH6qcB5E7UaB015hk8CY3gdyt1cYwfADOLHPc8ByP0LD4DA1Ng== +"@subsocial/types@^0.4.28": + version "0.4.28" + resolved "https://registry.yarnpkg.com/@subsocial/types/-/types-0.4.28.tgz#09f1a260b281a18b200355bd305f3a109134b500" + integrity sha512-55LRqDPa/bDc1klKNzRBKBgj0/tdI0Hw0HIT1krDlukxKKk5UjE+WHjmNC7ZOvaS5m4Uj9iU5edbLOtDcM68WQ== dependencies: "@subsocial/utils" "^0.4.25" cids "^0.7.1" @@ -890,22 +890,22 @@ dependencies: "@types/node" "*" -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.17": - version "4.17.17" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz#6ba02465165b6c9c3d8db3a28def6b16fc9b70f5" - integrity sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ== +"@types/express-serve-static-core@^4.17.18": + version "4.17.18" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz#8371e260f40e0e1ca0c116a9afcd9426fa094c40" + integrity sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" -"@types/express@^4.17.9": - version "4.17.9" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" - integrity sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw== +"@types/express@^4.17.11": + version "4.17.11" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" + integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "*" + "@types/express-serve-static-core" "^4.17.18" "@types/qs" "*" "@types/serve-static" "*" @@ -940,10 +940,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.x", "@types/jest@^26.0.19": - version "26.0.19" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.19.tgz#e6fa1e3def5842ec85045bd5210e9bb8289de790" - integrity sha512-jqHoirTG61fee6v6rwbnEuKhpSKih0tuhqeFbCmMmErhtu3BYlOZaXWjffgOstMM4S/3iQD31lI5bGLTrs97yQ== +"@types/jest@26.x", "@types/jest@^26.0.20": + version "26.0.20" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" @@ -971,17 +971,17 @@ "@types/node" "*" "@types/node-fetch@^2.5.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== + version "2.5.8" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.8.tgz#e199c835d234c7eb0846f6618012e558544ee2fb" + integrity sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw== dependencies: "@types/node" "*" form-data "^3.0.0" "@types/node@*": - version "14.14.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" - integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== + version "14.14.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" + integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1047,61 +1047,62 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.12.0.tgz#00d1b23b40b58031e6d7c04a5bc6c1a30a2e834a" - integrity sha512-wHKj6q8s70sO5i39H2g1gtpCXCvjVszzj6FFygneNFyIAxRvNSVz9GML7XpqrB9t7hNutXw+MHnLN/Ih6uyB8Q== +"@typescript-eslint/eslint-plugin@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.13.0.tgz#5f580ea520fa46442deb82c038460c3dd3524bb6" + integrity sha512-ygqDUm+BUPvrr0jrXqoteMqmIaZ/bixYOc3A4BRwzEPTZPi6E+n44rzNZWaB0YvtukgP+aoj0i/fyx7FkM2p1w== dependencies: - "@typescript-eslint/experimental-utils" "4.12.0" - "@typescript-eslint/scope-manager" "4.12.0" + "@typescript-eslint/experimental-utils" "4.13.0" + "@typescript-eslint/scope-manager" "4.13.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" + lodash "^4.17.15" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.12.0.tgz#372838e76db76c9a56959217b768a19f7129546b" - integrity sha512-MpXZXUAvHt99c9ScXijx7i061o5HEjXltO+sbYfZAAHxv3XankQkPaNi5myy0Yh0Tyea3Hdq1pi7Vsh0GJb0fA== +"@typescript-eslint/experimental-utils@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.13.0.tgz#9dc9ab375d65603b43d938a0786190a0c72be44e" + integrity sha512-/ZsuWmqagOzNkx30VWYV3MNB/Re/CGv/7EzlqZo5RegBN8tMuPaBgNK6vPBCQA8tcYrbsrTdbx3ixMRRKEEGVw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.12.0" - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/typescript-estree" "4.12.0" + "@typescript-eslint/scope-manager" "4.13.0" + "@typescript-eslint/types" "4.13.0" + "@typescript-eslint/typescript-estree" "4.13.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.12.0.tgz#e1cf30436e4f916c31fcc962158917bd9e9d460a" - integrity sha512-9XxVADAo9vlfjfoxnjboBTxYOiNY93/QuvcPgsiKvHxW6tOZx1W4TvkIQ2jB3k5M0pbFP5FlXihLK49TjZXhuQ== +"@typescript-eslint/parser@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.13.0.tgz#c413d640ea66120cfcc37f891e8cb3fd1c9d247d" + integrity sha512-KO0J5SRF08pMXzq9+abyHnaGQgUJZ3Z3ax+pmqz9vl81JxmTTOUfQmq7/4awVfq09b6C4owNlOgOwp61pYRBSg== dependencies: - "@typescript-eslint/scope-manager" "4.12.0" - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/typescript-estree" "4.12.0" + "@typescript-eslint/scope-manager" "4.13.0" + "@typescript-eslint/types" "4.13.0" + "@typescript-eslint/typescript-estree" "4.13.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.12.0.tgz#beeb8beca895a07b10c593185a5612f1085ef279" - integrity sha512-QVf9oCSVLte/8jvOsxmgBdOaoe2J0wtEmBr13Yz0rkBNkl5D8bfnf6G4Vhox9qqMIoG7QQoVwd2eG9DM/ge4Qg== +"@typescript-eslint/scope-manager@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.13.0.tgz#5b45912a9aa26b29603d8fa28f5e09088b947141" + integrity sha512-UpK7YLG2JlTp/9G4CHe7GxOwd93RBf3aHO5L+pfjIrhtBvZjHKbMhBXTIQNkbz7HZ9XOe++yKrXutYm5KmjWgQ== dependencies: - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/visitor-keys" "4.12.0" + "@typescript-eslint/types" "4.13.0" + "@typescript-eslint/visitor-keys" "4.13.0" -"@typescript-eslint/types@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.12.0.tgz#fb891fe7ccc9ea8b2bbd2780e36da45d0dc055e5" - integrity sha512-N2RhGeheVLGtyy+CxRmxdsniB7sMSCfsnbh8K/+RUIXYYq3Ub5+sukRCjVE80QerrUBvuEvs4fDhz5AW/pcL6g== +"@typescript-eslint/types@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.13.0.tgz#6a7c6015a59a08fbd70daa8c83dfff86250502f8" + integrity sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ== -"@typescript-eslint/typescript-estree@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.12.0.tgz#3963418c850f564bdab3882ae23795d115d6d32e" - integrity sha512-gZkFcmmp/CnzqD2RKMich2/FjBTsYopjiwJCroxqHZIY11IIoN0l5lKqcgoAPKHt33H2mAkSfvzj8i44Jm7F4w== +"@typescript-eslint/typescript-estree@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz#cf6e2207c7d760f5dfd8d18051428fadfc37b45e" + integrity sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg== dependencies: - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/visitor-keys" "4.12.0" + "@typescript-eslint/types" "4.13.0" + "@typescript-eslint/visitor-keys" "4.13.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -1109,12 +1110,12 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.12.0.tgz#a470a79be6958075fa91c725371a83baf428a67a" - integrity sha512-hVpsLARbDh4B9TKYz5cLbcdMIOAoBYgFPCSP9FFS/liSF+b33gVNq8JHY3QGhHNVz85hObvL7BEYLlgx553WCw== +"@typescript-eslint/visitor-keys@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz#9acb1772d3b3183182b6540d3734143dce9476fe" + integrity sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g== dependencies: - "@typescript-eslint/types" "4.12.0" + "@typescript-eslint/types" "4.13.0" eslint-visitor-keys "^2.0.0" JSONStream@^1.0.4: @@ -4431,9 +4432,9 @@ meow@^4.0.0: trim-newlines "^2.0.0" meow@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.0.tgz#0fcaa267e35e4d58584b8205923df6021ddcc7ba" - integrity sha512-fNWkgM1UVMey2kf24yLiccxLihc5W+6zVus3/N0b+VfnJgxV99E9u04X6NAiKdg6ED7DAQBX5sy36NM0QJZkWA== + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" @@ -4578,7 +4579,7 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moonbeam-types-bundle@^1.0.1: +moonbeam-types-bundle@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/moonbeam-types-bundle/-/moonbeam-types-bundle-1.0.5.tgz#7620f003af92e121bc96a6dad1ed7c22540b5933" integrity sha512-DpNsjtdWUtWKecI2Oo/ovuGbWzyGOCBLyeXi5UYvYslHQ1iJchNtYG2QINF9iuQucC8ZFLoSg6bbteKOnfLnWg== @@ -6259,9 +6260,9 @@ tslib@^1.8.1, tslib@^1.9.0: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tsutils@^3.17.1: - version "3.19.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.19.0.tgz#9387cb5fcb71579aa0909c509604f8a7fbe1cff1" - integrity sha512-A7BaLUPvcQ1cxVu72YfD+UMI3SQPTDv/w4ol6TOwLyI0hwfG9EC+cYlhdflJTmtYTgZ3KqdPSe/otxU4K3kArg== + version "3.19.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.19.1.tgz#d8566e0c51c82f32f9c25a4d367cd62409a547a9" + integrity sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw== dependencies: tslib "^1.8.1" @@ -6390,9 +6391,9 @@ unset-value@^1.0.0: isobject "^3.0.0" uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0"