getLock method
Using the template associated the given template, the verification keys associated to the fellowship and template pair, and the z state given by nextState, build a Lock
fellowship
A String label of the fellowship to get the Lock verification keys for
template
A String label of the template to get the verification keys and template for
nextState
The z index state to build the lock for
Returns a built lock, if possible. Else null
Implementation
@override
Lock? getLock(String fellowship, String contract, int nextState) {
final lockTemplate = getLockTemplate(contract);
final entityVks = getEntityVks(fellowship, contract);
if (lockTemplate == null || entityVks == null) return null;
final childVks = entityVks.map((vk) {
final fullKey = quivr_shared
.VerificationKey.fromBuffer(
Encoding().decodeFromBase58Check(vk).get());
return api.deriveChildVerificationKey(fullKey, nextState);
});
final res = lockTemplate.build(childVks.toList());
return res.isRight ? res.right! : null;
}