Selaa lähdekoodia

rpc-client-types: add missing re-exports (#7860)

* rpc-client-types: add missing re-exports

* add VersionedTransaction re-export

* update lock file

* re-export the whole solana-transaction crate

* don't alias solana_transaction in reexport

* don't alias serde_json::Value

* add the new re-exports to rpc_client_api::response

* alias solana_transaction as transaction

* add explanatory comments

* alias solana_transaction as transaction

* update lock file

* fix import

Co-authored-by: Jon C <me@jonc.dev>

* fmt

---------

Co-authored-by: Jon C <me@jonc.dev>
Kevin Heavey 1 kuukausi sitten
vanhempi
sitoutus
85ef5f818d

+ 2 - 0
Cargo.lock

@@ -10220,6 +10220,8 @@ dependencies = [
  "solana-fee-calculator",
  "solana-inflation",
  "solana-pubkey",
+ "solana-reward-info",
+ "solana-transaction",
  "solana-transaction-error",
  "solana-transaction-status-client-types",
  "solana-version",

+ 2 - 0
programs/sbf/Cargo.lock

@@ -8047,6 +8047,8 @@ dependencies = [
  "solana-commitment-config",
  "solana-fee-calculator",
  "solana-inflation",
+ "solana-reward-info",
+ "solana-transaction",
  "solana-transaction-error",
  "solana-transaction-status-client-types",
  "solana-version",

+ 9 - 2
rpc-client-api/src/response.rs

@@ -1,6 +1,8 @@
 use crate::client_error;
 pub use solana_rpc_client_types::response::{
-    OptionalContext, ProcessedSignatureResult, ReceivedSignatureResult, Response,
+    transaction, EncodedTransaction, EncodedTransactionWithStatusMeta, FeeCalculator,
+    FeeRateGovernor, OptionSerializer, OptionalContext, ParsedAccount, ParsedInstruction,
+    ProcessedSignatureResult, ReceivedSignatureResult, Response, Reward, RewardType, Rewards,
     RpcAccountBalance, RpcApiVersion, RpcBlockCommitment, RpcBlockProduction,
     RpcBlockProductionRange, RpcBlockUpdate, RpcBlockUpdateError, RpcBlockhash,
     RpcBlockhashFeeCalculator, RpcConfirmedTransactionStatusWithSignature, RpcContactInfo,
@@ -9,7 +11,12 @@ pub use solana_rpc_client_types::response::{
     RpcPrioritizationFee, RpcResponseContext, RpcSignatureConfirmation, RpcSignatureResult,
     RpcSimulateTransactionResult, RpcSnapshotSlotInfo, RpcStorageTurn, RpcSupply,
     RpcTokenAccountBalance, RpcVersionInfo, RpcVote, RpcVoteAccountInfo, RpcVoteAccountStatus,
-    SlotInfo, SlotTransactionStats, SlotUpdate, StakeActivationState,
+    SlotInfo, SlotTransactionStats, SlotUpdate, StakeActivationState, TransactionBinaryEncoding,
+    TransactionConfirmationStatus, TransactionError, TransactionParsedAccount, TransactionResult,
+    UiAccount, UiAccountData, UiAccountEncoding, UiAccountsList, UiCompiledInstruction,
+    UiConfirmedBlock, UiInnerInstructions, UiInstruction, UiLoadedAddresses, UiParsedInstruction,
+    UiPartiallyDecodedInstruction, UiReturnDataEncoding, UiTokenAmount, UiTransactionError,
+    UiTransactionReturnData, UiTransactionStatusMeta, UiTransactionTokenBalance, Value,
 };
 
 pub type RpcResult<T> = client_error::Result<Response<T>>;

+ 2 - 0
rpc-client-types/Cargo.toml

@@ -26,6 +26,8 @@ solana-clock = { workspace = true }
 solana-commitment-config = { workspace = true, features = ["serde"] }
 solana-fee-calculator = { workspace = true, features = ["serde"] }
 solana-inflation = { workspace = true }
+solana-reward-info = { workspace = true }
+solana-transaction = { workspace = true }
 solana-transaction-error = { workspace = true }
 solana-transaction-status-client-types = { workspace = true }
 solana-version = { workspace = true }

+ 35 - 4
rpc-client-types/src/response.rs

@@ -6,13 +6,44 @@ use {
     std::{collections::HashMap, fmt, net::SocketAddr, str::FromStr},
     thiserror::Error,
 };
+// we re-export types that are part of the public API,
+// and recursively re-export types that are part of those types' public APIs
 pub use {
-    solana_account_decoder_client_types::{token::UiTokenAmount, UiAccount},
+    serde_json::Value, // used in ParsedInstruction
+    solana_account_decoder_client_types::{
+        token::UiTokenAmount,
+        ParsedAccount, // used in UiAccountData
+        UiAccount,
+        UiAccountData,     // used in UiAccount
+        UiAccountEncoding, // used in UiAccountData
+    },
     solana_fee_calculator::{FeeCalculator, FeeRateGovernor},
-    solana_transaction_error::TransactionResult,
+    solana_reward_info::RewardType,    // used in Reward
+    solana_transaction as transaction, // used in EncodedTransaction (may as well re-export the whole crate)
+    solana_transaction_error::{TransactionError, TransactionResult},
     solana_transaction_status_client_types::{
-        TransactionConfirmationStatus, UiConfirmedBlock, UiInnerInstructions, UiLoadedAddresses,
-        UiTransactionError, UiTransactionReturnData, UiTransactionTokenBalance,
+        option_serializer::OptionSerializer, // used in UiTransactionStatusMeta
+        EncodedTransaction,                  // used in EncodedTransactionWithStatusMeta
+        EncodedTransactionWithStatusMeta,    // used in UiConfirmedBlock
+        ParsedAccount as TransactionParsedAccount, // used in UiAccountsList
+        ParsedInstruction,                   // used in UiParsedInstruction
+        Reward,                              // used in Rewards
+        Rewards,                             // used in UiConfirmedBlock
+        TransactionBinaryEncoding,           // used in EncodedTransaction
+        TransactionConfirmationStatus,
+        UiAccountsList,        // used in EncodedTransaction
+        UiCompiledInstruction, // used in UiInstruction
+        UiConfirmedBlock,
+        UiInnerInstructions,
+        UiInstruction, // used in UiInnerInstructions
+        UiLoadedAddresses,
+        UiParsedInstruction,           // used in UiInstruction
+        UiPartiallyDecodedInstruction, // used in UiParsedInstruction
+        UiReturnDataEncoding,          // used in UiTransactionReturnData
+        UiTransactionError,
+        UiTransactionReturnData,
+        UiTransactionStatusMeta, // used in EncodedTransactionWithStatusMeta
+        UiTransactionTokenBalance,
     },
 };