Skip to main content

Shared code for badger autovoters

Project description

Badger SDK for autovoters

This is the library for shared code that is used in autovoters, such as cvx autovoter and aura autovoter

Build Coverage PYPI
Tests codecov PyPI version

List of functional modules:

Utilities


Get web3 instance

import os
from badger_voter_sdk.web3 import get_web3

web3 = get_web3(os.getenv("ETHNODEURL"))

Or web3 will be created from default secrets in constants.py

AWS get secret

Getting secret from AWS by id and key

from badger_voter_sdk.aws import get_secret

secret = get_secret(secret_id="SecretId", secret_key="SecretKey")

Json logger

Preconfigured json logger to be shared across voting bots projects

from badger_voter_sdk.json_logger import logger

logger.info()

Snapshot and data collectors

Get all voters for snapshot

from badger_voter_sdk.collectors.snapshot_collectors import get_voters

voters = get_voters(snapshot_id="some_snapshot_id")

Get vlTOKEN amounts per wallet voted for given snapshot round

from badger_voter_sdk.collectors.api_collectors import get_scores

scores = get_scores(
    "aurafinance.eth", "1", "<SNAPSHOT_ID>",
    ["<ADDRESS1>"],
    [{'name': "erc20-votes", 'network': "1", 'params': {
        'symbol': "<vlTOKEN>", 'address': "<STRATEGY_ADDR>"}}]
)

Get voting choices with voting power

You need to combine two previous functions outputs:

from badger_voter_sdk.collectors.data_processors import extract_voting_power_per_pool

choices_with_votes = extract_voting_power_per_pool(voters={"<wallet>": {"1": 123}}, scores={"<wallet>": 123333.1})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

badger-voter-sdk-0.1.3.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file badger-voter-sdk-0.1.3.tar.gz.

File metadata

  • Download URL: badger-voter-sdk-0.1.3.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for badger-voter-sdk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 3b72048d55455208eed79b1bf5c3a8727615c528ee1be600ec5385fe5403ef9a
MD5 381e5e9f2d2e38bbcfc3cc9f49935c5a
BLAKE2b-256 636082e04452ca67de13f6a03ea69d1989f214037a049ac060146cf5b447e889

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page