github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/service/wallet.go (about) 1 // Copyright 2018 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 // RPC handlers for wallet operations 5 6 package service 7 8 import ( 9 "github.com/keybase/client/go/libkb" 10 "github.com/keybase/client/go/protocol/stellar1" 11 "github.com/keybase/client/go/stellar" 12 "github.com/keybase/client/go/stellar/stellarsvc" 13 "github.com/keybase/go-framed-msgpack-rpc/rpc" 14 ) 15 16 type walletHandler struct { 17 libkb.Contextified 18 *BaseHandler 19 *stellarsvc.Server 20 } 21 22 var _ stellar1.LocalInterface = (*walletHandler)(nil) 23 24 func newWalletHandler(xp rpc.Transporter, g *libkb.GlobalContext, walletState *stellar.WalletState) *walletHandler { 25 h := &walletHandler{ 26 Contextified: libkb.NewContextified(g), 27 BaseHandler: NewBaseHandler(g, xp), 28 } 29 30 h.Server = stellarsvc.New(g, h, walletState) 31 32 return h 33 } 34 35 func (h *walletHandler) SecretUI(g *libkb.GlobalContext, sessionID int) libkb.SecretUI { 36 return h.BaseHandler.getSecretUI(sessionID, g) 37 } 38 39 func (h *walletHandler) IdentifyUI(g *libkb.GlobalContext, sessionID int) libkb.IdentifyUI { 40 return h.NewRemoteIdentifyUI(sessionID, g) 41 } 42 43 func (h *walletHandler) StellarUI() stellar1.UiInterface { 44 return stellar1.UiClient{Cli: h.rpcClient()} 45 }