Skip to main content

A package to manage development inside nitro enclaves.

Project description

vFunctions SDK

This package offers tools to develop vFunctions inside a secure enclave.

For an use case example visit the Verifiably documentation page.

Installation

To install this library run:

pip install vfunctions_sdk

Mercury Bank example

import json

from vfunctions_sdk import vFunction
from vfunctions_sdk import connection

def mercury_balance_check(account_id, mercury_token, params):

    # Set the url for the mercury API to get the account information
    # Use the account id
    mercury_bank_url = "https://api.mercury.com/api/v1/account/{}".format(account_id)

    # Use the mercury token for the API
    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Bearer {}".format(mercury_token)
    }

    response = requests.request("GET", mercury_bank_url, headers=headers)
    mercury_data = json.loads(response.text)

    if "errors" in mercury_data:
        return False

    if mercury_data["currentBalance"] > params["balance_threshold"]:
        return True

    return False


def main():

    function_params = vFunction.FunctionParams()

    # Get the secrets from the provider
    secrets_bundle = connection.WsockSecretsProvider(function_params).get_secrets()

    # Get the necessary secrets
    account_id = secrets_bundle["mercuryBank"]["accountId"]
    mercury_token = secrets_bundle["mercuryBank"]["mercuryToken"]

    # Get the information from the mercury account
    result_value = mercury_balance_check(account_id, mercury_token, function_params.params)

    result_dict = {
            "result": result_value,
            "balance": function_params.params["balance_threshold"]
    }

    # Send the email with the results
    function_params.email_results(function_params.params['email'], result_dict)

if __name__ == '__main__':
    main()

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

vfunctions_sdk-0.0.7.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vfunctions_sdk-0.0.7-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file vfunctions_sdk-0.0.7.tar.gz.

File metadata

  • Download URL: vfunctions_sdk-0.0.7.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.2 tqdm/4.63.0 importlib-metadata/4.10.1 keyring/22.2.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for vfunctions_sdk-0.0.7.tar.gz
Algorithm Hash digest
SHA256 7096d493d7eba1084240f1bc5b237bdc4320f15ece5c43cab4360f236fa81585
MD5 f5c51cd0bdd3016f839fde07de44ed2d
BLAKE2b-256 0041b8e773a6835a994dc8dad83e7f9182101ddbf4488bf91e2a30177cff7cb2

See more details on using hashes here.

File details

Details for the file vfunctions_sdk-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: vfunctions_sdk-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.2 tqdm/4.63.0 importlib-metadata/4.10.1 keyring/22.2.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for vfunctions_sdk-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 82f05afc670a88c695317c184e4ad3740de9cc3977f657d57eaf1548e3bafe40
MD5 fbf61f478522dc36b8cee9eba2a26ba4
BLAKE2b-256 44798a51c8467b6b03d4e1457a18bf892c0db124803d9881205ba4c44dd77016

See more details on using hashes here.

Supported by

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