This software's intent is to automate all activities related to manage Axie Infinity Scholars. It is specially aimed to mangers with large scholar roasters.

Overview

Axie Scholars Utilities

Build Status Docker Image

This software's intent is to automate all activities related to manage Scholars. It is specially aimed to mangers with large scholar roasters. I will try to automate some of the tasks like payments to scholars, QR generation and SLP claiming. I am also very open to new ideas, so please leave them in Issues.

Payments Utility

This utility to help with payments for Axie Infinity managers who have large scholar roasters. It requires a JSON input like:

{
    "Manager": "ronin:<Manager address here>",
    "Scholars":[
        {
            "Name": "Scholar 1",
            "AccountAddress": "ronin:<account_address>",
            "ScholarPayoutAddress": "ronin:<scholar_address>",
            "ScholarPayout": 10,
            "TrainerPayoutAddress": "ronin:<trainer_address>",
            "TrainerPayout": 1,
            "ManagerPayout": 9
        },
        {...},
        ...
    ],
    "Donations": [
        {
            "Name": "Entity 1",
            "AccountAddress": "ronin:<donation_entity_address>",
            "Percent": 0.01
        },
        {
            ...
        }
    ]
}

Let us define the concepts in that file.

  • Manager: There we input the "manager's" ronin address. This means all manager payments will be paid to that address.
  • Scholars: This is the list of all scholar accounts we need to make payments to each element in this list contains:
    • Name: Name of this account, it is only for identification purposes.
    • Account Address: Public ronin address of this scholar account.
    • Scholar Payout Address: Scholar's ronin address. This is where we will pay the scholar.
    • Scholar Payout: This is the amount of SLP we will pay to the scholar
    • Trainer Payout Address: This is an optional parameter. It is the public ronin address of the trainer (otherwise known as investor) for this particular scholar account.
    • Trainer Payout: If previous parameter is present, this is the amount of SLP it will be paid to that address.
    • Manager Payout: This is the amount of SLP that will be transferred to the manager account.
  • Donations: Optional list of donations, in case you want to support other projects sharing with them part of your earnings. This percent will be calculated from the Manager Payout and rounded. Donations to me do NOT go in this place, they are in the code itself! If any donations or the fee does not reach a minumum of 1 SLP it will not be paid out.
    • Name: Name of the entity you want to donate to. This is only for identification purposes.
    • Account Address: Public ronin address of the entity or project you want to donate to.
    • Percent: Percent you want to donate to that entity. Caution! Be aware that to donate 1% you need to input: 0.01. If you write a 1, you would be donating 100% of your manager payments! Total percent of all donations added cannot be over 1 (100%). If that is the case, the software will throw an error and ask you to correct it.

WARNING! All addresses in the previous file are the PUBLIC ones. Remember to always keep your private ones safe.

Also, to note, this software will not calculate how much you pay (except for donations and the fee), as the input file it expects has the amounts already.

This next bit is why we need you to run this software locally. And that reason is the private keys for the scholar accounts. To do the payments we need them, but of course you do NOT share that with anyone. All this software will do is read those from a file and use them for payments, but none other than you will have access to those keys.

This configuration file will be in the form of:

{
    <AccountAddressRonin>:<PrivateKey>,
    ...
}

Command looks like:

axie_scholar_cli.py payout <payments_file> <secrets_file>

This means you need to provide the path to a payments_file and to secrets_file. After that, just follow instructions in the terminal to complete payouts. It will ask for confirmation for each account.

CAUTION! In order to be able to do transactions, the sending ronin account (in this case the Scholars Account ronin Addresses) will need to be registered on the Axie marketplace. (If you want to use this tool they should already be, but just in case!)

Generate Secrets Utility

This utility helps you generate and make sure your secrets file will hold all the needed private keys to execute the payments. That is why it will ask for a payments file and optionally an already created secrets file. Even if you have a generated secrets file, I recommend running this utility for the sake of making sure you have all the needed secrets. Do not worry if you do not, but that will prevent your payouts to be executed and you will need to edit the secrets file anyway.

Command looks like:

axie_scholar_cli.py generate_secrets <payments_file> [<secrets_file>]

This means it needs a payments_file path and optionally a secrets_file path. Do not provide a secrets_file path if you do not have a valid secrets json previously created. Command will simply generate and save a json called secrets.json on the current folder.

GIF example:

  • without Docker:

    asciicast

  • with Docker: asciicast

Example Files

Please go to the folder sample_data to see sample files for how the payments file and the secrets file need to look like.

How to install and run?

CLI (Command Line Interface)

To run my tool you will need Python3 (the language it is written in) to be installed on your machine. Please do look up how to install it if you get stuck, but here there go a brief explanation on how to do so.

Windows Installation

  1. Go to the Official Python Webiste and download python3. I personally run Python 3.8.2 in my development machine, but this should work in any 3.8 or higher version. (Maybe any version from 3.6?? -- If you decide to go with those versions and have issues, please do report and I will try and fix them)

  2. During installation, just follow the installer instructions but remmember to tick the box on the 1st window that says "Add Python 3.9 to PATH". If you do no do that, you will need to remmember the full path of where you have Python installed everytime you want to execute it (which is annoying!). By just ticking that you will have a nicer way to call python just using its name "python".

  3. Install Poetry. We could use the standard PIP package manager for Python, but I like Poetry more as it fixes the versions down in a better way. To do so you need to open your Powershell and execute:

     (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
    
  4. Now it is time to download my code, there are multiple ways:

    • Use git. This is a method I would only recommend if you are already familiar with git. So you know, clone away this repo ;)
    • Go to releases and download the latest one. Currently v0.1. Then just Unzip it somewhere in your computer.
  5. Wherever you have my code in your computer you will need to navigate using your Powershell or Terminal to axie-scholar-utilities/source. If you are not comfortable with a terminal, you can just navigate using the file explorer, right click the folder, go to properties and copy the full path or location. It will be something like C:\Users\<myUser>\Documents\axie-scholar-utilitiesv0.1\axie-scholar-utilities\source. With that, just open your power shell and execute (change the path to the folder location in YOUR computer):

     cd C:\Users\<myUser>\Documents\axie-scholar-utilitiesv0.1\axie-scholar-utilities\source
    
  6. Now, given you have Python and Poetry installed execute the following command to install all the extra dependencies you need:

     poetry install
    
  7. You are ready to go! To run the CLI program, you will just need to execute any of the following commands:

     # This one will execute the payouts
     poetry run python axie_scholar_cli.py payout <payments_file>
     <secrets_file>
    
     # This one will help you generate the secrets file
     poetry run axie_scholar_cli.py generate_secrets <payments_file>
    
     # If you give the previous one the location of a generated secrets file, it will update it if needed!
     poetry run axie_scholar_cli.py generate_secrets <payments_file> <secrets_file>
    

For the last step, modify the <payments_file> and <secrets_file> with the location of your JSON files. If they are in the same folder, just giving the name of the file .json will be enough. If they are in another folder, give the full location. To find that, use the Properties tip from step 5.

Any issues in any step, please contact me but sometimes a quick google search or reading the pages I linked above should solve 90% of your problems. Again, I am happy to asist you, so leave an issue here in Github, send me an email or for a faster contact join my Discord


MacOs Installation

  1. As a pre-requisite you need to have Xcode. Just get it from the Apple appstore. Find it here

  2. Now we can move on to installing python3. The easiest way is with Homebrew. To install it just run on the terminal:

     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  3. Once you have Homebrew installed, to get python3, just run:

     brew install python3
    
  4. Add python to your PATH. This can be a bit tricky but you need to open the file (or create it). ~/.bash_profile. Go to the bottom of it and add the line:

     export PATH="/usr/local/opt/python/libexec/bin:$PATH"
     # or this line if you have OS X 10.12 (Sierra or older)
     export PATH=/usr/local/bin:/usr/local/sbin:$PATH
    
  5. Once you have done that, close your terminal and open it again. (So it refreshes and you trully have python in your path). If you want to check you have done it properly you can run this command and check the Path you added in step 3 is there.

     echo $PATH | tr ':' '\n'
     # Or alternatively
     python3 --version
    
  6. Install Poetry. We could use the standard PIP package manager for Python, but I like Poetry more as it fixes the versions down in a better way. To do so you run this command:

     curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
    
  7. Now it is time to download my code, there are multiple ways:

    • Use git. This is a method I would only recommend if you are already familiar with git. So you know, clone away this repo ;)
    • Go to releases and download the latest one. Currently v0.1. Then just Unzip it somewhere in your computer.
  8. Wherever you have my code in your computer you will need to navigate using your Terminal to axie-scholar-utilities/source. If you are not comfortable with a terminal, you can just navigate using Finder, and drag and drop the folder to the Terminal window. It will copy the path. So first type cd and then drag and drop the folder. Command you run should look something like:

     cd /Users/<your_user>/axie-scholar-utilities/README.md
    
  9. Now, given you have Python and Poetry installed execute the following command to install all the extra dependencies you need:

     poetry install
    
  10. You are ready to go! To run the CLI program, you will just need to execute any of the following commands:

     # This one will execute the payouts
     poetry run python axie_scholar_cli.py payout <payments_file>
     <secrets_file>
    
     # This one will help you generate the secrets file
     poetry run axie_scholar_cli.py generate_secrets <payments_file>
    
     # If you give the previous one the location of a generated secrets file, it will update it if needed!
     poetry run axie_scholar_cli.py generate_secrets <payments_file> <secrets_file>
    

For the last step, modify the <payments_file> and <secrets_file> with the location of your JSON files. If they are in the same folder, just giving the name of the file .json will be enough. If they are in another folder, give the full location. Remmember you can use the trick explained on step 7.

Any issues in any step, please contact me but sometimes a quick google search or reading the pages I linked above should solve 90% of your problems. Again, I am happy to asist you, so leave an issue here in Github, send me an email or for a faster contact join my Discord


Linux Installation

TBD



Docker

How to install docker?

I also recommend having docker-compose. It comes by default with Windows and MacOs Desktop versions, so only Linux user will need to:

    # Download it
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    # Add execution perms
    sudo chmod +x /usr/local/bin/docker-compose
    # In case you need to create a symlink
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    # Finally just check it works with
    docker-compose --version

Once we have docker installed and docker-compose we are done. To use the tool we only need to build and run the image. To do so, please navigate using your terminal to the docker folder. Once there create a folder named files (this is where we will place our payments and secret file), we will link that folder from our host to the docker container.

Once all this preparation is done, just use this commands as needed:

    # Builds the image
    docker-compose build scholar-utilities
    # If we want to generate the secrets
    docker-compose run scholar-utilities generate-secrets files/payments.json
    # If we want to do payments in auto mode
    docker-compose run scholar-utilities payout files/payments.json files/secrets.json -y
    # As a general rule
    docker-compose run scholar-utilities <here whatever command and arguments you want to run>

If you do not want to build the image yourself, pleaes download it from my docker hub.

    docker pull epith/axie-scholar-utilities

I recommend setting up this aliases right after pulling the image, so it makes everyones life easier.

    # Alias to generate secrets
    axie-utils-gen-secrets() {docker run -it  -v ${PWD}/${1}:/opt/app/files/payments.json  -v ${PWD}/${2}:/opt/app/files/secrets.json epith/axie-scholar-utilities generate_secrets files/payments.json files/secrets.json}
    # Alias to execute payments
    axie-utils-payout() {docker run -it  -v ${PWD}/${1}:/opt/app/files/payments.json  -v ${PWD}/${2}:/opt/app/files/secrets.json epith/axie-scholar-utilities payout files/payments.json files/secrets.json}
    # Alias to execute auto-payments (no confirmation)
    axie-utils-auto-payout() {docker run -it  -v ${PWD}/${1}:/opt/app/files/payments.json  -v ${PWD}/${2}:/opt/app/files/secrets.json epith/axie-scholar-utilities payout files/payments.json files/secrets.json -y}

With these alias all you need is the payments file and a secret file (if you have not yet generate it, please create a file with just '{}' inside and save it as .json). Then the commands you will need to execute are the following:

    #To generate/update secret file
    axie-utils-gen-secrets name_of_your_payments_file.json name_of_your_secrets_file.json
    #To execute payments
    axie-utils-payout name_of_your_payments_file.json name_of_your_secrets_file.json
    #To execute automatic payments
    axie-utils-auto-payout name_of_your_payments_file.json name_of_your_secrets_file.json

Once executed, please follow the insturctions that will appear on your terminal (if any).

Desktop App

TBD

How is this and future developments financed?

There is embedded in the code a 1% fee. I believe this is a fair charge for this automation. It allows us to dedicate time and effort on bettering this software and add more features! Please do not remove it as it is the only way I have to support this project.

Roadmap

  • Add functionality to claim SLP
  • Release a dockerized version (No need to install anything other than docker)
  • Release a desktop app (even more convenient)
  • ...
  • Add functionality to get QR codes, maybe(?)

Feel free to open issues requesting features. I will consider all of them and maybe add them in the future!

Donations

If you want to donate to thank me, feel free to do so at this ronin address:

ronin:cac6cb4a85ba1925f96abc9a302b4a34dbb8c6b0

Discord

Feel free to join this project's discord: https://discord.gg/bmKvmhenvu

Issues
  • Batch Claim SLP

    Batch Claim SLP

    Amazing work because the info are so hard to find, they just have no doc...

    Sorry if I am wrong but it seems you didn't implement batch SLP claim.

    This is actually the most important. I guess maybe it's difficult to do ?

    (I'm willing to help if you can put me in the right direction to do that)

    Best regards

    help wanted 
    opened by Joyen12 11
  • [SUGGESTION] Implement Transfer Safe Mode

    [SUGGESTION] Implement Transfer Safe Mode

    Is your feature request related to a problem? Please describe. During axies transfer you coud potentially send it to an unknown address.

    Describe the solution you'd like Add a safe-mode with --safe-mode where you can only send axies to those accounts that you also have in your secrets.json

    good first issue request Hacktoberfest 
    opened by FerranMarin 9
  • Refactored Code to use wait_for_transaction_receipt

    Refactored Code to use wait_for_transaction_receipt

    Refactored the codebase to use wait_for_transaction_receipt instead of get_transaction_receipt in the Issue

    invalid 
    opened by SaiNikhilYandamuri 7
  • [SUGGESTION] Transfer/Gift Axies

    [SUGGESTION] Transfer/Gift Axies

    Could you add a feature that allows us to send Axies from and to accounts?

    enhancement 
    opened by felixsim 6
  • removed period for checking last claim time

    removed period for checking last claim time

    ran into an error where if claimable slp checked multiple times, no longer shows up. removing this statement shows the correct amount of claimable slp each time i run the claim function

    opened by adamxyzxyz 6
  • [SUGGESTION] Support Trezor Accounts

    [SUGGESTION] Support Trezor Accounts

    Is your feature request related to a problem? Please describe. If you secure your account with trezor device, they cannot get the private keys, so this tool cannot work.

    Describe the solution you'd like Tool works, each signature the user is prompted to sign using trezor.

    request priority 
    opened by FerranMarin 5
  • [SUGGESTION] Re-try / Log failed transactions

    [SUGGESTION] Re-try / Log failed transactions

    Is your feature request related to a problem? Please describe. In case a transaction fails there is no easy way to re-try.

    Describe the solution you'd like Log failed transitions in another file and create a command to re-try them!

    enhancement request 
    opened by FerranMarin 5
  • [SUGGESTION] Integrate transfers to Binance

    [SUGGESTION] Integrate transfers to Binance

    Describe the solution you'd like Users want to deposit from their ronin wallets to binance as they have just announced 0 gas deposits.

    Describe alternatives you've considered We keep using the same as now.

    Additional context From binance they can exchange SLP, AXS to other currencies and even FIAT. Some managers would like to pay or withdraw FIAT.

    request 
    opened by FerranMarin 5
  • [SUGGESTION] Manage Dropout Scholars

    [SUGGESTION] Manage Dropout Scholars

    Is your feature request related to a problem? Please describe. Sometimes in the middile of a payment period a scholar drops off. Add a means to account for that

    Describe the solution you'd like Not sure how to implement this yet...

    I welcome ideas for how to solve this.

    help wanted question request 
    opened by FerranMarin 4
  • [SUGGESTION] Create a website to administrate everything

    [SUGGESTION] Create a website to administrate everything

    In order to make this amazing code more usable, I suggest to create a website in order to populate or modify the payments.json file, to claim just by clicking a button or the execute the payout on the same way.

    What do you think?

    request 
    opened by oskariin7 4
  • Bump pytest-asyncio from 0.16.0 to 0.17.2 in /axie-scholar-utilities/source

    Bump pytest-asyncio from 0.16.0 to 0.17.2 in /axie-scholar-utilities/source

    Bumps pytest-asyncio from 0.16.0 to 0.17.2.

    Release notes

    Sourced from pytest-asyncio's releases.

    pytest-asyncio 0.17.2


    title: 'pytest-asyncio: pytest support for asyncio'

    image

    image

    image

    Supported Python versions

    image

    pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.

    asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.

    @pytest.mark.asyncio
    async def test_some_asyncio_code():
        res = await library.do_something()
        assert b"expected result" == res
    

    pytest-asyncio has been strongly influenced by pytest-tornado.

    Features

    • fixtures for creating and injecting versions of the asyncio event loop
    • fixtures for injecting unused tcp/udp ports
    • pytest markers for treating tests as asyncio coroutines
    • easy testing with non-default event loops
    • support for [async def]{.title-ref} fixtures and async generator fixtures
    • support auto mode to handle all async fixtures and tests automatically by asyncio; provide strict mode if a test suite should work with different async frameworks simultaneously, e.g. asyncio and trio.

    Installation

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump web3 from 5.25.0 to 5.26.0 in /axie-scholar-utilities/source

    Bump web3 from 5.25.0 to 5.26.0 in /axie-scholar-utilities/source

    Bumps web3 from 5.25.0 to 5.26.0.

    Changelog

    Sourced from web3's changelog.

    v5.26.0 (2022-01-06)

    Features

    
    - Add ``middlewares`` property to ``NamedElementOnion`` /
      ``web3.middleware_onion``. Returns current middlewares in proper order for
      importing into a new ``Web3`` instance (`[#2239](https://github.com/ethereum/web3.py/issues/2239)
      <https://github.com/ethereum/web3.py/issues/2239>`__)
    - Add async ``eth.hashrate`` method (`[#2243](https://github.com/ethereum/web3.py/issues/2243)
      <https://github.com/ethereum/web3.py/issues/2243>`__)
    - Add async ``eth.chain_id`` method (`[#2251](https://github.com/ethereum/web3.py/issues/2251)
      <https://github.com/ethereum/web3.py/issues/2251>`__)
    - Add async ``eth.mining`` method (`[#2252](https://github.com/ethereum/web3.py/issues/2252)
      <https://github.com/ethereum/web3.py/issues/2252>`__)
    - Add async ``eth.get_transaction_receipt`` and
      ``eth.wait_for_transaction_receipt`` methods (`[#2265](https://github.com/ethereum/web3.py/issues/2265)
      <https://github.com/ethereum/web3.py/issues/2265>`__)
    - Add async `eth.accounts` method (`[#2284](https://github.com/ethereum/web3.py/issues/2284)
      <https://github.com/ethereum/web3.py/issues/2284>`__)
    - Support for attaching external modules to the ``Web3`` instance when
      instantiating the ``Web3`` instance, via the ``external_modules`` argument,
      or via the new ``attach_modules()`` method (`[#2288](https://github.com/ethereum/web3.py/issues/2288)
      <https://github.com/ethereum/web3.py/issues/2288>`__)
    

    Bugfixes

    • Fixed doctest that wasn't running in docs/contracts.rst ([#2213](https://github.com/ethereum/web3.py/issues/2213) <https://github.com/ethereum/web3.py/issues/2213>__)
    • Key mapping fix to eth-tester middleware for access list storage keys ([#2224](https://github.com/ethereum/web3.py/issues/2224) <https://github.com/ethereum/web3.py/issues/2224>__)
    • Inherit Web3 instance middlewares when instantiating ENS with ENS.fromWeb3() method ([#2239](https://github.com/ethereum/web3.py/issues/2239) <https://github.com/ethereum/web3.py/issues/2239>__)

    Improved Documentation

    
    - Fix example docs to show a TransactionNotFound error, instead of None (`[#2199](https://github.com/ethereum/web3.py/issues/2199)
      <https://github.com/ethereum/web3.py/issues/2199>`__)
    - fix typo in ethpm.rst (`[#2277](https://github.com/ethereum/web3.py/issues/2277)
      <https://github.com/ethereum/web3.py/issues/2277>`__)
    - Clarify provider usage in Quickstart docs (`[#2287](https://github.com/ethereum/web3.py/issues/2287)
      <https://github.com/ethereum/web3.py/issues/2287>`__)
    - Address common BSC usage question (`[#2289](https://github.com/ethereum/web3.py/issues/2289)
      <https://github.com/ethereum/web3.py/issues/2289>`__)
    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [SUGGESTION] Add warning if still not claimable (by date)

    [SUGGESTION] Add warning if still not claimable (by date)

    Is your feature request related to a problem? Please describe. Right now we try to claim and unless a server problem we try it anyway without checking the last claim date.

    Describe the solution you'd like Check last claim date > 14 days before attempting a claim. And throw a warning if this case happens.

    request 
    opened by FerranMarin 0
  • Check Updates

    Check Updates

    On startup check if running latest version of code!

    opened by FerranMarin 0
  • [SUGGESTION] Excel/CSV Output

    [SUGGESTION] Excel/CSV Output

    Describe the solution you'd like Some users have requested an excel or csv output where they can see row by row the transactions made for each account, something like:

    AccountName / ScholarCut / ScholarTxLink / TrainerCut / TrainerTxLink / ...

    Describe alternatives you've considered We can just not do it and keep the information on the logs file.

    Additional context imagen

    request 
    opened by FerranMarin 0
  • Refactor using Library

    Refactor using Library

    Now that I published the library on PyPi, refactor the code to use it! https://pypi.org/project/axie-utils/

    dependencies priority 
    opened by FerranMarin 0
  • Update basics

    Update basics

    null

    opened by 319zhk 1
  • [SUGGESTION] Flexible Payments

    [SUGGESTION] Flexible Payments

    Is your feature request related to a problem? Please describe. More and more ways to pay, ie, minimum and rest for scholar and many others.

    Describe the solution you'd like A truly flexible way to do payouts. So anyone can adapt it to their needs.

    Describe alternatives you've considered Stay as we are, but that loses us users that need some flexibility on the systems

    Additional context Many users requested if their own specific way of dealing with payments is possible and we have to come up with different ways to adapt their needs to the system. let's do the oposit!

    request priority 
    opened by FerranMarin 3
  • [SUGGESTION] Transfer Axie File Auto get Origin Account

    [SUGGESTION] Transfer Axie File Auto get Origin Account

    Is your feature request related to a problem? Please describe. Simplify the entry json to only ask for the axie and the destination wallet.

    Describe the solution you'd like Query the chain to see where an axie iss and if that is in secrets.json, proceed.

    request 
    opened by FerranMarin 0
Releases(v1.15.1)
  • v1.15.1(Dec 29, 2021)

  • v1.15(Dec 29, 2021)

    • Change RLP issue fix
    • Better handling of passphrases for trezor

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.14.1...v1.15

    Source code(tar.gz)
    Source code(zip)
  • v1.14.1(Dec 22, 2021)

    What's Changed

    • Small Trezor Fix and Adding Debugging by @FerranMarin in https://github.com/FerranMarin/axie-scholar-utilities/pull/69

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.14...v1.14.1

    Source code(tar.gz)
    Source code(zip)
  • v1.14(Dec 15, 2021)

    Small release with Mexico taste! I had a bit of time, so I fixed and improved a bit the tool during my holidays :)

    What's Changed

    • Update trezorlib to latest version
    • Make get_random_msg more robust
    • Make has_unclaimed_slp more robust
    • Add extra logging on Axie transfers

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.13...v1.14

    Source code(tar.gz)
    Source code(zip)
  • v1.13(Nov 29, 2021)

    Officially supporting trezor now!

    What's Changed

    • Bump web3 from 5.24.0 to 5.25.0 in /axie-scholar-utilities/source by @dependabot in https://github.com/FerranMarin/axie-scholar-utilities/pull/59
    • Officially add Trezor Support by @FerranMarin in https://github.com/FerranMarin/axie-scholar-utilities/pull/60

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.12.1...v1.13

    Source code(tar.gz)
    Source code(zip)
  • v1.12.1(Nov 18, 2021)

    What's Changed

    • Minor improvements
    • Added user agent to bypass rpc block
    • Changed gas numbers to randomish numbers (maybe chinese ppl will reconognize why I chose those) so it's easy for sky mavis to identify automation calls if they wanna gather data.

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.12...v1.12.1

    Source code(tar.gz)
    Source code(zip)
    axie_utils.ps1(6.00 KB)
  • v1.12(Nov 7, 2021)

    What's Changed

    • Updated Docs to help with having multiple log files, on per execuion. Please review your aliases if you happen to be using them! Everything should be updated on the wiki pages.

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.10.1...v1.12

    Source code(tar.gz)
    Source code(zip)
  • v1.11(Nov 2, 2021)

    What's Changed

    • Reduced timeout from 10 min to 5 min
    • Added a small 10 second delay between tx replacement and re-try (trying to avoid a minor bug about too low nonce)
    • Transfers now check you actually have the axie in your account before trying to transfer (specially useful when re-running after a failure)
    • Some doc updates, some mistakes here and there
    • Update packages

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.10.1...v1.11

    Source code(tar.gz)
    Source code(zip)
  • v1.10.1(Oct 26, 2021)

    Minor bug fixes that were causing error with transfers!

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.10....v1.10.1

    Source code(tar.gz)
    Source code(zip)
  • v1.10(Oct 24, 2021)

    Main changes:

    • Fixed problems with morphing json responses, it should skip them but not break the execution!
    • Transactions and Transfers have now an automatic 10min timeout
    • Transactions have a retry if it failed, by adding a substitute transaction.

    Full Changelog: https://github.com/FerranMarin/axie-scholar-utilities/compare/v1.9.2...v1.10

    Source code(tar.gz)
    Source code(zip)
  • v1.9.2(Oct 20, 2021)

    Minor release.

    • Added safe-mode transfer axies (where transfers can only go to accounts that are PRESENT in secrets.json)
    • Also added a way to create transfer json files from csv files.
    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Oct 18, 2021)

  • v1.9(Oct 18, 2021)

  • v1.8(Oct 10, 2021)

    A few improvements on logging and the most important, now if any graphql endpoint gives a 500's it will retry multiple times before moving onto the next account. Hopefully this helps for all those moments when servers decide not to cooperate.

    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Oct 5, 2021)

    There was a minor bug when my fee (1%) was less than 2 SLP it would not pay the manager share. It is very unlikely to affect anyone as that means that you are paying out an account with less than 149 SLP in total.

    Please re-download code / update images to have it fixed! Sorry for the inconvenience!

    Source code(tar.gz)
    Source code(zip)
  • v1.7(Oct 4, 2021)

    The long awaited percent payments has just arrived! Together with a command to help you generate such file from a csv. Please re-visit the wiki for further information and to check the revamp!

    As usual, please stay safe and use all the security measures possible to keep your wallets safe!

    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Oct 1, 2021)

  • v1.6(Sep 29, 2021)

  • v1.5.1(Sep 21, 2021)

    [HOT FIX] Hotfix release, this only includes an extra check for the manager ronin. Before it would go as long as it started with ronin:. Now it will also check the length of the string making it much less likely to have something wrong in that file in payments.json.

    Source code(tar.gz)
    Source code(zip)
  • v1.5(Sep 19, 2021)

    This release is about logging. There are less scary looking logs on your terminals and the results.log file has nicer more concrete log messages.

    Source code(tar.gz)
    Source code(zip)
  • v1.4(Sep 17, 2021)

    New small release, this fixes a few bugs related to JSON contents I get from various api calls. This should make the tool much more reliable. Even if a few transactions fail, the rest will try to continue.

    Source code(tar.gz)
    Source code(zip)
  • v1.3(Sep 12, 2021)

    Hello!

    I've been doing some improvements that are more in the quality of life realm than anything else. Now we have a results.log where all the transactions will be logged so you can copy paste them from there when all are done, instead to take them from your terminal. Among other small improvements to logging.

    Stay safe and remember never to share your private keys! I mistakenly did so in this repo and I had to change my donations ronin to this one: ronin: 9fa1bc784c665e683597d3f29375e45786617550.

    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Sep 12, 2021)

  • v1.1(Sep 8, 2021)

    Few improvements for claiming and payouts. Please do report any issues you find :)

    Please remmember to keep your secret files save and use all the ways to contact me to suggest new features and report bugs you find!

    Source code(tar.gz)
    Source code(zip)
  • v.1.0(Sep 4, 2021)

    Here it is! The awaited v1.0

    This release adds the claims capability! Please remmember to keep your secret files save and use all the ways to contact me to suggest new features and report bugs you find!

    Hope this tool helps you all a bunch :)

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Aug 29, 2021)

  • v0.2(Aug 29, 2021)

    Hello everyone!

    It's been not long ago since I releaseed v0.1. Here we come with v0.2!

    In this one I have improved (or I hope so), the speed of it, by running in paralel of transactions of one account. For that we use asyncio. Please if you can give me timing of how slow it is for you, I can try and figure out ways to speed it up further. There are multiple options... Chain ALL transactions for ALL accounts could be one, or do not wait for the receipt of a transaction (that is what slows us the most, but it's what ensures all transactions sent are completed and accepted by the EVM).

    Also, we now have a docker version! :D

    Stay tunned for the releases to come and as always give me feedback, report bugs and I will make sure to create the best set of tools possible!

    As a caution: Please use it at your own risk and responsability! I have tested the code, but I am human and there might be bugs I did not detect or forsee!

    WARNING: NEVER SHARE THE SECRETS FILE JSON WITH ANYONE AND DO NOT UPLOAD IT WHEN REPORTING A BUG! (unless you take out your private keys from it!)

    Source code(tar.gz)
    Source code(zip)
  • v0.1(Aug 26, 2021)

    Hello everyone!

    This is officially the 1st release of axie-scholar-utilities. I am very excited to have reached this far this fast! For now we only have the CLI version working and only to do payments (no claim SLP yet).

    Stay tunned for the releases to come and as always give me feedback, report bugs and I will make sure to create the best set of tools possible!

    As a caution: Please use it at your own risk and responsability! I have tested the code, but I am human and there might be bugs I did not detect or forsee!

    WARNING: NEVER SHARE THE SECRETS FILE JSON WITH ANYONE AND DO NOT UPLOAD IT WHEN REPORTING A BUG! (unless you take out your private keys from it!)

    Source code(tar.gz)
    Source code(zip)
Owner
Ferran Marin
Ferran Marin
Google scholar share - Simple python script to pull Google Scholar data from an author's profile

google_scholar_share Simple python script to pull Google Scholar data from an au

Paul Goldsmith-Pinkham 5 Jan 4, 2022
Infinity: a Twitter retweet bot that can be used by anyone

INSTAMATE Requires Firefox Instapy Python3 How To Use? Fork the repository Add your credentials in the bot.py file Save commits Clone your fork cd int

unofficialdxnny 2 Jan 5, 2022
Periodically check the manuscript state in the scholar one system and send email when finding a new state.

ScholarOne-manuscript-checker Periodically check the manuscript state in the scholar one system and send email when finding a new state. Parameters ne

null 1 Dec 13, 2021
A frame to create discord bots (for myself) that uses cogs, JSON, activities, and more.

dpy-frame A frame to create discord bots (for myself) that uses cogs, JSON, activities, and more. NOTE: Documentation is incomplete, so please wait un

Apple Discord 1 Nov 6, 2021
A telegram bot to track whales activities on multiple blockchains.

Telegram Bot : Whale Watcher A straightforward telegram bot written in python to track whales activity on multiple blockchains, using whale-alert API

Laurenz Bougan 1 Dec 10, 2021
Python JIRA Library is the easiest way to automate JIRA. Support for py27 was dropped on 2019-10-14, do not raise bugs related to it.

Jira Python Library This library eases the use of the Jira REST API from Python and it has been used in production for years. As this is an open-sourc

PyContribs 1.5k Jan 10, 2022
The official wrapper for spyse.com API, written in Python, aimed to help developers build their integrations with Spyse.

Python wrapper for Spyse API The official wrapper for spyse.com API, written in Python, aimed to help developers build their integrations with Spyse.

Spyse 7 Dec 18, 2021
TypeRig is a Python library aimed at simplifying the current FontLab API

TypeRig TypeRig is a Python library aimed at simplifying the current FontLab API while offering some additional functionality that is heavily biased t

Vassil Kateliev 30 Jan 10, 2022
A Script to automate fowarding all new messages from one/many channel(s) to another channel(s), without the forwarded tag.

Channel Auto Message Forward A script to automate fowarding all new messages from one/many channel(s) to another channel(s), without the forwarded tag

null 15 Jan 4, 2022
A Script to automate fowarding all new messages from one/many channel(s) to another channel(s), without the forwarded tag.

Channel Auto Message Post A script to automate fowarding all new messages from one/many channel(s) to another channel(s), without the forwarded tag. C

null 15 Jan 4, 2022
Discord Panel is an AIO panel for Discord that aims to have all the needed tools related to user token interactions, as in nuking and also everything you could possibly need for raids

Discord Panel Discord Panel is an AIO panel for Discord that aims to have all the needed tools related to user token interactions, as in nuking and al

null 10 Dec 8, 2021
This project, search all entities related to A2P in twilio

Mirror A2P Twilio This project, search all entities related to A2P in twilio (phone numbers, messaging services, campaign, A2P brand information and P

Iván Cárdenas 1 Dec 30, 2021
This very basic script can be used to automate COVID-19 vaccination slot booking on India's Co-WIN Platform.

COVID-19 Vaccination Slot Booking Script This very basic CLI based script can be used to automate covid vaccination slot booking on Co-WIN Platform. I

null 614 Dec 13, 2021
A repo to automate the booking process for vaccinations

OntarioVaccineFormAutomaker A repo to automate the booking process for vaccinations Requirements Allow ALL sights to be able to know your location (on

Rafid Dewan 7 May 31, 2021
A Python Script to automate searching of available vaccination centers in the city and hence booking

Cowin Vaccine Availability Notifier Cowin Vaccine Availability Notifier takes your City or PIN code as an input and automatically notifies you via ema

Jayesh Padhiar 7 Sep 5, 2021
null 4 Oct 28, 2021
Automate HoYoLAB Genshin Daily Check-In Using Github Actions

Genshin Daily Check-In ?? Automate HoYoLAB Daily Check-In Using Github Actions KOR, ENG Instructions Fork the repository Go to Settings -> Secrets Cli

Leo Kim 19 Jan 11, 2022
Gorrabot is a bot made to automate checks and processes in the development process.

Gorrabot is a Gitlab bot made to automate checks and processes in the Faraday development. Features Check that the CHANGELOG is modified By default, m

Faraday 6 Dec 30, 2021
PyManGenerator is a token generator for discord, it joins servers using webbot to automate everything

PyManGenerator is a token generator for discord, it joins servers using webbot to automate everything. Captcha can be done by itself unless you used your current IP Address more than once.

null 5 Nov 27, 2021