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")

Rich logger

Preconfigured rich logger to be shared across voting bots projects

from badger_voter_sdk.rich_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.0.8.tar.gz (10.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: badger-voter-sdk-0.0.8.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for badger-voter-sdk-0.0.8.tar.gz
Algorithm Hash digest
SHA256 3b13c1d8b0f30b9b13a5f34dd01285b6a1a44251b6741bfad38a61fed5875994
MD5 fc5ac797e2b56a9dbdbad45fa96d9615
BLAKE2b-256 968b0419c254c7af1b07c81eacff0a1e39ce379b550146fa4727ac820cba9ead

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