Skip to content

[EPIC] Implement RelayerHelper contract #424

Open
1 of 1 issue completed
Open
1 of 1 issue completed
@srdtrk

Description

@srdtrk

Summary

Right now, the size of ICS26Router nearly exceeds the allowed limits. We can reduce the size of the contract by breaking some of its functionalities into a RelayerHelper contract while also improving the relayer experience.

This pattern would also allows us to implement callbacks and other convenience features such as multipass in a non-invasive and gas safe manner.

Problem Definition

The current size of ICS26Router makes it impossible to add new features to it, such as relayer whitelisting in #376. This is partially due to a lot of convenience functions and queries having been placed in ICS26Router.

Use cases

We can immediately move the following functions into the relayer helper:

  • Multicall
  • convinience queries such as:
    • isPacketReceived
    • isPacketReceiveSuccessful
    • queryPacketReceipt
    • queryPacketCommitment
    • queryAckCommitment
  • Relayer whitelisting

We should also add the following items for better DX overall:

  • Multipass (multicall without fully reverting the tx)
  • Relayer gas limits and protections
  • callbacks

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
  • Estimate provided

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicLarge body of work towards a product featuresolidityIssues related to the solidity contracts

    Type

    No type

    Projects

    • Status

      In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions