Use the serai_abi::Call in the actual Transaction type

We prior required they had the same encoding, yet this ensures they do by
making them one and the same. This does require an large, ugly, From/TryInto
block which is deemed preferable for moving this more and more into syntax
(from semantics).

Further improvements (notably re: Extra) is possible, and this already lets us
strip some members from the Call enum.
This commit is contained in:
Luke Parker
2024-06-02 19:58:29 -04:00
parent 2a05cf3225
commit 41ce5b1738
23 changed files with 677 additions and 211 deletions

View File

@@ -49,6 +49,7 @@ frame-executive = { git = "https://github.com/serai-dex/substrate", default-feat
frame-benchmarking = { git = "https://github.com/serai-dex/substrate", default-features = false, optional = true }
serai-primitives = { path = "../primitives", default-features = false }
serai-abi = { path = "../abi", default-features = false, features = ["serde"] }
pallet-timestamp = { git = "https://github.com/serai-dex/substrate", default-features = false }
pallet-authorship = { git = "https://github.com/serai-dex/substrate", default-features = false }
@@ -102,6 +103,8 @@ std = [
"frame-executive/std",
"serai-primitives/std",
"serai-abi/std",
"serai-abi/serde",
"pallet-timestamp/std",
"pallet-authorship/std",