Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
327 stars 207 forks source link

transaction oracle invitations #10478

Closed turadg closed 1 week ago

turadg commented 1 week ago

refs: #10457

Description

Adds access privileges for the transaction feed oracles. Accounts can be invited to be an oracle. The offer result is a kit that contains direct powers and an invitationMakers property for use through the smart-wallet.

Includes tests of executing invitations and disabling oracles. This PR doesn't close the issue because there is still the matter of combining oracle results. I plan to have more thorough tests in or after that PR.

Security Considerations

provides an invitation to be an oracle to the transaction feed. These will eventually be tradable but aren't presently.

Scaling Considerations

This hacks the semantics of continuing offers a bit by performing the request in the invitation making function, instead of in the course of the offer. It adds a defineNoopInvitation helper to explain this. It's not ideal but the pragmatic path for now (decision record with rationale).

Documentation Considerations

Adds a README with the basic sequence of how the oracles work with the contract

Testing Considerations

More tests coming in other PRs. Some scheduled issues are specifically about testing.

Upgrade Considerations

Not yet live but everything here is meant to be upgradable.

cloudflare-workers-and-pages[bot] commented 1 week ago

Deploying agoric-sdk with  Cloudflare Pages  Cloudflare Pages

Latest commit: 8f4a66d
Status: ✅  Deploy successful!
Preview URL: https://fc681d8c.agoric-sdk.pages.dev
Branch Preview URL: https://10457-feed-access.agoric-sdk.pages.dev

View logs

dckc commented 1 week ago

These will eventually be tradable but aren't presently.

It's clear to me that they may eventually be tradable. Do we have existing plans or requirements to actually do so?

Tradable invitations would only have trade value if, rather than a record of having submitted evidence, they are a right to submit evidence, yes? That is: they would have a different description?