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(discard): add new cell_emitter feature with cell filter feature on and he… #368

Closed
wants to merge 9 commits into from

Conversation

ashuralyk
Copy link
Contributor

@ashuralyk ashuralyk commented Nov 2, 2023

background

Forcerelay should integrate cell-emitter to enable CKB header and cell sync feature

todo list

  • develop cell filter feature
  • develop header sync feature
  • optimize Axon's monitor to test the disconnection of WebSocket
  • optimize CKB's monitor to solve the missing of channel_id while building packet tx
  • test with cell-emitter and Axon

related PRs

need further discussion

Axon seems to change its security assumption on integration of cell-emitter about the header and cell relaying @Flouse

@ashuralyk ashuralyk self-assigned this Nov 3, 2023
@ashuralyk ashuralyk marked this pull request as ready for review November 3, 2023 07:04
@Flouse Flouse requested a review from driftluo November 6, 2023 02:56
@ashuralyk
Copy link
Contributor Author

@Flouse this PR can start to review

| OwnableIBCHandlerEvents::WriteAcknowledgementFilter(_)
ContractEvents::SendPacketFilter(_)
| ContractEvents::WriteAcknowledgementFilter(_)
| ContractEvents::RegisterCellEmitterFilterFilter(_)
Copy link
Contributor

@blckngm blckngm Nov 7, 2023

Choose a reason for hiding this comment

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

  • How and when are these events emitted?
  • What about previously registered filters?
  • What's the significance of storing these filters on chain? (What's the difference with e.g. storing them offchain in a db?)
  • Are all cells that we are interested in guaranteed to be emitted? Are they guaranteed to be emitted before the relavant ibc event is relayed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

here's the answers:

  1. this event filter is set to filter events before starting Axon's monitor
  2. previous filters can be found on-chain though search prior blocks of Axon, but only accept 25000 blocks ago, filters registered before this range cannot be replayed
  3. filters are not stored on chain for current solidity implementation, and I don't suggest to bring off-chain db to relayer, it shouldn't keep status
  4. yes, almost all of cells except AckPacket cell

@ashuralyk ashuralyk marked this pull request as draft November 9, 2023 01:44
@ashuralyk
Copy link
Contributor Author

@jjyr do you know why CI test between two Axon nodes taking so long that killed by Action

@ashuralyk ashuralyk changed the title feat: add new cell_emitter feature with cell filter feature on and he… feat(discard): add new cell_emitter feature with cell filter feature on and he… Nov 13, 2023
@ashuralyk ashuralyk closed this Dec 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants