Python HTTP for Humans.
Project description
cngn-python-library
CNGnManager is a Python library for interacting with a CNGN API. It provides a simple interface for various operations such as checking balance, swapping between chains, depositing for redemption, creating virtual accounts, and more.
Table of Contents
- Installation
- Usage
- Available Methods
- Testing
- Error Handling
- Types
- Security
- Contributing
- Support
- License
Installation
To install CNGnManager and its dependencies, run:
pip install cngn-manager
Usage
First, import the CNGnManager class using it namespace WrappedCBDC\CNGNManager: and all necessary constants.
from cngn_manager import CNGnManager, Network, ProviderType
Then, create an instance of CNGnManager with your secrets:
import os
api_key = "cngn_live_sk**********"
encryption_key = "yourencryptionkey"
ssh_private_key = """-----BEGIN OPENSSH PRIVATE KEY-----
your ssh key
-----END OPENSSH PRIVATE KEY-----"""
# NOTE: You can also get your private key from a file using
# ssh_private_key = os.open("/path/to/sshkey.key").read()
manager = CNGnManager(api_key, ssh_private_key, encryption_key)
# Example: Get balance
balance = manager.get_balance()
print(balance)
Available Methods
Get Balance
balance = manager.get_balance()
print(balance)
Get Transaction History
transactions = manager.get_transaction_history()
print(transactions)
Swap Between Chains
swap_params = {
"amount": 100,
"address": "0x1234...",
"network": Network.BSC
}
swap_result = manager.swap_between_chains(swap_params)
print(swap_result)
Deposit for Redemption
deposit_params = {
"amount": 1000,
"bank": "Example Bank",
"accountNumber": "1234567890"
}
deposit_result = manager.deposit_for_redemption(deposit_params)
print(deposit_result)
Create Virtual Account
mint_params = {
"provider": ProviderType.KORAPAY
}
virtual_account = manager.create_virtual_account(mint_params)
print(virtual_account)
Whitelist Address
whitelist_params = {
"bscAddress": "0x1234...",
"bankName": "Example Bank",
"bankAccountNumber": "1234567890"
}
whitelist_result = manager.whitelist_address(whitelist_params)
print(whitelist_result)
Testing
This project uses Jest for testing. To run the tests, follow these steps:
- Run the test command:
python3 -m unittest discover tests
This will run all tests in the tests directory.
Test Structure
The tests are located in the tests directory. They cover various aspects of the CNGnManager class, including:
- API calls for different endpoints (GET and POST requests)
- Encryption and decryption of data
- Error handling for various scenarios
Error Handling
The library uses a custom error handling mechanism. All API errors are caught and thrown as Error objects with descriptive messages.
Types
The library includes python definitions for all parameters and return types. Please refer to the type definitions in the source code for more details.
Security
This library uses AES encryption for request payloads and Ed25519 decryption for response data. Ensure that your encryptionKey and privateKey are kept secure.
Contributing
Contributions, issues, and feature requests are welcome. Feel free to check issues page if you want to contribute.
Support
If you have any questions or need help using the library, please open an issue in the GitHub repository.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cngn_manager-0.0.3.tar.gz.
File metadata
- Download URL: cngn_manager-0.0.3.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4b4787e73669f936568403bda8f44cd8cefda068adbd3eced6a4d950a29ffe5
|
|
| MD5 |
0ab137905af131884a3fab9691d0dda6
|
|
| BLAKE2b-256 |
6abec2177c4994b59bb5e3fc635c3d2c8d6920aa719fb7795b9d1fc6f4e27980
|
File details
Details for the file cngn_manager-0.0.3-py3-none-any.whl.
File metadata
- Download URL: cngn_manager-0.0.3-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
744484c10d873e270d4975871cfd7547af281643d0efa4ed470848f8a7dd3868
|
|
| MD5 |
e7d19ac03f16cbefc6d8238c03be2103
|
|
| BLAKE2b-256 |
4eff6f11077bbc3f4ad75a4b0ba54f2ba33e175ef60f3f491f7566bdc101548d
|