Usage examples of exerciseByKey - @daml/ledger

Are there any usage examples of exerciseByKey? Can contract keys be easily constructed and used in something like this:

ledger.exerciseByKey(Handover, { "_1": owner, "_2": id }, { newHandler: handler })

…or do the JS contract keys have unattractive type signatures? (requiring you to hold on to a reference to the key, as opposed to constructing it when needed).

Thanks for the help,
Alex

1 Like

Never mind, got it working with:
await ledger.exerciseByKey(Product.HandoverProduct, { _1: product.owner, _2: product.productId }, { newHandler: product.handler });

2 Likes

@alex_m I was going to suggest looking at this code in DAVL. Glad that you got it to work.

2 Likes

Cheers! I’ll check it out anyway.

1 Like