PinchiDev / wallet-monitor

Monitor your wallets as prometheus metrics
0 stars 0 forks source link

CosmWasm support for wallet-monitor #2

Closed PinchiDev closed 22 hours ago

PinchiDev commented 1 year ago

Implementing Support for CosmWasm Blockchains

Project Description

This project aims to implement support for CosmWasm blockchains within Xlabs wallet-monitor library. This library facilitates the monitoring of balances across multiple wallets in various blockchains. In addition, to balance monitoring, the library will export these balances as Prometheus metrics and execute rebalancing strategies between wallets.

Tasks

Get Development Environment in a Working State

Get Testing Logic and Capacities in Place

Create the "CosmWasmWalletToolbox" class extending the "WalletToolbox" class in a new wallets file

Create a new balances file to implement the respective auxiliary functions

Implement Logic for Pulling Native Balance

Implement Logic for Pulling Token Balance

Implement Logic for Pulling Token Data

Implement Logic for Getting a Public Address from a private key

Implement Logic for Transferring Native Balance

Write Project Wrap-up and Plan Next Steps

Contributing

Please feel free to comment on this issue, this is a work in progress from a developer in progress so any contributions are welcome.


The implementation of this project will be pivotal in providing comprehensive support for the emerging technology of CosmWasm blockchains. It will not only facilitate the seamless monitoring of wallet balances but also allow the execution of complex balancing strategies. Feel free to join the development!.

nunyvega commented 1 year ago

@PinchiDev acordate de ir comentando lo que haces en cada paso, las piedras que te encontrás, como las zafás, etc. Pingueanos con las cosas con las que necesites ayuda, subí screenshots, tus pasos. Es en ese lugar donde se encuentra el valor de esto.

We're here to give you support and help you become a power ranger.

solanoepalacio commented 1 year ago

Thanks so much for helping out guys! you are awesome! these are exactly the steps you need to follow :heart:

solanoepalacio commented 1 year ago

I would really appreciate taking this issue to the actual wallet monitor. It would be great to use it as a template in the repo. This way it would be easy for anyone who needs to add support for a chain they want to monitor :muscle:

PinchiDev commented 1 year ago

@solanoepalacio Great!, I will try to improve it further so we can take it to the main repro.

nunyvega commented 1 year ago

@PinchiDev, great job on your progress so far! As you continue your coding journey, I'd like to provide some recommendations. It's always beneficial to lean towards over-communication rather than under-communication. Here are some concise steps that will help you move forward efficiently and iteratively:

Remember, iterative progress is key. Taking small, meaningful steps will ensure you build a solid foundation. Keep up the good work!

nunyvega commented 1 year ago

Here's a template that you can use as guidance to create your PR description:


Description:

Briefly describe the changes introduced by this PR. This section should clearly express the rationale and motivation behind the changes, any related issues (like the issue used to track your progress), and the impact of the changes.

[Provide a concise summary of the changes in this PR.]

One good advice about descriptions in PRs that I got when I was starting to code was to think about the phrase "If this PR is merged, it will ....." and only adding the part in the dots.


Testing Steps:

  1. Preconditions:

    • [ ] List any setup or precondition required for testing.
    • [ ] Are there any dependencies or services that need to be running? (like a Keplr wallet)
  2. Procedure:
    Detail the exact steps to validate the changes. These steps should allow any person to replicate the testing process.

    1. Navigate to ...
    2. Click on ...
    3. Observe ...
  3. Expected Outcome:
    Describe the expected behavior or result after following the testing steps. E.g., "After clicking on the button, the modal should appear with the user's information."


Additional Information:

Include any additional information, like dependencies introduced, any breaking changes, screenshots or GIFs (if they provide value), and anything else that's relevant.


You can customize it further based on your needs.

PinchiDev commented 1 year ago

Thanx folks for all the feedback and disposition for helping a new developer

Based on the previous discussion on this issue I moved this issue to the main repo and I will continue working there. https://github.com/XLabs/wallet-monitor/issues/93

@nunyvega I marked as completed the first two items on the list of recommended next tasks. I will continue tackling them in the main repo.