Skip to content
Snippets Groups Projects
Commit 773e15cb authored by Moul's avatar Moul
Browse files

[mod] #397: Get rid of BlockchainParams() singleton

parent 8c9eed37
No related branches found
No related tags found
No related merge requests found
......@@ -18,22 +18,6 @@ from duniterpy.api.bma import blockchain
from silkaj.network_tools import ClientInstance
class BlockchainParams:
__instance = None
def __new__(cls):
if BlockchainParams.__instance is None:
BlockchainParams.__instance = object.__new__(cls)
return BlockchainParams.__instance
def __init__(self):
self.params = self.get_params()
def get_params(self):
client = ClientInstance().client
return client(blockchain.parameters)
class HeadBlock:
__instance = None
......
......@@ -24,7 +24,7 @@ from tabulate import tabulate
from silkaj import tui, wot
from silkaj import wot_tools as wt
from silkaj.auth import auth_method
from silkaj.blockchain_tools import BlockchainParams, HeadBlock
from silkaj.blockchain_tools import HeadBlock
from silkaj.constants import ALL, DATE, SUCCESS_EXIT_STATUS
from silkaj.crypto_tools import is_pubkey_and_check
from silkaj.license import license_approval
......@@ -89,11 +89,12 @@ def pre_checks(client, issuer_pubkey, pubkey_to_certify):
sys.exit("You can’t certify yourself!")
# Check if the certification can be renewed
client = ClientInstance().client
params = client(bma.blockchain.parameters)
req = client(bma.wot.requirements, pubkey_to_certify)
req = req["identities"][0]
for cert in req["certifications"]:
if cert["from"] == issuer_pubkey:
params = BlockchainParams().params
# Ğ1: 0<–>2y - 2y + 2m
# ĞT: 0<–>4.8m - 4.8m + 12.5d
renewable = cert["expiresIn"] - params["sigValidity"] + params["sigReplay"]
......@@ -128,7 +129,7 @@ def certification_confirmation(
tui.display_pubkey_and_checksum(pubkey_to_certify),
]
)
params = BlockchainParams().params
params = client(bma.blockchain.parameters)
cert_begins = now().format(DATE)
cert_ends = now().add(seconds=params["sigValidity"]).format(DATE)
cert.append(["Valid", cert_begins, "—>", cert_ends])
......
......@@ -23,7 +23,7 @@ from duniterpy.documents import BlockID, Membership, get_block_id
from tabulate import tabulate
from silkaj import auth, tui, wot
from silkaj.blockchain_tools import BlockchainParams, HeadBlock
from silkaj.blockchain_tools import HeadBlock
from silkaj.constants import DATE, SUCCESS_EXIT_STATUS
from silkaj.license import license_approval
from silkaj.network_tools import ClientInstance, send_document
......@@ -126,7 +126,7 @@ def display_confirmation_table(identity_uid, pubkey, identity_block_id):
date_idty_pub = pendulum.from_timestamp(block["time"], tz="local").format(DATE)
table.append(["Identity published", date_idty_pub])
params = BlockchainParams().params
params = client(bma.blockchain.parameters)
membership_validity = (
pendulum.now().add(seconds=params["msValidity"]).diff_for_humans()
)
......
......@@ -15,8 +15,10 @@
from sys import exit
from silkaj.blockchain_tools import BlockchainParams
from duniterpy.api.bma import blockchain
from silkaj.constants import FAILURE_EXIT_STATUS, G1_SYMBOL, GTEST_SYMBOL
from silkaj.network_tools import ClientInstance
class CurrencySymbol:
......@@ -31,7 +33,8 @@ class CurrencySymbol:
self.symbol = self.get_symbol()
def get_symbol(self):
params = BlockchainParams().params
client = ClientInstance().client
params = client(blockchain.parameters)
if params["currency"] == "g1":
return G1_SYMBOL
elif params["currency"] == "g1-test":
......
......@@ -23,7 +23,6 @@ from pendulum import from_timestamp, now
from tabulate import tabulate
from silkaj import wot_tools as wt
from silkaj.blockchain_tools import BlockchainParams
from silkaj.constants import DATE
from silkaj.crypto_tools import is_pubkey_and_check
from silkaj.network_tools import ClientInstance, exit_on_http_error
......@@ -66,7 +65,7 @@ def received_sent_certifications(uid_pubkey):
identity, pubkey, signed = choose_identity(uid_pubkey)
certifications = OrderedDict()
params = BlockchainParams().params
params = client(blockchain.parameters)
requirements = client(wot.requirements, pubkey)
for req in requirements["identities"]:
if req["pubkey"] == pubkey:
......@@ -107,7 +106,8 @@ def cert_written_in_the_blockchain(written_certs, certifieur):
def membership_status(certifications, pubkey, req):
params = BlockchainParams().params
client = ClientInstance().client
params = client(blockchain.parameters)
if len(certifications["received"]) >= params["sigQty"]:
date = certifications["received_expire"][
len(certifications["received"]) - params["sigQty"]
......
......@@ -36,7 +36,7 @@ from patched.wot import (
patched_wot_requirements_one_pending,
)
from silkaj import auth, membership, wot
from silkaj.blockchain_tools import BlockchainParams, HeadBlock
from silkaj.blockchain_tools import HeadBlock
from silkaj.cli import cli
from silkaj.constants import DATE, FAILURE_EXIT_STATUS, SUCCESS_EXIT_STATUS
from silkaj.network_tools import ClientInstance
......@@ -171,7 +171,7 @@ def test_display_confirmation_table(patched_wot_requirements, monkeypatch, capsy
["Identity published", date_idty_pub],
)
params = BlockchainParams().params
params = client(bma.blockchain.parameters)
membership_validity = (
pendulum.now().add(seconds=params["msValidity"]).diff_for_humans()
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment