getAddress method
Get the lock address associated to the given fellowship, contract and optional state
fellowship A String label of the fellowship to get the lock address for
contract A String label of the contract to get the lock address for
someState The optional state index to get the lock address for. If not provided, the next state for the
given fellowship and contract pair will be used
Returns the lock address for the given indices if possible. Else null
Implementation
@override
String? getAddress(String fellowship, String contract, int? someState) {
final fellowshipResult = fellowshipsStore.findFirstSync(_instance,
finder: Finder(filter: Filter.equals("name", fellowship)));
final contractResult = contractsStore.findFirstSync(_instance,
finder: Finder(filter: Filter.equals("contract", contract)));
if (fellowshipResult != null && contractResult != null) {
final cartesianResult = cartesiansStore.findFirstSync(_instance,
finder: Finder(
filter: Filter.and([
Filter.equals("xFellowship", fellowshipResult["xFellowship"]),
Filter.equals("yContract", contractResult.key),
Filter.equals("zState", someState ?? 0),
]),
));
if (cartesianResult == null) return null;
return cartesianResult["address"]! as String;
}
return null;
}