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

Implement aggregation contract #382

Open
bcsainju opened this issue Sep 26, 2024 · 0 comments
Open

Implement aggregation contract #382

bcsainju opened this issue Sep 26, 2024 · 0 comments
Assignees
Labels
iBriz iBriz Filter

Comments

@bcsainju
Copy link
Collaborator

The aggregation contract should be developed and deployed in the icon blockchain.

Its high level functioning will be as:

  • Allow configuration to add multiple relayers for different NIDs
  • Allow relayers to register new event and make sure duplicate doesn't occur on multiple invocations
  • Emit InitialEvent with enough details once any event has been registered
  • Perform check on enough relayers acknowledging any packet and emit transfer ready event once enough relayers have acknowledged
  • cleanups and required state management

The current assumptions from relayer side are as:

Methods:

// register Packets
registerPacket(byte[] data, BigInteger SN, BigInteger height, String source,String destination,String connAddr)

//acknowlede packet
acknowledgePacket(String source,BigInteger SN,byte[] signedBytes)

//retrieve signature for a packet
byte[][] getSignature(String source,BigInteger SN)

Events:

PacketAcknowledged(BigInteger SN, String source, BigInteger height,byte[] data,String destination)

TransactionReadyToExecute(String destination,BigInteger SN,byte[] data,String source,String connAddr)
@bcsainju bcsainju added the iBriz iBriz Filter label Sep 26, 2024
@bcsainju bcsainju added this to the Relayer Security milestone Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
iBriz iBriz Filter
Projects
None yet
Development

No branches or pull requests

2 participants