getStakes method
Staked SUI objects owned by owner (0x3::staking_pool::StakedSui).
Implementation
Future<List<StakedSuiInfo>> getStakes(
String owner, {
int first = 50,
String? after,
}) async {
const q = r'''
query ($owner: SuiAddress!, $first: Int!, $after: String) {
address(address: $owner) {
objects(
first: $first
after: $after
filter: { type: "0x3::staking_pool::StakedSui" }
) {
pageInfo { hasNextPage endCursor }
nodes { address contents { json } }
}
}
}
''';
final data = await transport.query(q, variables: {
'owner': owner,
'first': first,
if (after != null) 'after': after,
});
final address = data['address'];
if (address == null) return const [];
final nodes = ((address as Map)['objects'] as Map)['nodes'] as List;
return nodes
.map((n) => StakedSuiInfo._fromNode(n as Map<String, dynamic>))
.toList();
}