Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Action Fix #1906

Open
wants to merge 47 commits into
base: base
Choose a base branch
from
Open

Action Fix #1906

wants to merge 47 commits into from

Conversation

agureev
Copy link
Contributor

@agureev agureev commented Feb 24, 2025

No description provided.

agureev and others added 30 commits November 14, 2024 17:51
…to origin/artem/ro-correct

* apps/anoma_lib/lib/examples/enock.ex:
Storage now has `current_time` functionality to get the uncommitted
height at the time of the call.
Replace a debug read backend with a proper read only transaction
backend with following semantics:

1) RO Txs get launched directly through the executor
2) RO Txs only read and never write anything.
3) RO Txs get executed in the VM same any other transaction candidate.
4) RO Txs send the result of vm execution directly to the specified sender.
5) RO Txs read at most recent height
6) RO Txs other than the message specified in (4) do not send any
other messages
If no transaction candidate ID is provided to the launch function of
the Executor, generate a random ID using the same methodology as the Mempool.
All transactions should be launched with randomized IDs.
Implement an initial client storage.
Changes TRM types for getting rid of lists.
Currently the storage allows only for direct reads at a time. However,
that will allow for impure behavior during scry evaluation. We
mitigate this similarly to the Node NockmaVM, namely accompanying the
keys to read with IDs which are stored in local tables.
As all 12 calls should query storage, we should assume we are querying
the keyspaces.
Previously, no scry function was provided for the prove
evaluation. Now, we provide a scry function which checks whether a key
is stored in client storage and if not, sends a read-only request to
the node.

Finally, if the resulting noun is a transaction, we store all app data
marked for storage in the appropriate format.
Create a fixed-size interface for all integers for the TRM. That is,
we see each integer in the system as an element of an enormously
large field. Hence we provide an API to get the size of such a field.
The delta hash map for the TRM is a integer value of the jam of the
underlying delta map, i.e. a map from a kind to its quntity.
The commitment accumulator for us is a set in TRM. Its root value is
an integer value of its jam (after presenting the set in the noun format)

cm acc
Create resource interface with the usual setup. Commitments/Nullifiers are now
integers due to discussions re finite fields.
Create a compliance proving system interface. Keys are chosen to be
the jam of the logic value of the appropriate jet to be written, which
jets exactly to the verify jet function.
Create a resource logic proving system interface. Keys are determined
by the resource to be verified.
Create a delta proving system interface. Keys are chosen to be
the jam of the logic value of the appropriate jet to be written, which
jets exactly to the verify jet function.
Create TRM Compliance Unit Interface. Practically simple field access
and Proving System API use provided.
Create transparent action proving interface.
@agureev agureev added the bug Something isn't working label Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Triage
Development

Successfully merging this pull request may close these issues.

2 participants