Open JoelVR17 opened 1 day ago
Hello sir! Here Luis from Dojo Coding! I would like to work on this issue, I have experience with the stellar ecosystem with a previous contribution to the Basic Payment App Project, and have contributed to similar projects involving testing and smart contracts. I understand the requirements, including handling escrow logic, fees, and validations.
Could you assign this to me? Thank you!
Hi, My name is Kevin Obando, a full stack junior developer with 2 years of experience from Costa Rica. I am starting in this community and I want to help in this project.
I would love to take on this
Can I take care of this issue?
I'd be happy to do this.
i will follow through the project description guide and implement claim escrow functionality. ETA <=2days
May I be assigned to this?
Hi, I am koxy.
I am applying through OnlyDust to contribute to this project. I am an active contributor to the Stellar ecosystem and run a video series called Let's Get Soroban to teach developers about Soroban smart contracts. You can view my work here: Let's Get Soroban - YouTube.
I can update the claim_escrow_earnings
function to:
I will also write tests to confirm the flow works correctly, including commission deductions and payouts to the service provider.
Looking forward to contributing to this project. This version is direct and easy to read while covering all the essential points.
This issue is for you @jimenezz22 ! 🚀 Remember to follow all the guidelines, both the ones inside the repository and the guideline to perform the PR.
Many thanks to all the other dev's who sent in their application. 🔥
You must apply through OnlyDust. If not, you'll be ignored
Issue - Update “claim_escrow_earnings” function.
Description:
You need to update the “claim_escrow_earnings” function of the contract. This function ensures that the service provider gets the rewards for completing the escrow.
Requirements:
The function must receive the following parameters:
Note: Feel free to add more parameters to the function if necessary.
Validations:
Errors:
We currently have a number of custom errors which we throw when executing some of the contract functions. An example of the above would be the following:
You only need to worry about throwing the error message, you don't need to handle custom errors. So if you need to return an error within the flow due to one of the validations, you can do it as follows:
You must make sure that the message you are sending as an error is very clear and makes sense as to why the error is being sent.
Tests:
In the test.rs file you must develop the following test to check that the contract flow works correctly together with the function you have just built:
You can rely on the previously created tests to complete your test. The important thing is that you succeed in testing your code and that it works well in conjunction with the entire contract flow which is explained in the list above. Also, please note that you should not create a test for each of the items in the above list. This list indicates with each of its items the flow that must contain the only test that you must create to verify that the code you made works. You can also create more than 1 test if necessary, but if you do, you must justify why.
⚠️ Important: Please define a clear name for the test so that the purpose of the test is clearly understood.
This is an example of how to initialize our test token in our test.rs file:
To run the test you have just created you can use the command
cargo test
.Recommendation:
Stellar people have in their discord a channel called “stella-help”, in that channel you can ask your technical questions about Stellar and its libraries (including the “soroban_sdk” library we use in the contract). This bot can help you a lot to solve your issues. Just remember that before submitting your query you must add the word “stella” at the beginning of the query. Otherwise the bot will not answer you. The Stellar discord where you can find this channel is the following: Stellar Discord
⚠️ Please follow the guidelines for requesting an issue, launching commits and describing PR's. Otherwise they will be ignored. ⚠️