@@ -66,10 +66,10 @@ const computePrivateInputsNullifiers = privateData => {
66
66
] . flat ( Infinity ) ;
67
67
} ;
68
68
69
- const computePrivateInputsCommitments = privateData => {
69
+ const computePrivateInputsCommitments = ( privateData , padTo ) => {
70
70
const { newCommitmentPreimage, recipientPublicKeys } = generalise ( privateData ) ;
71
- const paddedNewCommitmentPreimage = padArray ( newCommitmentPreimage , NULL_COMMITMENT , 2 ) ;
72
- const paddedRecipientPublicKeys = padArray ( recipientPublicKeys , [ 0 , 0 ] , 2 ) ;
71
+ const paddedNewCommitmentPreimage = padArray ( newCommitmentPreimage , NULL_COMMITMENT , padTo ) ;
72
+ const paddedRecipientPublicKeys = padArray ( recipientPublicKeys , [ 0 , 0 ] , padTo ) ;
73
73
return [
74
74
paddedNewCommitmentPreimage . map ( commitment => commitment . value . limbs ( 8 , 31 ) ) ,
75
75
paddedNewCommitmentPreimage . map ( commitment => commitment . salt . field ( BN128_GROUP_ORDER ) ) ,
@@ -96,19 +96,22 @@ export const computeWitness = (txObject, roots, privateData) => {
96
96
const publicInputs = computePublicInputs ( txObject , roots ) ;
97
97
switch ( Number ( txObject . transactionType ) ) {
98
98
case 0 :
99
+ // Deposit
99
100
return [ ...publicInputs , ...computePrivateInputsDeposit ( privateData ) ] ;
100
101
case 1 :
102
+ // Transfer
101
103
return [
102
104
...publicInputs ,
103
105
...computePrivateInputsNullifiers ( privateData ) ,
104
- ...computePrivateInputsCommitments ( privateData ) ,
106
+ ...computePrivateInputsCommitments ( privateData , 2 ) ,
105
107
...computePrivateInputsEncryption ( privateData ) ,
106
108
] ;
107
109
default :
110
+ // Withdraw
108
111
return [
109
112
...publicInputs ,
110
113
...computePrivateInputsNullifiers ( privateData ) ,
111
- ...computePrivateInputsCommitments ( privateData ) ,
114
+ ...computePrivateInputsCommitments ( privateData , 1 ) ,
112
115
] ;
113
116
}
114
117
} ;
0 commit comments