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

Native Contract for Routing Txs - Lock txs #2864

Open
vncoelho opened this issue Jun 2, 2023 · 1 comment
Open

Native Contract for Routing Txs - Lock txs #2864

vncoelho opened this issue Jun 2, 2023 · 1 comment
Labels
Discussion Initial issue state - proposed but not yet accepted

Comments

@vncoelho
Copy link
Member

vncoelho commented Jun 2, 2023

Summary or problem description

1- There is a PR opened for conflicts #2818
It introduces a feature almost pure based on layer 1 level, the mempool.
This extra feature also requires extra security and more sophisticated mechanisms.

2 - Some time ago I also remember @shargon started some discussion regarding locks for TXs. (please link this issue/discussion here if it is relevant)

Do you have any solution you want to propose?
Perhaps a good way to deal with such demands would be a Native Contract focused on routing txs.
This contract will have give some extra possibilities, such as:

  • Allow user to send a tx that waits some couple of blocks to be processed and automatically included in some specific block, without the need to worry because it would be already on-chain.
  • Allowing users to add conflict to a tx. Tx will stay on routing contract for a certain period (thus, it could be replaced, merged, among others...)
  • This contract could even handle something connected with the proposed notary service Add a notary service #2646

With these basic features we are able to do a similar scenario of what we could do on the mempool itself.
Maybe a tx that has been signed should be processed on-chain. There should not be errors on that, as well as not a hurry on trying to replace it.
A correctly designed native contract will gracefully handle several needs we current have.

Neo Version

  • Neo 3
@vncoelho vncoelho added the Discussion Initial issue state - proposed but not yet accepted label Jun 2, 2023
@roman-khimov
Copy link
Contributor

Going via the contract always means adding a delay and processing overhead (including paying additional fees). Both #1573 and #1991 work in sub-block time. In most of the cases it's a very nice property to have. Like the "real-time" oracle that @Liaojinghui wants to build could easily be done on top of the Notary subsystem.

Another thing is that currently we can't add a proper transaction into some (next) block from a contract. And likely this won't be easy either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Initial issue state - proposed but not yet accepted
Projects
None yet
Development

No branches or pull requests

2 participants