Невозможно передать необязательные параметры в методе Contract. Если я отмечу arg как необязательный, я получаю ошибку от HL (версия 1.4):
class MyContract extends Contract {
async someMethod(ctx, arg1, arg2, optionalArg = undefined) {
// do smth
}
}
// And when I'm calling from client
const res = await contract.submitTransaction('someMethod', 'arg1', 'arg2', 'optional');
// I'm getting arguments error
[DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:0 - endorsement failed -
Error: transaction returned with failure:
Error: Expected 2 parameters, but 3 have been supplied
Так что метод Контракта каким-то образом ожидает только 2 параметра, но я определил 3 ...