Skip to content

Commit

Permalink
update CreateAndBroadcastMultiTransaction
Browse files Browse the repository at this point in the history
  • Loading branch information
ranjbar-dev committed Jul 19, 2023
1 parent ecb58fd commit 22c38db
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions multi-signature.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,39 @@ package tronWallet

import (
"crypto/ecdsa"
"errors"

"github.com/ranjbar-dev/tron-wallet/enums"
"github.com/ranjbar-dev/tron-wallet/grpcClient"
)

func CreateAndBroadcastMultiTransaction(node enums.Node, fromAddressBase58 string, toAddressBase58 string, amountInSun int64, privateKeys []*ecdsa.PrivateKey, _ ecdsa.PrivateKey) error {
func CreateAndBroadcastMultiTransaction(node enums.Node, fromAddressBase58 string, toAddressBase58 string, amountInSun int64, privateKeys []*ecdsa.PrivateKey, _ ecdsa.PrivateKey) (string, error) {

transaction, err := createTransactionInput(node, fromAddressBase58, toAddressBase58, amountInSun)
if err != nil {
return err
return "", err
}

for _, privateKey := range privateKeys {
transaction, err = signTransaction(transaction, privateKey)
if err != nil {
return err
return "", err
}
}

return broadcastTransaction(node, transaction)
c, err := grpcClient.GetGrpcClient(node)
if err != nil {
return "", err
}

res, err := c.Broadcast(transaction.Transaction)
if err != nil {
return "", err
}

if !res.Result {
return "", errors.New(res.Code.String())
}

return string(res.Message), nil
}

0 comments on commit 22c38db

Please sign in to comment.