cranberry

Форк
0
32 строки · 772.0 Байт
1
package tx
2

3
import (
4
	"context"
5

6
	"gitverse.ru/IvanTimofeev/cranberry/internal/errors"
7
	pbapi "gitverse.ru/IvanTimofeev/cranberry/pkg/grpc"
8
	"gitverse.ru/IvanTimofeev/cranberry/pkg/utility"
9
)
10

11
func (tsh *CranberryServiceHandler) SendTx(ctx context.Context, request *pbapi.SendTxRequest) (*pbapi.SendTxResponse, error) {
12
	txHash := utility.TxToHash(request.Tx)
13
	txc := &pbapi.TxContainer{
14
		Hash:      txHash,
15
		Tx:        request.Tx,
16
		Signature: request.Signature,
17
		PubKey:    request.PubKey,
18
	}
19
	verified, err := tsh.validatorService.ValidateTx(txc)
20
	if err != nil {
21
		return nil, err
22
	}
23
	if !verified {
24
		return nil, errors.TxInvalidError(txHash)
25
	}
26
	err = tsh.poolService.PutTxToPool(txc)
27
	if err != nil {
28
		return nil, err
29
	}
30

31
	return &pbapi.SendTxResponse{}, nil
32
}
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.