From 6f310ec7a7c0a747ebd7bb8242bf39faed3427fd Mon Sep 17 00:00:00 2001 From: Jordi Date: Thu, 30 May 2024 19:24:56 +0200 Subject: [PATCH 01/15] Add env test --- deno/deno.lock | 189 +++++++++++++++++++++++++++++++++++++++++++++++++ deno/tests.ts | 25 ++++++- 2 files changed, 211 insertions(+), 3 deletions(-) diff --git a/deno/deno.lock b/deno/deno.lock index 3cd67a1..688665e 100644 --- a/deno/deno.lock +++ b/deno/deno.lock @@ -2,6 +2,7 @@ "version": "3", "packages": { "specifiers": { + "npm:@types/node": "npm:@types/node@18.16.19", "npm:ethers@5.4": "npm:ethers@5.4.7" }, "npm": { @@ -314,6 +315,10 @@ "@ethersproject/strings": "@ethersproject/strings@5.4.0" } }, + "@types/node@18.16.19": { + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", + "dependencies": {} + }, "aes-js@3.0.0": { "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", "dependencies": {} @@ -418,6 +423,9 @@ } } }, + "redirects": { + "https://esm.sh/v135/@types/bn.js@~5/index.d.ts": "https://esm.sh/v135/@types/bn.js@5.1.5/index.d.ts" + }, "remote": { "https://deno.land/std@0.224.0/assert/_constants.ts": "a271e8ef5a573f1df8e822a6eb9d09df064ad66a4390f21b3e31f820a38e0975", "https://deno.land/std@0.224.0/assert/assert.ts": "09d30564c09de846855b7b071e62b5974b001bb72a4b797958fe0660e7849834", @@ -455,6 +463,17 @@ "https://deno.land/std@0.224.0/internal/diff.ts": "6234a4b493ebe65dc67a18a0eb97ef683626a1166a1906232ce186ae9f65f4e6", "https://deno.land/std@0.224.0/internal/format.ts": "0a98ee226fd3d43450245b1844b47003419d34d210fa989900861c79820d21c2", "https://deno.land/std@0.224.0/internal/mod.ts": "534125398c8e7426183e12dc255bb635d94e06d0f93c60a297723abe69d3b22e", + "https://deno.land/x/polkadot@0.2.45/api-base/types/api.ts": "c07293e60cf6bb56a0192aca53ce56e767948ea71b8e00858a8644153698c2cb", + "https://deno.land/x/polkadot@0.2.45/api-base/types/base.ts": "d88f22f4a053ebcbe77647df80db616842a9669381d3450c844e0fcb5ef2538b", + "https://deno.land/x/polkadot@0.2.45/api-base/types/calls.ts": "37f97213145323ccc53d46e3875c208c2c6df39dd51c9bece7dd8cf85131a516", + "https://deno.land/x/polkadot@0.2.45/api-base/types/consts.ts": "78eaa44fc102809920ac16a663897d96142af84f38e71d5fb566e71deb09c9c6", + "https://deno.land/x/polkadot@0.2.45/api-base/types/derive.ts": "a242e7c1fc0bdccb01d35efa0a9ce84da3dbf0471d2e9c086a4a8137b795ccfe", + "https://deno.land/x/polkadot@0.2.45/api-base/types/errors.ts": "c46d356f186f968e79a564b9ea178cd1f438d74c22e945279c4a3228892af005", + "https://deno.land/x/polkadot@0.2.45/api-base/types/events.ts": "9368ab031883f5ab8d483ead2ecefd8e4c2a4cdaa0f7eb357503860fcab9b8b8", + "https://deno.land/x/polkadot@0.2.45/api-base/types/index.ts": "d4458f85c4c4baead653753eae66b982459cef5ff49b29ec5fec2ecb880e12c0", + "https://deno.land/x/polkadot@0.2.45/api-base/types/rpc.ts": "2884a8e5f0a5eccfc4e42d5694fd41edcceffc093a75581a154ad64376b7b348", + "https://deno.land/x/polkadot@0.2.45/api-base/types/storage.ts": "e5b444113fdadd5065dc0b342b852ed433151267cd5c10c85b230844c9019d49", + "https://deno.land/x/polkadot@0.2.45/api-base/types/submittable.ts": "933fc3f1218112da8b6d0780101c7e04aa32f71d956a35ea521e4a17e725d1a9", "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/accountId.ts": "777fefccc5447f1d683de8df4f08d872a5d1bfc04d3b535d6e4582c48f7ad1a0", "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/flags.ts": "666c139e01289d66c9f19e47aff1a18997218dec95026769610fbc7874519195", "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/idAndIndex.ts": "bedc6c217cd2466000ebc8438a0a479752f12bf4aebd63183645e970c190a527", @@ -464,15 +483,18 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/indexToId.ts": "d4e0641a266fe163395f7beeade4b58ee91c97762a5d684f84777fe3e771e66e", "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/indexes.ts": "c4aeb63639ee7455c8119a799f59a136b3ca96ddc33ab28d3759d8c23651727a", "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/info.ts": "ba94ba5437a7ca64e0ffd66a9285ca5f21a1661d9cc5c9e33346b7a4a6739464", + "https://deno.land/x/polkadot@0.2.45/api-derive/accounts/types.ts": "02ed363cbaebef82589a76d6c46ffa7515cbdb6fafcd50e2e2b3dd058117d185", "https://deno.land/x/polkadot@0.2.45/api-derive/alliance/index.ts": "a5d12000528046c261c3bc7cc53d496a67c3cce25e8cd54566eebb016eeb2f2d", "https://deno.land/x/polkadot@0.2.45/api-derive/bagsList/get.ts": "debbe8e6b7376a96b0bed3e3584475e75cffd1dda577b77530d137c4a39dc924", "https://deno.land/x/polkadot@0.2.45/api-derive/bagsList/getExpanded.ts": "0044522ac75ea49f22ae20e983980abecfb7dd326e10b0edda3f78f76c4cbf17", "https://deno.land/x/polkadot@0.2.45/api-derive/bagsList/index.ts": "e77832b108e440d6fdf1cf7b1a878b56d651471b075a92c7a55b369b85d15430", "https://deno.land/x/polkadot@0.2.45/api-derive/bagsList/listNodes.ts": "aca6e450c88e2b740013ea3dc98f9cd2112e409734c84c6044194febd134a518", + "https://deno.land/x/polkadot@0.2.45/api-derive/bagsList/types.ts": "493d5754506f8b719504a4d8fceddf39601e79c5e9bd1410cbdcee0ca6e91018", "https://deno.land/x/polkadot@0.2.45/api-derive/bagsList/util.ts": "9cb125a91bf20e2e65b118d4dfbed35a9508ee4193e5ec009018e9c40631a217", "https://deno.land/x/polkadot@0.2.45/api-derive/balances/account.ts": "5933018c9413681dd91e0958291228613f179a9b2a0cc96e899f932373110af3", "https://deno.land/x/polkadot@0.2.45/api-derive/balances/all.ts": "e9520f21820e48939169a426d521df4552c802f1498d0a8a2dc6e7a890d8122b", "https://deno.land/x/polkadot@0.2.45/api-derive/balances/index.ts": "d66625d254a64821d9b13d8fc3022b1c53b9a7751354feff58c898cb570fd233", + "https://deno.land/x/polkadot@0.2.45/api-derive/balances/types.ts": "0889d80a7de7465a3bdeb10a94a8ab7d5d9d3412552a2a09e3e35c3e734c19c4", "https://deno.land/x/polkadot@0.2.45/api-derive/balances/votingBalances.ts": "c685f497c28e61e2ba0b3ff2c68c702dc7bda4c5f255e4f920152977e6061187", "https://deno.land/x/polkadot@0.2.45/api-derive/bounties/bounties.ts": "e2fa90f5d681495bb965b762e789ae7eb441489c01f56f4970ee55e3d75c7657", "https://deno.land/x/polkadot@0.2.45/api-derive/bounties/helpers/filterBountyProposals.ts": "fce0e73931b576db576eaeee055e2427d36846420d65396896eb5ab8939cc63d", @@ -495,15 +517,18 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/collective/members.ts": "add7af3112a735ffd81272e8b888687d6c4c908e75e5dac3ad6afa107224e5f9", "https://deno.land/x/polkadot@0.2.45/api-derive/collective/prime.ts": "1fe2cc732c17b7c2532031313ee1342e5073c3517938d3c849a3b425feb4c377", "https://deno.land/x/polkadot@0.2.45/api-derive/collective/proposals.ts": "132fc7eb5e97aa023ab648d03d0dbade89dd2e82e43e38f105d4bf1b7915e34e", + "https://deno.land/x/polkadot@0.2.45/api-derive/collective/types.ts": "7820faf6f7d47636478e81b9afe0865834a14e9373788add8eac9df8a635d19c", "https://deno.land/x/polkadot@0.2.45/api-derive/contracts/fees.ts": "a305a93c91fc9aa097cfc02110ff79ec9f5ce88caa3602eef837bbc072703340", "https://deno.land/x/polkadot@0.2.45/api-derive/contracts/index.ts": "29c2c65463f51dffe42d0a83cc3ebac7ed04573cc47c0a6acfb80d6bfe3c2f76", "https://deno.land/x/polkadot@0.2.45/api-derive/council/index.ts": "78ff6aa0d3dd479e8d8a46dd41e2dddbe1a233afc1544dee065504545e1eaaa9", + "https://deno.land/x/polkadot@0.2.45/api-derive/council/types.ts": "4224f4e61ac592dcc5e252a9940891f34ceb38aef9b8090435b3c6f0e3f2e2d2", "https://deno.land/x/polkadot@0.2.45/api-derive/council/votes.ts": "b8c7a7123be0a6a8cc035e76ca478d380583c4f6acab733b70d91783bc87e66b", "https://deno.land/x/polkadot@0.2.45/api-derive/council/votesOf.ts": "f5e689122587a7f65182ec628891cecee730b3fd04bc0aa6ab6b4243ef3039bb", "https://deno.land/x/polkadot@0.2.45/api-derive/crowdloan/childKey.ts": "e82383d4f511786be60277b99cdc53b5d187f739036ec802af2e3f6591fd9c1e", "https://deno.land/x/polkadot@0.2.45/api-derive/crowdloan/contributions.ts": "6d75c5d95fe025e785fd6ce2c360a65bffdd66226a577d6056fbc9f8bca0b607", "https://deno.land/x/polkadot@0.2.45/api-derive/crowdloan/index.ts": "5551e698616c25339e727fdd59c55e3836e807a3586b5915eb54d545344dfe3a", "https://deno.land/x/polkadot@0.2.45/api-derive/crowdloan/ownContributions.ts": "04bf7adb263ebf737c88f18b9526cae1ec60cba3609363795b025db0311b373a", + "https://deno.land/x/polkadot@0.2.45/api-derive/crowdloan/types.ts": "70e93c152ea2bc0b22213377a33160881ad371c9952fa48afb323385a0408ec0", "https://deno.land/x/polkadot@0.2.45/api-derive/crowdloan/util.ts": "d05c949603f789cf7b86e7dbc7d10b4ae9725478c86ffbf5cb98641476dba942", "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/dispatchQueue.ts": "622caabf713b8edd696cdfa430838b8b999f5be66c98eae2e0ba553fcaf0de68", "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/index.ts": "c456968bf6a0788c58defd6f0cb2431b47c64c5a2cba46e000c3b95af46819ec", @@ -517,12 +542,14 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/referendumsFinished.ts": "6ab3f9cb280e02d29cf1c909956f385c5fafd36898e46e20146025a054074772", "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/referendumsInfo.ts": "87a85a9a292ee5db98c3061498f7453a9cc2b9375f41dfee3a466efe25eec823", "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/sqrtElectorate.ts": "379b4636ce6ad7b094a1f96729595bfe4ab43e253b76e9b4fbc24768f4af417c", + "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/types.ts": "3e6d1a2070b61085cb412151f8983dca0b1dd8a5acdce9174faa8782b65aae50", "https://deno.land/x/polkadot@0.2.45/api-derive/democracy/util.ts": "5a7f64cf3991f50f4b2ad7e8cfb3276ce66841280e52fdd2c876644f988fab4c", "https://deno.land/x/polkadot@0.2.45/api-derive/derive.ts": "b0d8a9711223e677c438e0901d90c8edb5c2fc705c9ab657ffb74a8ff07404e1", "https://deno.land/x/polkadot@0.2.45/api-derive/detectOther.ts": "034d8af963e310904d89eb4b1cc2021984338588b5ea2051c9f3412326f7296b", "https://deno.land/x/polkadot@0.2.45/api-derive/detectPackage.ts": "ade74555e73f1706d24e6af40739071cb35583fbb4651799c692d8639b519acd", "https://deno.land/x/polkadot@0.2.45/api-derive/elections/index.ts": "75243b1e0f519bd0349c146a52ee0882935e5bde06493f74e6a4abe818d0c5b2", "https://deno.land/x/polkadot@0.2.45/api-derive/elections/info.ts": "a9b33038d52ca267433f648bd784856ef528c77077426fe93ccdf36b6af9921c", + "https://deno.land/x/polkadot@0.2.45/api-derive/elections/types.ts": "232de3506a4fab599789ac484c369188144f99691f4a2a1a07c2820dc6502f46", "https://deno.land/x/polkadot@0.2.45/api-derive/imOnline/index.ts": "edc7f892352080d56d8bb689c22ac1b4a39920680576a3ee33cbc9fcf4d71069", "https://deno.land/x/polkadot@0.2.45/api-derive/imOnline/receivedHeartbeats.ts": "c7da0edb2a00c2735934feb19ff9b2753cc4d2f5108f87dcc69c5805bd360ae0", "https://deno.land/x/polkadot@0.2.45/api-derive/index.ts": "3af87313b30748a5486096ed932e92f3241eecee1791825b66f97e893ecc7f66", @@ -532,16 +559,19 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/parachains/index.ts": "d24244aaa22c21e573ca19ef5b92a1c45727451b302e709632e6b5c5842a6485", "https://deno.land/x/polkadot@0.2.45/api-derive/parachains/info.ts": "0ac88edcb69d298e4277e0599d8b6e3b7f0d3cc823652955c5f26e6782c7c3fe", "https://deno.land/x/polkadot@0.2.45/api-derive/parachains/overview.ts": "db978466e3fcc432b7f81ef53ca639c1f03959b65dca38565019720b0031a059", + "https://deno.land/x/polkadot@0.2.45/api-derive/parachains/types.ts": "56a1e591c4ee2a3d61b1c6c963e740c8c4b8f3348454964fd88e1233e79f2f83", "https://deno.land/x/polkadot@0.2.45/api-derive/parachains/util.ts": "67196dc632756985a7cb17b4933bd5e7c2f4fb5e052b627a2572c685e1bb2f55", "https://deno.land/x/polkadot@0.2.45/api-derive/session/index.ts": "6c174333aaf5289bed21a382ebe67849eafed13bf0ed0276daa2448e08f073aa", "https://deno.land/x/polkadot@0.2.45/api-derive/session/indexes.ts": "26df45b977cdadfc98416f48281fb55340a92cf420a3b5c9956cb8dc9a0320a6", "https://deno.land/x/polkadot@0.2.45/api-derive/session/info.ts": "abe71da606d5b894a6adf777c62d2b7f9ca3ff2821e32d33236f927f7ea25873", "https://deno.land/x/polkadot@0.2.45/api-derive/session/progress.ts": "1edbe4c3af6f64754cee338765d30a407876f16076a7311de7199dfc5ad16622", + "https://deno.land/x/polkadot@0.2.45/api-derive/session/types.ts": "33da18c97d682efaf4110277c48fab7cf9aeab7c4d2369cbeecc82a51fdff6e0", "https://deno.land/x/polkadot@0.2.45/api-derive/society/candidates.ts": "53db2d52d32adaf5e9e92bf7dcfb9970ff1453d0b6974367071f179039835856", "https://deno.land/x/polkadot@0.2.45/api-derive/society/index.ts": "24bd25ade637cc8346964fae25ebfbcab2b993b3ba400ac2975da1cbf656552e", "https://deno.land/x/polkadot@0.2.45/api-derive/society/info.ts": "8b5bf9bb9c5b944a774ec10b417680e0f3160411a1aebce021381bc81e80f150", "https://deno.land/x/polkadot@0.2.45/api-derive/society/member.ts": "3ede753c868c60412e0c125ebde354b2a851733d80ca86f1a0b5a29ca6d5d1ad", "https://deno.land/x/polkadot@0.2.45/api-derive/society/members.ts": "845431be1a65335276fb0a891e092b50e14744711fbbeb5b232695b403f683a9", + "https://deno.land/x/polkadot@0.2.45/api-derive/society/types.ts": "a1c4efc36c64f1ce3ab8609086bae4dd45fc93b7516aba11808af180543aff5e", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/account.ts": "18c6c4c9780c32f763f45afc144b21e972ed1d48d7a764a16b629408797eaa87", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/cache.ts": "75dc3c6983a96ae1933b6d8b9deb8f012967e6461c453705ac37ffbf12022402", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/currentPoints.ts": "cd88bc27c3ce66b529ee14c37e4dacd11a90a82c8ff2b434a76fc216ca1b0f63", @@ -564,6 +594,7 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/staking/stakerRewards.ts": "68fa7838856a1bdde224ae33a52bed9d568e37643222f9d90fc40d45f5e2d008", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/stakerSlashes.ts": "d24b83429c6bacd265a909ff42a97c68d3d507c74b20380197740ec1be4c3e03", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/stashes.ts": "8f9d2302498302999882435002c07da95a7b92f680dec4f7d2a555e7095f0ae9", + "https://deno.land/x/polkadot@0.2.45/api-derive/staking/types.ts": "b9a715d5f339d3f6685cf2acfd5ddc737b66f2ae5299417146f7ecf0b6582f4e", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/util.ts": "ffdc6bed2199ec387a320dd9e3aa9e85c9a8284cf197dfb23300cf68609f1c9a", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/validators.ts": "5196f89126969739a5e3fa05f6fdf3afae83251b51dd03931621dcada399c08e", "https://deno.land/x/polkadot@0.2.45/api-derive/staking/waitingInfo.ts": "45a948ca1e178ba7a4999b005f8670449213f0f0622614cd5c004534ecd8c6fd", @@ -577,7 +608,9 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/type/HeaderExtended.ts": "5abe74a90ab17dd48af49ce55e288c3aa0f504c66b117a76a3ab208d459dd80b", "https://deno.land/x/polkadot@0.2.45/api-derive/type/SignedBlockExtended.ts": "cf02ca1aac858b7d7fb550afb7e66741a820ee00798363c7a4f55b74f5c027da", "https://deno.land/x/polkadot@0.2.45/api-derive/type/index.ts": "0313355e333f46e813a63dd8c3a9b3129a7b4eccfc415e818437a2c0a36e5cd1", + "https://deno.land/x/polkadot@0.2.45/api-derive/type/types.ts": "f10547e010f52f8dc895d642566d29c5da7d8cd80f31a9c169ba322ef293956c", "https://deno.land/x/polkadot@0.2.45/api-derive/type/util.ts": "1f84c5f07daeb07a02fd7e4984c85fd313be4ae321225dfbdaae2d78e6edab44", + "https://deno.land/x/polkadot@0.2.45/api-derive/types.ts": "9d4d4e82b96a343547bbd5af81044d8eeb6c60b23e81447a4882ba9fb0012604", "https://deno.land/x/polkadot@0.2.45/api-derive/util/approvalFlagsToBools.ts": "f7cc0cfff02aeb81ed9fdfed7ec9f043d67f49510390a292230a432d391ebb07", "https://deno.land/x/polkadot@0.2.45/api-derive/util/blockNumber.ts": "584db16c193e07206c07da2a4c5958931528eba51855fcf555089a2827e0e243", "https://deno.land/x/polkadot@0.2.45/api-derive/util/cache.ts": "d934801c615bbe0da29c5709b16fc1f6f77ce789cfa7b6dba94583c9454e6a2f", @@ -585,12 +618,14 @@ "https://deno.land/x/polkadot@0.2.45/api-derive/util/first.ts": "e39cbdf0a129358f847418bbbefb974fe7dd59c4230f1dc489dbbd49eb3ad018", "https://deno.land/x/polkadot@0.2.45/api-derive/util/index.ts": "8d8ab3e56b84f921f3cc477ccbb26009016daded7edb00d7e880d261e7c918d8", "https://deno.land/x/polkadot@0.2.45/api-derive/util/lazy.ts": "5090a0bf7b7079d3a28b93af272c510ff3b250580e355b7c2faff097a3e40dd6", + "https://deno.land/x/polkadot@0.2.45/api-derive/util/types.ts": "3276531f67001c461cf7d49d8a7a7fd25ccf3ec37b6834e8c62d58529d7fb61e", "https://deno.land/x/polkadot@0.2.45/api/base/Decorate.ts": "a89299d25bec98d8ad21c5d0ff500080990c1e5978ee26694ae60f21c76d6b56", "https://deno.land/x/polkadot@0.2.45/api/base/Events.ts": "0bdb0ecebbb5958197cb4bb98d36cf370c1b50a975ba633cdcd34d7561f73a7e", "https://deno.land/x/polkadot@0.2.45/api/base/Getters.ts": "d7335fa2e21eb77d19b0c2579b4c9e16a4474ca756500fe6d031b3aeba6a7bab", "https://deno.land/x/polkadot@0.2.45/api/base/Init.ts": "013f7f7d6eca8ea03a2957617f67154e71e509c82ca38b23d580cf019b0a9e09", "https://deno.land/x/polkadot@0.2.45/api/base/find.ts": "2bcb5b0f66e342b78091050ddc47c17e6b7ed3720203763ea5a4ffe2a5df66dd", "https://deno.land/x/polkadot@0.2.45/api/base/index.ts": "c40688633f709f8bee63a822798c9ecaca6f2057bf29dd8fc15db94192f82be8", + "https://deno.land/x/polkadot@0.2.45/api/base/types.ts": "ef90329047c309dddd55f8dff09999529d28fa615b6e9896ee494b82199a5b61", "https://deno.land/x/polkadot@0.2.45/api/bundle.ts": "d93c841e08ca00ecc37c9c82bce7fd97aec9902ee3d2d45ddf47e2cbf14d41c5", "https://deno.land/x/polkadot@0.2.45/api/detectOther.ts": "3177fa107f71765c9e20800cd12f01aebb9bcf2c6e1c7293cd8d62e7ee8a396c", "https://deno.land/x/polkadot@0.2.45/api/detectPackage.ts": "ade74555e73f1706d24e6af40739071cb35583fbb4651799c692d8639b519acd", @@ -608,6 +643,14 @@ "https://deno.land/x/polkadot@0.2.45/api/submittable/createClass.ts": "53163745893e2bbc5c28c4b8b325c6ed35035f28ff77e8737a6390c0b090940a", "https://deno.land/x/polkadot@0.2.45/api/submittable/createSubmittable.ts": "cc517edf9e1c0a7f0d38b520c0b5b11d0320c004fe9ba0f429e5a3b6effcc22a", "https://deno.land/x/polkadot@0.2.45/api/submittable/index.ts": "4505d9abcf8c6aeaacfa6871277a1f54728b5a743b1a280bff87ea3d5978dc85", + "https://deno.land/x/polkadot@0.2.45/api/submittable/types.ts": "fc25941c4d324b90d4d3907c3a548cfe52aa40ffdef8a9b8707b4e7f8cc5d681", + "https://deno.land/x/polkadot@0.2.45/api/types/calls.ts": "478135add4225f85cf927aab0991af0b89788a651985248b74147554def9a194", + "https://deno.land/x/polkadot@0.2.45/api/types/consts.ts": "fe20d4aee5bf7032265b47aced41312f01022f21a5fc9fc4ad57d25eb6438d3c", + "https://deno.land/x/polkadot@0.2.45/api/types/errors.ts": "5fd25ba4cd5a07dc8484c3721904eb28682abdad6c0c7ed36d421d5ff21ae57a", + "https://deno.land/x/polkadot@0.2.45/api/types/events.ts": "1eb1f702b55844ff54ee84b1e654b9454a31cd0072c27fc33395eb0a00a16db5", + "https://deno.land/x/polkadot@0.2.45/api/types/index.ts": "01e27c03a0aabed00ecbda2f527bf043a7f6f7c085cfd8ea7766394394239265", + "https://deno.land/x/polkadot@0.2.45/api/types/storage.ts": "ae1143b62ff49f195c916506b1d3ff9c263f1537c214d63b904af39178d419f0", + "https://deno.land/x/polkadot@0.2.45/api/types/submittable.ts": "eea55f2e536d571e459a5591d117a8edf4ddaa4c51e72ce23d3819b0eb1e8c61", "https://deno.land/x/polkadot@0.2.45/api/util/augmentObject.ts": "8be75afcfc9426af90e58af0c1c21fb8ff4eb8b4e89d27a43d8e145907c67b40", "https://deno.land/x/polkadot@0.2.45/api/util/decorate.ts": "06a940977698ae4e5e9b1bafc0683e4a7643a5881da7dc873cb7eb6b4554f8ac", "https://deno.land/x/polkadot@0.2.45/api/util/filterEvents.ts": "fdce024fca0a2562e7c2e29beed0986f9cc2bf9b45daf49f5fcb08921ea505b5", @@ -629,6 +672,7 @@ "https://deno.land/x/polkadot@0.2.45/keyring/pair/index.ts": "2a0df24569905b56075f89934e328bae2f504b8437187920e079977d465852d7", "https://deno.land/x/polkadot@0.2.45/keyring/pair/nobody.ts": "a87835a249cffa326cdc4c8a7df8664fcc2c86c4bb3f2f58a521dd95edab3ca4", "https://deno.land/x/polkadot@0.2.45/keyring/pair/toJson.ts": "5bf50a38c7dec5f5b280139af4c40f42cd95c088484a35e75f6b4265d63fc326", + "https://deno.land/x/polkadot@0.2.45/keyring/pair/types.ts": "b9544d1b09f8ad2dbbfbee3842d32ebc9360baf20a9d8a4b30162b45e91e6524", "https://deno.land/x/polkadot@0.2.45/keyring/pairs.ts": "9b2d21905593e3a13be94e91d34396db2cd0a80e8a7fc46f6be0920c4428deb0", "https://deno.land/x/polkadot@0.2.45/keyring/testing.ts": "942e917987c05ad4c9067c9dcaa9d154a8bf30ddebe1a474ff69df515aa73755", "https://deno.land/x/polkadot@0.2.45/keyring/testingPairs.ts": "9dd9a1f7c69886a370b81f026847edd08ce65b82563c7ee5dcc28469437dc4d9", @@ -642,6 +686,7 @@ "https://deno.land/x/polkadot@0.2.45/networks/interfaces.ts": "722d69a6838b54a2eaa4886c41edea10563f2b905eac2f656d535bf7343eae7f", "https://deno.land/x/polkadot@0.2.45/networks/mod.ts": "08f40b536bbd1d5ec254e619f807e9d2fcfd0f10cfef3fb7a6302bfb7e19d56f", "https://deno.land/x/polkadot@0.2.45/networks/packageInfo.ts": "fa39f86621e7c8937c8b04074ebc5336c735f5deab0c06b257a9d3328319030a", + "https://deno.land/x/polkadot@0.2.45/networks/types.ts": "8cb9169388f0d98cd2bb47a01f652fe0be48f17e9dcf4da974239a16fea39dff", "https://deno.land/x/polkadot@0.2.45/rpc-augment/augment/index.ts": "a919ba9fe0beef19458d54a69924b4ce47552af752aa795fa57d1ec42daa6545", "https://deno.land/x/polkadot@0.2.45/rpc-augment/augment/jsonrpc.ts": "327a68d8d7284dc3344b42e6217a8ac6d0509b39e55814ae7cec46358ee604a8", "https://deno.land/x/polkadot@0.2.45/rpc-augment/bundle.ts": "39e938e82e22c8d9da0f0277c215b59236b74bc0a687af0be18c82203a6ca4a2", @@ -656,6 +701,8 @@ "https://deno.land/x/polkadot@0.2.45/rpc-core/index.ts": "3af87313b30748a5486096ed932e92f3241eecee1791825b66f97e893ecc7f66", "https://deno.land/x/polkadot@0.2.45/rpc-core/mod.ts": "08f40b536bbd1d5ec254e619f807e9d2fcfd0f10cfef3fb7a6302bfb7e19d56f", "https://deno.land/x/polkadot@0.2.45/rpc-core/packageInfo.ts": "7e98b78cbd4e10d1a6415c7c1c0de9d92cf7d2294b02de1eb10ad17741e23be6", + "https://deno.land/x/polkadot@0.2.45/rpc-core/types/base.ts": "169062ff249bfc0da0f677ac0c4830cd29b16ef83c9a975ac671dac119851666", + "https://deno.land/x/polkadot@0.2.45/rpc-core/types/index.ts": "4c61b464b32d22eb4e402f6cf9c3d2a3225c52e66354811e5b6887287c8bf858", "https://deno.land/x/polkadot@0.2.45/rpc-core/types/jsonrpc.ts": "691b50e0c5a495fba98e44717077f3dd3f8d83a68be89653a7cfb7c2d837308c", "https://deno.land/x/polkadot@0.2.45/rpc-core/util/drr.ts": "1b5891c3c2a5cacd16db980b7660cda8dadf04d4e6cd36ad85d597f5165711a3", "https://deno.land/x/polkadot@0.2.45/rpc-core/util/index.ts": "4fc831e5d6bc3007603e2bb67dcc1654487cf496273cad3853194c690db0e914", @@ -674,6 +721,8 @@ "https://deno.land/x/polkadot@0.2.45/rpc-provider/packageInfo.ts": "d89d2b1220cd2b2817f54edeaa878a515546dcbf3bb20a159da6a6a3ea6de135", "https://deno.land/x/polkadot@0.2.45/rpc-provider/substrate-connect/Health.ts": "64dc6fdeb4977e852014d719e23ee30930d47d51b2f990a951f98f0485ed0b63", "https://deno.land/x/polkadot@0.2.45/rpc-provider/substrate-connect/index.ts": "9bb0075bf4e719006589bd7234946ceef3ebe1a1f422a82d81ba96e416505f1b", + "https://deno.land/x/polkadot@0.2.45/rpc-provider/substrate-connect/types.ts": "b301cee9f28aac72a213a67b64169db6a780b8f185717b17c4e00b20ae32d855", + "https://deno.land/x/polkadot@0.2.45/rpc-provider/types.ts": "1c96d0c0b0bb62a67b08da10fcbc0af292a287a6fcfeebaa68a8a746d889876d", "https://deno.land/x/polkadot@0.2.45/rpc-provider/ws/errors.ts": "6f56ceece1186902885d01b0d96471974aeabc52ffe0ea52af8150e01b6513b5", "https://deno.land/x/polkadot@0.2.45/rpc-provider/ws/index.ts": "ddd4eed79f199e7c25c07527e759f5761177735a0f8b5175e3be7c550b168076", "https://deno.land/x/polkadot@0.2.45/types-codec/abstract/Array.ts": "013c883f8ed770abec6cc86f0bfc07f0c52fa8e736a89a4c9fe688fb5ace71e1", @@ -740,6 +789,10 @@ "https://deno.land/x/polkadot@0.2.45/types-codec/primitive/U8.ts": "66ac6dc87704194de3fab6ce6ddf29bd0dfdfc13d87089d7bfd9e68d783e4cc8", "https://deno.land/x/polkadot@0.2.45/types-codec/primitive/USize.ts": "7fc128fffb1de5fd3ffe193ca46027da64b57a8549197b5189bad96d9dddfe74", "https://deno.land/x/polkadot@0.2.45/types-codec/primitive/index.ts": "2d48056cb384563f156c45a72542eae9f4d2a12ba6035ff389f0f0ee2cae3217", + "https://deno.land/x/polkadot@0.2.45/types-codec/types/codec.ts": "58edba027369ee448534681fa5f0a357534156ddef06cf9aeeb07b8b090854eb", + "https://deno.land/x/polkadot@0.2.45/types-codec/types/helpers.ts": "b1e63415df7dc5fb91e3ebf75dba3f091a02a63c0c3f29994ea0435405ac0fa3", + "https://deno.land/x/polkadot@0.2.45/types-codec/types/index.ts": "5e7e7b270cbfc1f12550d4d716a818cad920fd51f17230486e9eb8250ad0b598", + "https://deno.land/x/polkadot@0.2.45/types-codec/types/interfaces.ts": "6b64adc686dfda522c57abde0e8e0bd21668f0b07f8558d64d64f14c694747d2", "https://deno.land/x/polkadot@0.2.45/types-codec/types/registry.ts": "7a4b2ccca2778fe90ffbd37e5e0dd770c24d4665fe9e6e5314535e58dd5681a0", "https://deno.land/x/polkadot@0.2.45/types-codec/utils/compareArray.ts": "bc4df9288d1fc4b60e294e9892a4dda42388749498a7026b124b7ed8211eeb58", "https://deno.land/x/polkadot@0.2.45/types-codec/utils/compareMap.ts": "f6281bd46c46e97cb5b6b712347d61e81ef5acac3efd65cc3be3f2756e6842ec", @@ -794,6 +847,7 @@ "https://deno.land/x/polkadot@0.2.45/types-known/upgrades/e2e/polkadot.ts": "7cb36538a31eb610830cb205c1c208cfc2afb3db26f6544f1d67921a79579714", "https://deno.land/x/polkadot@0.2.45/types-known/upgrades/e2e/westend.ts": "1e46e421681d59e75567c12894adab83352d8528e3a4ff30b451db839ceeb3a8", "https://deno.land/x/polkadot@0.2.45/types-known/upgrades/index.ts": "12b408b1f7f580547c8d082d1240f749f4880006c8e27f6e0826290ad82dc6d4", + "https://deno.land/x/polkadot@0.2.45/types-known/upgrades/types.ts": "29769344bd9121aa8219627df3a14d4e776daa19a6612f63ce205a5bbeece8fa", "https://deno.land/x/polkadot@0.2.45/types-known/util.ts": "8e5ec54e6afba6ce587f0826661d5b2f4c79bdf3fe34b1bf1aa0e91758f6ff1f", "https://deno.land/x/polkadot@0.2.45/types/bundle.ts": "5044bf46ccbbb1acc4edeffbaecdc78c300c1f0554adb46a88a66e697070c9ba", "https://deno.land/x/polkadot@0.2.45/types/codec/index.ts": "da3ed469e21b86fe5e78ee384d1336b3c7fc6ea739f98e304c3aeb653bd1d043", @@ -802,6 +856,7 @@ "https://deno.land/x/polkadot@0.2.45/types/create/index.ts": "4f14710345fadc6b754760593417ec2307fca5d209a4f9dc561767911721070e", "https://deno.land/x/polkadot@0.2.45/types/create/lazy.ts": "df882d3d623f79e1a6d163e7f5ebe23fe4489c99cdfef2149005317c45544b3d", "https://deno.land/x/polkadot@0.2.45/types/create/registry.ts": "997bb41b12078f4e7c1822883faa3a11413ef8ad73dd9645992c1356ff680244", + "https://deno.land/x/polkadot@0.2.45/types/create/types.ts": "0e788ad40eeedbfe32e5a0560e821ddc329f54f9bfc802281b08df9060e17300", "https://deno.land/x/polkadot@0.2.45/types/detectOther.ts": "1d45e346377d33e0a95a2c816a08fb5311062782e6b9cbdac52d073839f2d20a", "https://deno.land/x/polkadot@0.2.45/types/detectPackage.ts": "ade74555e73f1706d24e6af40739071cb35583fbb4651799c692d8639b519acd", "https://deno.land/x/polkadot@0.2.45/types/ethereum/AccountId.ts": "21613d66fdb4657fe7b3376fa173871ba706bed65b528c353355fd0d78d7d88b", @@ -821,6 +876,8 @@ "https://deno.land/x/polkadot@0.2.45/types/extrinsic/signedExtensions/shell.ts": "6d241118af6bbc46893a11710a625d0a92bbfc371160173ab203043580476242", "https://deno.land/x/polkadot@0.2.45/types/extrinsic/signedExtensions/statemint.ts": "381dab6f94acb7407ada8dc6c3f1873c6454bf79f8f6f964911ae4335f1fadc7", "https://deno.land/x/polkadot@0.2.45/types/extrinsic/signedExtensions/substrate.ts": "4fd1dd15962fcc58423c3ebfc8fa383216b7e78fb4072772245673db9bee376a", + "https://deno.land/x/polkadot@0.2.45/types/extrinsic/signedExtensions/types.ts": "97b5d198d9cf72b45a7ede7d0f52a7afc7b9dc48f78e4684f031ef44183ab487", + "https://deno.land/x/polkadot@0.2.45/types/extrinsic/types.ts": "e39d92d9e03b751ebb95361ccc94e9f6c38550e15e734ef250adcc154be6341f", "https://deno.land/x/polkadot@0.2.45/types/extrinsic/util.ts": "35bbe79f2d6587fc6c94bdbe207c492c85e4fff336763deda461033baf8b3747", "https://deno.land/x/polkadot@0.2.45/types/extrinsic/v4/Extrinsic.ts": "57330f83a6ba501827ae0e648c4275c8032cf9e81dd2fcadca35fc7765a709ba", "https://deno.land/x/polkadot@0.2.45/types/extrinsic/v4/ExtrinsicPayload.ts": "aa475591ece9a9181262d514c0725623ea28a3d8666ee10a6648a657e01e08a5", @@ -842,71 +899,127 @@ "https://deno.land/x/polkadot@0.2.45/types/interfaces/alias.ts": "66ac0ae8771550341088ed0bfe1d3e9c205a85ac17e31a8700856c06025f308f", "https://deno.land/x/polkadot@0.2.45/types/interfaces/assetConversion/definitions.ts": "e00f7b5098f750e72236598166950f5c81b02204dd08d9dedbd88140c9f062f2", "https://deno.land/x/polkadot@0.2.45/types/interfaces/assetConversion/runtime.ts": "234d088257c75a205f93fe526b889abb1b3da945c62e0a7c873b65340c7ab56b", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/assetConversion/types.ts": "f949186561d4a0ec011bdfb25e9cca646d997cb8da4add3ae88244e6f18168c1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/assets/definitions.ts": "aefaba6a9ca100a8b11aa0cbffe14c91257e2241b166066aaf2ee19cdce53d0f", "https://deno.land/x/polkadot@0.2.45/types/interfaces/assets/runtime.ts": "3a64ebf255346ff43dbbe94b52d60ef2a1867268379dd5677677ebbc97cd7a61", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/assets/types.ts": "9b7e6f0ba5093588ca3080a4cb73cf272593b29d78a25d66f87f02b0ef08272d", "https://deno.land/x/polkadot@0.2.45/types/interfaces/attestations/definitions.ts": "7b9f0e5050a88246fc79e2e328694c20374001395caefc9f301535af23617687", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/attestations/types.ts": "813ad83e5c0bfacf985c4c8ac556b598d941ad489a9d184d150361cb1bdb669a", "https://deno.land/x/polkadot@0.2.45/types/interfaces/aura/definitions.ts": "e429b174c5a8a111411615c484d37092532fd574e8e2d5fc73846858652c52fc", "https://deno.land/x/polkadot@0.2.45/types/interfaces/aura/runtime.ts": "b2134fe6e8f1312ee3a40e368a30e3acd9e05127d879f384165b1b2a1888716a", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/aura/types.ts": "155dc1641bb727b78f26709557ce144d7683a19f2eb57744f3e58cce52585b20", "https://deno.land/x/polkadot@0.2.45/types/interfaces/author/definitions.ts": "ba87fd4597c8c2c7bb6460eac8075817ce2608e4d91856b08ede7f4e9fe2d376", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/author/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/author/rpc.ts": "922d771740fd207b32fca8795028eaf6ef8216b5a2ddc42be0504ef0b014f74d", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/author/types.ts": "2d5f6e41a4a2603f0ce1e78886753f5011dc67133168671d2a7925516784084b", "https://deno.land/x/polkadot@0.2.45/types/interfaces/authorship/definitions.ts": "663b71a54658406e3652c8aa426cbf760242c366d0146a5aa4dbaf5dc1596b89", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/authorship/types.ts": "69453d198d86fa71becd02bd296e5873de4593d075e67cf5c9f33648c1fbc41b", "https://deno.land/x/polkadot@0.2.45/types/interfaces/babe/definitions.ts": "594bc3159540158c7944e3cc10f07ba0fb57145f3a197618e3893647c3dddf66", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/babe/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/babe/rpc.ts": "22d781d82c95ab6db50457e0fd76900873a29085ee92068a246699fd24c4f6e9", "https://deno.land/x/polkadot@0.2.45/types/interfaces/babe/runtime.ts": "81c1921addc2637220a03c23895a36ef635d6df070c32764950a49b97aebfe4c", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/babe/types.ts": "6daaf749c4a91cfb2ba7f80cbeca6f0b0a4f6f7c99301a1811802d1f53ed6f84", "https://deno.land/x/polkadot@0.2.45/types/interfaces/balances/definitions.ts": "a77bfb0697387bcdada9c58b9ea929a10f8772ee5e5f94134a0436e51e4eca1a", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/balances/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/balances/types.ts": "96cf79238ab039e74d65b77eca26d7efe9054c9956521e2b2bc347160f787e4b", "https://deno.land/x/polkadot@0.2.45/types/interfaces/beefy/definitions.ts": "acbcdea82e6b43251589f9cdfb142898129f9eb8c043ad880920c97b4f5ab217", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/beefy/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/beefy/rpc.ts": "4cefae1451e666827e5744dd720c957ee6befa96dc5920080336620049af7c72", "https://deno.land/x/polkadot@0.2.45/types/interfaces/beefy/runtime.ts": "5e8155dc808d78cff7716220751f5c41d31039ed253ae53eb14d263968fd4c15", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/beefy/types.ts": "f1c8f28cbaa624f9f3d11eb1e2da24fac3af981b3f5d5e903aaff55cc1fa8670", "https://deno.land/x/polkadot@0.2.45/types/interfaces/benchmark/definitions.ts": "0184e43aab8f6e9c2e9ba7ca5d987b9e4b89a4e1ab106ff907bda001aa7a849c", "https://deno.land/x/polkadot@0.2.45/types/interfaces/benchmark/runtime.ts": "7161adef1f2e7bf4dbb23dd66f3776358b4270eb3e5dee31f98617b8d3bb8a9e", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/benchmark/types.ts": "338745e8ef28076afe9da3197c42c64482af3b182492be42946fdcf44b5fb277", "https://deno.land/x/polkadot@0.2.45/types/interfaces/blockbuilder/definitions.ts": "11a8fb39d4491c57edb5f4e3d0d6559d192e763164b3619e9d6e59e5ce95a024", "https://deno.land/x/polkadot@0.2.45/types/interfaces/blockbuilder/runtime.ts": "5eb2dc16d514b833d802e852ee05f3ef13bb0088ab5992f771e5af27fe3623a9", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/blockbuilder/types.ts": "c81cbc9e79f4d221677e8dbedd308398e0f0b88a3d5b296ef7a049111cc209e3", "https://deno.land/x/polkadot@0.2.45/types/interfaces/bridges/definitions.ts": "05c1620fde403dab2832c9e85c19e283203c7d9fb6c18c0bcf0d2055ed54ce84", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/bridges/types.ts": "f879f3ff454a72a05e3625a007849d90a4b232c0d07d11ae77b9c839fc60be1a", "https://deno.land/x/polkadot@0.2.45/types/interfaces/chain/definitions.ts": "61b6c2009fd20157881438ece8afc9393fcd4d15f02b9847887c5d7a750e48ea", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/chain/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/chain/rpc.ts": "044907a3b9ac566af1b29c68faf30fc0327bbcdef6717d20adfe4725d3be5129", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/chain/types.ts": "755ac1499d387870aa883c4f0fec9880bada27f68e7c9a792a8679d6106cb518", "https://deno.land/x/polkadot@0.2.45/types/interfaces/childstate/definitions.ts": "12341028bbe7c0ed7e9a3321f5561b391c51d6f2a069b91fc8cd4ba78d904385", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/childstate/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/childstate/rpc.ts": "975c7d3388466b833cf150605ac9167a4e1f6f213af1c80420b39e1e2bfcd569", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/childstate/types.ts": "bb05a2f2dc1cbab7fd3d0db847812e40fc3401d21d6145795c854a47ebe60a74", "https://deno.land/x/polkadot@0.2.45/types/interfaces/claims/definitions.ts": "953aeab87146a0990df3c6bb1162d9a75bd81e539b907302a1c39f6e74b9a7cf", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/claims/types.ts": "8646ef53a4a455426e0b12eaada660555b31f3a79213c6fe84cb9a25e124a917", "https://deno.land/x/polkadot@0.2.45/types/interfaces/collective/definitions.ts": "3ff238bcc469dced0a15cde120da3e655c7f9baa734d275fe30189144bf967bf", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/collective/types.ts": "12b061e09e5f3d802a7015880dddd2b81ba928fcd438337430530125572872ce", "https://deno.land/x/polkadot@0.2.45/types/interfaces/consensus/definitions.ts": "a1cc0933441ffbda0ea30c4c463ca07b9becdb5a124a31165ed4faf0bcb1cff4", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/consensus/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/consensus/types.ts": "18814044980d2f971bdb96c526ac81a721db68034385d7b6ff64db35eecfd385", "https://deno.land/x/polkadot@0.2.45/types/interfaces/contracts/definitions.ts": "cd325b0e4dc4be367ecd3e86ca68c6913117b2013244bf018bf0ff9e9cc87d51", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/contracts/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/contracts/rpc.ts": "3e34f55ea57e6f90635f98c982fc365685861ae83e7e95f2bcd9f05bfc74f85b", "https://deno.land/x/polkadot@0.2.45/types/interfaces/contracts/runtime.ts": "cbd23b445abdf8e4599f03033552d0fed3dbdd6b89cd159769428f6442f71cba", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/contracts/types.ts": "162fe835dc5fda4a00d65f1e8082901d511091474051efbfbdb8063e6424a2eb", "https://deno.land/x/polkadot@0.2.45/types/interfaces/contractsAbi/definitions.ts": "db29a6eff14328aae5d955efc0c0cef8c4b6d6ce17f05510363411bab616e4a4", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/contractsAbi/types.ts": "2f859e5b63ca77fd631dfce71d86890a94a3ababfbaeb45443699f5dfb037467", "https://deno.land/x/polkadot@0.2.45/types/interfaces/crowdloan/definitions.ts": "c5b1fe29983393b0b235dc0b8b8143bb85208bacc9255d32e41418f27f424555", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/crowdloan/types.ts": "5a513a05d3cb8a5c7b8c55cec7039cab2c1bb3c7a147ded7cb73bf10e2908bf4", "https://deno.land/x/polkadot@0.2.45/types/interfaces/cumulus/definitions.ts": "aab98ef52acb9a1ac40830a4f1f5885363b46c477f70eaf593e6c14e5c78a5d1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/cumulus/runtime.ts": "182449bf2ca4660e4b347dbaed745a758174a51c38882fbc96cb82f8be263c66", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/cumulus/types.ts": "3c1bfd8eb88004c6d43d708ae99a550977133ee83345edec64b76571406c5f6c", "https://deno.land/x/polkadot@0.2.45/types/interfaces/definitions.ts": "145542014703da0af35006fae924d38041ee4f8cfb39606cc206453211966bac", "https://deno.land/x/polkadot@0.2.45/types/interfaces/democracy/definitions.ts": "f07f7004621cf3a653a38e0695a4b889063766db4aea5f6855f57b9958c609a6", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/democracy/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/democracy/types.ts": "aceb08062804c66eac20b6fe557b7f998005d77ad2f3c18fe9563a84ca9053e9", "https://deno.land/x/polkadot@0.2.45/types/interfaces/dev/definitions.ts": "7a0f51c2f879feb31ebde68f68487ad24cc0916fbbfbb0a7989b186ce5291eaf", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/dev/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/dev/rpc.ts": "3a95a31248be910309f875c52ba2e2000f381adbfacd794169c66961b615029e", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/dev/types.ts": "8e343ed693b2313502588b71c479831d21e3d77a6f6ecd3e5d06f4b262d9af08", "https://deno.land/x/polkadot@0.2.45/types/interfaces/discovery/definitions.ts": "9a6883641cc9b0d2abd8fa89b42b54b00807be66f3fbb8d7dda34401d879d993", "https://deno.land/x/polkadot@0.2.45/types/interfaces/discovery/runtime.ts": "1aab6611c9ae22aa81c4e23356f119f85cb49ea9cdc65a23e9400659391dd5d3", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/discovery/types.ts": "f558c9011e0bb2a3892cd55d14dbac2a73c3378cf523ec1c187ddd400c824bb3", "https://deno.land/x/polkadot@0.2.45/types/interfaces/elections/definitions.ts": "f47cbbf82ef5fc0754a19e0889817ee17150f3f41b23f63f41dc3656eb90e962", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/elections/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/elections/types.ts": "b2d0423f26950fecc81282ff4f60faf9e6ffca10aadf56afed9376f67d8f0956", "https://deno.land/x/polkadot@0.2.45/types/interfaces/engine/definitions.ts": "1914193a92b9f4948ed6d4b6b3835fe1de0893236b62de13c009c15a8459a46f", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/engine/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/engine/rpc.ts": "81eca3b10a80953b2b5c0888b98faf5a80e2d723c29dc1260568a55635c4f898", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/engine/types.ts": "773e9c408cc6faf5ee76d4477ce23d83967388bf3809ab06dbfa1f4aedd3c6fb", "https://deno.land/x/polkadot@0.2.45/types/interfaces/essentials.ts": "4c8eb26c8dbc587b87443d23c9bfa691d657072f6da017116618fb5355377eae", "https://deno.land/x/polkadot@0.2.45/types/interfaces/eth/definitions.ts": "74c4aae3df696baeb9ec43400568ca82782145a54ddfd08cc9f35a0123a492d0", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/eth/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/eth/rpc.ts": "7b0ec458510c3d1a7cbb9ad9169755c695b3d732ee4918c5667ea84e0233d14c", "https://deno.land/x/polkadot@0.2.45/types/interfaces/eth/runtime.ts": "5d7ec43a57b206c0c6e7fa8b351c0b3207a34cf2ea57b0764385f35d1f7e2caa", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/eth/types.ts": "06558bbb133418e2a489f0f17e58709e0a5c5b5a5fb7a973cd693846d7564e5b", "https://deno.land/x/polkadot@0.2.45/types/interfaces/evm/definitions.ts": "243c5e9b7d7c2bf3728f8531c30f0260ed7445fff682691dd68786d97dbea58b", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/evm/types.ts": "84297ff0a0f743a038974471c0a9ab43dff7bc76128e38dc23dc42f1fb216a64", "https://deno.land/x/polkadot@0.2.45/types/interfaces/extrinsics/definitions.ts": "4cc0fc5a40d65cfe900395af72fd6c14b3436d4a4720d24cb47936af299e59d4", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/extrinsics/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/extrinsics/types.ts": "21505323b0b7c04852618066ad6e4a8176e96409d8d370ef5bcc4bc6cbd38714", "https://deno.land/x/polkadot@0.2.45/types/interfaces/finality/definitions.ts": "9a6883641cc9b0d2abd8fa89b42b54b00807be66f3fbb8d7dda34401d879d993", "https://deno.land/x/polkadot@0.2.45/types/interfaces/finality/runtime.ts": "2711fc48bdf2987aae60524a4827de6ab7b227fc8250e83a07f1bdba8bbd50c4", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/finality/types.ts": "9393965a29ed275a7c62346b32310c13a0e5af83f3043bd73c045a7dd32f3f03", "https://deno.land/x/polkadot@0.2.45/types/interfaces/fungibles/definitions.ts": "ecfb8313f035ea5a6708f8d5791d03424b8895039730fb7890590f826d4ca38d", "https://deno.land/x/polkadot@0.2.45/types/interfaces/fungibles/runtime.ts": "da68e9fb49a06e57fca1bf52f9a75460f9cb115d8d63f618e1d7cb97d95f4bff", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/fungibles/types.ts": "1141a469b3323f5a04fe3d37f7516538a8fd1301707b7a52ebc286a2510aa81a", "https://deno.land/x/polkadot@0.2.45/types/interfaces/genericAsset/definitions.ts": "daf6f9c58ed408e1bc91d4c2fc60456e366845fe0959b81f93505983f913ba0e", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/genericAsset/types.ts": "c22b0b6d329b913f032ae1bf23899b153bc66a241b40fc6f291589bb38cdde34", "https://deno.land/x/polkadot@0.2.45/types/interfaces/gilt/definitions.ts": "08a54ea6ef1b6466213adcc4bb72ee9302edcfdbcc4fa9e86b537ffcf98cd812", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/gilt/types.ts": "272d0fd9dbb9ed2c7c138b6b3bb7c92ac40ba0c1852ef75f262aa3c5503345e1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/grandpa/definitions.ts": "d39cc99ae94f00979005df261a5bbadcec3e958c7df86bfbd55887c7fc89fa9a", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/grandpa/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/grandpa/rpc.ts": "b7524aea954ce1237a2d72cdf2b193d06f47273ad1217c63e9c471e0468d0d9e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/grandpa/runtime.ts": "8eaaf1e5cabae0488cc671755536f63e053ca0da9b22901e425c8ffb599245ab", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/grandpa/types.ts": "20d15fc6ab5435db3506f36dd09dd9f0088178d8020f4951a3f540afa37aa133", "https://deno.land/x/polkadot@0.2.45/types/interfaces/identity/definitions.ts": "fd7f71b29d121415b6df4385e4e7d503b6358b140e38482742c799737d35d89c", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/identity/types.ts": "1de746a116599e04de6f7ada4ee93819d0c3cd3bef931d85f9ec2443872448b5", "https://deno.land/x/polkadot@0.2.45/types/interfaces/imOnline/definitions.ts": "d65121c3c364ee53f3cf0979b3783ea32e458aaf4666311f12e955b02422a12a", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/imOnline/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/imOnline/types.ts": "fa8dcd3ac424be0d52db6c9edc98d99020c0a88e4e723c4e6ce3314eb72dc832", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/jsonrpc.ts": "c18d734501e1778f4536e590640b38036e669203bcd0158dac2d51d6a090bf33", "https://deno.land/x/polkadot@0.2.45/types/interfaces/lottery/definitions.ts": "aae4eefa2ee345e1e11a8090f55c9a826e527b6945d78b153881f2e64a7ab975", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/lottery/types.ts": "fe152c43a4bd4d3d82d1dabf7940496e64b14e6c721d40764dd040295a16633d", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/definitions.ts": "8572d9318b3ba340583a571238bf09d7a7d58266c0693fc2589f1e278d335520", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/hashers.ts": "7b6bf9f6a46a3c2cf9fe0dd749a9cb5e825ecd25e2f4cd4fb17d51b927693dcd", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/runtime.ts": "1f7c7f63a750f3bbbab2bb32f6608040b821bc14a4f370ac3e19e4569206220d", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/types.ts": "115a8f716f4a45d7771f25f0c244b9ebfed349ff6ee9ad2c0dcb721e88b0102c", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/v10.ts": "376066840dfdf87c029745532ead95861ad04c8d066750be2858432f0501aa0c", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/v11.ts": "36343625d99976906aabe8b69137562d495e4f5dca62b5f35c48beb157c1af81", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/v12.ts": "8d2ac3df489a563fc6d04c8ae88cf77c75fce8ca1a8d79783c567120a75c57a2", @@ -915,67 +1028,114 @@ "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/v15.ts": "5bdf84fdf4ee60cb126f3c9805eb5d39466d5ac3d122630b6499242c8949a6d1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/metadata/v9.ts": "29cd2b3bcec8cf41c8e9bea0db1025c39715a7fc8dea85438822d06de62aac29", "https://deno.land/x/polkadot@0.2.45/types/interfaces/mmr/definitions.ts": "763fb770d3baea702ba110189a57713def5d937e4d47e4375d1f755924a0b2c0", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/mmr/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/mmr/rpc.ts": "ddede9e85de6bf33132ef8a5bee7d449103f371cbc1575e98225033238c4dea9", "https://deno.land/x/polkadot@0.2.45/types/interfaces/mmr/runtime.ts": "0206ec3e249df84c4e9e5b0b568e722814a44dbb99ce0214a95f7543acc5e903", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/mmr/types.ts": "5e1587911ccdeb66690a2d7bf92d8d62f97ffd6fe832ab1454584e51ce174f0d", "https://deno.land/x/polkadot@0.2.45/types/interfaces/nfts/definitions.ts": "bd5f81df1336f6355485e9d52ce6139926b7174f47659224264f8b34fa8470a8", "https://deno.land/x/polkadot@0.2.45/types/interfaces/nfts/runtime.ts": "ab5993a3386bd4f57e3d3e0f96c542261945eff8acb40255b99ca7d79be0e649", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/nfts/types.ts": "7c656d728bde54c84ea12665a735adc6d1be326f6866070e04781b1ab722d522", "https://deno.land/x/polkadot@0.2.45/types/interfaces/nimbus/definitions.ts": "9a6883641cc9b0d2abd8fa89b42b54b00807be66f3fbb8d7dda34401d879d993", "https://deno.land/x/polkadot@0.2.45/types/interfaces/nimbus/runtime.ts": "c4d0fabf47fdc05f27f1eb8c26a4387b2d092e5b3d3a8d5c32317fd469acf86f", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/nimbus/types.ts": "966c748d6feac665ca9a67009594ebc957bfe1b5ad4aebf061e64ec4c3faa6c5", "https://deno.land/x/polkadot@0.2.45/types/interfaces/nompools/definitions.ts": "eca8a8f20a0251ced987320b83e26427c4e6399272672dcd975ae80e8db5bc7e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/nompools/runtime.ts": "5404bb18220ac2d24b9eada879d6d853a7d52f4656a8332430173bcc3ff3448a", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/nompools/types.ts": "a3a5d60a99501996a05b868c6703e0cf5c4306621615930d3efa926dcc724222", "https://deno.land/x/polkadot@0.2.45/types/interfaces/offchain/definitions.ts": "90ab65ab526a847c70f4fac6b9a1b39426871c51a84e1b052a17da43bf1aae3d", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/offchain/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/offchain/rpc.ts": "15278406689441631e1a95686431b932499082686bf3ec10b06aab0472ebc7e5", "https://deno.land/x/polkadot@0.2.45/types/interfaces/offchain/runtime.ts": "7d9b5c00af44a2d33dbbc84cda0d7f74292f0418ae86dc38a7624a0ba7374c76", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/offchain/types.ts": "a305003eee34c57f1908ab94d9dd310fd4b06a5fb799418d17dbc2cd2f5cbb1c", "https://deno.land/x/polkadot@0.2.45/types/interfaces/offences/definitions.ts": "e5105f873b462b619b28089b28ebca707975cffe402192444c60f08e5d8202ba", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/offences/types.ts": "22e8b59d13772da61230030fd5c1d98cd70d717e3c35b833c4f9fc9e85ad0daf", "https://deno.land/x/polkadot@0.2.45/types/interfaces/ormlOracle/definitions.ts": "9a6883641cc9b0d2abd8fa89b42b54b00807be66f3fbb8d7dda34401d879d993", "https://deno.land/x/polkadot@0.2.45/types/interfaces/ormlOracle/runtime.ts": "d9d5bb4149186ba3e6063d6b402604b960312852495410618b3325929410c712", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/ormlOracle/types.ts": "d1ba515c99ae3e9657dd007c580434e5b4a14ab606c9b044585d0a728789ed39", "https://deno.land/x/polkadot@0.2.45/types/interfaces/ormlTokens/definitions.ts": "9a6883641cc9b0d2abd8fa89b42b54b00807be66f3fbb8d7dda34401d879d993", "https://deno.land/x/polkadot@0.2.45/types/interfaces/ormlTokens/runtime.ts": "0c1084965e013d165112890a6ab5949bf6ceba3db893e63a37d75f5e4a603a98", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/ormlTokens/types.ts": "77ce0b159235e6ae04186190301fd0f42908272a7e02da1605ebf99e7482abf7", "https://deno.land/x/polkadot@0.2.45/types/interfaces/parachains/definitions.ts": "8acd8420df08aa5c772e4b4c666522c8f4b65bd7bd22121012c1779bc7fba2b1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/parachains/hrmp.ts": "b5a7866d2a13a67e22d3232991c07c369717eba6c8293b07161c5fd117fc4216", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/parachains/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/parachains/runtime.ts": "7ef2516875186c0382d89071f72b918d044d6f4f8dccafb8534fceb3f3444aac", "https://deno.land/x/polkadot@0.2.45/types/interfaces/parachains/slots.ts": "269ef0b10be29aeb5f240627deba183c526040047161645d23a2da09ef844220", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/parachains/types.ts": "714a514d59ffa7b1fc489c2c63b429e65cd2b88b9477c511d8def9b290a14e78", "https://deno.land/x/polkadot@0.2.45/types/interfaces/payment/definitions.ts": "f49219ed826b479a3b57d1a301d83c7902ed1e4bab30afe457861bdc6489ce44", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/payment/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/payment/rpc.ts": "6fd5a18b76c45c7af34246dd7613d7c6856be9e618ab533fbcbf2dfddaf51fa0", "https://deno.land/x/polkadot@0.2.45/types/interfaces/payment/runtime.ts": "9d0540035324f570147e08d88691eae779c75e6bef81d0cb0684720845154aea", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/payment/types.ts": "11f3b3cf63c3337fcda577c82110f17741ae5d0887a503ede410c41b201373b3", "https://deno.land/x/polkadot@0.2.45/types/interfaces/poll/definitions.ts": "30924abd196fc47eb8206df9f727ffc192ebe05f95968b6601e3b713af2d92cf", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/poll/types.ts": "4d81587422b5d7e6488fd8e7f798f0fe7fd7ac9ebbd3e1a7a585fa3004849355", "https://deno.land/x/polkadot@0.2.45/types/interfaces/pow/definitions.ts": "9a6883641cc9b0d2abd8fa89b42b54b00807be66f3fbb8d7dda34401d879d993", "https://deno.land/x/polkadot@0.2.45/types/interfaces/pow/runtime.ts": "2d48a9a7faa47145e9aed98ec6fa5b38b6a92ee5baf109e5ac0122e26db8748b", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/pow/types.ts": "fa727d1890dd249d6ae1666fe4d90aae41001960f50b82e490281d88d43bbf65", "https://deno.land/x/polkadot@0.2.45/types/interfaces/proxy/definitions.ts": "9739862d00ad7df4e25df179211df692728d306f4cc29183a8ccb46edcdbebba", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/proxy/types.ts": "22d5e474699f2763b182a2d374f3d25fe82b89d83661fa258936f79dcf701660", "https://deno.land/x/polkadot@0.2.45/types/interfaces/purchase/definitions.ts": "a6a41e03f0012e9edf5ea21ab52e3bbaca7b5ea18a03267fe54d709f61ba1caa", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/purchase/types.ts": "d9968242984b64118d66e453b4f323dd787feeaaac15323ce73dc118ebefbd1f", "https://deno.land/x/polkadot@0.2.45/types/interfaces/recovery/definitions.ts": "491f8c08a47c68d259c4e0b383d000f7a788c042a852b58e7f01222a58561ac8", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/recovery/types.ts": "695b4b1689fd7d73c21cfbdc3831a24438602393786da561991abded96246409", "https://deno.land/x/polkadot@0.2.45/types/interfaces/rpc/definitions.ts": "b5c600d6ef576f2b278473263aef4d7a4b8eb5fb449a323ad3f7760809177c32", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/rpc/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/rpc/rpc.ts": "886472af273aa53e12c8ce241c194fdf25a7e1392aa332214c4373420a385ea4", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/rpc/types.ts": "e063ecd48ccb7988f1ac45100da449bbe2df6e7b63ce92309943ef4ab14af93e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/runtime/definitions.ts": "4b29425846b82d611ff2250562dbb7e03fdd9eae74e83a863294893883716a6d", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/runtime/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/runtime/runtime.ts": "fbebc2bc8a705468a47a5565162a22ba3158cc032bd76e1cf9230f9178550afa", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/runtime/types.ts": "0e148d527126e626aa898286a1ab8f351e04a267a8aa9b860fe1f170aa0db462", "https://deno.land/x/polkadot@0.2.45/types/interfaces/scaleInfo/definitions.ts": "3a3848d14ea29f8f982ae81328deca416944b9ff9ef6815bddbcbd4168144709", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/scaleInfo/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/scaleInfo/types.ts": "60d8687db9fd8629dc41e6cdbd4d03c0435e7f17b952e59ec1cff80c52a2c83e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/scaleInfo/v0.ts": "f8ffc5a972a50d7abb42d529d410b0ddc6561b34192133e3600f0c478de50603", "https://deno.land/x/polkadot@0.2.45/types/interfaces/scaleInfo/v1.ts": "956907eebacd456a196387214ebfe8a82b25ff63e9a4cc839f15bb7f1821780e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/scheduler/definitions.ts": "98407b9805c3b780300ce5cc22396a365b3b24afe900550a30dfc3bd8e093a63", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/scheduler/types.ts": "bf4fe3e83d2348390fe2513670ad37d25278cb47bdd052d77379ce6bdaf4dda5", "https://deno.land/x/polkadot@0.2.45/types/interfaces/session/definitions.ts": "e503a9adee004f24f818af44d27991c8bdd4f8c92e981fa06da8c69acd9f18ed", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/session/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/session/runtime.ts": "e750726e3c536694f0b19fde66e7719d9768b47b6e0c16f3804c3ab18517aa53", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/session/types.ts": "51b29ac96338adb69aa5e67dd64b8bc06bf5f0c42641b79686e7984a946d8e13", "https://deno.land/x/polkadot@0.2.45/types/interfaces/society/definitions.ts": "837c48524e46e566951d378345236aec578112abaffb2b663eba0d090923fb6d", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/society/types.ts": "38ed250e344ff051517e02a715c08102cab4b68221195b5f6e62cc883996b123", "https://deno.land/x/polkadot@0.2.45/types/interfaces/staking/definitions.ts": "4d7a7a91de67b04d5d8ad82cad9f84f93103eefa149dcb6de9f1184753f1dd7e", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/staking/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/staking/runtime.ts": "41c6a5b90e916d043b2abf2921ee7e8169fd0ae195c14e8ee9c599a3464661da", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/staking/types.ts": "140d17ebcce91f6229880927e09e61fa4cda28bc7dcfd4c11a02418cff810695", "https://deno.land/x/polkadot@0.2.45/types/interfaces/state/definitions.ts": "79d8ff4e530105f036f553d82eed6d46474663baf212797c0cc598d0f676849f", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/state/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/state/rpc.ts": "18be44aae45971589f39a283c1f28ecef5bc95579ab3650647215721a6988483", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/state/types.ts": "8e6e9007b70162bffb33859ea01f99b6afd8be0e0117bb39497babce92b1f397", "https://deno.land/x/polkadot@0.2.45/types/interfaces/support/definitions.ts": "d4f66b21d6595197e2b30d0fcc28feb79fa302318dfd722cf9773013822d9d5e", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/support/types.ts": "c29ffd6d7d0986435abffa0b3d6270f4133adc58aecd585e0f1b346f741590af", "https://deno.land/x/polkadot@0.2.45/types/interfaces/syncstate/definitions.ts": "94060601390fea7702ef5afdecfcfe33f0d5bce5beda058809c846db7c538d5e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/syncstate/rpc.ts": "3c23f6ae12b6ffc7d1b1cef37e10ce54a830f0034085919b66b21c43c1319c47", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/syncstate/types.ts": "061f0b1ab8425e78eb7492c698203babb59709af740bc26becb9045db12b5dab", "https://deno.land/x/polkadot@0.2.45/types/interfaces/system/definitions.ts": "eef3011dadcd9bba0b757736abf3235ed3433ebd5e9478999ea24dcec22152f5", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/system/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/system/rpc.ts": "2cb0c4e21c2af3b2d50b633455f5cb21c72d54aab2597e6e4fb7d3a5edb70430", "https://deno.land/x/polkadot@0.2.45/types/interfaces/system/runtime.ts": "8d85e47f7ad80c45a10b73242df48f17a8e18505345a9e074bc51b1c734e0980", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/system/types.ts": "a6658acb5b74bdb56d0b6c39aba1628d2f2f052fa9ebd8914db3261c8350057b", "https://deno.land/x/polkadot@0.2.45/types/interfaces/treasury/definitions.ts": "99148e5c5cf3eb5228e7dd74d7f31601b7f09cc34616e178182a5e589450e483", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/treasury/types.ts": "a8b6f841eaeecc67b5243b7cefcbb6139197296fd42f318e276eb18cdbce1894", "https://deno.land/x/polkadot@0.2.45/types/interfaces/txpayment/definitions.ts": "6c22ea22ad3e0a087bb7210a164f5944a84b3519d59a1f6d25d61683ed1d7152", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/txpayment/types.ts": "d7ef78804456f98928494bc2c58475a3627caa556bc213b707f1be513d6ec69e", "https://deno.land/x/polkadot@0.2.45/types/interfaces/txqueue/definitions.ts": "0740312e0836f278402eb48fb7344f36252aab1e562a17417f9fd2aa393e59b0", "https://deno.land/x/polkadot@0.2.45/types/interfaces/txqueue/runtime.ts": "61da37b026d957adfa16eaf967d7e701f67c4bf6d06995c3e7cb21a8d5a6ff30", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/txqueue/types.ts": "31f9ba958c422418182e06eed60e134d5616377f89ba75d38c86d3361d126c4d", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/types.ts": "bcec2d1fb80e361bc2315c41ab0a6c7910e1267d9617fde714edc207a9a48b50", "https://deno.land/x/polkadot@0.2.45/types/interfaces/uniques/definitions.ts": "42141a7f7bf6903d91d69e2cfe5006eba3ec959e835cfd6f34fae179c53a039c", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/uniques/types.ts": "710a2d9c21d89c6a25b9df82940519c7669ec86c4286cde1bab524aadc4c27c5", "https://deno.land/x/polkadot@0.2.45/types/interfaces/utility/definitions.ts": "681013168093c08a9542930f4b4aeb2fbbe3659cdeac20c2249492d80702e856", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/utility/types.ts": "2218eac42493fa585a6d46285a26d427c404da3b4176a28b4b955fe25ff884d6", "https://deno.land/x/polkadot@0.2.45/types/interfaces/vesting/definitions.ts": "3f454fc9a4d50a770f804db0079e945d63c4f88f6a1798a2b2260df518a05a9a", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/vesting/types.ts": "f04e8c2ae18d56f871957d57955d99ee4be8a96274ace343ba5135258d7507e1", "https://deno.land/x/polkadot@0.2.45/types/interfaces/xcm/definitions.ts": "925ffbc6abc89b96f3a219bc963d713edf3877c0c42f5aff1554316f80c59d22", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/xcm/index.ts": "9591c97d1929e1eaa828b7d11ab97e942b917edccea576a11fb3eebd624275a1", + "https://deno.land/x/polkadot@0.2.45/types/interfaces/xcm/types.ts": "1ddba7cea5c5b0c09e4409b7fe453ceec1c630a8937127719eca06c648ad3028", "https://deno.land/x/polkadot@0.2.45/types/interfaces/xcm/v0.ts": "4e44c4b8ca9b6785537d153ed5191aa9c07163434091bebc80e216829ac3a342", "https://deno.land/x/polkadot@0.2.45/types/interfaces/xcm/v1.ts": "95ed4dca620bd165c6877fe8b13c9159146071cb9548ca99868cd93665793a27", "https://deno.land/x/polkadot@0.2.45/types/interfaces/xcm/v2.ts": "a40ee3c2f8e4a522a018fc6fb3a584436f7b87a2f8080796fcbe09917587c8db", + "https://deno.land/x/polkadot@0.2.45/types/lookup.ts": "0f4f5854d536fe58842c32377941589e2f5a02fc8a5dac463f5ace61d3ac7728", "https://deno.land/x/polkadot@0.2.45/types/metadata/MagicNumber.ts": "e8f68455dbaf68cebda527cb6cfd191734cad8dfe74c5626c642b0c3c064402c", "https://deno.land/x/polkadot@0.2.45/types/metadata/Metadata.ts": "0522f46447e456f798320d582b7b210265e2665c279071e33c5e4e2739476c84", "https://deno.land/x/polkadot@0.2.45/types/metadata/MetadataVersioned.ts": "84b3e15bd432c2993b64d379167ea81fcf51cecf63cbfbf97f9adfce31d21d6c", @@ -994,6 +1154,7 @@ "https://deno.land/x/polkadot@0.2.45/types/metadata/decorate/storage/index.ts": "669143957c87067658f85e80d3677b4f484198935294e2af5fa7ba9c6a829362", "https://deno.land/x/polkadot@0.2.45/types/metadata/decorate/storage/substrate.ts": "a0508ac2f6028f2353398ba78e226007d7b53cbd23fb239619088310653f35f9", "https://deno.land/x/polkadot@0.2.45/types/metadata/decorate/storage/util.ts": "ac5425c57238498de083cc9f64f9dd9138d5b6a83539bbb27579649de21013c9", + "https://deno.land/x/polkadot@0.2.45/types/metadata/decorate/types.ts": "3fe23c7b741375ea525d90815560c22ccf7885dbe6319e31200453bfafa01e6d", "https://deno.land/x/polkadot@0.2.45/types/metadata/decorate/util.ts": "09d71ec4c44cf7f7cd8a767fadae29ab941880656221cbb55a0d1be4656972d1", "https://deno.land/x/polkadot@0.2.45/types/metadata/index.ts": "01da90314cecc37775cfd85d628e46f968e67ecb04d61688c9d84b626eede9fe", "https://deno.land/x/polkadot@0.2.45/types/metadata/util/extractTypes.ts": "8feae8ba4f7fa2a2b81786bf024fd0efded1bf9ff11b465f0bf8586ed48a7465", @@ -1016,7 +1177,18 @@ "https://deno.land/x/polkadot@0.2.45/types/primitive/Data.ts": "750f0c1c713e68b61270411a99773ad12ec797643435e580fafde18405b92a24", "https://deno.land/x/polkadot@0.2.45/types/primitive/StorageKey.ts": "5355ed7f8670c0930ba7a4fea2f18642b6b3c60055988cacc940da20f460fb71", "https://deno.land/x/polkadot@0.2.45/types/primitive/index.ts": "cbde90b5767967d46f69f9d62e845ba8e59696fbfc2deafeaef1849ad6e5c402", + "https://deno.land/x/polkadot@0.2.45/types/primitive/types.ts": "23715e75da5e0ad0ea3f0f179f2ae087623ad36d62af53b91bdfe5063fa43fa2", + "https://deno.land/x/polkadot@0.2.45/types/types/augmentLookup.ts": "980dc2e31b0cfced2edb40cfb5b5c8a0715760905d53c0ae957f0644a5fff7b5", + "https://deno.land/x/polkadot@0.2.45/types/types/augmentRegistry.ts": "d586adb96643b7b4be0fb2473d0a119a1c7bbbbc498ddf438399e8d8059f566f", + "https://deno.land/x/polkadot@0.2.45/types/types/calls.ts": "d38c126d2864b2687409c4aa12116018e9744c647e08883dc930e92584ef5f34", + "https://deno.land/x/polkadot@0.2.45/types/types/codec.ts": "0b6c08c48a17c7ce7e86dd27d45d7fbd22a30559e8412a020972491e64a2f62f", + "https://deno.land/x/polkadot@0.2.45/types/types/definitions.ts": "5a9e7c2f29f86f1cc341bbede2799041dbe1d56551d7a9a5e6ae86c3a7911990", + "https://deno.land/x/polkadot@0.2.45/types/types/detect.ts": "5d82884cc8fede24be6cc5a9981dc639a0751017d8f88fe44c176f335affcd84", + "https://deno.land/x/polkadot@0.2.45/types/types/events.ts": "a9f8db93e2859abcf8e0657f57984b9deefb579868384ddf49215e7e64691b3b", "https://deno.land/x/polkadot@0.2.45/types/types/extrinsic.ts": "207e362742c266527dc9fd2ecf90967d8ad9531635523706989012a25a3bf6d4", + "https://deno.land/x/polkadot@0.2.45/types/types/index.ts": "f9fdc40bc15c2a4505ed01a019958009140aef5456ac2b5e31029a0deb30ce45", + "https://deno.land/x/polkadot@0.2.45/types/types/interfaces.ts": "58a325b193b8bab7fb50414a691681f2f6071f0dbceec76eb6b300e83a4f66a4", + "https://deno.land/x/polkadot@0.2.45/types/types/registry.ts": "635cfd1c9c8e404e252ea6907b64c96de09b276c796e02291e4443d9bc9b9da3", "https://deno.land/x/polkadot@0.2.45/types/util/index.ts": "9cc3462ece1957656e3609d72a5e8d56754cbf9d9c16e41e96b5b5f0cbfc5d03", "https://deno.land/x/polkadot@0.2.45/types/util/storage.ts": "5d0a3e0583dd8b4584f851e3e464ee37ebe442efc03c5c3def8afff78c25e472", "https://deno.land/x/polkadot@0.2.45/util-crypto/address/addressToEvm.ts": "b8a143cfda045da9a05e98d12d14fe7cd439c23ace53407fb3d77694baa10abe", @@ -1037,6 +1209,7 @@ "https://deno.land/x/polkadot@0.2.45/util-crypto/address/setSS58Format.ts": "04421082035915190749e1a1f66e762b90af19d6b31d3b2470e391eeb6a7bf59", "https://deno.land/x/polkadot@0.2.45/util-crypto/address/sort.ts": "ddfdb769e086f3c1e6daba098683e827322bda9596440d1a6b4d160a49f1b5b3", "https://deno.land/x/polkadot@0.2.45/util-crypto/address/sshash.ts": "a58e3dfcec6370b373be039116e02d9b99ce203548b288185c5fc8ee7ccb4dd8", + "https://deno.land/x/polkadot@0.2.45/util-crypto/address/types.ts": "a23bcd855a722268f3a2222717ae00f14d72122c8d990134b9fab679e41a8eec", "https://deno.land/x/polkadot@0.2.45/util-crypto/address/util.ts": "b1309721b9d6e5afd91585bd8b71d56d3b52629a4e7a3f7a8cc21637a5dd2dc9", "https://deno.land/x/polkadot@0.2.45/util-crypto/address/validate.ts": "d7a859d394056ec5a72bbe2e29908d91cd2a8ce3f08adbdd61c814f0449bcb54", "https://deno.land/x/polkadot@0.2.45/util-crypto/base32/bs32.ts": "e6077e7710f87a6bdb66fcca768390c51468126ee2c13bdc9e09f8c7881ed1dd", @@ -1084,6 +1257,7 @@ "https://deno.land/x/polkadot@0.2.45/util-crypto/json/encrypt.ts": "d04c0113797bcfb79ff5f83a5d01964e26b1d52aaf5fe58e1f583503a966dee7", "https://deno.land/x/polkadot@0.2.45/util-crypto/json/encryptFormat.ts": "06515e2f5056e7ec613dfea8f7a03b9f1dee094ce07c5276c1538c5e8e15d6aa", "https://deno.land/x/polkadot@0.2.45/util-crypto/json/index.ts": "8776ce8ca40d32ad1ac0923f3a8eb38bd002e212ce0a733e5106bd7bfcfe5d52", + "https://deno.land/x/polkadot@0.2.45/util-crypto/json/types.ts": "e63d6b0e44af7b95efec9b672ec87df3779eedad29dde560f96c3675aa4f65d5", "https://deno.land/x/polkadot@0.2.45/util-crypto/keccak/asU8a.ts": "284201343637c40d3a4cf044c1b8892f4a5d4765752f3647fb95df913c136177", "https://deno.land/x/polkadot@0.2.45/util-crypto/keccak/index.ts": "94aa6fe8f82abcf2ea666c0aaca1c7c880d1326a44fb55a2f8b12d286fcb443b", "https://deno.land/x/polkadot@0.2.45/util-crypto/key/DeriveJunction.ts": "1fcb61482145ea4157630a403c0e0489e3c366f6535a79d32f171933e4519be4", @@ -1120,6 +1294,7 @@ "https://deno.land/x/polkadot@0.2.45/util-crypto/scrypt/fromU8a.ts": "97ee010b2ebc8512da90356839fa80714844fbc6dfac94d6d9940e9c2fe51612", "https://deno.land/x/polkadot@0.2.45/util-crypto/scrypt/index.ts": "df6ce4c91cedfe79ce889abf8fb58f060f83ce71e814774122dc2e9ef10d53ca", "https://deno.land/x/polkadot@0.2.45/util-crypto/scrypt/toU8a.ts": "a2ab503c30c836a157574f8a379336a7f1b4de95a2d78a00b3d9404109dc6631", + "https://deno.land/x/polkadot@0.2.45/util-crypto/scrypt/types.ts": "d37731829692e24b3418cca24321bdb7552548e637f5ebab4975060749fd72d2", "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/compress.ts": "55ae23dff1313be6c9b91c5508c2e36cfb6bfc329a5d55a845343d571a5f621e", "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/deriveHard.ts": "68338b431189c9155cb413a73d02d1d3bc8b3dc7af82991db058fccb54e588dd", "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/expand.ts": "1b17ab6cbd537fa3e89056b68bed1d2d30bb46cd187271a0b1ad88c49bd821d3", @@ -1129,6 +1304,7 @@ "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/recover.ts": "4eec466be66fd672d9279230a9b3e6acaca86231be5a7e8710cae1fb69542ac7", "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/sign.ts": "15b87e94ae447a6451d3329706d0d05f6c0dbaa327504ccc498188392163e8c3", "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/tweakAdd.ts": "fff0bc14356dd1342f9f1b4edd6a0017d81e9592ea632abfc4ba03ed10e07926", + "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/types.ts": "20c060838327d8295337b742730e0b4e26967d31fbb20fdad71521010a4c603a", "https://deno.land/x/polkadot@0.2.45/util-crypto/secp256k1/verify.ts": "12bd802dad84b3e40d8826858b1d32cf5a3feefe38036475ae497453a80c9a6a", "https://deno.land/x/polkadot@0.2.45/util-crypto/sha/asU8a.ts": "638c7432cd580ca6d2a5a3d85ae989cf579e7b75dc7e6e6f4810eeb066dbb086", "https://deno.land/x/polkadot@0.2.45/util-crypto/sha/index.ts": "ea027f2fc72d4843b6f42837db5a172adfaaa86cad0a3c3fa0a4551a7bb7cc98", @@ -1147,6 +1323,7 @@ "https://deno.land/x/polkadot@0.2.45/util-crypto/sr25519/verify.ts": "d607f5713e93ebc731fd7643160bdde4cc59fb453f78d9c6d9194cd82505d78e", "https://deno.land/x/polkadot@0.2.45/util-crypto/sr25519/vrfSign.ts": "eadb29abb80cc1f18ca449b1ab1ecf39f37cce2e2fd3197f47fbecf4a4e72662", "https://deno.land/x/polkadot@0.2.45/util-crypto/sr25519/vrfVerify.ts": "fc00692f75c8c52e4f2ea11424529b38c5a955f732452a8ed42fc21f098d2e2f", + "https://deno.land/x/polkadot@0.2.45/util-crypto/types.ts": "33cf5addd7dae87051d7248b6fef022a6a190a15b0892a94a08969b75318a233", "https://deno.land/x/polkadot@0.2.45/util-crypto/xxhash/asU8a.ts": "bcba022d208f532001602f9de2c54d2132125eb9c1409350101404b26315213e", "https://deno.land/x/polkadot@0.2.45/util-crypto/xxhash/index.ts": "900b2072b5f2ff29bdd92ff9d37dd116d333435e662b3a880d0eb967887e387b", "https://deno.land/x/polkadot@0.2.45/util-crypto/xxhash/xxhash64.ts": "25b36ca2b4765e43f3f538cc475745534057b0b1d69e5e889f32f8af6f248332", @@ -1267,6 +1444,7 @@ "https://deno.land/x/polkadot@0.2.45/util/string/toHex.ts": "6a87397d7bb70959a6a30a68428060de76549bdc5a667574948a918c36e07111", "https://deno.land/x/polkadot@0.2.45/util/string/toU8a.ts": "a8f432ef19ef75b44c355160a3d1a4aac25b2fd5c888f6a68e0139625aa811d7", "https://deno.land/x/polkadot@0.2.45/util/stringify.ts": "9bc8fdd187218acc33d07a8738719ed80ac43e38d107ba93c486c3ef8c6e8d70", + "https://deno.land/x/polkadot@0.2.45/util/types.ts": "6485250b5b4087e4a73d6f8a53023a2e29b3ced7be346b11ef0e5c10262340ba", "https://deno.land/x/polkadot@0.2.45/util/u8a/cmp.ts": "ee1cae019f223d8b6af79d2791bcd89a8fd4ab92fe85babb00a9ebfa3b9c4d3c", "https://deno.land/x/polkadot@0.2.45/util/u8a/concat.ts": "b3fdf6869aff0734b9bf48b99dd6f32a278bfa684100b6663f45cf72f010f9e4", "https://deno.land/x/polkadot@0.2.45/util/u8a/empty.ts": "444df6b93b0d37be75db6e071fad66f43560f3be4cc55f30f387c227b8bde64b", @@ -1292,10 +1470,12 @@ "https://deno.land/x/polkadot@0.2.45/wasm-bridge/init.ts": "dffd85a994a2d6cfc05d196d46082d1c5cce14a9e7e1908cf68ab62e13187d96", "https://deno.land/x/polkadot@0.2.45/wasm-bridge/mod.ts": "08f40b536bbd1d5ec254e619f807e9d2fcfd0f10cfef3fb7a6302bfb7e19d56f", "https://deno.land/x/polkadot@0.2.45/wasm-bridge/packageInfo.ts": "5eda3c29940bf7312d54c85637c4216a040c0bc7d5fa3e4ccc06eba0c20f87e9", + "https://deno.land/x/polkadot@0.2.45/wasm-bridge/types.ts": "36ec76df24ee4c5f825ba4dad7fc7cc38da2408767b16eee463414b67394d0a8", "https://deno.land/x/polkadot@0.2.45/wasm-bridge/wbg.ts": "fb9385680462b246faadc82fd2004fa5a45796347da43b1ac5c46d288f3a127e", "https://deno.land/x/polkadot@0.2.45/wasm-crypto-asmjs/packageInfo.ts": "d1f4c170c9d83cdce3fbc77fed43ea11439933aee5b7deb8fa3c8015f47debd0", "https://deno.land/x/polkadot@0.2.45/wasm-crypto-init/mod.ts": "73e6c69373df728e1bf198f5e76a05df9d94eaf7a744f3fe987277172ca83174", "https://deno.land/x/polkadot@0.2.45/wasm-crypto-init/packageInfo.ts": "717356ba71f8fafb134e21bf7bac0f953098acccadb28face225d8765cc677aa", + "https://deno.land/x/polkadot@0.2.45/wasm-crypto-init/types.ts": "161e6e5ef75a964d4d69db568996abb45e910088c6c59afa8c99aaf4d9e846e5", "https://deno.land/x/polkadot@0.2.45/wasm-crypto-init/wasm.ts": "77874254fdaabd3c6eed3349b1cb540a0e6b80069fdf71cb6d024f5fbef312b7", "https://deno.land/x/polkadot@0.2.45/wasm-crypto-wasm/bundle.ts": "06d5c7941e0448ca908fec31ad7a796786a8653a0854cd5b8a5ad73954c16fa0", "https://deno.land/x/polkadot@0.2.45/wasm-crypto-wasm/deno/bytes.js": "5e369d7151d6a823446fc3bebf19cab59baa154550ff62f73f116378b3055502", @@ -1353,6 +1533,7 @@ "https://esm.sh/@noble/hashes@1.3.3/sha3.js": "13ea44fde83b394c9f1d74fdbb2cdabe8c57d857db5f8b50569e00cb4e2eb432", "https://esm.sh/@noble/hashes@1.3.3/sha512.js": "7794200dc6eba1a9c33a48181c3799d41030676fa3fbc6ee7d9a5099b2353648", "https://esm.sh/@scure/base@1.1.5": "916e253b1ed0201505202a27209f22d7500f114a303aecd1b76ebcc757df06e6", + "https://esm.sh/@substrate/connect@0.7.35": "e7cd8289d13db252d259dec84d7830e760c2e9bdd866d64b627e29d83438bcab", "https://esm.sh/@substrate/ss58-registry@1.44.0": "9b719fd8dd577a4c639d2e088e75076484854de40586909beeade78be0446923", "https://esm.sh/bn.js@5.2.1": "8aa766565fb9aa986208c983a4490ef7325ada28b7428581f4974c3748aad5a1", "https://esm.sh/eventemitter3@5.0.1": "3c840cbfc3eb853a148d532c8dbfa5753c8d388eb4d8019bdd70c40bf544229f", @@ -1379,10 +1560,18 @@ "https://esm.sh/v135/@noble/hashes@1.3.3/denonext/sha512.js": "2ae6d8a3bc654349f19c0cb8dc401c84774cefdcb8737252fac03fc3fe9fdee4", "https://esm.sh/v135/@noble/hashes@1.3.3/denonext/utils.js": "701831e12a7e656df467b62f929ac9536ababef1b9b7445c7f87512366ae3933", "https://esm.sh/v135/@scure/base@1.1.5/denonext/base.mjs": "442a66c701330f27adff8b2fa6067308ff9a82b8e178c8482882ff4aa7dfee82", + "https://esm.sh/v135/@substrate/connect-extension-protocol@1.0.1/denonext/connect-extension-protocol.mjs": "f27f8b0c3e2ab51cee186abbca01b6a396a2c2f46cb8a8e16f1130991e6ffc84", + "https://esm.sh/v135/@substrate/connect@0.7.35/denonext/connect.mjs": "0680bf832ce6ae7a696d60c54f4a5277aa3cf6a982e327c49f0a05968c3e75a5", + "https://esm.sh/v135/@substrate/connect@0.7.35/denonext/dist/mjs/connector/specs/js/ksmcc3.js": "cfb6a79831479a164b37a733321eb482a33708af847e04ca43e90a8b156324c5", + "https://esm.sh/v135/@substrate/connect@0.7.35/denonext/dist/mjs/connector/specs/js/polkadot.js": "049b2733b8d72588e100896d82caf744211302e8a65159d3d7df62a6e9dbc78d", + "https://esm.sh/v135/@substrate/connect@0.7.35/denonext/dist/mjs/connector/specs/js/rococo_v2_2.js": "83d627fe196ebf1105da4f140b9cdbc7e265756ff2ff08213370202a1d2b852a", + "https://esm.sh/v135/@substrate/connect@0.7.35/denonext/dist/mjs/connector/specs/js/westend2.js": "98dfdb36595c3f4ab8f7349c219a7a0507562945f227fe8c241190480fb6f707", "https://esm.sh/v135/@substrate/ss58-registry@1.44.0/denonext/ss58-registry.mjs": "777e8f0284e6b636999fba882234eaa9c4a7c46008d496146c1957783629867e", "https://esm.sh/v135/bn.js@5.2.1/denonext/bn.mjs": "7b05196c10ac134bef7c46d544930542f89584d4a6129ed84f7d77c3c2ef4086", "https://esm.sh/v135/eventemitter3@5.0.1/denonext/eventemitter3.mjs": "81b169548d63974972192fd0b12a75f5d6d0486a608e73bec09c484676c3f2ee", "https://esm.sh/v135/rxjs@7.8.1/denonext/rxjs.mjs": "5b7ef4f0e05f81c90bb2fdf37ac4c2c2f30680a8fe90aa6b716750dd901529ca", + "https://esm.sh/v135/smoldot@2.0.7/denonext/no-auto-bytecode.js": "91648c193032f558ded74e9ea7467ab8ce55801c6966e12ff62977dac0156eb9", + "https://esm.sh/v135/smoldot@2.0.7/denonext/smoldot.mjs": "52e4cb5db4b5c4722fae4a8edda2ff2077179303b898f0928664b0f416bbdca3", "https://esm.sh/v135/tslib@2.6.2/denonext/tslib.mjs": "29782bcd3139f77ec063dc5a9385c0fff4a8d0a23b6765c73d9edeb169a04bf1" } } diff --git a/deno/tests.ts b/deno/tests.ts index 0386aad..a5cde97 100644 --- a/deno/tests.ts +++ b/deno/tests.ts @@ -1,11 +1,30 @@ +import { + assert, + assertEquals, +} from "https://deno.land/std@0.224.0/assert/mod.ts"; +import { + ApiPromise, + Keyring, + WsProvider, +} from "https://deno.land/x/polkadot@0.2.45/api/mod.ts"; +import { API_EXTENSIONS, API_RPC, API_TYPES } from "./api_options.ts"; +import { ISubmittableResult } from "https://deno.land/x/polkadot@0.2.45/types/types/extrinsic.ts"; import { ethers } from "npm:ethers@5.4"; import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts"; -import { assertEquals } from "https://deno.land/std@0.224.0/assert/mod.ts"; import ABI from "./abi/availbridge.json" with { type: "json" }; +import { KeyringPair } from "https://deno.land/x/polkadot@0.2.45/keyring/types.ts"; -Deno.test("verifyBlobLeaf function should return expected result", async () => { - const env = await load(); +const env = await load(); + +Deno.test("Load environment variables", () => { + assert(env["AVAIL_RPC"], "AVAIL_RPC should be defined"); + assert(env["SURI"], "SURI should be defined"); + assert(env["DA_BRIDGE_ADDRESS"], "DA_BRIDGE_ADDRESS should be defined"); + assert(env["BRIDGE_API_URL"], "BRIDGE_API_URL should be defined"); + assert(env["ETH_PROVIDER_URL"], "ETH_PROVIDER_URL should be defined"); +}); +Deno.test("verifyBlobLeaf function should return expected result", async () => { const BRIDGE_ADDRESS = env["DA_BRIDGE_ADDRESS"]; const ETH_PROVIDER_URL = env["ETH_PROVIDER_URL"]; const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); From 76fdb9bb09f40bf07c7f4ae14fcbdbf70526e229 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 14:14:51 +0200 Subject: [PATCH 02/15] Abstract functions --- deno/helpers.ts | 20 ++++++++++++++++++++ deno/validium.ts | 18 +++++------------- 2 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 deno/helpers.ts diff --git a/deno/helpers.ts b/deno/helpers.ts new file mode 100644 index 0000000..f646b23 --- /dev/null +++ b/deno/helpers.ts @@ -0,0 +1,20 @@ +import { + ApiPromise, + Keyring, + WsProvider, +} from "https://deno.land/x/polkadot@0.2.45/api/mod.ts"; +import { API_EXTENSIONS, API_RPC, API_TYPES } from "./api_options.ts"; +import { KeyringPair } from "https://deno.land/x/polkadot@0.2.45/keyring/types.ts"; + +export function initializeAvailApi(availRpc: string): Promise { + return ApiPromise.create({ + provider: new WsProvider(availRpc), + rpc: API_RPC, + types: API_TYPES, + signedExtensions: API_EXTENSIONS, + }); +} + +export function createAccount(suri: string): KeyringPair { + return new Keyring({ type: "sr25519" }).addFromUri(suri); +} diff --git a/deno/validium.ts b/deno/validium.ts index 663a4a5..f2f5c82 100644 --- a/deno/validium.ts +++ b/deno/validium.ts @@ -1,14 +1,10 @@ -import { - ApiPromise, - Keyring, - WsProvider, -} from "https://deno.land/x/polkadot@0.2.45/api/mod.ts"; -import { API_EXTENSIONS, API_RPC, API_TYPES } from "./api_options.ts"; +import { ApiPromise } from "https://deno.land/x/polkadot@0.2.45/api/mod.ts"; import { ISubmittableResult } from "https://deno.land/x/polkadot@0.2.45/types/types/extrinsic.ts"; import { ethers } from "npm:ethers@5.4"; import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts"; import ABI from "./abi/availbridge.json" with { type: "json" }; import { KeyringPair } from "https://deno.land/x/polkadot@0.2.45/keyring/types.ts"; +import { createAccount, initializeAvailApi } from "./helpers.ts"; const env = await load(); @@ -18,13 +14,9 @@ const BRIDGE_ADDRESS = env["DA_BRIDGE_ADDRESS"]; // deployed bridge address const DATA = "a"; // data to send const BRIDGE_API_URL = env["BRIDGE_API_URL"]; // bridge api url const ETH_PROVIDER_URL = env["ETH_PROVIDER_URL"]; // eth provider url -const availApi = await ApiPromise.create({ - provider: new WsProvider(AVAIL_RPC), - rpc: API_RPC, - types: API_TYPES, - signedExtensions: API_EXTENSIONS, -}); -const account = new Keyring({ type: "sr25519" }).addFromUri(SURI); + +const availApi = await initializeAvailApi(AVAIL_RPC); +const account = createAccount(SURI); /** * ProofData represents a response from the api that holds proof for From 1ed291ca60961e50a3339e0de819ef125a38324a Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 14:17:54 +0200 Subject: [PATCH 03/15] Abstract submitDataAndVerify --- deno/validium.ts | 135 +++++++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 64 deletions(-) diff --git a/deno/validium.ts b/deno/validium.ts index f2f5c82..c175294 100644 --- a/deno/validium.ts +++ b/deno/validium.ts @@ -15,9 +15,6 @@ const DATA = "a"; // data to send const BRIDGE_API_URL = env["BRIDGE_API_URL"]; // bridge api url const ETH_PROVIDER_URL = env["ETH_PROVIDER_URL"]; // eth provider url -const availApi = await initializeAvailApi(AVAIL_RPC); -const account = createAccount(SURI); - /** * ProofData represents a response from the api that holds proof for * the blob verification. @@ -80,72 +77,82 @@ function submitData( }); } -const result: SubmitDataResult = await submitData(availApi, DATA, account); -if (result.isFinalized) { - console.log( - `DA transaction in finalized block: ${result.blockNumber}, transaction index: ${result.txIndex}`, - ); - console.log(`result submitData = ${JSON.stringify(result)}`); -} - -// wait until the chain head on the Ethereum network is updated with the block range -// in which the Avail DA transaction is included. -while (true) { - const getHeadRsp = await fetch(BRIDGE_API_URL + "/avl/head"); - if (getHeadRsp.status != 200) { - console.log("Something went wrong fetching the head."); - console.log("Status:", getHeadRsp.status); - console.log("Status Text:", getHeadRsp.statusText); - console.log("Headers:", Array.from(getHeadRsp.headers.entries())); - const responseBody = await getHeadRsp.text(); - console.log("Response Body:", responseBody); - break; +export async function submitDataAndVerify() { + const availApi = await initializeAvailApi(AVAIL_RPC); + const account = createAccount(SURI); + const result: SubmitDataResult = await submitData(availApi, DATA, account); + if (result.isFinalized) { + console.log( + `DA transaction in finalized block: ${result.blockNumber}, transaction index: ${result.txIndex}`, + ); + console.log(`result submitData = ${JSON.stringify(result)}`); } - const headRsp = await getHeadRsp.json(); - const blockNumber: number = Number(result.blockNumber); - const lastCommittedBlock: number = headRsp.data.end; - console.log( - `lastCommittedBlock = ${lastCommittedBlock}, blockNumber = ${blockNumber} => ${ - blockNumber - lastCommittedBlock - } blocks left`, - ); - if (lastCommittedBlock >= blockNumber) { - console.log("Fetching the blob proof."); - const proofResponse = await fetch( - BRIDGE_API_URL + "/eth/proof/" + result.status.asFinalized + "?index=" + - result.txIndex, + + // wait until the chain head on the Ethereum network is updated with the block range + // in which the Avail DA transaction is included. + while (true) { + const getHeadRsp = await fetch(BRIDGE_API_URL + "/avl/head"); + if (getHeadRsp.status != 200) { + console.log("Something went wrong fetching the head."); + console.log("Status:", getHeadRsp.status); + console.log("Status Text:", getHeadRsp.statusText); + console.log("Headers:", Array.from(getHeadRsp.headers.entries())); + const responseBody = await getHeadRsp.text(); + console.log("Response Body:", responseBody); + break; + } + const headRsp = await getHeadRsp.json(); + const blockNumber: number = Number(result.blockNumber); + const lastCommittedBlock: number = headRsp.data.end; + console.log( + `lastCommittedBlock = ${lastCommittedBlock}, blockNumber = ${blockNumber} => ${ + blockNumber - lastCommittedBlock + } blocks left`, ); - console.log(proofResponse.url); - if (proofResponse.status != 200) { - console.log("Something went wrong fetching the proof."); - console.log(proofResponse); + if (lastCommittedBlock >= blockNumber) { + console.log("Fetching the blob proof."); + const proofResponse = await fetch( + BRIDGE_API_URL + "/eth/proof/" + result.status.asFinalized + "?index=" + + result.txIndex, + ); + console.log(proofResponse.url); + if (proofResponse.status != 200) { + console.log("Something went wrong fetching the proof."); + console.log(proofResponse); + break; + } + const proof: ProofData = await proofResponse.json(); + console.log("Proof fetched:"); + console.log(proof); + // call the deployed contract verification function with the inclusion proof. + const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); + const contractInstance = new ethers.Contract( + BRIDGE_ADDRESS, + ABI, + provider, + ); + const isVerified = await contractInstance.verifyBlobLeaf([ + proof.dataRootProof, + proof.leafProof, + proof.rangeHash, + proof.dataRootIndex, + proof.blobRoot, + proof.bridgeRoot, + proof.leaf, + proof.leafIndex, + ]); + console.log(`Blob validation is: ${isVerified}`); break; } - const proof: ProofData = await proofResponse.json(); - console.log("Proof fetched:"); - console.log(proof); - // call the deployed contract verification function with the inclusion proof. - const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); - const contractInstance = new ethers.Contract(BRIDGE_ADDRESS, ABI, provider); - const isVerified = await contractInstance.verifyBlobLeaf([ - proof.dataRootProof, - proof.leafProof, - proof.rangeHash, - proof.dataRootIndex, - proof.blobRoot, - proof.bridgeRoot, - proof.leaf, - proof.leafIndex, - ]); - console.log(`Blob validation is: ${isVerified}`); - break; + + console.log( + "Waiting to bridge inclusion commitment. This can take a while...", + ); + // wait for 1 minute to check again + await new Promise((f) => setTimeout(f, 60 * 1000)); } - console.log( - "Waiting to bridge inclusion commitment. This can take a while...", - ); - // wait for 1 minute to check again - await new Promise((f) => setTimeout(f, 60 * 1000)); + Deno.exit(0); } -Deno.exit(0); +submitDataAndVerify(); From d901ca519fae85d8487e75ff3ef2ebfcc07d07aa Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 14:31:32 +0200 Subject: [PATCH 04/15] Abstract proof verification --- deno/validium.ts | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/deno/validium.ts b/deno/validium.ts index c175294..83d13c4 100644 --- a/deno/validium.ts +++ b/deno/validium.ts @@ -77,17 +77,7 @@ function submitData( }); } -export async function submitDataAndVerify() { - const availApi = await initializeAvailApi(AVAIL_RPC); - const account = createAccount(SURI); - const result: SubmitDataResult = await submitData(availApi, DATA, account); - if (result.isFinalized) { - console.log( - `DA transaction in finalized block: ${result.blockNumber}, transaction index: ${result.txIndex}`, - ); - console.log(`result submitData = ${JSON.stringify(result)}`); - } - +export async function proofAndVerify(result: SubmitDataResult) { // wait until the chain head on the Ethereum network is updated with the block range // in which the Avail DA transaction is included. while (true) { @@ -151,7 +141,19 @@ export async function submitDataAndVerify() { // wait for 1 minute to check again await new Promise((f) => setTimeout(f, 60 * 1000)); } +} +export async function submitDataAndVerify() { + const availApi = await initializeAvailApi(AVAIL_RPC); + const account = createAccount(SURI); + const result: SubmitDataResult = await submitData(availApi, DATA, account); + if (result.isFinalized) { + console.log( + `DA transaction in finalized block: ${result.blockNumber}, transaction index: ${result.txIndex}`, + ); + console.log(`result submitData = ${JSON.stringify(result)}`); + } + await proofAndVerify(result); Deno.exit(0); } From 3e351d76fcfdca6611cc01ea7d9e1e8ab1a3270b Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 14:57:34 +0200 Subject: [PATCH 05/15] Finish abstraction --- deno/validium.ts | 117 ++++++++++++++++++++++++++--------------------- 1 file changed, 66 insertions(+), 51 deletions(-) diff --git a/deno/validium.ts b/deno/validium.ts index 83d13c4..eda23e4 100644 --- a/deno/validium.ts +++ b/deno/validium.ts @@ -77,64 +77,79 @@ function submitData( }); } +export async function getLastCommittedBlock( + result: SubmitDataResult, +): Promise { + const getHeadRsp = await fetch(BRIDGE_API_URL + "/avl/head"); + if (getHeadRsp.status != 200) { + console.log("Something went wrong fetching the head."); + console.log("Status:", getHeadRsp.status); + console.log("Status Text:", getHeadRsp.statusText); + console.log("Headers:", Array.from(getHeadRsp.headers.entries())); + const responseBody = await getHeadRsp.text(); + console.log("Response Body:", responseBody); + Deno.exit(0); + } + const headRsp = await getHeadRsp.json(); + const blockNumber: number = Number(result.blockNumber); + const lastCommittedBlock: number = headRsp.data.end; + console.log( + `lastCommittedBlock = ${lastCommittedBlock}, blockNumber = ${blockNumber} => ${ + blockNumber - lastCommittedBlock + } blocks left`, + ); + return lastCommittedBlock; +} + +export async function getProof(result: SubmitDataResult): Promise { + console.log("Fetching the blob proof."); + const proofResponse = await fetch( + BRIDGE_API_URL + "/eth/proof/" + result.status.asFinalized + "?index=" + + result.txIndex, + ); + console.log(proofResponse.url); + if (proofResponse.status != 200) { + console.log("Something went wrong fetching the proof."); + console.log(proofResponse); + Deno.exit(0); + } + const proof: ProofData = await proofResponse.json(); + console.log("Proof fetched:"); + console.log(proof); + return proof; +} + +export async function verifyProof(proof: ProofData) { + // call the deployed contract verification function with the inclusion proof. + const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); + const contractInstance = new ethers.Contract( + BRIDGE_ADDRESS, + ABI, + provider, + ); + const isVerified = await contractInstance.verifyBlobLeaf([ + proof.dataRootProof, + proof.leafProof, + proof.rangeHash, + proof.dataRootIndex, + proof.blobRoot, + proof.bridgeRoot, + proof.leaf, + proof.leafIndex, + ]); + console.log(`Blob validation is: ${isVerified}`); +} + export async function proofAndVerify(result: SubmitDataResult) { // wait until the chain head on the Ethereum network is updated with the block range // in which the Avail DA transaction is included. while (true) { - const getHeadRsp = await fetch(BRIDGE_API_URL + "/avl/head"); - if (getHeadRsp.status != 200) { - console.log("Something went wrong fetching the head."); - console.log("Status:", getHeadRsp.status); - console.log("Status Text:", getHeadRsp.statusText); - console.log("Headers:", Array.from(getHeadRsp.headers.entries())); - const responseBody = await getHeadRsp.text(); - console.log("Response Body:", responseBody); - break; - } - const headRsp = await getHeadRsp.json(); const blockNumber: number = Number(result.blockNumber); - const lastCommittedBlock: number = headRsp.data.end; - console.log( - `lastCommittedBlock = ${lastCommittedBlock}, blockNumber = ${blockNumber} => ${ - blockNumber - lastCommittedBlock - } blocks left`, - ); + const lastCommittedBlock: number = await getLastCommittedBlock(result); if (lastCommittedBlock >= blockNumber) { - console.log("Fetching the blob proof."); - const proofResponse = await fetch( - BRIDGE_API_URL + "/eth/proof/" + result.status.asFinalized + "?index=" + - result.txIndex, - ); - console.log(proofResponse.url); - if (proofResponse.status != 200) { - console.log("Something went wrong fetching the proof."); - console.log(proofResponse); - break; - } - const proof: ProofData = await proofResponse.json(); - console.log("Proof fetched:"); - console.log(proof); - // call the deployed contract verification function with the inclusion proof. - const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); - const contractInstance = new ethers.Contract( - BRIDGE_ADDRESS, - ABI, - provider, - ); - const isVerified = await contractInstance.verifyBlobLeaf([ - proof.dataRootProof, - proof.leafProof, - proof.rangeHash, - proof.dataRootIndex, - proof.blobRoot, - proof.bridgeRoot, - proof.leaf, - proof.leafIndex, - ]); - console.log(`Blob validation is: ${isVerified}`); - break; + const proof = await getProof(result); + await verifyProof(proof); } - console.log( "Waiting to bridge inclusion commitment. This can take a while...", ); From faf5048f8d3c3fa2be91857f08363d8c1ffdc1c2 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 15:02:54 +0200 Subject: [PATCH 06/15] Remove unused imports --- deno/tests.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/deno/tests.ts b/deno/tests.ts index a5cde97..d64fe7b 100644 --- a/deno/tests.ts +++ b/deno/tests.ts @@ -2,17 +2,9 @@ import { assert, assertEquals, } from "https://deno.land/std@0.224.0/assert/mod.ts"; -import { - ApiPromise, - Keyring, - WsProvider, -} from "https://deno.land/x/polkadot@0.2.45/api/mod.ts"; -import { API_EXTENSIONS, API_RPC, API_TYPES } from "./api_options.ts"; -import { ISubmittableResult } from "https://deno.land/x/polkadot@0.2.45/types/types/extrinsic.ts"; import { ethers } from "npm:ethers@5.4"; import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts"; import ABI from "./abi/availbridge.json" with { type: "json" }; -import { KeyringPair } from "https://deno.land/x/polkadot@0.2.45/keyring/types.ts"; const env = await load(); From b976d9db2ba2d8b029928ede5404e9bcadfebc15 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 15:15:12 +0200 Subject: [PATCH 07/15] Fix github workflow env --- .github/workflows/deno_testing.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deno_testing.yml b/.github/workflows/deno_testing.yml index 4840597..3d5655a 100644 --- a/.github/workflows/deno_testing.yml +++ b/.github/workflows/deno_testing.yml @@ -21,8 +21,11 @@ jobs: - name: Set up .env run: | cd deno - echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" > .env + echo "AVAIL_RPC=${{ secrets.AVAIL_RPC }}" >> .env + echo "SURI=${{ secrets.SURI }}" > .env echo "DA_BRIDGE_ADDRESS=${{ secrets.DA_BRIDGE_ADDRESS }}" >> .env + echo "BRIDGE_API_URL=${{ secrets.BRIDGE_API_URL }}" >> .env + echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" > .env shell: bash - name: Run tests run: | From 8df209cac5f0bb451945300dd1c05dc96d7c9ef7 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 15:20:36 +0200 Subject: [PATCH 08/15] Add submitDataAndVerify test --- deno/tests.ts | 5 +++++ deno/validium.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/deno/tests.ts b/deno/tests.ts index d64fe7b..f592a80 100644 --- a/deno/tests.ts +++ b/deno/tests.ts @@ -5,6 +5,7 @@ import { import { ethers } from "npm:ethers@5.4"; import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts"; import ABI from "./abi/availbridge.json" with { type: "json" }; +import { submitDataAndVerify } from "./validium.ts"; const env = await load(); @@ -69,3 +70,7 @@ Deno.test("verifyBlobLeaf function should return expected result", async () => { const expectedValue = true; assertEquals(isVerified, expectedValue); }); + +Deno.test("submitDataAndVerify", async () => { + await submitDataAndVerify(); +}); diff --git a/deno/validium.ts b/deno/validium.ts index eda23e4..52ecd8f 100644 --- a/deno/validium.ts +++ b/deno/validium.ts @@ -51,7 +51,7 @@ interface SubmitDataResult extends ISubmittableResult { * @param account that is sending transaction * @returns {Promise} */ -function submitData( +export function submitData( availApi: ApiPromise, data: string, account: KeyringPair, From 016568bb1122e1c9d4456ff4b5ff0cbd1b06f7d4 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 15:55:16 +0200 Subject: [PATCH 09/15] Test verifyProof --- deno/deno.json | 2 +- deno/main.ts | 3 +++ deno/tests.ts | 39 +++++++++++++++------------------------ deno/validium.ts | 10 ++++------ 4 files changed, 23 insertions(+), 31 deletions(-) create mode 100644 deno/main.ts diff --git a/deno/deno.json b/deno/deno.json index 3c0300a..a6f4d2b 100644 --- a/deno/deno.json +++ b/deno/deno.json @@ -1,6 +1,6 @@ { "tasks": { - "validium": "deno run --allow-read --allow-net --allow-env validium.ts", + "validium": "deno run --allow-read --allow-net --allow-env main.ts", "test": "deno test --allow-net --allow-read --allow-env tests.ts" } } diff --git a/deno/main.ts b/deno/main.ts new file mode 100644 index 0000000..7e6c6d5 --- /dev/null +++ b/deno/main.ts @@ -0,0 +1,3 @@ +import { submitDataAndVerify } from "./validium.ts"; + +await submitDataAndVerify(); diff --git a/deno/tests.ts b/deno/tests.ts index f592a80..32b048d 100644 --- a/deno/tests.ts +++ b/deno/tests.ts @@ -2,10 +2,8 @@ import { assert, assertEquals, } from "https://deno.land/std@0.224.0/assert/mod.ts"; -import { ethers } from "npm:ethers@5.4"; import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts"; -import ABI from "./abi/availbridge.json" with { type: "json" }; -import { submitDataAndVerify } from "./validium.ts"; +import { ProofData, submitDataAndVerify, verifyProof } from "./validium.ts"; const env = await load(); @@ -18,11 +16,6 @@ Deno.test("Load environment variables", () => { }); Deno.test("verifyBlobLeaf function should return expected result", async () => { - const BRIDGE_ADDRESS = env["DA_BRIDGE_ADDRESS"]; - const ETH_PROVIDER_URL = env["ETH_PROVIDER_URL"]; - const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); - const contractInstance = new ethers.Contract(BRIDGE_ADDRESS, ABI, provider); - const proof = { blobRoot: "0xe882a0dd840cc7b99d5f9ff05216be547c7b7d84a61d474353c4d9cb90cb2cdd", @@ -54,23 +47,21 @@ Deno.test("verifyBlobLeaf function should return expected result", async () => { "0xfbab0eb809f03a99ee5dcca7f4131b6b8a8b56eccbee8f439cd33145d2d14e1d", }; - const isVerified = await contractInstance.verifyBlobLeaf([ - proof.dataRootProof, - proof.leafProof, - proof.rangeHash, - proof.dataRootIndex, - proof.blobRoot, - proof.bridgeRoot, - proof.leaf, - proof.leafIndex, - ]); - - console.log(`Blob validation is: ${isVerified}`); - + const proofData: ProofData = { + dataRootProof: proof.dataRootProof, + leafProof: proof.leafProof, + rangeHash: proof.rangeHash, + dataRootIndex: proof.dataRootIndex, + blobRoot: proof.blobRoot, + bridgeRoot: proof.bridgeRoot, + leaf: proof.leaf, + leafIndex: proof.leafIndex, + }; + const isVerified = await verifyProof(proofData); const expectedValue = true; assertEquals(isVerified, expectedValue); }); -Deno.test("submitDataAndVerify", async () => { - await submitDataAndVerify(); -}); +// Deno.test("submitDataAndVerify", async () => { +// await submitDataAndVerify(); +// }); diff --git a/deno/validium.ts b/deno/validium.ts index 52ecd8f..36c587e 100644 --- a/deno/validium.ts +++ b/deno/validium.ts @@ -19,12 +19,11 @@ const ETH_PROVIDER_URL = env["ETH_PROVIDER_URL"]; // eth provider url * ProofData represents a response from the api that holds proof for * the blob verification. */ -// deno-lint-ignore no-unused-vars -class ProofData { +export class ProofData { // proof of inclusion for the data root dataRootProof: Array | undefined; // proof of inclusion of leaf within blob/bridge root - leafProof: string | undefined; + leafProof: Array | undefined; // abi.encodePacked(startBlock, endBlock) of header range commitment on VectorX rangeHash: string | undefined; // index of the data root in the commitment tree @@ -119,7 +118,7 @@ export async function getProof(result: SubmitDataResult): Promise { return proof; } -export async function verifyProof(proof: ProofData) { +export async function verifyProof(proof: ProofData): Promise { // call the deployed contract verification function with the inclusion proof. const provider = new ethers.providers.JsonRpcProvider(ETH_PROVIDER_URL); const contractInstance = new ethers.Contract( @@ -138,6 +137,7 @@ export async function verifyProof(proof: ProofData) { proof.leafIndex, ]); console.log(`Blob validation is: ${isVerified}`); + return isVerified; } export async function proofAndVerify(result: SubmitDataResult) { @@ -171,5 +171,3 @@ export async function submitDataAndVerify() { await proofAndVerify(result); Deno.exit(0); } - -submitDataAndVerify(); From 69b5f9280c7e4692a461450788f4394383d815ea Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 16:06:12 +0200 Subject: [PATCH 10/15] Print env --- .github/workflows/deno_testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deno_testing.yml b/.github/workflows/deno_testing.yml index 3d5655a..32105b7 100644 --- a/.github/workflows/deno_testing.yml +++ b/.github/workflows/deno_testing.yml @@ -22,10 +22,10 @@ jobs: run: | cd deno echo "AVAIL_RPC=${{ secrets.AVAIL_RPC }}" >> .env - echo "SURI=${{ secrets.SURI }}" > .env echo "DA_BRIDGE_ADDRESS=${{ secrets.DA_BRIDGE_ADDRESS }}" >> .env echo "BRIDGE_API_URL=${{ secrets.BRIDGE_API_URL }}" >> .env echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" > .env + cat .env shell: bash - name: Run tests run: | From 112070b8677cecd78fce5391d37909c18da103b8 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 16:07:38 +0200 Subject: [PATCH 11/15] Fix env CI --- .github/workflows/deno_testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deno_testing.yml b/.github/workflows/deno_testing.yml index 32105b7..fcb293d 100644 --- a/.github/workflows/deno_testing.yml +++ b/.github/workflows/deno_testing.yml @@ -24,7 +24,7 @@ jobs: echo "AVAIL_RPC=${{ secrets.AVAIL_RPC }}" >> .env echo "DA_BRIDGE_ADDRESS=${{ secrets.DA_BRIDGE_ADDRESS }}" >> .env echo "BRIDGE_API_URL=${{ secrets.BRIDGE_API_URL }}" >> .env - echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" > .env + echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" >> .env cat .env shell: bash - name: Run tests From 8dd5aa0d3dc2a6c41f4fc85a12352441ecfdcf0c Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 16:09:27 +0200 Subject: [PATCH 12/15] Add SURI and remove print --- .github/workflows/deno_testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deno_testing.yml b/.github/workflows/deno_testing.yml index fcb293d..b6cea80 100644 --- a/.github/workflows/deno_testing.yml +++ b/.github/workflows/deno_testing.yml @@ -22,10 +22,10 @@ jobs: run: | cd deno echo "AVAIL_RPC=${{ secrets.AVAIL_RPC }}" >> .env + echo "SURI=${{ secrets.SURI }}" > .env echo "DA_BRIDGE_ADDRESS=${{ secrets.DA_BRIDGE_ADDRESS }}" >> .env echo "BRIDGE_API_URL=${{ secrets.BRIDGE_API_URL }}" >> .env echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" >> .env - cat .env shell: bash - name: Run tests run: | From 70b6b9be9a12d46ef3413225608631f327f5f712 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 16:16:41 +0200 Subject: [PATCH 13/15] Print env --- .github/workflows/deno_testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deno_testing.yml b/.github/workflows/deno_testing.yml index b6cea80..fcb293d 100644 --- a/.github/workflows/deno_testing.yml +++ b/.github/workflows/deno_testing.yml @@ -22,10 +22,10 @@ jobs: run: | cd deno echo "AVAIL_RPC=${{ secrets.AVAIL_RPC }}" >> .env - echo "SURI=${{ secrets.SURI }}" > .env echo "DA_BRIDGE_ADDRESS=${{ secrets.DA_BRIDGE_ADDRESS }}" >> .env echo "BRIDGE_API_URL=${{ secrets.BRIDGE_API_URL }}" >> .env echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" >> .env + cat .env shell: bash - name: Run tests run: | From 3f5cb5459a6b09fc7a32a0cd32abdaaa42039f14 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 16:17:27 +0200 Subject: [PATCH 14/15] Fix CI --- .github/workflows/deno_testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deno_testing.yml b/.github/workflows/deno_testing.yml index fcb293d..fed4296 100644 --- a/.github/workflows/deno_testing.yml +++ b/.github/workflows/deno_testing.yml @@ -22,10 +22,10 @@ jobs: run: | cd deno echo "AVAIL_RPC=${{ secrets.AVAIL_RPC }}" >> .env + echo "SURI=${{ secrets.SURI }}" >> .env echo "DA_BRIDGE_ADDRESS=${{ secrets.DA_BRIDGE_ADDRESS }}" >> .env echo "BRIDGE_API_URL=${{ secrets.BRIDGE_API_URL }}" >> .env echo "ETH_PROVIDER_URL=${{ secrets.ETH_PROVIDER_URL }}" >> .env - cat .env shell: bash - name: Run tests run: | From 97d2d0c812c3abdc888152580fb6da02b285a519 Mon Sep 17 00:00:00 2001 From: Jordi Date: Fri, 31 May 2024 17:14:02 +0200 Subject: [PATCH 15/15] Test submitDataAndVerify with new SURI --- deno/tests.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deno/tests.ts b/deno/tests.ts index 32b048d..1929181 100644 --- a/deno/tests.ts +++ b/deno/tests.ts @@ -62,6 +62,6 @@ Deno.test("verifyBlobLeaf function should return expected result", async () => { assertEquals(isVerified, expectedValue); }); -// Deno.test("submitDataAndVerify", async () => { -// await submitDataAndVerify(); -// }); +Deno.test("submitDataAndVerify", async () => { + await submitDataAndVerify(); +});