RpcClient: Encode TXs as base64 by default (#12817)

(cherry picked from commit efbe37ba20)

Co-authored-by: Trent Nelson <trent@solana.com>
This commit is contained in:
mergify[bot]
2020-10-12 21:56:18 +00:00
committed by GitHub
parent 1f102d2617
commit d3ef061044
2 changed files with 11 additions and 3 deletions

View File

@ -112,7 +112,7 @@ impl RpcSender for MockSender {
Signature::new(&[8; 64]).to_string() Signature::new(&[8; 64]).to_string()
} else { } else {
let tx_str = params.as_array().unwrap()[0].as_str().unwrap().to_string(); let tx_str = params.as_array().unwrap()[0].as_str().unwrap().to_string();
let data = bs58::decode(tx_str).into_vec().unwrap(); let data = base64::decode(tx_str).unwrap();
let tx: Transaction = bincode::deserialize(&data).unwrap(); let tx: Transaction = bincode::deserialize(&data).unwrap();
tx.signatures[0].to_string() tx.signatures[0].to_string()
}; };

View File

@ -133,7 +133,11 @@ impl RpcClient {
transaction: &Transaction, transaction: &Transaction,
config: RpcSendTransactionConfig, config: RpcSendTransactionConfig,
) -> ClientResult<Signature> { ) -> ClientResult<Signature> {
let encoding = config.encoding.unwrap_or(UiTransactionEncoding::Base58); let encoding = config.encoding.unwrap_or(UiTransactionEncoding::Base64);
let config = RpcSendTransactionConfig {
encoding: Some(encoding),
..config
};
let serialized_encoded = serialize_encode_transaction(transaction, encoding)?; let serialized_encoded = serialize_encode_transaction(transaction, encoding)?;
let signature_base58_str: String = self.send( let signature_base58_str: String = self.send(
RpcRequest::SendTransaction, RpcRequest::SendTransaction,
@ -170,7 +174,11 @@ impl RpcClient {
transaction: &Transaction, transaction: &Transaction,
config: RpcSimulateTransactionConfig, config: RpcSimulateTransactionConfig,
) -> RpcResult<RpcSimulateTransactionResult> { ) -> RpcResult<RpcSimulateTransactionResult> {
let encoding = config.encoding.unwrap_or(UiTransactionEncoding::Base58); let encoding = config.encoding.unwrap_or(UiTransactionEncoding::Base64);
let config = RpcSimulateTransactionConfig {
encoding: Some(encoding),
..config
};
let serialized_encoded = serialize_encode_transaction(transaction, encoding)?; let serialized_encoded = serialize_encode_transaction(transaction, encoding)?;
self.send( self.send(
RpcRequest::SimulateTransaction, RpcRequest::SimulateTransaction,