From a8d1ed129b0cff4ee320fd4220e570cdf5f53b17 Mon Sep 17 00:00:00 2001 From: Reisen Date: Sat, 28 May 2022 06:30:05 +0000 Subject: [PATCH] solitaire: remove unused client code --- solana/Cargo.lock | 18 --- solana/Cargo.toml | 1 - solana/bridge/client/Cargo.toml | 3 +- solana/bridge/client/src/main.rs | 2 +- solana/bridge/cpi_poster/Cargo.toml | 3 +- solana/bridge/program/Cargo.toml | 3 +- solana/bridge/program_stub/Cargo.toml | 3 +- solana/migration/Cargo.toml | 3 +- solana/modules/nft_bridge/program/Cargo.toml | 3 +- solana/modules/token_bridge/client/Cargo.toml | 3 +- .../modules/token_bridge/client/src/main.rs | 2 +- .../modules/token_bridge/program/Cargo.toml | 3 +- solana/solitaire/client/Cargo.toml | 12 -- solana/solitaire/rocksalt/src/lib.rs | 41 ------- .../solitaire/rocksalt/src/to_instruction.rs | 105 ------------------ 15 files changed, 10 insertions(+), 195 deletions(-) delete mode 100644 solana/solitaire/client/Cargo.toml delete mode 100644 solana/solitaire/rocksalt/src/to_instruction.rs diff --git a/solana/Cargo.lock b/solana/Cargo.lock index e49e25d06..5b3957d58 100644 --- a/solana/Cargo.lock +++ b/solana/Cargo.lock @@ -264,7 +264,6 @@ dependencies = [ "solana-program", "solana-sdk", "solitaire", - "solitaire-client", "wormhole-bridge-solana", ] @@ -284,7 +283,6 @@ dependencies = [ "solana-program", "solana-sdk", "solitaire", - "solitaire-client", "wormhole-bridge-solana", ] @@ -508,7 +506,6 @@ dependencies = [ "solana-program", "solana-sdk", "solitaire", - "solitaire-client", "wormhole-bridge-solana", ] @@ -1577,7 +1574,6 @@ dependencies = [ "solana-program-test", "solana-sdk", "solitaire", - "solitaire-client", "spl-associated-token-account", "spl-token", "spl-token-metadata", @@ -3178,16 +3174,6 @@ dependencies = [ "solana-program", ] -[[package]] -name = "solitaire-client" -version = "0.1.0" -dependencies = [ - "borsh", - "solana-program", - "solana-sdk", - "solitaire", -] - [[package]] name = "spin" version = "0.5.2" @@ -3480,7 +3466,6 @@ dependencies = [ "solana-program-test", "solana-sdk", "solitaire", - "solitaire-client", "spl-token", "spl-token-metadata", "wasm-bindgen", @@ -3503,7 +3488,6 @@ dependencies = [ "solana-program", "solana-sdk", "solitaire", - "solitaire-client", "spl-token-metadata", "token-bridge", ] @@ -4060,7 +4044,6 @@ dependencies = [ "solana-program-test", "solana-sdk", "solitaire", - "solitaire-client", "wasm-bindgen", ] @@ -4081,7 +4064,6 @@ dependencies = [ "solana-program", "solana-sdk", "solitaire", - "solitaire-client", "spl-token", "wasm-bindgen", ] diff --git a/solana/Cargo.toml b/solana/Cargo.toml index 96e08d70e..c939d9e56 100644 --- a/solana/Cargo.toml +++ b/solana/Cargo.toml @@ -8,7 +8,6 @@ members = [ "modules/nft_bridge/program", "modules/token_bridge/client", "modules/token_bridge/program", - "solitaire/client", "solitaire/program", "solitaire/rocksalt", ] diff --git a/solana/bridge/client/Cargo.toml b/solana/bridge/client/Cargo.toml index 212cfb479..e07b56573 100644 --- a/solana/bridge/client/Cargo.toml +++ b/solana/bridge/client/Cargo.toml @@ -18,5 +18,4 @@ solana-sdk = "=1.9.4" solana-cli-config = "=1.9.4" solana-clap-utils = "=1.9.4" solitaire = { path = "../../solitaire/program" } -solitaire-client = { path = "../../solitaire/client" } -wormhole-bridge-solana = { path = "../program", features = ["client"] } \ No newline at end of file +wormhole-bridge-solana = { path = "../program", features = ["client"] } diff --git a/solana/bridge/client/src/main.rs b/solana/bridge/client/src/main.rs index f487e2739..e09a1da97 100644 --- a/solana/bridge/client/src/main.rs +++ b/solana/bridge/client/src/main.rs @@ -58,9 +58,9 @@ use solana_sdk::{ use solitaire::{ processors::seeded::Seeded, AccountState, + Derive, Info, }; -use solitaire_client::Derive; struct Config { rpc_client: RpcClient, diff --git a/solana/bridge/cpi_poster/Cargo.toml b/solana/bridge/cpi_poster/Cargo.toml index 852616aad..cefd82713 100644 --- a/solana/bridge/cpi_poster/Cargo.toml +++ b/solana/bridge/cpi_poster/Cargo.toml @@ -9,7 +9,7 @@ crate-type = ["cdylib", "lib"] name = "cpi_poster" [features] -client = ["solitaire/client", "solitaire-client", "no-entrypoint"] +client = ["no-entrypoint"] cpi = ["no-entrypoint"] default = [] no-entrypoint = ["solitaire/no-entrypoint"] @@ -22,7 +22,6 @@ primitive-types = { version = "0.9.0", default-features = false } sha3 = "0.9.1" solana-program = "=1.9.4" wormhole-bridge-solana = { path = "../program", features = ["no-entrypoint"] } -solitaire-client = { path = "../../solitaire/client", optional = true } solitaire = { path = "../../solitaire/program" } [dev-dependencies] diff --git a/solana/bridge/program/Cargo.toml b/solana/bridge/program/Cargo.toml index ae7a12981..97f3c8408 100644 --- a/solana/bridge/program/Cargo.toml +++ b/solana/bridge/program/Cargo.toml @@ -9,7 +9,7 @@ crate-type = ["cdylib", "lib"] name = "bridge" [features] -client = ["solitaire/client", "solitaire-client", "no-entrypoint"] +client = ["no-entrypoint"] cpi = ["no-entrypoint"] default = [] wasm = ["no-entrypoint", "wasm-bindgen"] @@ -24,7 +24,6 @@ primitive-types = { version = "0.9.0", default-features = false } serde = { version = "1.0", features = ["derive"] } sha3 = "0.9.1" solana-program = "=1.9.4" -solitaire-client = { path = "../../solitaire/client", optional = true } solitaire = { path = "../../solitaire/program" } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } diff --git a/solana/bridge/program_stub/Cargo.toml b/solana/bridge/program_stub/Cargo.toml index 680752ff7..5a22b61d0 100644 --- a/solana/bridge/program_stub/Cargo.toml +++ b/solana/bridge/program_stub/Cargo.toml @@ -9,7 +9,7 @@ crate-type = ["cdylib", "lib"] name = "bridge_stub" [features] -client = ["solitaire/client", "solitaire-client", "no-entrypoint"] +client = ["no-entrypoint"] cpi = ["no-entrypoint"] default = [] no-entrypoint = ["solitaire/no-entrypoint"] @@ -21,7 +21,6 @@ byteorder = "1.4.3" primitive-types = { version = "0.9.0", default-features = false } sha3 = "0.9.1" solana-program = "=1.9.4" -solitaire-client = { path = "../../solitaire/client", optional = true } solitaire = { path = "../../solitaire/program" } wormhole-bridge-solana = { path = "../program", features = ["no-entrypoint"] } diff --git a/solana/migration/Cargo.toml b/solana/migration/Cargo.toml index d20163716..bff74a591 100644 --- a/solana/migration/Cargo.toml +++ b/solana/migration/Cargo.toml @@ -12,7 +12,7 @@ name = "wormhole_migration" no-entrypoint = ["solitaire/no-entrypoint", "rand"] trace = ["solitaire/trace"] wasm = ["no-entrypoint", "wasm-bindgen"] -client = ["solitaire-client", "solitaire/client", "no-entrypoint"] +client = ["no-entrypoint"] cpi = ["no-entrypoint"] default = [] @@ -24,7 +24,6 @@ solitaire = { path = "../solitaire/program" } sha3 = "0.9.1" solana-program = "*" spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } -solitaire-client = { path = "../solitaire/client", optional = true } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } serde = { version = "1.0", features = ["derive"] } rand = { version = "0.7.3", optional = true } diff --git a/solana/modules/nft_bridge/program/Cargo.toml b/solana/modules/nft_bridge/program/Cargo.toml index f062120fc..fe9249899 100644 --- a/solana/modules/nft_bridge/program/Cargo.toml +++ b/solana/modules/nft_bridge/program/Cargo.toml @@ -12,7 +12,7 @@ name = "nft_bridge" no-entrypoint = ["solitaire/no-entrypoint", "instructions", "rand"] trace = ["solitaire/trace"] wasm = ["no-entrypoint", "wasm-bindgen"] -client = ["solitaire-client", "solitaire/client", "no-entrypoint"] +client = ["no-entrypoint"] cpi = ["no-entrypoint"] instructions = [] default = [] @@ -29,7 +29,6 @@ solana-program = "*" spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } spl-associated-token-account = { version = "1.0.2", features = ["no-entrypoint"] } primitive-types = { version = "0.9.0", default-features = false } -solitaire-client = { path = "../../../solitaire/client", optional = true } spl-token-metadata = { path = "../../token_bridge/token-metadata" } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } serde = { version = "1.0", features = ["derive"] } diff --git a/solana/modules/token_bridge/client/Cargo.toml b/solana/modules/token_bridge/client/Cargo.toml index 0a1d2a9e9..2b26dfd85 100644 --- a/solana/modules/token_bridge/client/Cargo.toml +++ b/solana/modules/token_bridge/client/Cargo.toml @@ -15,7 +15,6 @@ solana-program = "=1.9.4" solana-sdk = "=1.9.4" solana-cli-config = "=1.9.4" solitaire = { path = "../../../solitaire/program" } -solitaire-client = { path = "../../../solitaire/client" } solana-clap-utils = "=1.9.4" hex = "0.4.3" -spl-token-metadata = { path = "../token-metadata" } \ No newline at end of file +spl-token-metadata = { path = "../token-metadata" } diff --git a/solana/modules/token_bridge/client/src/main.rs b/solana/modules/token_bridge/client/src/main.rs index 9bc2a0711..f90e88afb 100644 --- a/solana/modules/token_bridge/client/src/main.rs +++ b/solana/modules/token_bridge/client/src/main.rs @@ -49,9 +49,9 @@ use solana_sdk::{ }; use solitaire::{ processors::seeded::Seeded, + Derive, Info, }; -use solitaire_client::Derive; struct Config { rpc_client: RpcClient, diff --git a/solana/modules/token_bridge/program/Cargo.toml b/solana/modules/token_bridge/program/Cargo.toml index c81d232f4..6a2199ed3 100644 --- a/solana/modules/token_bridge/program/Cargo.toml +++ b/solana/modules/token_bridge/program/Cargo.toml @@ -12,7 +12,7 @@ name = "token_bridge" no-entrypoint = ["solitaire/no-entrypoint", "instructions", "rand"] trace = ["solitaire/trace"] wasm = ["no-entrypoint", "wasm-bindgen"] -client = ["solitaire-client", "solitaire/client", "no-entrypoint"] +client = ["no-entrypoint"] cpi = ["no-entrypoint"] default = [] instructions = [] @@ -28,7 +28,6 @@ sha3 = "0.9.1" solana-program = "*" spl-token = { version = "=3.2.0", features = ["no-entrypoint"] } primitive-types = { version = "0.9.0", default-features = false } -solitaire-client = { path = "../../../solitaire/client", optional = true } spl-token-metadata = { path = "../token-metadata" } wasm-bindgen = { version = "0.2.74", features = ["serde-serialize"], optional = true } serde = { version = "1.0", features = ["derive"] } diff --git a/solana/solitaire/client/Cargo.toml b/solana/solitaire/client/Cargo.toml deleted file mode 100644 index 75ec9107c..000000000 --- a/solana/solitaire/client/Cargo.toml +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name = "solitaire-client" -version = "0.1.0" -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -solana-sdk = "=1.9.4" -solana-program = "=1.9.4" -solitaire = {path = "../program", features = ["no-entrypoint"]} -borsh = "=0.9.1" diff --git a/solana/solitaire/rocksalt/src/lib.rs b/solana/solitaire/rocksalt/src/lib.rs index 08dbca33a..c0a734e38 100644 --- a/solana/solitaire/rocksalt/src/lib.rs +++ b/solana/solitaire/rocksalt/src/lib.rs @@ -1,7 +1,3 @@ -mod to_instruction; - -use to_instruction::*; - use proc_macro::TokenStream; use proc_macro2::TokenStream as TokenStream2; use quote::quote; @@ -15,43 +11,6 @@ use syn::{ Generics, }; -#[proc_macro_derive(ToInstruction)] -pub fn derive_to_instruction(input: TokenStream) -> TokenStream { - let input = parse_macro_input!(input as DeriveInput); - let name = input.ident; - - // Type params of the instruction context account - let type_params: Vec = input - .generics - .type_params() - .map(|v| GenericParam::Type(v.clone())) - .collect(); - - // Generics lifetimes of the peel type - let mut peel_g = input.generics.clone(); - peel_g.params = parse_quote!('a, 'b: 'a, 'c); - - // Params of the instruction context - let mut type_generics = input.generics.clone(); - type_generics.params = parse_quote!('b); - for x in &type_params { - type_generics.params.push(x.clone()); - } - - // Combined lifetimes of peel and the instruction context - let mut combined_generics = Generics { - params: peel_g.params, - ..Default::default() - }; - for x in &type_params { - combined_generics.params.push(x.clone()); - } - let (combined_impl_g, _, _) = combined_generics.split_for_impl(); - - let expanded = generate_to_instruction(&name, &combined_impl_g, &input.data); - TokenStream::from(expanded) -} - /// Generate a FromAccounts implementation for a product of accounts. Each field is constructed by /// a call to the Verify::verify instance of its type. #[proc_macro_derive(FromAccounts)] diff --git a/solana/solitaire/rocksalt/src/to_instruction.rs b/solana/solitaire/rocksalt/src/to_instruction.rs deleted file mode 100644 index 54b8c725b..000000000 --- a/solana/solitaire/rocksalt/src/to_instruction.rs +++ /dev/null @@ -1,105 +0,0 @@ -//! Derive macro logic for ToInstruction - -use proc_macro2::{ - Span, - TokenStream as TokenStream2, -}; -use quote::quote; -use syn::{ - Data, - DataStruct, - Fields, -}; - -pub fn generate_to_instruction( - name: &syn::Ident, - impl_generics: &syn::ImplGenerics, - data: &Data, -) -> TokenStream2 { - match *data { - Data::Struct(DataStruct { - fields: Fields::Named(ref fields), - .. - }) => { - let expanded_appends = fields.named.iter().map(|field| { - let name = &field.ident; - let ty = &field.ty; - - quote! { - account_metas.append(&mut <#ty as solitaire_client::Wrap>::wrap(&self.#name)?); - if let Some(pair) = <#ty as solitaire_client::Wrap>::keypair(self.#name) { - signers.push(pair); - } - } - }); - let client_struct_name = - syn::Ident::new(&format!("{}Accounts", name), Span::call_site()); - - let client_struct_decl = generate_clientside_struct(&client_struct_name, data); - - quote! { - /// Solitaire-generated client-side #name representation - #[cfg(feature = "client")] - #client_struct_decl - - /// Solitaire-generatied ToInstruction implementation - #[cfg(feature = "client")] - impl #impl_generics solitaire_client::ToInstruction for #client_struct_name { - fn to_ix( - self, - program_id: solana_program::pubkey::Pubkey, - ix_data: &[u8]) -> std::result::Result< - (solitaire_client::Instruction, Vec), - solitaire::ErrBox - > { - use solana_program::{pubkey::Pubkey, instruction::Instruction}; - let mut account_metas = Vec::new(); - let mut signers = Vec::new(); - let mut deps = Vec::new(); - - #(#expanded_appends;)* - - // Add dependencies - deps.dedup(); - let mut dep_ams = deps.iter().map(|v| solana_program::instruction::AccountMeta::new_readonly(*v, false)).collect(); - account_metas.append(&mut dep_ams); - - Ok((solana_program::instruction::Instruction::new_with_bytes(program_id, - ix_data, - account_metas), signers)) - - } - - } - } - } - _ => unimplemented!(), - } -} - -pub fn generate_clientside_struct( - client_struct_name: &syn::Ident, - data: &Data, -) -> TokenStream2 { - match *data { - Data::Struct(DataStruct { - fields: Fields::Named(ref fields), - .. - }) => { - let expanded_fields = fields.named.iter().map(|field| { - let field_name = &field.ident; - - quote! { - #field_name: solitaire_client::AccEntry - } - }); - - quote! { - pub struct #client_struct_name { - #(pub #expanded_fields,)* - } - } - } - _ => unimplemented!(), - } -}