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

Feat(standalone): SubmitResult from bridge transactions is available #869

Merged
merged 2 commits into from
Nov 22, 2023

Conversation

birchmd
Copy link
Member

@birchmd birchmd commented Nov 21, 2023

Description

Explorers like Blockscout rely on EVM logs to index certain events such as ERC-20 token transfers/minting/burning. When NEP-141 tokens are bridged to Aurora via ft_on_transfer there are ERC-20 token events that should be produced and indexed by explorers. This PR changes how ft_on_transfer calls are handled to expose the EVM logs generated to the standalone engine, which in turn will make them available to the Refiner and thus also to block explorers.

There will be a follow-up PR in borealis-engine-lib which uses the SubmitResult to include logs in the transactions corresponding to ft_on_transfer.

Performance / NEAR gas cost considerations

N/A no significant changes to contract code

Testing

Existing tests. (A new test will be added to borealis-engine-lib when we do integration there)

@birchmd birchmd added C-enhancement Category: New feature or request A-standalone Area: the standalone engine EVM labels Nov 21, 2023
Copy link
Member

@aleksuss aleksuss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good

engine/src/engine.rs Outdated Show resolved Hide resolved
@birchmd birchmd added this pull request to the merge queue Nov 22, 2023
Merged via the queue into develop with commit 7fff9ff Nov 22, 2023
24 checks passed
@birchmd birchmd deleted the feat/birchmd/evm-logs-for-bridge branch November 22, 2023 15:48
Copy link
Contributor

@karim-en karim-en left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

aleksuss pushed a commit that referenced this pull request Nov 28, 2023
…869)

## Description

Explorers like Blockscout rely on EVM logs to index certain events such
as ERC-20 token transfers/minting/burning. When NEP-141 tokens are
bridged to Aurora via `ft_on_transfer` there are ERC-20 token events
that should be produced and indexed by explorers. This PR changes how
`ft_on_transfer` calls are handled to expose the EVM logs generated to
the standalone engine, which in turn will make them available to the
Refiner and thus also to block explorers.

There will be a follow-up PR in `borealis-engine-lib` which uses the
`SubmitResult` to include logs in the transactions corresponding to
`ft_on_transfer`.

## Performance / NEAR gas cost considerations

N/A no significant changes to contract code

## Testing

Existing tests. (A new test will be added to `borealis-engine-lib` when
we do integration there)
@aleksuss aleksuss mentioned this pull request Nov 28, 2023
aleksuss added a commit that referenced this pull request Nov 28, 2023
## [3.4.0] 2023-11-28

### Additions

- Added a possibility to pass initialize arguments in json format to the
`new` transaction by [@aleksuss]. ([#871])
- The `SubmitResult` was made available for `ft_on_transfer`
transactions in the standalone engine by [@birchmd]. ([#869])
- The order of producing the exit precompile and XCC promises has been
changed to sequential by [@birchmd]. ([#868])

### Changes

- Removed the code hidden behind the feature that isn't used anymore by
[@joshuajbouw]. ([#870])
- The logic of unwrapping wNEAR has been changed to the Bridge's native
by [@birchmd]. ([#867])
- Bumped the `near-workspaces` to 0.9 by [@aleksuss]. ([#862])

### Fixes

- Add a method for upgrading XCC router contract by [@birchmd]. ([#866])
- Fixed a potential panic in the `ExitToNear` precompile by
[@guidovranken]. ([#865])
- Fixed a behaviour when the `ft_transfer` could occur before the
`near_withdraw` by [@birchmd]. ([#864])
- Fixed correctness of reproducing the NEAR runtime random value in the
standalone engine by [@birchmd]. ([#863])

[#862]: #862
[#863]: #863
[#864]: #864
[#865]: #865
[#866]: #866
[#867]: #867
[#868]: #868
[#869]: #869
[#870]: #870
[#871]: #871

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Birch <michael.birch@aurora.dev>
Co-authored-by: Guido Vranken <guidovranken@users.noreply.github.com>
Co-authored-by: Joshua J. Bouw <joshua@aurora.dev>
aleksuss added a commit that referenced this pull request Nov 28, 2023
## [3.4.0] 2023-11-28

### Additions

- Added a possibility to pass initialize arguments in json format to the
`new` transaction by [@aleksuss]. ([#871])
- The `SubmitResult` was made available for `ft_on_transfer`
transactions in the standalone engine by [@birchmd]. ([#869])
- The order of producing the exit precompile and XCC promises has been
changed to sequential by [@birchmd]. ([#868])

### Changes

- Removed the code hidden behind the feature that isn't used anymore by
[@joshuajbouw]. ([#870])
- The logic of unwrapping wNEAR has been changed to the Bridge's native
by [@birchmd]. ([#867])
- Bumped the `near-workspaces` to 0.9 by [@aleksuss]. ([#862])

### Fixes

- Add a method for upgrading XCC router contract by [@birchmd]. ([#866])
- Fixed a potential panic in the `ExitToNear` precompile by
[@guidovranken]. ([#865])
- Fixed a behaviour when the `ft_transfer` could occur before the
`near_withdraw` by [@birchmd]. ([#864])
- Fixed correctness of reproducing the NEAR runtime random value in the
standalone engine by [@birchmd]. ([#863])

[#862]: #862
[#863]: #863
[#864]: #864
[#865]: #865
[#866]: #866
[#867]: #867
[#868]: #868
[#869]: #869
[#870]: #870
[#871]: #871

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Birch <michael.birch@aurora.dev>
Co-authored-by: Guido Vranken <guidovranken@users.noreply.github.com>
Co-authored-by: Joshua J. Bouw <joshua@aurora.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-standalone Area: the standalone engine EVM C-enhancement Category: New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants