You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 28, 2022. It is now read-only.
Pointers (i.e. uint256 variables that point to a memory location) must have a Ptr suffix.
Getters must have distinct names, otherwise it's easy to have a collision with the obvious variable name.
// is
let varNameTemp := Class.varName(object)
// should be
let varName := Class.getVarName(object)
// or
let varName := Class.get_varName(object)
"Select" methods are opaque. Should be renamed to something like getFooAtProofIndex().
Names of inputs to provers and verifiers should be consistent. inputProof should be reserved for a transaction proof for an input. For state elements, use something like stateElement.
Pos -> Ptr consistent renaming.
Function names that do an action (e.g. compute something) should have that action in their name.
Use explicit Yul types.
Use . in function names consistently. . should only be used for implicit substructures (e.g. a block in a transaction proof, since Yul+ currently doesn't support that).
Use .. to scope top-level class methods (e.g. Class.method() becomes Class..method()), as a replacement for the usual :: scope operator.
Namespace methods consistently and correctly (e.g. UTXO should not be under TransactionProof).
Change call order for nested functions. May require using multiple return values. Note: major refactor.
// is
Class1.object2.method(object1, in2)
// should be
Class2.method(Class1.object2(object1), in2)
// or
Class2.method(object1, in2)
The text was updated successfully, but these errors were encountered:
uint256
variables that point to a memory location) must have aPtr
suffix.getFooAtProofIndex()
.inputProof
should be reserved for a transaction proof for an input. For state elements, use something likestateElement
..
in function names consistently..
should only be used for implicit substructures (e.g. a block in a transaction proof, since Yul+ currently doesn't support that)...
to scope top-level class methods (e.g.Class.method()
becomesClass..method()
), as a replacement for the usual::
scope operator.UTXO
should not be underTransactionProof
).The text was updated successfully, but these errors were encountered: