From a9fcbf3dd4062613035d0c28f1f2cd82fc713f00 Mon Sep 17 00:00:00 2001 From: timdegen <104884878+timdegen@users.noreply.github.com> Date: Thu, 3 Aug 2023 22:10:07 +0100 Subject: [PATCH] Add mod to name and price --- primitives/src/lib.rs | 4 +++- primitives/src/name.rs | 24 +++++++++++++++++++++++- primitives/src/price.rs | 4 ++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index b7106367..1da4a98c 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -1,3 +1,5 @@ // lib.rs -pub mod chain; \ No newline at end of file +pub mod chain; +pub mod name; +pub mod price; \ No newline at end of file diff --git a/primitives/src/name.rs b/primitives/src/name.rs index a1a3580d..c3438c7d 100644 --- a/primitives/src/name.rs +++ b/primitives/src/name.rs @@ -1,6 +1,28 @@ +use typeshare::typeshare; +use crate::chain::Chain; +use serde::Serialize; + #[typeshare(swift="Codable")] +#[allow(dead_code)] struct NameRecord { name: String, chain: Chain, - address: String + address: String, + provider: NameProvider, } + +#[derive(Debug, Serialize)] +#[serde(rename_all = "lowercase")] +pub enum NameProvider { + Ud, + Ens, +} + +impl NameProvider { + pub fn as_str(&self) -> &'static str { + match self { + Self::Ud => "ud", + Self::Ens => "ens", + } + } +} \ No newline at end of file diff --git a/primitives/src/price.rs b/primitives/src/price.rs index 384e2d29..6d7164f3 100644 --- a/primitives/src/price.rs +++ b/primitives/src/price.rs @@ -1,3 +1,7 @@ +use serde::{Serialize, Deserialize}; +use typeshare::typeshare; + +#[derive(Copy, Clone, Debug, Serialize, Deserialize)] #[typeshare(swift = "Equatable, Codable, Hashable")] struct Price { price: f64,