Prototype and wrappers to work with Ensuro Smart Contracts
Project description
ensuro
Prototype and wrappers to work with Ensuro Smart Contracts
This package is for working with the Ensuro Protocol (https://github.com/ensuro/ensuro) from Python.
It includes the prototype written in pure-python that can be used for simulation of Ensuro. Also includes the wrappers that together with the compiled contracts can be used to deploy or use contracts deployed on the blockchain.
Getting information from Ensuro objects
- PremiumsAccount
.active_pure_premiums
.surplus: balance of pure premiums of finalized policies.
.won_pure_premiums: accumulated pure premiums of expired/not defaulted policies.
.borrowed_active_pp: pure premiums of active policies that were used for payouts. Always <= active_pure_premiums` and always = 0 if won_pure_premiums != 0.
.pure_premiums: it’s a property that computes the total pure premiums as self.active_pure_premiums + self.won_pure_premiums - self.borrowed_active_pp
- EToken
.total_supply(): total amount in dollars in the pool.
.scr: amount that it’s locked as solvency capital of active policies
.scr_interest_rate: weighted average of the interest rate paid by the active policies
.utilization_rate: percentage of utilization of the eToken. Property calculated as scr / total_supply
.token_interest_rate: interest rate for the EToken, it’s calculated as scr_interest_rate * utilization_rate
.funds_available: available capital (total_supply - scr)
.funds_available_to_lock: available capital that can be used as scr, (total_supply - scr) * max_utilization_rate
.total_withdrawable(): amount that can be withdrawn, considering the liquidity_requirement.
.get_loan(): current debt of the pool with this eToken
- RiskModule
.active_exposure: total exposure currently allocated for this module
.get_minimum_premium(payout, loss_prob, expiration): minimum premium
Copying files from Ensuro main repository
Instructions to copy files from ensuro repository:
for x in `find ../ensuro/artifacts/contracts/ -maxdepth 2 -name "*.json" -not -name "*.dbg.json" `; do cp $x src/ensuro/contracts/ ; done for x in `find ../ensuro/artifacts/contracts/interfaces/ -maxdepth 2 -name "*.json" -not -name "*.dbg.json" `; do cp $x src/ensuro/contracts/ ; done for x in ERC1967Proxy.json IERC20Metadata.json IERC20.json IERC721.json ; do cp `find ~/repo/ensuro/artifacts/@openzeppelin/ -name $x` src/ensuro/contracts/$x ; done cp ../ensuro/prototype/ensuro.py src/ensuro/prototype.py cp ../ensuro/prototype/wrappers.py src/ensuro/wrappers.py cp ../ensuro/prototype/utils.py src/ensuro/utils.py
Note
This project has been set up using PyScaffold 4.1.1. For details and usage information on PyScaffold see https://pyscaffold.org/.
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
File details
Details for the file ensuro-2.0.1.tar.gz
.
File metadata
- Download URL: ensuro-2.0.1.tar.gz
- Upload date:
- Size: 165.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 158bd88fc988ebebcd4c9fab90c6ee709c537a48cfaa89e25efdc1eb0583ffdb |
|
MD5 | 46c907d9657b6a32627adb505a7f92c4 |
|
BLAKE2b-256 | 3405bd72481b81fd39f3db51e6a37ecacb963f78dc333e608733e68107055fff |
File details
Details for the file ensuro-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: ensuro-2.0.1-py3-none-any.whl
- Upload date:
- Size: 160.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f33f44badb2f051e85835ab67e58fb083409a58a853dec6ef2dcfff62554fd |
|
MD5 | 82e028fd2e471961aa7cf783ae61925a |
|
BLAKE2b-256 | 1da8f79e240846315d6ed9a26f3e418cd2dbf1227eaabccedbccde970bd35691 |