@@ -13,7 +13,7 @@ and demonstrate them by listing specific problems that
1313arouse in the existing dApps codebase.
1414
1515Such problems are specific security vulnerabilities of different
16- types. They are still common in development which increases
16+ types. They are still common in development which increases
1717audit and support costs.
1818
1919Also, this document describes how existing solutions
@@ -183,7 +183,7 @@ At least three errors of this kind are known in Cardano/Plutus
183183interval logic, showing that it is not easy to do.
184184
185185Another problem is keeping time logic in sync between on-
186- and off-chain code. This is even harder given that Plutus'
186+ and off-chain code. This is even harder given that Plutus'
187187time-to-slot conversion gets in the way.
188188Slot time differences and overall need to make test cases match
189189real blockchain behavior may lead to flaky test behavior.
@@ -192,7 +192,7 @@ Our script stages abstraction cover all those kinds of problems.
192192
193193### Matching to off-chain logic
194194
195- The problem of duplicating logic between on-chain and off-chain
195+ The problem of duplicating logic between on-chain and off-chain
196196is twofold.
197197Testing is essentially done off-chain, thus, one may easily miss
198198that your on-chain code is not actually enforcing some parts of
@@ -256,7 +256,7 @@ for possible utxo changes.
256256
257257Our project encodes scripts in the form of a deterministic machine,
258258which contains enough information to construct transactions automatically.
259- This also gives a way to check for potential on-chain
259+ This also gives a way to check for potential on-chain
260260vs off-chain logic differences semi-automatically.
261261
262262Examples:
@@ -371,14 +371,14 @@ but only partially covers
371371While it, surely, can do transaction emulation,
372372it, to the best of our knowledge, does not have a monad instance
373373for real L1 blockchain. So one still cannot reuse the same code
374- across tests and real blockchain Tx construction.
374+ across tests and real blockchain transaction construction.
375375
376376` TxSkel ` datatype is similar to the design we are implementing,
377377and other parts of API have a lot of cool DX decisions.
378378But ` cooked-validators ` lack script transition model,
379379so it cannot provide declarative transaction submission error handling
380380we aim to get because it does not have information to decide
381- whether a specific Tx input is critical (like an auth token),
381+ whether a specific transaction input is critical (like an auth token),
382382or can be re-selected again (like coin-selected ADA for payment).
383383
384384Having a declarative transition model is even
@@ -394,7 +394,7 @@ to attack vectors missed by accident.
394394
395395Our API presumes that means of on-chain validation,
396396in our case behavior equivalence (AKA bi-similarity)
397- of a declarative CEM state machine and a real on-chain
397+ of a declarative CEM state machine and a real on-chain
398398script is verified and validated semi-automatically.
399399Also, we plan to make some kind of the vulnerabilities covered by
400400` cooked-validators ` impossible by construction,
0 commit comments