@@ -60,7 +60,9 @@ namespace kagome::api {
6060 inline jsonrpc::Value makeValue (const common::Buffer &);
6161 inline jsonrpc::Value makeValue (common::BufferView);
6262 inline jsonrpc::Value makeValue (const primitives::Extrinsic &);
63- inline jsonrpc::Value makeValue (const primitives::RuntimeDispatchInfo &v);
63+ template <typename Weight>
64+ inline jsonrpc::Value makeValue (
65+ const primitives::RuntimeDispatchInfo<Weight> &v);
6466 inline jsonrpc::Value makeValue (const primitives::DigestItem &);
6567 inline jsonrpc::Value makeValue (const primitives::BlockData &);
6668 inline jsonrpc::Value makeValue (const primitives::BlockHeader &);
@@ -90,6 +92,17 @@ namespace kagome::api {
9092 return ret;
9193 }
9294
95+ // TODO(Harrm): refactor to work specifically with Balance type
96+ inline jsonrpc::Value makeValue (const primitives::Balance &val) {
97+ jsonrpc::Value ret ((*val).str ());
98+ return ret;
99+ }
100+
101+ inline jsonrpc::Value makeValue (const primitives::OldWeight &val) {
102+ jsonrpc::Value ret (static_cast <int64_t >(*val));
103+ return ret;
104+ }
105+
93106 template <typename T>
94107 inline jsonrpc::Value makeValue (std::remove_reference_t <T> &&val) {
95108 return makeValue (val);
@@ -233,11 +246,13 @@ namespace kagome::api {
233246 return data;
234247 }
235248
236- inline jsonrpc::Value makeValue (const primitives::RuntimeDispatchInfo &v) {
249+ template <typename Weight>
250+ inline jsonrpc::Value makeValue (
251+ const primitives::RuntimeDispatchInfo<Weight> &v) {
237252 jStruct res;
238253 res[" weight" ] = makeValue (v.weight );
239254 res[" partialFee" ] = makeValue (v.partial_fee );
240- using Class = primitives::RuntimeDispatchInfo:: DispatchClass;
255+ using Class = primitives::DispatchClass;
241256 switch (v.dispatch_class ) {
242257 case Class::Normal:
243258 res[" class" ] = " normal" ;
0 commit comments