diff --git a/services/api/internal/neo/neo_client.go b/services/api/internal/neo/neo_client.go index 53c5c19..10e9bc8 100644 --- a/services/api/internal/neo/neo_client.go +++ b/services/api/internal/neo/neo_client.go @@ -1,47 +1,44 @@ package neo import ( - "context" - "fmt" + "context" + "fmt" - "github.com/nspcc-dev/neo-go/pkg/rpcclient" - "github.com/nspcc-dev/neo-go/pkg/rpcclient/actor" - "github.com/nspcc-dev/neo-go/pkg/wallet" + "github.com/nspcc-dev/neo-go/pkg/rpcclient" + "github.com/nspcc-dev/neo-go/pkg/rpcclient/actor" + "github.com/nspcc-dev/neo-go/pkg/wallet" ) type NeoClient struct { - Actor *actor.Actor - RPC *rpcclient.Client - Context context.Context + Actor *actor.Actor + RPC *rpcclient.Client + Context context.Context } func NewNeoClient(rpcEndpoint, walletPath, walletPass string) (*NeoClient, error) { - ctx := context.Background() + ctx := context.Background() - rpcCli, err := rpcclient.New(ctx, rpcEndpoint, rpcclient.Options{}) - if err != nil { - return nil, fmt.Errorf("rpcclient new: %w", err) - } + rpcCli, err := rpcclient.New(ctx, rpcEndpoint, rpcclient.Options{}) + if err != nil { + return nil, fmt.Errorf("rpcclient new: %w", err) + } + w, err := wallet.NewWalletFromFile(walletPath) + if err != nil { + return nil, fmt.Errorf("wallet load: %w", err) + } + acc := w.GetAccount(w.GetChangeAddress()) + err = acc.Decrypt(walletPass, w.Scrypt) + if err != nil { + return nil, fmt.Errorf("wallet decrypt: %w", err) + } + act, err := actor.NewSimple(rpcCli, acc) + if err != nil { + return nil, fmt.Errorf("actor new: %w", err) + } - w, err := wallet.NewWalletFromFile(walletPath) - if err != nil { - return nil, fmt.Errorf("wallet load: %w", err) - } - - acc := w.GetAccount(w.GetChangeAddress()) - err = acc.Decrypt(walletPass, w.Scrypt) - if err != nil { - return nil, fmt.Errorf("wallet decrypt: %w", err) - } - - act, err := actor.NewSimple(rpcCli, acc) - if err != nil { - return nil, fmt.Errorf("actor new: %w", err) - } - - return &NeoClient{ - Actor: act, - RPC: rpcCli, - Context: ctx, - }, nil + return &NeoClient{ + Actor: act, + RPC: rpcCli, + Context: ctx, + }, nil }