Make errors clearer and increase coverage

This commit is contained in:
junderw 2019-06-17 13:34:20 +09:00
parent 071e201a75
commit 1b39d9caf4
No known key found for this signature in database
GPG key ID: B256185D3A971908
4 changed files with 256 additions and 15 deletions

View file

@ -958,13 +958,20 @@ function checkSignArgs(inputs: TxbInput[], signParams: TxbSignArg): void {
`Unknown prevOutScriptType "${signParams.prevOutScriptType}"`,
);
}
typeforce(
typeforce.tuple(
typeforce.Number,
typeforce.maybe(typeforce.Number),
types.Signer,
),
[signParams.vin, signParams.hashType, signParams.keyPair],
tfMessage(
typeforce.Number,
signParams.vin,
`sign must include vin parameter as Number (input index)`,
);
tfMessage(
types.Signer,
signParams.keyPair,
`sign must include keyPair parameter as Signer interface`,
);
tfMessage(
typeforce.maybe(typeforce.Number),
signParams.hashType,
`sign hashType parameter must be a number`,
);
const prevOutType = (inputs[signParams.vin] || []).prevOutType;
const posType = signParams.prevOutScriptType;