Skip to content

Commit a17c881

Browse files
dong77wangdong
andauthored
more (#1600)
Co-authored-by: wangdong <[email protected]>
1 parent 1a42766 commit a17c881

File tree

9 files changed

+318
-318
lines changed

9 files changed

+318
-318
lines changed

packages/loopring_v3/circuit/Circuits/AccountUpdateCircuit.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -140,25 +140,25 @@ class AccountUpdateCircuit : public BaseTransactionCircuit
140140
FMT(prefix, ".numConditionalTransactionsAfter"))
141141
{
142142
// Update the account data
143-
setArrayOutput(accountA_Address, accountID.bits);
144-
setOutput(accountA_PublicKeyX, publicKeyX);
145-
setOutput(accountA_PublicKeyY, publicKeyY);
146-
setOutput(accountA_Nonce, nonce_after.result());
143+
setArrayOutput(TXV_ACCOUNT_A_ADDRESS, accountID.bits);
144+
setOutput(TXV_ACCOUNT_A_PUBKEY_X, publicKeyX);
145+
setOutput(TXV_ACCOUNT_A_PUBKEY_Y, publicKeyY);
146+
setOutput(TXV_ACCOUNT_A_NONCE, nonce_after.result());
147147

148148
// Update the account balance for the fee payment
149-
setArrayOutput(balanceA_S_Address, feeTokenID.bits);
150-
setOutput(balanceA_S_Balance, balanceS_A.balance());
149+
setArrayOutput(TXV_BALANCE_A_S_ADDRESS, feeTokenID.bits);
150+
setOutput(TXV_BALANCE_A_S_BALANCE, balanceS_A.balance());
151151
// Update the operator balance for the fee payment
152-
setOutput(balanceO_B_Balance, balanceB_O.balance());
152+
setOutput(TXV_BALANCE_O_B_BALANCE, balanceB_O.balance());
153153

154154
// We need a single signature of the account that's being updated if not
155155
// conditional
156-
setOutput(hash_A, hash.result());
157-
setOutput(signatureRequired_A, needsSignature.result());
158-
setOutput(signatureRequired_B, state.constants._0);
156+
setOutput(TXV_HASH_A, hash.result());
157+
setOutput(TXV_SIGNATURE_REQUIRED_A, needsSignature.result());
158+
setOutput(TXV_SIGNATURE_REQUIRED_B, state.constants._0);
159159

160160
// Increase the number of conditional transactions (if conditional)
161-
setOutput(misc_NumConditionalTransactions, numConditionalTransactionsAfter.result());
161+
setOutput(TXV_NUM_CONDITIONAL_TXS, numConditionalTransactionsAfter.result());
162162
}
163163

164164
void generate_r1cs_witness(const AccountUpdateTx &update)

packages/loopring_v3/circuit/Circuits/BaseTransactionCircuit.h

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -171,53 +171,53 @@ struct TransactionState : public GadgetT
171171

172172
enum TxVariable
173173
{
174-
storageA_Address,
175-
storageA_Data,
176-
storageA_StorageId,
174+
TXV_STORAGE_A_ADDRESS,
175+
TXV_STORAGE_A_DATA,
176+
TXV_STORAGE_A_STORAGEID,
177177

178-
balanceA_S_Address,
179-
balanceA_S_Balance,
178+
TXV_BALANCE_A_S_ADDRESS,
179+
TXV_BALANCE_A_S_BALANCE,
180180

181-
balanceA_B_Balance,
181+
TXV_BALANCE_A_B_BALANCE,
182182

183-
accountA_Address,
184-
accountA_Owner,
185-
accountA_PublicKeyX,
186-
accountA_PublicKeyY,
187-
accountA_Nonce,
183+
TXV_ACCOUNT_A_ADDRESS,
184+
TXV_ACCOUNT_A_OWNER,
185+
TXV_ACCOUNT_A_PUBKEY_X,
186+
TXV_ACCOUNT_A_PUBKEY_Y,
187+
TXV_ACCOUNT_A_NONCE,
188188

189-
storageB_Address,
190-
storageB_Data,
191-
storageB_StorageId,
189+
TXV_STORAGE_B_ADDRESS,
190+
TXV_STORAGE_B_DATA,
191+
TXV_STORAGE_B_STORAGEID,
192192

193-
balanceB_S_Address,
194-
balanceB_S_Balance,
193+
TXV_BALANCE_B_S_ADDRESS,
194+
TXV_BALANCE_B_S_BALANCE,
195195

196-
balanceB_B_Balance,
196+
TXV_BALANCE_B_B_BALANCE,
197197

198-
accountB_Address,
199-
accountB_Owner,
200-
accountB_PublicKeyX,
201-
accountB_PublicKeyY,
202-
accountB_Nonce,
198+
TXV_ACCOUNT_B_ADDRESS,
199+
TXV_ACCOUNT_B_OWNER,
200+
TXV_ACCOUNT_B_PUBKEY_X,
201+
TXV_ACCOUNT_B_PUBKEY_Y,
202+
TXV_ACCOUNT_B_NONCE,
203203

204-
balanceP_A_Balance,
205-
balanceP_B_Balance,
204+
TXV_BALANCE_P_A_BALANCE,
205+
TXV_BALANCE_P_B_BALANCE,
206206

207-
balanceO_A_Balance,
208-
balanceO_B_Balance,
207+
TXV_BALANCE_O_A_BALANCE,
208+
TXV_BALANCE_O_B_BALANCE,
209209

210-
hash_A,
211-
publicKeyX_A,
212-
publicKeyY_A,
213-
signatureRequired_A,
210+
TXV_HASH_A,
211+
TXV_PUBKEY_X_A,
212+
TXV_PUBKEY_Y_A,
213+
TXV_SIGNATURE_REQUIRED_A,
214214

215-
hash_B,
216-
publicKeyX_B,
217-
publicKeyY_B,
218-
signatureRequired_B,
215+
TXV_HASH_B,
216+
TXV_PUBKEY_X_B,
217+
TXV_PUBKEY_Y_B,
218+
TXV_SIGNATURE_REQUIRED_B,
219219

220-
misc_NumConditionalTransactions
220+
TXV_NUM_CONDITIONAL_TXS
221221
};
222222

223223
class BaseTransactionCircuit : public GadgetT
@@ -234,55 +234,55 @@ class BaseTransactionCircuit : public GadgetT
234234
const std::string &prefix)
235235
: GadgetT(pb, prefix), state(_state)
236236
{
237-
aOutputs[storageA_Address] = VariableArrayT(NUM_BITS_STORAGE_ADDRESS, state.constants._0);
238-
uOutputs[storageA_Data] = state.accountA.storage.data;
239-
uOutputs[storageA_StorageId] = state.accountA.storage.storageID;
237+
aOutputs[TXV_STORAGE_A_ADDRESS] = VariableArrayT(NUM_BITS_STORAGE_ADDRESS, state.constants._0);
238+
uOutputs[TXV_STORAGE_A_DATA] = state.accountA.storage.data;
239+
uOutputs[TXV_STORAGE_A_STORAGEID] = state.accountA.storage.storageID;
240240

241-
aOutputs[balanceA_S_Address] = VariableArrayT(NUM_BITS_TOKEN, state.constants._0);
242-
uOutputs[balanceA_S_Balance] = state.accountA.balanceS.balance;
241+
aOutputs[TXV_BALANCE_A_S_ADDRESS] = VariableArrayT(NUM_BITS_TOKEN, state.constants._0);
242+
uOutputs[TXV_BALANCE_A_S_BALANCE] = state.accountA.balanceS.balance;
243243

244-
uOutputs[balanceA_B_Balance] = state.accountA.balanceB.balance;
244+
uOutputs[TXV_BALANCE_A_B_BALANCE] = state.accountA.balanceB.balance;
245245

246-
aOutputs[accountA_Address] =
246+
aOutputs[TXV_ACCOUNT_A_ADDRESS] =
247247
flatten({VariableArrayT(1, state.constants._1), VariableArrayT(NUM_BITS_ACCOUNT - 1, state.constants._0)});
248-
uOutputs[accountA_Owner] = state.accountA.account.owner;
249-
uOutputs[accountA_PublicKeyX] = state.accountA.account.publicKey.x;
250-
uOutputs[accountA_PublicKeyY] = state.accountA.account.publicKey.y;
251-
uOutputs[accountA_Nonce] = state.accountA.account.nonce;
248+
uOutputs[TXV_ACCOUNT_A_OWNER] = state.accountA.account.owner;
249+
uOutputs[TXV_ACCOUNT_A_PUBKEY_X] = state.accountA.account.publicKey.x;
250+
uOutputs[TXV_ACCOUNT_A_PUBKEY_Y] = state.accountA.account.publicKey.y;
251+
uOutputs[TXV_ACCOUNT_A_NONCE] = state.accountA.account.nonce;
252252

253-
aOutputs[storageB_Address] = VariableArrayT(NUM_BITS_STORAGE_ADDRESS, state.constants._0);
254-
uOutputs[storageB_Data] = state.accountB.storage.data;
255-
uOutputs[storageB_StorageId] = state.accountB.storage.storageID;
253+
aOutputs[TXV_STORAGE_B_ADDRESS] = VariableArrayT(NUM_BITS_STORAGE_ADDRESS, state.constants._0);
254+
uOutputs[TXV_STORAGE_B_DATA] = state.accountB.storage.data;
255+
uOutputs[TXV_STORAGE_B_STORAGEID] = state.accountB.storage.storageID;
256256

257-
aOutputs[balanceB_S_Address] = VariableArrayT(NUM_BITS_TOKEN, state.constants._0);
258-
uOutputs[balanceB_S_Balance] = state.accountB.balanceS.balance;
257+
aOutputs[TXV_BALANCE_B_S_ADDRESS] = VariableArrayT(NUM_BITS_TOKEN, state.constants._0);
258+
uOutputs[TXV_BALANCE_B_S_BALANCE] = state.accountB.balanceS.balance;
259259

260-
uOutputs[balanceB_B_Balance] = state.accountB.balanceB.balance;
260+
uOutputs[TXV_BALANCE_B_B_BALANCE] = state.accountB.balanceB.balance;
261261

262-
aOutputs[accountB_Address] =
262+
aOutputs[TXV_ACCOUNT_B_ADDRESS] =
263263
flatten({VariableArrayT(1, state.constants._1), VariableArrayT(NUM_BITS_ACCOUNT - 1, state.constants._0)});
264-
uOutputs[accountB_Owner] = state.accountB.account.owner;
265-
uOutputs[accountB_PublicKeyX] = state.accountB.account.publicKey.x;
266-
uOutputs[accountB_PublicKeyY] = state.accountB.account.publicKey.y;
267-
uOutputs[accountB_Nonce] = state.accountB.account.nonce;
264+
uOutputs[TXV_ACCOUNT_B_OWNER] = state.accountB.account.owner;
265+
uOutputs[TXV_ACCOUNT_B_PUBKEY_X] = state.accountB.account.publicKey.x;
266+
uOutputs[TXV_ACCOUNT_B_PUBKEY_Y] = state.accountB.account.publicKey.y;
267+
uOutputs[TXV_ACCOUNT_B_NONCE] = state.accountB.account.nonce;
268268

269-
uOutputs[balanceP_A_Balance] = state.pool.balanceA.balance;
270-
uOutputs[balanceP_B_Balance] = state.pool.balanceB.balance;
269+
uOutputs[TXV_BALANCE_P_A_BALANCE] = state.pool.balanceA.balance;
270+
uOutputs[TXV_BALANCE_P_B_BALANCE] = state.pool.balanceB.balance;
271271

272-
uOutputs[balanceO_A_Balance] = state.oper.balanceA.balance;
273-
uOutputs[balanceO_B_Balance] = state.oper.balanceB.balance;
272+
uOutputs[TXV_BALANCE_O_A_BALANCE] = state.oper.balanceA.balance;
273+
uOutputs[TXV_BALANCE_O_B_BALANCE] = state.oper.balanceB.balance;
274274

275-
uOutputs[hash_A] = state.constants._0;
276-
uOutputs[publicKeyX_A] = state.accountA.account.publicKey.x;
277-
uOutputs[publicKeyY_A] = state.accountA.account.publicKey.y;
278-
uOutputs[signatureRequired_A] = state.constants._1;
275+
uOutputs[TXV_HASH_A] = state.constants._0;
276+
uOutputs[TXV_PUBKEY_X_A] = state.accountA.account.publicKey.x;
277+
uOutputs[TXV_PUBKEY_Y_A] = state.accountA.account.publicKey.y;
278+
uOutputs[TXV_SIGNATURE_REQUIRED_A] = state.constants._1;
279279

280-
uOutputs[hash_B] = state.constants._0;
281-
uOutputs[publicKeyX_B] = state.accountB.account.publicKey.x;
282-
uOutputs[publicKeyY_B] = state.accountB.account.publicKey.y;
283-
uOutputs[signatureRequired_B] = state.constants._1;
280+
uOutputs[TXV_HASH_B] = state.constants._0;
281+
uOutputs[TXV_PUBKEY_X_B] = state.accountB.account.publicKey.x;
282+
uOutputs[TXV_PUBKEY_Y_B] = state.accountB.account.publicKey.y;
283+
uOutputs[TXV_SIGNATURE_REQUIRED_B] = state.constants._1;
284284

285-
uOutputs[misc_NumConditionalTransactions] = state.numConditionalTransactions;
285+
uOutputs[TXV_NUM_CONDITIONAL_TXS] = state.numConditionalTransactions;
286286
}
287287

288288
const VariableT &getOutput(TxVariable txVariable) const

packages/loopring_v3/circuit/Circuits/DepositCircuit.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,17 @@ class DepositCircuit : public BaseTransactionCircuit
6868
FMT(prefix, ".numConditionalTransactionsAfter"))
6969
{
7070
// Update the account balance and index
71-
setArrayOutput(accountA_Address, accountID.bits);
72-
setOutput(accountA_Owner, owner.packed);
73-
setArrayOutput(balanceA_S_Address, tokenID.bits);
74-
setOutput(balanceA_S_Balance, balance_after.result());
71+
setArrayOutput(TXV_ACCOUNT_A_ADDRESS, accountID.bits);
72+
setOutput(TXV_ACCOUNT_A_OWNER, owner.packed);
73+
setArrayOutput(TXV_BALANCE_A_S_ADDRESS, tokenID.bits);
74+
setOutput(TXV_BALANCE_A_S_BALANCE, balance_after.result());
7575

7676
// No singatures needed
77-
setOutput(signatureRequired_A, state.constants._0);
78-
setOutput(signatureRequired_B, state.constants._0);
77+
setOutput(TXV_SIGNATURE_REQUIRED_A, state.constants._0);
78+
setOutput(TXV_SIGNATURE_REQUIRED_B, state.constants._0);
7979

8080
// Increase the number of conditional transactions
81-
setOutput(misc_NumConditionalTransactions, numConditionalTransactionsAfter.result());
81+
setOutput(TXV_NUM_CONDITIONAL_TXS, numConditionalTransactionsAfter.result());
8282
}
8383

8484
void generate_r1cs_witness(const Deposit &deposit)

packages/loopring_v3/circuit/Circuits/NoopCircuit.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ class NoopCircuit : public BaseTransactionCircuit
2525
: BaseTransactionCircuit(pb, state, prefix)
2626
{
2727
// No signatures needed
28-
setOutput(signatureRequired_A, state.constants._0);
29-
setOutput(signatureRequired_B, state.constants._0);
28+
setOutput(TXV_SIGNATURE_REQUIRED_A, state.constants._0);
29+
setOutput(TXV_SIGNATURE_REQUIRED_B, state.constants._0);
3030
}
3131

3232
void generate_r1cs_witness()

packages/loopring_v3/circuit/Circuits/SpotTradeCircuit.h

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -173,36 +173,36 @@ class SpotTradeCircuit : public BaseTransactionCircuit
173173
FMT(prefix, ".protocolFeeB_from_balanceBO_to_balanceBP"))
174174
{
175175
// Set tokens
176-
setArrayOutput(balanceA_S_Address, orderA.tokenS.bits);
177-
setArrayOutput(balanceB_S_Address, orderB.tokenS.bits);
176+
setArrayOutput(TXV_BALANCE_A_S_ADDRESS, orderA.tokenS.bits);
177+
setArrayOutput(TXV_BALANCE_B_S_ADDRESS, orderB.tokenS.bits);
178178

179179
// Update account A
180-
setArrayOutput(storageA_Address, subArray(orderA.storageID.bits, 0, NUM_BITS_STORAGE_ADDRESS));
181-
setOutput(storageA_Data, orderMatching.getFilledAfter_A());
182-
setOutput(storageA_StorageId, orderA.storageID.packed);
183-
setOutput(balanceA_S_Balance, balanceS_A.balance());
184-
setOutput(balanceA_B_Balance, balanceB_A.balance());
185-
setArrayOutput(accountA_Address, orderA.accountID.bits);
180+
setArrayOutput(TXV_STORAGE_A_ADDRESS, subArray(orderA.storageID.bits, 0, NUM_BITS_STORAGE_ADDRESS));
181+
setOutput(TXV_STORAGE_A_DATA, orderMatching.getFilledAfter_A());
182+
setOutput(TXV_STORAGE_A_STORAGEID, orderA.storageID.packed);
183+
setOutput(TXV_BALANCE_A_S_BALANCE, balanceS_A.balance());
184+
setOutput(TXV_BALANCE_A_B_BALANCE, balanceB_A.balance());
185+
setArrayOutput(TXV_ACCOUNT_A_ADDRESS, orderA.accountID.bits);
186186

187187
// Update account B
188-
setArrayOutput(storageB_Address, subArray(orderB.storageID.bits, 0, NUM_BITS_STORAGE_ADDRESS));
189-
setOutput(storageB_Data, orderMatching.getFilledAfter_B());
190-
setOutput(storageB_StorageId, orderB.storageID.packed);
191-
setOutput(balanceB_S_Balance, balanceS_B.balance());
192-
setOutput(balanceB_B_Balance, balanceB_B.balance());
193-
setArrayOutput(accountB_Address, orderB.accountID.bits);
188+
setArrayOutput(TXV_STORAGE_B_ADDRESS, subArray(orderB.storageID.bits, 0, NUM_BITS_STORAGE_ADDRESS));
189+
setOutput(TXV_STORAGE_B_DATA, orderMatching.getFilledAfter_B());
190+
setOutput(TXV_STORAGE_B_STORAGEID, orderB.storageID.packed);
191+
setOutput(TXV_BALANCE_B_S_BALANCE, balanceS_B.balance());
192+
setOutput(TXV_BALANCE_B_B_BALANCE, balanceB_B.balance());
193+
setArrayOutput(TXV_ACCOUNT_B_ADDRESS, orderB.accountID.bits);
194194

195195
// Update balances of the protocol fee pool
196-
setOutput(balanceP_A_Balance, balanceA_P.balance());
197-
setOutput(balanceP_B_Balance, balanceB_P.balance());
196+
setOutput(TXV_BALANCE_P_A_BALANCE, balanceA_P.balance());
197+
setOutput(TXV_BALANCE_P_B_BALANCE, balanceB_P.balance());
198198

199199
// Update the balance of the operator
200-
setOutput(balanceO_A_Balance, balanceA_O.balance());
201-
setOutput(balanceO_B_Balance, balanceB_O.balance());
200+
setOutput(TXV_BALANCE_O_A_BALANCE, balanceA_O.balance());
201+
setOutput(TXV_BALANCE_O_B_BALANCE, balanceB_O.balance());
202202

203203
// A signature is required for each order
204-
setOutput(hash_A, orderA.hash.result());
205-
setOutput(hash_B, orderB.hash.result());
204+
setOutput(TXV_HASH_A, orderA.hash.result());
205+
setOutput(TXV_HASH_B, orderB.hash.result());
206206
}
207207

208208
void generate_r1cs_witness(const SpotTrade &spotTrade)

packages/loopring_v3/circuit/Circuits/TransferCircuit.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -293,41 +293,41 @@ class TransferCircuit : public BaseTransactionCircuit
293293
FMT(prefix, ".numConditionalTransactionsAfter"))
294294
{
295295
// Update the From account
296-
setArrayOutput(accountA_Address, fromAccountID.bits);
296+
setArrayOutput(TXV_ACCOUNT_A_ADDRESS, fromAccountID.bits);
297297

298298
// Set the 2 tokens used
299-
setArrayOutput(balanceA_S_Address, tokenID.bits);
300-
setArrayOutput(balanceB_S_Address, feeTokenID.bits);
299+
setArrayOutput(TXV_BALANCE_A_S_ADDRESS, tokenID.bits);
300+
setArrayOutput(TXV_BALANCE_B_S_ADDRESS, feeTokenID.bits);
301301

302302
// Update the From balances (transfer + fee payment)
303-
setOutput(balanceA_S_Balance, balanceS_A.balance());
304-
setOutput(balanceA_B_Balance, balanceB_A.balance());
303+
setOutput(TXV_BALANCE_A_S_BALANCE, balanceS_A.balance());
304+
setOutput(TXV_BALANCE_A_B_BALANCE, balanceB_A.balance());
305305

306306
// Update the To account
307-
setArrayOutput(accountB_Address, toAccountID.bits);
308-
setOutput(accountB_Owner, to.packed);
307+
setArrayOutput(TXV_ACCOUNT_B_ADDRESS, toAccountID.bits);
308+
setOutput(TXV_ACCOUNT_B_OWNER, to.packed);
309309

310310
// Update the To balance (transfer)
311-
setOutput(balanceB_B_Balance, balanceB_B.balance());
311+
setOutput(TXV_BALANCE_B_B_BALANCE, balanceB_B.balance());
312312

313313
// Update the operator balance for the fee payment
314-
setOutput(balanceO_A_Balance, balanceA_O.balance());
314+
setOutput(TXV_BALANCE_O_A_BALANCE, balanceA_O.balance());
315315

316316
// Verify 2 signatures (one of the payer, one of the dual author)
317-
setOutput(hash_A, hashPayer.result());
318-
setOutput(hash_B, hashDual.result());
319-
setOutput(publicKeyX_B, resolvedDualAuthorX.result());
320-
setOutput(publicKeyY_B, resolvedDualAuthorY.result());
321-
setOutput(signatureRequired_A, needsSignature.result());
322-
setOutput(signatureRequired_B, needsSignature.result());
317+
setOutput(TXV_HASH_A, hashPayer.result());
318+
setOutput(TXV_HASH_B, hashDual.result());
319+
setOutput(TXV_PUBKEY_X_B, resolvedDualAuthorX.result());
320+
setOutput(TXV_PUBKEY_Y_B, resolvedDualAuthorY.result());
321+
setOutput(TXV_SIGNATURE_REQUIRED_A, needsSignature.result());
322+
setOutput(TXV_SIGNATURE_REQUIRED_B, needsSignature.result());
323323

324324
// Increase the number of conditional transactions (if conditional)
325-
setOutput(misc_NumConditionalTransactions, numConditionalTransactionsAfter.result());
325+
setOutput(TXV_NUM_CONDITIONAL_TXS, numConditionalTransactionsAfter.result());
326326

327327
// Nonce
328-
setArrayOutput(storageA_Address, subArray(storageID.bits, 0, NUM_BITS_STORAGE_ADDRESS));
329-
setOutput(storageA_Data, nonce.getData());
330-
setOutput(storageA_StorageId, storageID.packed);
328+
setArrayOutput(TXV_STORAGE_A_ADDRESS, subArray(storageID.bits, 0, NUM_BITS_STORAGE_ADDRESS));
329+
setOutput(TXV_STORAGE_A_DATA, nonce.getData());
330+
setOutput(TXV_STORAGE_A_STORAGEID, storageID.packed);
331331
}
332332

333333
void generate_r1cs_witness(const Transfer &transfer)

0 commit comments

Comments
 (0)