Skip to content

Commit 311d46a

Browse files
committed
test update
Signed-off-by: Angelo De Caro <adc@zurich.ibm.com>
1 parent 5b5aeff commit 311d46a

File tree

2 files changed

+95
-47
lines changed

2 files changed

+95
-47
lines changed

token/core/zkatdlog/nogh/v1/validator/testdata/env.go

Lines changed: 94 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,24 @@ const (
5656
)
5757

5858
type Env struct {
59-
Engine *validator.Validator
60-
inputsForTransfer []*tokn.Token
61-
inputsForRedeem []*tokn.Token
62-
Sender *transfer.Sender
59+
Engine *validator.Validator
6360

6461
TRWithTransferTxID string
6562
TRWithTransfer *driver.TokenRequest
6663
TRWithTransferRaw []byte
6764

68-
TRWithRedeem *driver.TokenRequest
69-
TRWithIssue *driver.TokenRequest
70-
TRWithSwap *driver.TokenRequest
65+
TRWithRedeem *driver.TokenRequest
66+
TRWithRedeemTxID string
67+
TRWithRedeemRaw []byte
68+
69+
TRWithIssue *driver.TokenRequest
70+
TRWithIssueTxID string
71+
TRWithIssueRaw []byte
72+
73+
Sender *transfer.Sender
74+
TRWithSwap *driver.TokenRequest
75+
TRWithSwapTxID string
76+
TRWithSwapRaw []byte
7177
}
7278

7379
// SaveTransferToFile writes TRWithTransferTxID and TRWithTransferRaw (base64-encoded)
@@ -100,9 +106,6 @@ func NewEnv(benchCase *benchmark2.Case, configurations *benchmark.SetupConfigura
100106
var (
101107
engine *validator.Validator
102108

103-
inputsForRedeem []*tokn.Token
104-
inputsForTransfer []*tokn.Token
105-
106109
sender *transfer.Sender
107110
auditor *audit.Auditor
108111

@@ -157,71 +160,57 @@ func NewEnv(benchCase *benchmark2.Case, configurations *benchmark.SetupConfigura
157160
if err != nil {
158161
return nil, err
159162
}
160-
161-
// prepare redeem
162-
_, rr, _, inputsForRedeem, err = prepareRedeemRequest(benchCase, pp, auditor, setupConfiguration)
163+
irRaw, err := ir.Bytes()
163164
if err != nil {
164165
return nil, err
165166
}
166167

167-
// prepare transfer
168-
var trmetadata *driver.TokenRequestMetadata
169-
sender, tr, trmetadata, inputsForTransfer, err = prepareTransferRequest(benchCase, pp, auditor, oID)
168+
// prepare redeem
169+
_, rr, _, _, err = prepareRedeemRequest(benchCase, pp, auditor, setupConfiguration)
170170
if err != nil {
171171
return nil, err
172172
}
173-
transferRaw, err := tr.Bytes()
173+
rrRaw, err := rr.Bytes()
174174
if err != nil {
175175
return nil, err
176176
}
177177

178-
// atomic action request
179-
ar = &driver.TokenRequest{Transfers: tr.Transfers}
180-
raw, err := ar.MarshalToMessageToSign([]byte("2"))
178+
// prepare transfer
179+
_, tr, _, _, err = prepareTransferRequest(benchCase, pp, auditor, oID)
181180
if err != nil {
182181
return nil, err
183182
}
184-
185-
// Sender signs request
186-
signatures, err := sender.SignTokenActions(raw)
183+
transferRaw, err := tr.Bytes()
187184
if err != nil {
188185
return nil, err
189186
}
190187

191-
// auditor inspect token
192-
metadata := &driver.TokenRequestMetadata{}
193-
metadata.Transfers = []*driver.TransferMetadata{trmetadata.Transfers[0]}
194-
195-
tokns := make([][]*tokn.Token, 1)
196-
for i := range benchCase.NumInputs {
197-
tokns[0] = append(tokns[0], inputsForTransfer[i])
198-
}
199-
err = auditor.Check(context.Background(), ar, metadata, tokns, "2")
188+
// atomic action request
189+
sender, ar, _, _, err = prepareSwapRequest(benchCase, pp, auditor, oID)
200190
if err != nil {
201191
return nil, err
202192
}
203-
sigma, err := auditor.Endorse(ar, "2")
193+
arRaw, err := ar.Bytes()
204194
if err != nil {
205195
return nil, err
206196
}
207-
ar.AuditorSignatures = append(ar.AuditorSignatures, &driver.AuditorSignature{
208-
Identity: pp.Auditors()[0],
209-
Signature: sigma,
210-
})
211-
212-
ar.Signatures = append(ar.Signatures, signatures...)
213197

214198
return &Env{
215-
TRWithIssue: ir,
199+
Engine: engine,
200+
Sender: sender,
201+
202+
TRWithTransferTxID: "1",
216203
TRWithTransfer: tr,
217-
Engine: engine,
218-
inputsForTransfer: inputsForTransfer,
219-
inputsForRedeem: inputsForRedeem,
204+
TRWithTransferRaw: transferRaw,
220205
TRWithRedeem: rr,
206+
TRWithRedeemTxID: "1",
207+
TRWithRedeemRaw: rrRaw,
208+
TRWithIssue: ir,
209+
TRWithIssueTxID: "1",
210+
TRWithIssueRaw: irRaw,
221211
TRWithSwap: ar,
222-
Sender: sender,
223-
TRWithTransferRaw: transferRaw,
224-
TRWithTransferTxID: "1",
212+
TRWithSwapTxID: "2",
213+
TRWithSwapRaw: arRaw,
225214
}, nil
226215
}
227216

@@ -290,6 +279,65 @@ func prepareTransferRequest(benchCase *benchmark2.Case, pp *v1.PublicParams, aud
290279
)
291280
}
292281

282+
func prepareSwapRequest(benchCase *benchmark2.Case, pp *v1.PublicParams, auditor *audit.Auditor, oID *benchmark.OwnerIdentity) (*transfer.Sender, *driver.TokenRequest, *driver.TokenRequestMetadata, []*tokn.Token, error) {
283+
sender1, tr1, trmetadata1, inputsForTransfer1, err := prepareTransferRequest(benchCase, pp, auditor, oID)
284+
if err != nil {
285+
return nil, nil, nil, nil, err
286+
}
287+
sender2, tr2, trmetadata2, inputsForTransfer2, err := prepareTransferRequest(benchCase, pp, auditor, oID)
288+
if err != nil {
289+
return nil, nil, nil, nil, err
290+
}
291+
//
292+
ar := &driver.TokenRequest{Transfers: append(tr1.Transfers, tr2.Transfers...)}
293+
raw, err := ar.MarshalToMessageToSign([]byte("2"))
294+
if err != nil {
295+
return nil, nil, nil, nil, err
296+
}
297+
298+
// Sender signs request
299+
sender1Signatures, err := sender1.SignTokenActions(raw)
300+
if err != nil {
301+
return nil, nil, nil, nil, err
302+
}
303+
sender2Signatures, err := sender2.SignTokenActions(raw)
304+
if err != nil {
305+
return nil, nil, nil, nil, err
306+
}
307+
308+
// auditor inspect token
309+
metadata := &driver.TokenRequestMetadata{}
310+
metadata.Transfers = []*driver.TransferMetadata{
311+
trmetadata1.Transfers[0],
312+
trmetadata2.Transfers[0],
313+
}
314+
315+
tokns := make([][]*tokn.Token, 2)
316+
for i := range benchCase.NumInputs {
317+
tokns[0] = append(tokns[0], inputsForTransfer1[i])
318+
}
319+
for i := range benchCase.NumInputs {
320+
tokns[1] = append(tokns[1], inputsForTransfer2[i])
321+
}
322+
err = auditor.Check(context.Background(), ar, metadata, tokns, "2")
323+
if err != nil {
324+
return nil, nil, nil, nil, err
325+
}
326+
sigma, err := auditor.Endorse(ar, "2")
327+
if err != nil {
328+
return nil, nil, nil, nil, err
329+
}
330+
ar.AuditorSignatures = append(ar.AuditorSignatures, &driver.AuditorSignature{
331+
Identity: pp.Auditors()[0],
332+
Signature: sigma,
333+
})
334+
335+
ar.Signatures = append(ar.Signatures, sender1Signatures...)
336+
ar.Signatures = append(ar.Signatures, sender2Signatures...)
337+
338+
return sender1, ar, metadata, nil, nil
339+
}
340+
293341
func prepareTokens(values, bf []*math.Zr, tokenType string, pp []*math.G1, curve *math.Curve) []*math.G1 {
294342
tokens := make([]*math.G1, len(values))
295343
for i := range values {

token/core/zkatdlog/nogh/v1/validator/validator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func TestValidator(t *testing.T) {
7070

7171
actions, _, err := env.Engine.VerifyTokenRequestFromRaw(t.Context(), nil, "2", raw)
7272
require.NoError(t, err)
73-
require.Len(t, actions, 1)
73+
require.Len(t, actions, 2)
7474
})
7575
t.Run("when the sender's signature is not valid: wrong txID", func(t *testing.T) {
7676
configurations, err := benchmark.NewSetupConfigurations("./../testdata", []uint64{testUseCase.Bits}, []math.CurveID{testUseCase.CurveID})

0 commit comments

Comments
 (0)