github.com/gagliardetto/solana-go@v1.11.0/rpc/sendRawTransaction.go (about) 1 // Copyright 2021 github.com/gagliardetto 2 // This file has been modified by github.com/gagliardetto 3 // 4 // Copyright 2020 dfuse Platform Inc. 5 // 6 // Licensed under the Apache License, Version 2.0 (the "License"); 7 // you may not use this file except in compliance with the License. 8 // You may obtain a copy of the License at 9 // 10 // http://www.apache.org/licenses/LICENSE-2.0 11 // 12 // Unless required by applicable law or agreed to in writing, software 13 // distributed under the License is distributed on an "AS IS" BASIS, 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 // See the License for the specific language governing permissions and 16 // limitations under the License. 17 package rpc 18 19 import ( 20 "context" 21 "encoding/base64" 22 23 "github.com/gagliardetto/solana-go" 24 ) 25 26 // SendRawTransaction submits a signed transaction to the cluster for processing. 27 // The only difference between this function and SignTransaction is that the latter takes a *solana.Transaction value, as the former takes a transaction in wire format as a byte array 28 func (cl *Client) SendRawTransaction( 29 ctx context.Context, 30 rawTx []byte, 31 ) (signature solana.Signature, err error) { 32 opts := TransactionOpts{ 33 SkipPreflight: false, 34 PreflightCommitment: "", 35 } 36 37 return cl.SendRawTransactionWithOpts( 38 ctx, 39 rawTx, 40 opts, 41 ) 42 } 43 44 // SendRawTransactionWithOpts submits a raw encoded transaction as a byte array to the cluster for processing. 45 func (cl *Client) SendRawTransactionWithOpts( 46 ctx context.Context, 47 rawTx []byte, 48 opts TransactionOpts, 49 ) (signature solana.Signature, err error) { 50 return cl.SendEncodedTransactionWithOpts( 51 ctx, 52 base64.StdEncoding.EncodeToString(rawTx), 53 opts, 54 ) 55 }