From b92ac4a15b0f95646f12c1a17cbb0516c73b1a27 Mon Sep 17 00:00:00 2001
From: Luke Parker <lukeparker5132@gmail.com>
Date: Wed, 26 Feb 2025 14:50:52 -0500
Subject: [PATCH] Use borsh entirely in create_db

---
 common/db/src/create_db.rs | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/common/db/src/create_db.rs b/common/db/src/create_db.rs
index f5bd6e91..ec40042c 100644
--- a/common/db/src/create_db.rs
+++ b/common/db/src/create_db.rs
@@ -15,7 +15,7 @@ pub fn serai_db_key(
 ///
 /// Creates a unit struct and a default implementation for the `key`, `get`, and `set`. The macro
 /// uses a syntax similar to defining a function. Parameters are concatenated to produce a key,
-/// they must be `scale` encodable. The return type is used to auto encode and decode the database
+/// they must be `borsh` serializable. The return type is used to auto (de)serialize the database
 /// value bytes using `borsh`.
 ///
 /// # Arguments
@@ -54,11 +54,10 @@ macro_rules! create_db {
       )?;
       impl$(<$($generic_name: $generic_type),+>)? $field_name$(<$($generic_name),+>)? {
         pub(crate) fn key($($arg: $arg_type),*) -> Vec<u8> {
-          use scale::Encode;
           $crate::serai_db_key(
             stringify!($db_name).as_bytes(),
             stringify!($field_name).as_bytes(),
-            ($($arg),*).encode()
+            &borsh::to_vec(&($($arg),*)).unwrap(),
           )
         }
         pub(crate) fn set(