Skip to content

Commit

Permalink
Make node, price, tokenlist, chain_type, asset_type public
Browse files Browse the repository at this point in the history
  • Loading branch information
gemcoder21 committed Aug 4, 2023
1 parent 1a39856 commit ad1c11e
Show file tree
Hide file tree
Showing 7 changed files with 97 additions and 53 deletions.
7 changes: 7 additions & 0 deletions primitives/src/asset_type.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
use typeshare::typeshare;
use serde::{Serialize, Deserialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift = "Equatable, Codable, CaseIterable")]
#[serde(rename_all = "UPPERCASE")]
pub enum AssetType {
NATIVE,
ERC20,
Expand All @@ -9,7 +14,9 @@ pub enum AssetType {
TRC20,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift = "Equatable, Codable, CaseIterable")]
#[serde(rename_all = "UPPERCASE")]
pub enum AssetSubtype {
NATIVE,
TOKEN,
Expand Down
21 changes: 13 additions & 8 deletions primitives/src/chain_type.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
#[typeshare]
use typeshare::typeshare;
use serde::{Serialize, Deserialize};

#[derive(Debug, Serialize, Deserialize)]
#[typeshare(swift = "Equatable, Codable, CaseIterable")]
#[serde(rename_all = "lowercase")]
pub enum BlockchainType {
ethereum,
bitcoin,
binance,
solana,
cosmos,
ton,
tron,
Ethereum,
Bitcoin,
Binance,
Solana,
Cosmos,
Ton,
Tron,
}
40 changes: 25 additions & 15 deletions primitives/src/config.rs
Original file line number Diff line number Diff line change
@@ -1,35 +1,45 @@
use typeshare::typeshare;
use serde::{Serialize, Deserialize};

use crate::tokenlist::TokenListChainVersion;

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
#[serde(rename_all = "camelCase")]
struct ConfigResponse {
app: ConfigApp,
versions: ConfigVersions,
pub struct ConfigResponse {
pub app: ConfigApp,
pub versions: ConfigVersions,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct ConfigApp {
ios: ConfigIOSApp,
android: ConfigAndroidApp,
pub struct ConfigApp {
pub ios: ConfigIOSApp,
pub android: ConfigAndroidApp,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct ConfigIOSApp {
version: ConfigAppVersion
pub struct ConfigIOSApp {
pub version: ConfigAppVersion
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct ConfigAndroidApp {
version: ConfigAppVersion
pub struct ConfigAndroidApp {
pub version: ConfigAppVersion
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct ConfigAppVersion {
production: String,
beta: String,
alpha: String,
pub struct ConfigAppVersion {
pub production: String,
pub beta: String,
pub alpha: String,
}

#[typeshare(swift="Codable")]
#[derive(Debug, Deserialize, Serialize)]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConfigVersions {
pub nodes: i32,
Expand Down
7 changes: 6 additions & 1 deletion primitives/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,9 @@
pub mod chain;
pub mod name;
pub mod price;
pub mod asset_price;
pub mod asset_price;
pub mod tokenlist;
pub mod asset_type;
pub mod chain_type;
pub mod node;
pub mod config;
39 changes: 24 additions & 15 deletions primitives/src/node.rs
Original file line number Diff line number Diff line change
@@ -1,31 +1,40 @@
use typeshare::typeshare;
use serde::{Serialize, Deserialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct Node {
url: String,
status: NodeStatus,
priority: i32,
pub struct Node {
pub url: String,
pub status: NodeStatus,
pub priority: i32,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct ChainNode {
chain: String,
node: Node
pub struct ChainNode {
pub chain: String,
pub node: Node
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
struct ChainNodes {
chain: String,
nodes: Vec<Node>
pub struct ChainNodes {
pub chain: String,
pub nodes: Vec<Node>
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift="Codable")]
#[serde(rename_all = "camelCase")]
struct NodesResponse {
version: i32,
nodes: Vec<ChainNodes>
pub struct NodesResponse {
pub version: i32,
pub nodes: Vec<ChainNodes>
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare(swift = "Equatable, Codable, CaseIterable")]
#[serde(rename_all = "lowercase")]
pub enum NodeStatus {
active,
inactive,
Active,
Inactive,
}
2 changes: 1 addition & 1 deletion primitives/src/price.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use serde::{Serialize, Deserialize};
use typeshare::typeshare;
use serde::{Serialize, Deserialize};

#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
#[typeshare(swift = "Equatable, Codable, Hashable")]
Expand Down
34 changes: 21 additions & 13 deletions primitives/src/tokenlist.rs
Original file line number Diff line number Diff line change
@@ -1,23 +1,31 @@
use typeshare::typeshare;
use crate::chain::Chain;
use crate::asset_type::AssetType;
use serde::{Serialize, Deserialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare]
struct TokenList {
version: i32,
assets: Vec<TokenListAsset>,
pub struct TokenList {
pub version: i32,
pub assets: Vec<TokenListAsset>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare]
struct TokenListAsset {
chain: Chain,
pub struct TokenListAsset {
pub chain: Chain,
#[serde(rename = "tokenId")]
token_id: String,
name: String,
symbol: String,
pub token_id: String,
pub name: String,
pub symbol: String,
#[serde(rename = "type")]
asset_type: AssetType,
decimals: i32,
pub asset_type: AssetType,
pub decimals: i32,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[typeshare]
struct TokenListChainVersion {
chain: String,
version: i32,
pub struct TokenListChainVersion {
pub chain: String,
pub version: i32,
}

0 comments on commit ad1c11e

Please sign in to comment.