fix: return correct signature in sponsored spending conditions

The code calculated the correct signature for sponsored transactions,
but did not return it.
This commit is contained in:
Faried Nawaz
2021-09-22 19:48:38 +05:00
committed by Reed Rosenbluth
parent 9816b3c7ae
commit e83cdc64a2
2 changed files with 6 additions and 1 deletions

View File

@@ -1326,5 +1326,5 @@ export async function sponsorTransaction(
);
signer.signSponsor(privKey);
return options.transaction;
return signer.transaction;
}

View File

@@ -33,6 +33,7 @@ import { createAssetInfo } from '../src/types';
import {
createMessageSignature,
createTransactionAuthField,
emptyMessageSignature,
isSingleSig,
MultiSigSpendingCondition,
nextSignature,
@@ -895,6 +896,10 @@ test('Make sponsored STX token transfer', async () => {
expect(deserializedSponsorSpendingCondition.nonce!.toString()).toBe(sponsorNonce.toString());
expect(deserializedSponsorSpendingCondition.fee!.toString()).toBe(sponsorFee.toString());
const spendingCondition = deserializedSponsorSpendingCondition as SingleSigSpendingCondition;
const emptySignature = emptyMessageSignature();
expect(spendingCondition.signature.data.toString()).not.toBe(emptySignature.data.toString());
const deserializedPayload = deserializedSponsorTx.payload as TokenTransferPayload;
expect(deserializedPayload.amount.toString()).toBe(amount.toString());
});