github.com/gagliardetto/solana-go@v1.11.0/rpc/sendEncodedTransaction.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 22 "github.com/gagliardetto/solana-go" 23 ) 24 25 // SendEncodedTransaction submits a signed base64 encoded transaction to the cluster for processing. 26 // The only difference between this function and SignTransaction is that the latter takes a *solana.Transaction value, as the former takes a raw base64 string 27 func (cl *Client) SendEncodedTransaction( 28 ctx context.Context, 29 encodedTx string, 30 ) (signature solana.Signature, err error) { 31 opts := TransactionOpts{ 32 SkipPreflight: false, 33 PreflightCommitment: "", 34 } 35 36 return cl.SendEncodedTransactionWithOpts( 37 ctx, 38 encodedTx, 39 opts, 40 ) 41 } 42 43 // SendEncodedTransactionWithOpts submits a signed base64 encoded transaction to the cluster for processing. 44 func (cl *Client) SendEncodedTransactionWithOpts( 45 ctx context.Context, 46 encodedTx string, 47 opts TransactionOpts, 48 ) (signature solana.Signature, err error) { 49 obj := opts.ToMap() 50 params := []interface{}{ 51 encodedTx, 52 obj, 53 } 54 55 err = cl.rpcClient.CallForInto(ctx, &signature, "sendTransaction", params) 56 return 57 }