1// SPDX-License-Identifier: ISC 2// Copyright (c) 2014-2020 Bitmark Inc. 3// Use of this source code is governed by an ISC 4// license that can be found in the LICENSE file. 5 6package main 7 8import ( 9 "fmt" 10 11 "github.com/urfave/cli" 12 13 "github.com/bitmark-inc/bitmarkd/command/bitmark-cli/rpccalls" 14) 15 16func runOwned(c *cli.Context) error { 17 18 m := c.App.Metadata["config"].(*metadata) 19 20 ownerId := c.String("owner") 21 if "" == ownerId { 22 ownerId = c.GlobalString("identity") 23 if "" == ownerId { 24 ownerId = m.config.DefaultIdentity 25 } 26 } 27 28 start := c.Uint64("start") 29 30 count := c.Int("count") 31 if count <= 0 { 32 return fmt.Errorf("invalid count: %d", count) 33 } 34 35 if m.verbose { 36 fmt.Fprintf(m.e, "owner: %s\n", ownerId) 37 fmt.Fprintf(m.e, "start: %d\n", start) 38 fmt.Fprintf(m.e, "count: %d\n", count) 39 } 40 41 owner, err := m.config.Account(ownerId) 42 if nil != err { 43 return err 44 } 45 46 client, err := rpccalls.NewClient(m.testnet, m.config.Connections[m.connectionOffset], m.verbose, m.e) 47 if nil != err { 48 return err 49 } 50 defer client.Close() 51 52 ownedConfig := &rpccalls.OwnedData{ 53 Owner: owner, 54 Start: start, 55 Count: count, 56 } 57 58 response, err := client.GetOwned(ownedConfig) 59 if nil != err { 60 return err 61 } 62 63 printJson(m.w, response) 64 65 return nil 66} 67