@@ -6,7 +6,7 @@ include "./deposit_to_new.circom";
6
6
include " ./deposit_to_old.circom" ;
7
7
include " ./transfer.circom" ;
8
8
include " ./withdraw.circom" ;
9
- include " ./place_order.circom" ;
9
+ // include "./place_order.circom";
10
10
include " ./spot_trade.circom" ;
11
11
include " ./base_tx.circom" ;
12
12
@@ -28,7 +28,6 @@ template Block(nTxs, balanceLevels, orderLevels, accountLevels) {
28
28
signal input encodedTxs[nTxs][TxLength()];
29
29
30
30
// State
31
-
32
31
signal input balance_path_elements[nTxs][4 ][balanceLevels][1 ]; // index meanings: [tx idx][sender, receiver, sender, receiver][levels][siblings]
33
32
signal input order_path_elements[nTxs][2 ][orderLevels][1 ]; // index meanings: [tx idx][order_account1, order_account2][levels][siblings]
34
33
signal input account_path_elements[nTxs][2 ][accountLevels][1 ]; // index meanings: [tx idx][sender, receiver][levels][siblings]
@@ -97,7 +96,7 @@ template Block(nTxs, balanceLevels, orderLevels, accountLevels) {
97
96
component processDepositToOld[nTxs];
98
97
component processTransfer[nTxs];
99
98
component processWithdraw[nTxs];
100
- component processPlaceOrder[nTxs];
99
+ // component processPlaceOrder[nTxs];
101
100
component processSpotTrade[nTxs];
102
101
103
102
for (var i = 0 ; i < nTxs; i++ ) {
@@ -180,9 +179,26 @@ template Block(nTxs, balanceLevels, orderLevels, accountLevels) {
180
179
processTransfer[i] = Transfer(balanceLevels, accountLevels);
181
180
processTransfer[i].enabled <== enableTransfer[i].out;
182
181
183
- for (var j = 0 ; j < TxLength(); j++ ) {
184
- processTransfer[i].in [j] <== encodedTxs[i][j];
185
- }
182
+ processTransfer[i].fromAccountID <== decodedTx[i].accountID1;
183
+ processTransfer[i].toAccountID <== decodedTx[i].accountID2;
184
+ processTransfer[i].tokenID <== decodedTx[i].tokenID1;
185
+ processTransfer[i].amount <== decodedTx[i].amount;
186
+ // processTransfer[i].nonce <== decodedTx[i].nonce1;
187
+ processTransfer[i].nonce1 <== decodedTx[i].nonce1;
188
+ processTransfer[i].nonce2 <== decodedTx[i].nonce2;
189
+ processTransfer[i].sign1 <== decodedTx[i].sign1;
190
+ processTransfer[i].sign2 <== decodedTx[i].sign2;
191
+ processTransfer[i].ay1 <== decodedTx[i].ay1;
192
+ processTransfer[i].ay2 <== decodedTx[i].ay2;
193
+ processTransfer[i].ethAddr1 <== decodedTx[i].ethAddr1;
194
+ processTransfer[i].ethAddr2 <== decodedTx[i].ethAddr2;
195
+
196
+ processTransfer[i].balance1 <== decodedTx[i].balance1;
197
+ processTransfer[i].balance2 <== decodedTx[i].balance2;
198
+ processTransfer[i].sigL2Hash <== decodedTx[i].sigL2Hash;
199
+ processTransfer[i].s <== decodedTx[i].s;
200
+ processTransfer[i].r8x <== decodedTx[i].r8x;
201
+ processTransfer[i].r8y <== decodedTx[i].r8y;
186
202
187
203
processTransfer[i].orderRoot1 <== orderRoots[i][0 ];
188
204
processTransfer[i].orderRoot2 <== orderRoots[i][1 ];
@@ -222,63 +238,63 @@ template Block(nTxs, balanceLevels, orderLevels, accountLevels) {
222
238
processWithdraw[i].oldAccountRoot <== oldAccountRoots[i];
223
239
processWithdraw[i].newAccountRoot <== newAccountRoots[i];
224
240
225
- // try place_order
226
-
227
- processPlaceOrder[i] = PlaceOrder(balanceLevels, orderLevels, accountLevels);
228
- processPlaceOrder[i].enabled <== enablePlaceOrder[i].out;
229
- for (var j = 0 ; j < TxLength(); j++ ) {
230
- processPlaceOrder[i].in [j] <== encodedTxs[i][j];
231
- }
232
-
233
- for (var j = 0 ; j < balanceLevels; j++ ) {
234
- processPlaceOrder[i].balance_path_elements[j][0 ] <== balance_path_elements[i][0 ][j][0 ];
235
- }
236
- for (var j = 0 ; j < orderLevels; j++ ) {
237
- processPlaceOrder[i].order_path_elements[j][0 ] <== order_path_elements[i][0 ][j][0 ];
238
- }
239
- for (var j = 0 ; j < accountLevels; j++ ) {
240
- processPlaceOrder[i].account_path_elements[j][0 ] <== account_path_elements[i][0 ][j][0 ];
241
- }
242
- processPlaceOrder[i].oldOrderRoot <== orderRoots[i][0 ];
243
- processPlaceOrder[i].newOrderRoot <== orderRoots[i][1 ];
244
- processPlaceOrder[i].oldAccountRoot <== oldAccountRoots[i];
245
- processPlaceOrder[i].newAccountRoot <== newAccountRoots[i];
246
-
247
241
// try spot_trade
248
242
processSpotTrade[i] = SpotTrade(balanceLevels, orderLevels, accountLevels);
249
243
processSpotTrade[i].enabled <== enableSpotTrade[i].out;
250
- processSpotTrade[i].order1_pos <== decodedTx[i].tokenID3;
251
- processSpotTrade[i].order1_id <== decodedTx[i].order1_id;
252
- processSpotTrade[i].order1_tokensell <== decodedTx[i].tokenID1;
253
- processSpotTrade[i].order1_amountsell <== decodedTx[i].order1_amountsell;
254
- processSpotTrade[i].order1_tokenbuy <== decodedTx[i].tokenID2;
255
- processSpotTrade[i].order1_amountbuy <== decodedTx[i].order1_amountbuy;
256
- processSpotTrade[i].order2_pos <== decodedTx[i].tokenID4;
257
- processSpotTrade[i].order2_id <== decodedTx[i].order2_id;
258
- processSpotTrade[i].order2_tokensell <== decodedTx[i].tokenID2;
259
- processSpotTrade[i].order2_amountsell <== decodedTx[i].order2_amountsell;
260
- processSpotTrade[i].order2_tokenbuy <== decodedTx[i].tokenID1;
261
- processSpotTrade[i].order2_amountbuy <== decodedTx[i].order2_amountbuy;
262
- processSpotTrade[i].amount_2to1 <== decodedTx[i].amount2;
244
+
245
+
246
+ processSpotTrade[i].oldOrder1ID <== decodedTx[i].oldOrder1ID;
247
+ processSpotTrade[i].oldOrder1TokenSell <== decodedTx[i].oldOrder1TokenSell;
248
+ processSpotTrade[i].oldOrder1FilledSell <== decodedTx[i].oldOrder1FilledSell;
249
+ processSpotTrade[i].oldOrder1AmountSell <== decodedTx[i].oldOrder1AmountSell;
250
+ processSpotTrade[i].oldOrder1TokenBuy <== decodedTx[i].oldOrder1TokenBuy;
251
+ processSpotTrade[i].oldOrder1FilledBuy <== decodedTx[i].oldOrder1FilledBuy;
252
+ processSpotTrade[i].oldOrder1AmountBuy <== decodedTx[i].oldOrder1AmountBuy;
253
+ processSpotTrade[i].newOrder1ID <== decodedTx[i].newOrder1ID;
254
+ processSpotTrade[i].newOrder1TokenSell <== decodedTx[i].newOrder1TokenSell;
255
+ processSpotTrade[i].newOrder1FilledSell <== decodedTx[i].newOrder1FilledSell;
256
+ processSpotTrade[i].newOrder1AmountSell <== decodedTx[i].newOrder1AmountSell;
257
+ processSpotTrade[i].newOrder1TokenBuy <== decodedTx[i].newOrder1TokenBuy;
258
+ processSpotTrade[i].newOrder1FilledBuy <== decodedTx[i].newOrder1FilledBuy;
259
+ processSpotTrade[i].newOrder1AmountBuy <== decodedTx[i].newOrder1AmountBuy;
260
+ processSpotTrade[i].oldOrder2ID <== decodedTx[i].oldOrder2ID;
261
+ processSpotTrade[i].oldOrder2TokenSell <== decodedTx[i].oldOrder2TokenSell;
262
+ processSpotTrade[i].oldOrder2FilledSell <== decodedTx[i].oldOrder2FilledSell;
263
+ processSpotTrade[i].oldOrder2AmountSell <== decodedTx[i].oldOrder2AmountSell;
264
+ processSpotTrade[i].oldOrder2TokenBuy <== decodedTx[i].oldOrder2TokenBuy;
265
+ processSpotTrade[i].oldOrder2FilledBuy <== decodedTx[i].oldOrder2FilledBuy;
266
+ processSpotTrade[i].oldOrder2AmountBuy <== decodedTx[i].oldOrder2AmountBuy;
267
+ processSpotTrade[i].newOrder2ID <== decodedTx[i].newOrder2ID;
268
+ processSpotTrade[i].newOrder2TokenSell <== decodedTx[i].newOrder2TokenSell;
269
+ processSpotTrade[i].newOrder2FilledSell <== decodedTx[i].newOrder2FilledSell;
270
+ processSpotTrade[i].newOrder2AmountSell <== decodedTx[i].newOrder2AmountSell;
271
+ processSpotTrade[i].newOrder2TokenBuy <== decodedTx[i].newOrder2TokenBuy;
272
+ processSpotTrade[i].newOrder2FilledBuy <== decodedTx[i].newOrder2FilledBuy;
273
+ processSpotTrade[i].newOrder2AmountBuy <== decodedTx[i].newOrder2AmountBuy;
274
+
275
+
276
+ processSpotTrade[i].order1Pos <== decodedTx[i].order1Pos;
277
+ processSpotTrade[i].order1AccountID <== decodedTx[i].accountID1;
278
+ processSpotTrade[i].order1AccountNonce <== decodedTx[i].nonce1;
279
+ processSpotTrade[i].order1AccountSign <== decodedTx[i].sign1;
280
+ processSpotTrade[i].order1AccountAy <== decodedTx[i].ay1;
281
+ processSpotTrade[i].order1AccountEthAddr <== decodedTx[i].ethAddr1;
282
+
283
+ processSpotTrade[i].order2Pos <== decodedTx[i].order2Pos;
284
+ processSpotTrade[i].order2AccountID <== decodedTx[i].accountID2;
285
+ processSpotTrade[i].order2AccountNonce <== decodedTx[i].nonce2;
286
+ processSpotTrade[i].order2AccountSign <== decodedTx[i].sign2;
287
+ processSpotTrade[i].order2AccountAy <== decodedTx[i].ay2;
288
+ processSpotTrade[i].order2AccountEthAddr <== decodedTx[i].ethAddr2;
289
+
263
290
processSpotTrade[i].amount_1to2 <== decodedTx[i].amount;
264
- processSpotTrade[i].order1_filledsell <== decodedTx[i].order1_filledsell;
265
- processSpotTrade[i].order1_filledbuy <== decodedTx[i].order1_filledbuy;
266
- processSpotTrade[i].order2_filledsell <== decodedTx[i].order2_filledsell;
267
- processSpotTrade[i].order2_filledbuy <== decodedTx[i].order2_filledbuy;
268
- processSpotTrade[i].order1_accountID <== decodedTx[i].accountID1;
269
- processSpotTrade[i].order2_accountID <== decodedTx[i].accountID2;
270
- processSpotTrade[i].order1_account_nonce <== decodedTx[i].nonce1;
271
- processSpotTrade[i].order2_account_nonce <== decodedTx[i].nonce2;
272
- processSpotTrade[i].order1_account_sign <== decodedTx[i].sign1;
273
- processSpotTrade[i].order2_account_sign <== decodedTx[i].sign2;
274
- processSpotTrade[i].order1_account_ay <== decodedTx[i].ay1;
275
- processSpotTrade[i].order2_account_ay <== decodedTx[i].ay2;
276
- processSpotTrade[i].order1_account_ethAddr <== decodedTx[i].ethAddr1;
277
- processSpotTrade[i].order2_account_ethAddr <== decodedTx[i].ethAddr2;
278
- processSpotTrade[i].order1_token_sell_balance <== decodedTx[i].balance1;
279
- processSpotTrade[i].order1_token_buy_balance <== decodedTx[i].balance4;
280
- processSpotTrade[i].order2_token_sell_balance <== decodedTx[i].balance3;
281
- processSpotTrade[i].order2_token_buy_balance <== decodedTx[i].balance2;
291
+ processSpotTrade[i].amount_2to1 <== decodedTx[i].amount2;
292
+
293
+ processSpotTrade[i].order1TokenSellBalance <== decodedTx[i].balance1;
294
+ processSpotTrade[i].order2TokenBuyBalance <== decodedTx[i].balance2;
295
+ processSpotTrade[i].order2TokenSellBalance <== decodedTx[i].balance3;
296
+ processSpotTrade[i].order1TokenBuyBalance <== decodedTx[i].balance4;
297
+
282
298
for (var j = 0 ; j < orderLevels; j++ ) {
283
299
processSpotTrade[i].order_path_elements[0 ][j][0 ] <== order_path_elements[i][0 ][j][0 ];
284
300
processSpotTrade[i].order_path_elements[1 ][j][0 ] <== order_path_elements[i][1 ][j][0 ];
0 commit comments