-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Grant Application: Roloi - XCM Payment Automation #1857
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the application. Here is some quick feedback:
- the image linked in your application currently doesn't work for me.
- Usually, for UI-focused milestones, we ask teams to already provide some mock-ups or initial designs
- I would recommend mostly focusing on the software that you need to develop as part of the project and not so much any specific parachain or token. For us, it's usually sufficient if we are able to test it on a local chain. We need to be as objective as possible when it comes to certain parachains.
@Noc2 Thanks for the feedback! We'll work on improving that and get back to you with our updated application. Thanks! |
- Fixed image - Updated technical details section to better describe the current process - Added a new "Our solution" section to describe our generic software solution - Added a new "Wireframes" section to display our UI initial wireframes
Hi @Noc2! We updated our application:
Thanks again for your useful feedback! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @pcorrado-np thanks for the changes. Looks good and it's cool to see you partnering with Oak after your previous grant. Excited to more on-chain automation tools like this. I'm happy to go ahead with it. I will mark it as ready for review and ping the rest of the committee.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the very quick reply here and the update. I'm also happy to go ahead with it.
Hi @Noc2 @keeganquigley! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pcorrado-np thank you for the application. I think the scope of the grant interesting, however the price charged is very high. The wireframes presented has 5 pages and the price for develop them (M1) is almost 42k. Furthermore, M2 scope is to develop a smart contract, which probably you already have part of it developed in the previous grant or because of the kind of business NeoPower runs. Adding XCM to it should not be a big deal, and the price to do it is 28k. Could you consider going for a level 2 grant?
Hello @dsm-w3f, thank you for taking the time to review our application. We truly appreciate your feedback and understand your concern regarding the pricing. Regarding Milestone 1, the main value of the proposal is about the Typescript logic, React hooks, and code encapsulation to ensure seamless integration with XCM in a generic way. Additionally, our proposal includes the development of the pages to create proxy accounts in a straight-forward way from both the developer and user perspective. What takes most of the estimation and effort in this milestone is the development of fully-typed reusable code for other teams. Regarding Milestone 2, we don’t have an existing smart contract that does this. Our previous grant last year was about token streaming, and we don’t have any other smart contracts developed for Roloi so far. This development would be completely new to enable on-chain recurring transactions and integrate Kusama chains. This is important for our project because it requires robust testing since the canary DApp will interact with actual money. From our experience while learning and teaching the Polkadot tech stack, we made sure that the estimations are accurate considering documentation, design, development, peer reviews, and testing. We firmly believe that the tools developed through this grant will not only be valuable to our own product, to bring on-chain payment automation, but will also be beneficial to numerous other teams in the ecosystem. As part of our commitment to the community, we will actively share this in the various developers' communities we are engaged with, specifically in LATAM. We appreciate the opportunity to apply for this grant, and we remain open to further discussions or clarifications if needed. Thank you for your consideration, and we look forward to your response. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pcorrado-np thank you for the answer. Although your argumentation is valid, I still think it does not justify the price charged. For this reason, I won't approve this application. The other members of the committee can have a different opinion on that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since I haven't used OAK before, I'm not aware how recurring transactions are created and how much of this workflow can be automated away. It seems to me that the creation manual top-up would still be necessary. If I'm reading this correct, you want to build a smart contract to simplify managing recurring payments and a UI to simplify the setup. Is that correct?
|
||
Creating products using XCM implies a complex journey today. Here is an example between Astar and OAK: | ||
|
||
![W3F Grant - XCM Payment Automation](https://i.imgur.com/lrjifU5.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you provide another image that would show how the workflow would be with smart contract? Who would be paying the fees for the recurring transactions, and how? Would the smart contract manage the fees per user?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow diagram generically shows the communication between an origin chain and OAK to enable recurring tasks, and the extrinsic can be any type of task. In our case, will be a smart contract transaction. Internally, the contract will validate the execution and trigger the configured transfer.
As for the fees, the idea is for users to top up the proxy accounts based on the defined recurrence settings.
On the UI side, we can simulate and estimate the fees of XCM and smart contract transactions to cover an approximate number of recurring repetitions. Then we’ll suggest to the user a concrete number of tokens to transfer to the proxy account to cover fees.
We’ll also use these estimation calculations on the UI to alert the user when they are running out of funds to pay the fees, so they can recharge the proxy account.
Hi, @semuelle. Thank you so much for the review! OAK recurrently triggers XCM transactions to the origin chain according to the previously received recurring settings. At the origin chain side, a proxy account takes the transaction that includes the encoded extrinsic to be executed (in this case, the extrinsic will be a smart contract transaction). The creation and funding of proxy accounts will be integrated into the configuration of the recurring settings and will be simplified for the user with the UI. And you are right:
Thanks again for your time! We’ll stay tuned. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the replies, @pcorrado-np. A couple more questions:
- Could you integrate the wireframes directly into the application document? Otherwise they will soon be lost.
- The wireframes show a list of "incoming" payments. Incoming where? How does that work? I assumed the list would be showing the payments set up in the smart contract.
- Using a smart contract to communicate with a pallet seems a bit... redundant. Wouldn't this architecture be possible by directly interacting with the pallet?
Hi, @semuelle. Thanks again for your questions. We really appreciate the feedback to improve our application.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick reply, @pcorrado-np. I kind of agree with Diogo that it's a fairly high price. However, I would like for this project to become the basis for many other use cases and I trust that you make it as modular and generic as you say.
Perhaps you could add a tutorial for a second use case, e.g. how to modify the smart contract to allow token transfers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pcorrado-np thanks for the follow-up comments.
About our team, we are only describing our core team on the proposal. But for the FTE we are also considering designers, engineers and testers that work with us.
Keep in mind that our program is tailored to support software development efforts, but not design efforts. Also, if there are more software engineers on your team, you're supposed to list them as well. Quote from our README:
You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine for past activity and code quality.
Apart from that, I still believe it's too expensive.
b690302
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read and hereby sign the Contributor License Agreement. |
Hi @dsm-w3f @takahser @Noc2 @semuelle @keeganquigley, Thank you all for your valuable feedback. We've decided to lower the proposal's price by removing 1 FTE for each milestone. We are looking forward to starting working on this project. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pcorrado-np thanks for the update and lowering the price. However, I still believe a level 2 grant would be more appropriate.
Also, could you expand on the relationship between this proposal and the one you submitted to the OAK grants program?
Hi @takahser, thank you for your feedback! Thank you for pointing out that proposal. It had a smaller scope dedicated to OAK to reduce the complexity of the proxy account configuration. It didn't include XCM tooling. We had no further responses from the team so we decided to close that old proposal and build a project that's focused on simplifying the development experience with XCM to be used with any parachain. Thanks! |
Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions. |
To keep you informed about the status: We are making significant progress with the Milestone 1. We’ll keep track of the status through this PR. Thank you for your support! |
Hi @pcorrado-np how is milestone 2 coming alone? |
Hi @keeganquigley, It's taking longer than expected but we are making progress with the features. Sorry for the delay and not reporting that. We hope to deliver the second milestone the week of February 5. We'll keep you touched. |
Hi @keeganquigley! Status update: Thanks for your patience! |
Sounds good @pcorrado-np thanks for the update, much appreciated! |
* Grant Application: Roloi - XCM Payment Automation * Modify application - Fixed image - Updated technical details section to better describe the current process - Added a new "Our solution" section to describe our generic software solution - Added a new "Wireframes" section to display our UI initial wireframes * Modify application: Wireframe image in document * Modify Application: Technical details
Project Abstract
Our project enables the automation of ink! smart contract transactions in a recurring way. Using XCM, we can schedule transactions on Shiden (Astar) with the assistance of Turing's (OAK) functionalities.
We will deliver a generic project as a public good that teams can use to automate cross-chain transactions:
Grant level
Application Checklist
roloi-xcm-payment-automation.md
).@_______:matrix.org
(change the homeserver if you use a different one)