Skip to content

Commit d6d409a

Browse files
Merge pull request #703 from ava-labs/get-atomic-utxos
Add getAtomicUTXOs to avm and platformvm clients
2 parents 1e7b7ae + 82a1671 commit d6d409a

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

vms/avm/client.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,17 @@ func (c *Client) GetTx(txID ids.ID) ([]byte, error) {
9292

9393
// GetUTXOs returns the byte representation of the UTXOs controlled by [addrs]
9494
func (c *Client) GetUTXOs(addrs []string, limit uint32, startAddress, startUTXOID string) ([][]byte, api.Index, error) {
95+
return c.GetAtomicUTXOs(addrs, "", limit, startAddress, startUTXOID)
96+
}
97+
98+
// GetAtomicUTXOs returns the byte representation of the atomic UTXOs controlled by [addresses]
99+
// from [sourceChain]
100+
func (c *Client) GetAtomicUTXOs(addrs []string, sourceChain string, limit uint32, startAddress, startUTXOID string) ([][]byte, api.Index, error) {
95101
res := &api.GetUTXOsReply{}
96102
err := c.requester.SendRequest("getUTXOs", &api.GetUTXOsArgs{
97-
Addresses: addrs,
98-
Limit: cjson.Uint32(limit),
103+
Addresses: addrs,
104+
SourceChain: sourceChain,
105+
Limit: cjson.Uint32(limit),
99106
StartIndex: api.Index{
100107
Address: startAddress,
101108
UTXO: startUTXOID,

vms/platformvm/client.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,24 @@ func (c *Client) ListAddresses(user api.UserPass) ([]string, error) {
7575
return res.Addresses, err
7676
}
7777

78-
// GetUTXOs returns the byte representation of the UTXOs controlled by [addresses]
79-
func (c *Client) GetUTXOs(addresses []string) ([][]byte, api.Index, error) {
78+
// GetUTXOs returns the byte representation of the UTXOs controlled by [addrs]
79+
func (c *Client) GetUTXOs(addrs []string, limit uint32, startAddress, startUTXOID string) ([][]byte, api.Index, error) {
80+
return c.GetAtomicUTXOs(addrs, "", limit, startAddress, startUTXOID)
81+
}
82+
83+
// GetAtomicUTXOs returns the byte representation of the atomic UTXOs controlled by [addresses]
84+
// from [sourceChain]
85+
func (c *Client) GetAtomicUTXOs(addrs []string, sourceChain string, limit uint32, startAddress, startUTXOID string) ([][]byte, api.Index, error) {
8086
res := &api.GetUTXOsReply{}
8187
err := c.requester.SendRequest("getUTXOs", &api.GetUTXOsArgs{
82-
Addresses: addresses,
83-
Encoding: formatting.Hex,
88+
Addresses: addrs,
89+
SourceChain: sourceChain,
90+
Limit: cjson.Uint32(limit),
91+
StartIndex: api.Index{
92+
Address: startAddress,
93+
UTXO: startUTXOID,
94+
},
95+
Encoding: formatting.Hex,
8496
}, res)
8597
if err != nil {
8698
return nil, api.Index{}, err

0 commit comments

Comments
 (0)