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.1.tar.gz (10.9 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: badger-voter-sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 10.9 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.1.1.tar.gz
Algorithm Hash digest
SHA256 b371f8cc5a49a9fa31ddbcf588781877553c7ba0947706e71225efb141cb71a7
MD5 e091605b98c01efa79143dc2a2729b15
BLAKE2b-256 215cf0f3c9ffb83ea8c816cbb02d8d8b275f2f3a28663ca0c3fed3be39be064e

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