fix: update rpc sendTransaction format to upstream

This commit is contained in:
Tyera Eulberg 2020-01-21 22:16:56 -07:00 committed by Michael Vines
parent 2ab5816bd8
commit 43e90a1967
2 changed files with 16 additions and 1 deletions

View File

@ -194,6 +194,9 @@ declare module '@solana/web3.js' {
transaction: Transaction,
...signers: Array<Account>
): Promise<TransactionSignature>;
sendEncodedTransaction(
encodedTransaction: string,
): Promise<TransactionSignature>;
sendRawTransaction(wireTransaction: Buffer): Promise<TransactionSignature>;
onAccountChange(
publickey: PublicKey,

View File

@ -1219,9 +1219,21 @@ export class Connection {
*/
async sendRawTransaction(
rawTransaction: Buffer,
): Promise<TransactionSignature> {
const encodedTransaction = bs58.encode(rawTransaction);
const result = await this.sendEncodedTransaction(encodedTransaction);
return result;
}
/**
* Send a transaction that has already been signed, serialized into the
* wire format, and encoded as a base58 string
*/
async sendEncodedTransaction(
encodedTransaction: string,
): Promise<TransactionSignature> {
const unsafeRes = await this._rpcRequest('sendTransaction', [
[...rawTransaction],
encodedTransaction,
]);
const res = SendTransactionRpcResult(unsafeRes);
if (res.error) {