Atom Accelerator DAO (AADAO) Grant Announcement Card - in Blank
Team: Ahmed Hadjeres
Amount Asked: $180,000
Status: Rejected

Split Payment Functionality

This page's content is auto-generated from the grant application based on the content the applicant gave consent to share. Since this application is still pending review or was rejected, the Atom Accelerator DAO is not endorsing or otherwise indicating support for this project. This page has been made public as part of our commitment to transparency

Technical Solution

Our proposed solution involves creating a new module on the Cosmos Hub that interacts with the existing bank module. This module will provide an interface for users to create split payment transactions, specifying the amounts and recipients. Upon submission, the module will validate the inputs and execute the payments to the specified recipients.

The implementation will utilize the IBC protocol to enable cross-chain transactions, allowing users to send split payments between different Cosmos zones and other IBC-enabled chains seamlessly. Additionally, the solution will use Tendermint as the consensus engine, Cosmos SDK for module development, and REST API endpoint for programmatically creating split payments.

New Split Payment ModuleTo implement the split payment feature on the Cosmos Hub, a new custom module needs to be developed. This module will be responsible for processing split payment transactions and interacting with other modules, such as the bank module, to execute the transfers.

The new split payment module should include the following components:

  • A message type for initiating split payment transactions, including fields for specifying the amounts and recipients.A handler for processing split payment messages and executing the necessary logic, such as validating inputs and interacting with the bank module to transfer funds.
  • A keeper for managing any necessary state changes or data storage related to split payments.

Interaction with the Bank Module

The bank module is a built-in component of the Cosmos SDK that manages token transfers between accounts. The new split payment module will interact with the bank module to execute transfers to multiple recipients as part of a single transaction.When a split payment transaction is submitted, the handler in the split payment module will parse the transaction data and validate the inputs. If the inputs are valid, the handler will loop through the specified recipients and amounts, calling the bank module’s “Send” function for each transfer. The bank module will then update the respective account balances accordingly.

Leveraging the IBC Protocol for Cross-Chain TransactionsTo enable cross-chain transactions for split payments, the Inter-Blockchain Communication (IBC) protocol will be utilized. The IBC protocol is designed to facilitate communication and asset transfers between different blockchain networks, allowing for seamless token transfers and data exchange between Cosmos zones and other IBC-enabled chains.

The split payment module should be designed to detect when a recipient is on another chain and use the IBC protocol to transfer funds accordingly. This may involve creating a custom IBC packet type for split payments and implementing the necessary logic for processing these packets in both the sending and receiving chains.Integration with Tendermint and REST APITendermint, the Byzantine Fault Tolerant consensus engine used by the Cosmos Hub, will be responsible for validating split payment transactions and adding them to the blockchain.

The split payment module will leverage the existing infrastructure provided by Tendermint and the Cosmos SDK to ensure secure and reliable transaction processing.Additionally, a REST API endpoint should be created for the split payment module to allow users and developers to programmatically initiate split payment transactions. This can be achieved using the Cosmos SDK’s built-in support for creating custom REST API endpoints for blockchain modules.In summary, implementing a split payment feature on the Cosmos Hub involves developing a new module using the Cosmos SDK, interacting with the existing bank module for token transfers, leveraging the IBC protocol for cross-chain transactions, and integrating with Tendermint for consensus and the REST API for programmable access.

By combining these components, a robust and efficient split payment solution can be created to enhance the capabilities and user experience of the Cosmos Hub.

Team: Ahmed Hadjeres
Current Status: Rejected
Funding Program: Regular Grants
Funding Category: Infra & Tooling

Amount Requested: Amount in their initial application, or for RFPs, their first quote or that of the nearest competitor $180,000

Date Applied: Mar 23, 2023
Date Rejected: Generally includes time spent doing interviews, rescoping or amending the application, and due diligence Apr 12, 2023 (2 weeks)

Latest Approved Funding

Venture Investment 3
In Progress

Venture Investment 3

Team: [to be announced]
Agreed: Aug 28, 2024
Invested: $100,000
DRIP Module
In Progress

DRIP Module

Team: Daniel Harapko
Approved: Aug 28, 2024
Amount: $246,154
ATOM Hacker House – Barcelona 2024
In Progress

ATOM Hacker House – Barcelona 2024

Team: Web3Family
Approved: Aug 23, 2024
Amount: $40,000
Drops: Cosmos Hub User Engagement Campaign
In Progress

Drops: Cosmos Hub User Engagement Campaign

Team: Drops
Approved: Aug 16, 2024
Amount: $7,500