{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":156708951,"defaultBranch":"master","name":"frontier","ownerLogin":"polkadot-evm","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-11-08T13:10:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/147904761?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716393102.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"85dc1e095b768bfe921025deda13e8d1edae6d0f","ref":"refs/heads/update-polkadot-v1.12","pushedAt":"2024-05-22T15:51:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"deps: update substrate to polkadot-v1.12.0","shortMessageHtmlLink":"deps: update substrate to polkadot-v1.12.0"}},{"before":null,"after":"d667b171021386ade42adb707f4fd687336179b2","ref":"refs/heads/dependabot/cargo/num-0.4.3","pushedAt":"2024-05-21T04:14:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"---\nupdated-dependencies:\n- dependency-name: num\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"---"}},{"before":null,"after":"c1c0ec2fb6871849c9e59b695118c6f10e0708f3","ref":"refs/heads/dependabot/cargo/serde-1.0.202","pushedAt":"2024-05-21T04:14:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"---\nupdated-dependencies:\n- dependency-name: serde\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"---"}},{"before":null,"after":"03b6e9f4e62d43b1e8009d1272a5f8d723c3755f","ref":"refs/heads/dependabot/cargo/scale-info-2.11.3","pushedAt":"2024-05-21T04:13:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"---\nupdated-dependencies:\n- dependency-name: scale-info\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"---"}},{"before":null,"after":"76bedff1f829d3d41c38b6837ac3e43c1546ba08","ref":"refs/heads/dependabot/cargo/schnellru-0.2.3","pushedAt":"2024-05-21T04:13:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"---\nupdated-dependencies:\n- dependency-name: schnellru\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"---"}},{"before":"6302346fd6b886c6d7532e03a33e0e0076a71e7c","after":null,"ref":"refs/heads/sp-polkadot-v1.0.0","pushedAt":"2024-05-21T02:36:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":"7b7a4c302158d6e11e212c419664fe3b82c9d329","after":null,"ref":"refs/heads/sp-polkadot-v0.9.25","pushedAt":"2024-05-21T02:36:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":null,"after":"5779b59043ae018d07d84f4e8e0c49087f804d3a","ref":"refs/heads/polkadot-v1.11.0","pushedAt":"2024-05-21T02:35:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"build(deps): bump thiserror from 1.0.59 to 1.0.61 (#1432)\n\nBumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.61.\r\n- [Release notes](https://github.com/dtolnay/thiserror/releases)\r\n- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.61)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: thiserror\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump thiserror from 1.0.59 to 1.0.61 (#1432)"}},{"before":null,"after":"6b68b4321e0065adb2c1f1a41e4961e506493763","ref":"refs/heads/polkadot-v1.10.1","pushedAt":"2024-05-21T02:35:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"deps: update substrate to polkadot-v1.10.1 (#1398)\n\n* deps: update substrate to polkadot-v1.10.1\r\n\r\n* add MaxEncodedLen to EthereumSignature type\r\n\r\n* update num crates\r\n\r\n* fix fmt","shortMessageHtmlLink":"deps: update substrate to polkadot-v1.10.1 (#1398)"}},{"before":"93e2f1c05a8280b3083084704ebe8c574700b751","after":null,"ref":"refs/heads/dependabot/cargo/thiserror-1.0.61","pushedAt":"2024-05-20T11:07:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":"20a9af4d293bf3b07d3f29748620c752fcf2057f","after":"5779b59043ae018d07d84f4e8e0c49087f804d3a","ref":"refs/heads/master","pushedAt":"2024-05-20T11:07:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"build(deps): bump thiserror from 1.0.59 to 1.0.61 (#1432)\n\nBumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.61.\r\n- [Release notes](https://github.com/dtolnay/thiserror/releases)\r\n- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.61)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: thiserror\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump thiserror from 1.0.59 to 1.0.61 (#1432)"}},{"before":"f0158db458842a02663f5366e9c33886d0ef5796","after":null,"ref":"refs/heads/dependabot/cargo/proc-macro2-1.0.83","pushedAt":"2024-05-20T10:53:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":"f4d0d0fb0812dc78ecc2b75bc59de96a13d7d51b","after":"20a9af4d293bf3b07d3f29748620c752fcf2057f","ref":"refs/heads/master","pushedAt":"2024-05-20T10:53:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"build(deps): bump proc-macro2 from 1.0.81 to 1.0.83 (#1431)\n\nBumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.81 to 1.0.83.\r\n- [Release notes](https://github.com/dtolnay/proc-macro2/releases)\r\n- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.83)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: proc-macro2\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump proc-macro2 from 1.0.81 to 1.0.83 (#1431)"}},{"before":"f78c2b582902dd834bbeab6cb7f9877ac7617211","after":null,"ref":"refs/heads/dependabot/cargo/serde_json-1.0.117","pushedAt":"2024-05-20T10:52:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":"00946b18eff669c3c388185ec04f8894e98b0a66","after":"f4d0d0fb0812dc78ecc2b75bc59de96a13d7d51b","ref":"refs/heads/master","pushedAt":"2024-05-20T10:52:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"build(deps): bump serde_json from 1.0.116 to 1.0.117 (#1420)\n\nBumps [serde_json](https://github.com/serde-rs/json) from 1.0.116 to 1.0.117.\r\n- [Release notes](https://github.com/serde-rs/json/releases)\r\n- [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: serde_json\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump serde_json from 1.0.116 to 1.0.117 (#1420)"}},{"before":"1dfd93b7afb5bbbe7fcd7ab6c92486f3db07a77d","after":null,"ref":"refs/heads/dependabot/cargo/trybuild-1.0.96","pushedAt":"2024-05-20T10:52:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":"604e98764181f418b0624e1027022ca566693ec5","after":"00946b18eff669c3c388185ec04f8894e98b0a66","ref":"refs/heads/master","pushedAt":"2024-05-20T10:52:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"build(deps): bump trybuild from 1.0.93 to 1.0.96 (#1428)\n\nBumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.93 to 1.0.96.\r\n- [Release notes](https://github.com/dtolnay/trybuild/releases)\r\n- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.93...1.0.96)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: trybuild\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump trybuild from 1.0.93 to 1.0.96 (#1428)"}},{"before":"faca3b03681f9241664bf250a7006ba06ceda549","after":null,"ref":"refs/heads/dependabot/cargo/prettyplease-0.2.20","pushedAt":"2024-05-20T10:51:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"}},{"before":"b2b00833c0d4dd3a27a330fa713ac7753558bd87","after":"604e98764181f418b0624e1027022ca566693ec5","ref":"refs/heads/master","pushedAt":"2024-05-20T10:51:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"build(deps): bump prettyplease from 0.2.19 to 0.2.20 (#1419)\n\nBumps [prettyplease](https://github.com/dtolnay/prettyplease) from 0.2.19 to 0.2.20.\r\n- [Release notes](https://github.com/dtolnay/prettyplease/releases)\r\n- [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.19...0.2.20)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: prettyplease\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump prettyplease from 0.2.19 to 0.2.20 (#1419)"}},{"before":"4649423f87c7047400a39a486be4923514cc25db","after":"93e2f1c05a8280b3083084704ebe8c574700b751","ref":"refs/heads/dependabot/cargo/thiserror-1.0.61","pushedAt":"2024-05-20T10:24:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump thiserror from 1.0.59 to 1.0.61\n\nBumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.61.\n- [Release notes](https://github.com/dtolnay/thiserror/releases)\n- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.61)\n\n---\nupdated-dependencies:\n- dependency-name: thiserror\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump thiserror from 1.0.59 to 1.0.61"}},{"before":"6250ae78cb18c76a9dc2b4a9120ad7efe418dccd","after":"b2b00833c0d4dd3a27a330fa713ac7753558bd87","ref":"refs/heads/master","pushedAt":"2024-05-20T10:22:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"deps: update substrate to release-polkadot-v1.11.0 (#1430)\n\n* runtime part\r\n\r\n* client changes\r\n\r\n* allow unsafe node key generation\r\n\r\n* fmt cargo\r\n\r\n* prettier\r\n\r\n* remove unused dep\r\n\r\n* deprecated currencyAdapter\r\n\r\n* fmt\r\n\r\n* remove sp-std","shortMessageHtmlLink":"deps: update substrate to release-polkadot-v1.11.0 (#1430)"}},{"before":"53775fbe19de697ca2e4aeffb5bb22916dd6dbc7","after":null,"ref":"refs/heads/dependabot/cargo/thiserror-1.0.60","pushedAt":"2024-05-20T04:37:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"4649423f87c7047400a39a486be4923514cc25db","ref":"refs/heads/dependabot/cargo/thiserror-1.0.61","pushedAt":"2024-05-20T04:37:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump thiserror from 1.0.59 to 1.0.61\n\nBumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.61.\n- [Release notes](https://github.com/dtolnay/thiserror/releases)\n- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.61)\n\n---\nupdated-dependencies:\n- dependency-name: thiserror\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump thiserror from 1.0.59 to 1.0.61"}},{"before":"40586b23f8ec976fce52c9c1d31a149d7ae9e0cd","after":null,"ref":"refs/heads/dependabot/cargo/proc-macro2-1.0.82","pushedAt":"2024-05-20T04:37:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"f0158db458842a02663f5366e9c33886d0ef5796","ref":"refs/heads/dependabot/cargo/proc-macro2-1.0.83","pushedAt":"2024-05-20T04:37:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump proc-macro2 from 1.0.81 to 1.0.83\n\nBumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.81 to 1.0.83.\n- [Release notes](https://github.com/dtolnay/proc-macro2/releases)\n- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.83)\n\n---\nupdated-dependencies:\n- dependency-name: proc-macro2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump proc-macro2 from 1.0.81 to 1.0.83"}},{"before":"17eeb7a8d5c564df05b7bd6f5fa96505245cd94a","after":"6250ae78cb18c76a9dc2b4a9120ad7efe418dccd","ref":"refs/heads/master","pushedAt":"2024-05-15T09:46:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"boundless-forest","name":"Bear Wang","path":"/boundless-forest","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11801722?s=80&v=4"},"commit":{"message":"chore: remove useless trait bounds from struct definition (#1429)","shortMessageHtmlLink":"chore: remove useless trait bounds from struct definition (#1429)"}},{"before":"77d71576a5dc518c741be555e1bea9315cb87925","after":"17eeb7a8d5c564df05b7bd6f5fa96505245cd94a","ref":"refs/heads/master","pushedAt":"2024-05-15T07:21:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"boundless-forest","name":"Bear Wang","path":"/boundless-forest","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11801722?s=80&v=4"},"commit":{"message":"Fix inconsistent `latest_block_hash` (#1424)\n\n* Add `best_hash` method\r\n\r\n* Update earliest tag matched value\r\n\r\n* Fix CI tests\r\n\r\n* Code clean\r\n\r\n* Fix review comments\r\n\r\n* Update comment\r\n\r\n* Fix compile after solving conflicts\r\n\r\n* Remove the broken changes\r\n\r\n* Update trait bound\r\n\r\n* Simplify trait bound","shortMessageHtmlLink":"Fix inconsistent latest_block_hash (#1424)"}},{"before":"fa5f26e81707111df93dc770036fa48a02546ee5","after":null,"ref":"refs/heads/dependabot/cargo/trybuild-1.0.95","pushedAt":"2024-05-15T04:37:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"1dfd93b7afb5bbbe7fcd7ab6c92486f3db07a77d","ref":"refs/heads/dependabot/cargo/trybuild-1.0.96","pushedAt":"2024-05-15T04:37:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump trybuild from 1.0.93 to 1.0.96\n\nBumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.93 to 1.0.96.\n- [Release notes](https://github.com/dtolnay/trybuild/releases)\n- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.93...1.0.96)\n\n---\nupdated-dependencies:\n- dependency-name: trybuild\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump trybuild from 1.0.93 to 1.0.96"}},{"before":"f060da6753c58689a6fa29ca9cbb6b43a11a3dd7","after":"77d71576a5dc518c741be555e1bea9315cb87925","ref":"refs/heads/master","pushedAt":"2024-05-15T03:48:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"koushiro","name":"Qinxuan Chen","path":"/koushiro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12652341?s=80&v=4"},"commit":{"message":"refactor: storage override (#1425)\n\n# Description\r\n\r\nThis PR provides a new `StorageOverrideHandler` type like old `OverrideHandle` to support different ethereum schema and a fallback (runtime API) implementation. \r\nBut it will automatically determine the ethereum schema version of the runtime based on `block_hash`, and then call the methods of `StorageOverride` implementation corresponding to the schema version.\r\n\r\nBefore :\r\n\r\n```rust\r\nlet schema = fc_storage::onchain_storage_schema(client.as_ref(), block_hash);\r\nlet handler = overrides\r\n\t.schemas\r\n\t.get(&schema)\r\n\t.unwrap_or(&overrides.fallback);\r\nlet block = handler.current_block(block_hash);\r\nlet receipts = handler.current_receipts(block_hash);\r\n```\r\n\r\nAfter:\r\n\r\n```rust\r\nlet block = storage_override.current_block(hash);\r\nlet receipts = storage_override.current_receipts(hash);\r\n```\r\n\r\n## Addition\r\n\r\nThis PR uses `Option::::None` instead of `EthereumStorageSchema::Undefined`.\r\n\r\n```diff\r\n/// The schema version for Pallet Ethereum's storage\r\n#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Encode, Decode)]\r\n#[cfg_attr(feature = \"serde\", derive(serde::Serialize, serde::Deserialize))]\r\npub enum EthereumStorageSchema {\r\n-\t// Undefined,\r\n+\t// deprecated\r\n+\t// #[codec(index = 0)]\r\n+\t// Undefined,\r\n+\t#[codec(index = 1)]\r\n\tV1,\r\n+\t#[codec(index = 2)]\r\n\tV2,\r\n+\t#[codec(index = 3)]\r\n\tV3,\r\n}\r\n```\r\n\r\nIMO, this is more consistent with the current semantics: use the storage override corresponding to the schema version as the preference. If there is no ethereum schema in the state, use the runtime api as the fallback implementation, like:\r\n\r\n```rust\r\nfn current_block(&self, at: B::Hash) -> Option {\r\n\tmatch self.querier.storage_schema(at) {\r\n\t\tSome(EthereumStorageSchema::V1) => {\r\n\t\t\tSchemaV1StorageOverrideRef::new(&self.querier).current_block(at)\r\n\t\t}\r\n\t\tSome(EthereumStorageSchema::V2) => {\r\n\t\t\tSchemaV2StorageOverrideRef::new(&self.querier).current_block(at)\r\n\t\t}\r\n\t\tSome(EthereumStorageSchema::V3) => {\r\n\t\t\tSchemaV3StorageOverrideRef::new(&self.querier).current_block(at)\r\n\t\t}\r\n\t\tNone => self.fallback.current_block(at),\r\n\t}\r\n}\r\n```","shortMessageHtmlLink":"refactor: storage override (#1425)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUSBCigA","startCursor":null,"endCursor":null}},"title":"Activity ยท polkadot-evm/frontier"}