2022-04-26 13:03:38 +02:00
|
|
|
import os
|
|
|
|
import tempfile
|
2022-04-29 09:49:35 +02:00
|
|
|
import pytest
|
2022-04-26 13:03:38 +02:00
|
|
|
from cic.contract.csv import load_contract_from_csv
|
|
|
|
|
|
|
|
from tests.base_cic import test_data_dir
|
|
|
|
|
2022-04-29 09:49:35 +02:00
|
|
|
@pytest.mark.skip(reason="Public RPC is currently dead")
|
|
|
|
def test_csv_generate_demurrage():
|
2022-04-26 13:03:38 +02:00
|
|
|
outputs_dir = os.path.join(tempfile.mkdtemp(), "outputs")
|
|
|
|
test_csv_path = os.path.join(test_data_dir, "voucher", "bondi.csv")
|
|
|
|
contract = load_contract_from_csv(
|
|
|
|
{
|
|
|
|
"WALLET_KEY_FILE": os.path.join(test_data_dir, "keystore", "ok"),
|
|
|
|
"WALLET_PASSPHRASE": "test",
|
|
|
|
"CHAIN_SPEC": "evm:kitabu:6060:sarafu",
|
|
|
|
"RPC_PROVIDER": "http://142.93.38.53:8545",
|
|
|
|
"CIC_REGISTRY_ADDRESS": "0xe3e3431BF25b06166513019Ed7B21598D27d05dC",
|
|
|
|
},
|
|
|
|
outputs_dir,
|
|
|
|
csv_path=test_csv_path,
|
|
|
|
)
|
|
|
|
# assert len(contracts) == 1
|
|
|
|
# contract = contracts[0]
|
|
|
|
# Token
|
|
|
|
assert contract.token.name == "Bondeni"
|
|
|
|
assert contract.token.extra_args == [
|
|
|
|
"46124891913883000000000000000000",
|
|
|
|
"1440",
|
|
|
|
"0xB8830b647C01433F9492F315ddBFDc35CB3Be6A6",
|
|
|
|
]
|
|
|
|
assert contract.token.extra_args_types == ["uint256", "uint256", "address"]
|
|
|
|
# assert contract.token.code == os.path.join(test_data_dir, "contracts", "Bondi.bin")
|
|
|
|
assert contract.token.precision == '6'
|
|
|
|
assert contract.token.supply == "5025"
|
|
|
|
assert contract.token.symbol == "BONDE"
|
|
|
|
|
|
|
|
# Meta
|
|
|
|
assert contract.meta.country_code == "KE"
|
|
|
|
assert contract.meta.location == "Mutitu Kilifi"
|
|
|
|
assert contract.meta.contact == {
|
|
|
|
"email": "info@grassecon.org",
|
|
|
|
"phone": "254797782065",
|
|
|
|
}
|
|
|
|
assert contract.meta.name == "Bondeni SHG"
|
2022-04-29 09:49:35 +02:00
|
|
|
|
|
|
|
# Network
|
|
|
|
assert contract.network.resources["eth"]["chain_spec"] == {
|
|
|
|
"arch": "evm",
|
|
|
|
"common_name": "sarafu",
|
|
|
|
"custom": [],
|
|
|
|
"extra": {},
|
|
|
|
"fork": "kitabu",
|
|
|
|
"network_id": 6060,
|
|
|
|
}
|
|
|
|
assert contract.network.resources["eth"]["contents"] == {
|
|
|
|
"address_declarator": {
|
|
|
|
"key_account": "cc4f82f5dacde395e1e0cfc4d62827c8b8b5688c",
|
|
|
|
"reference": "f055e83f713DbFF947e923749Af9802eaffFB5f9",
|
|
|
|
},
|
|
|
|
"token": {
|
|
|
|
"key_account": "cc4f82f5dacde395e1e0cfc4d62827c8b8b5688c",
|
|
|
|
"reference": None,
|
|
|
|
},
|
|
|
|
"token_index": {
|
|
|
|
"key_account": "cc4f82f5dacde395e1e0cfc4d62827c8b8b5688c",
|
|
|
|
"reference": "5A1EB529438D8b3cA943A45a48744f4c73d1f098",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
assert contract.proof.description == "1 BONDE = 1 itumbe"
|
|
|
|
assert contract.proof.namespace == "ge"
|
|
|
|
assert contract.proof.proofs == []
|
|
|
|
assert contract.proof.version() == 0
|
|
|
|
|
|
|
|
@pytest.mark.skip(reason="Public RPC is currently dead")
|
|
|
|
def test_csv_generate_giftable():
|
|
|
|
outputs_dir = os.path.join(tempfile.mkdtemp(), "outputs")
|
|
|
|
test_csv_path = os.path.join(test_data_dir, "voucher", "bondi_giftable.csv")
|
|
|
|
contract = load_contract_from_csv(
|
|
|
|
{
|
|
|
|
"WALLET_KEY_FILE": os.path.join(test_data_dir, "keystore", "ok"),
|
|
|
|
"WALLET_PASSPHRASE": "test",
|
|
|
|
"CHAIN_SPEC": "evm:kitabu:6060:sarafu",
|
|
|
|
"RPC_PROVIDER": "http://142.93.38.53:8545",
|
|
|
|
"CIC_REGISTRY_ADDRESS": "0xe3e3431BF25b06166513019Ed7B21598D27d05dC",
|
|
|
|
},
|
|
|
|
outputs_dir,
|
|
|
|
csv_path=test_csv_path,
|
|
|
|
)
|
|
|
|
# assert len(contracts) == 1
|
|
|
|
# contract = contracts[0]
|
|
|
|
# Token
|
|
|
|
assert contract.token.name == "Bondeni"
|
|
|
|
assert contract.token.extra_args == []
|
|
|
|
assert contract.token.extra_args_types == []
|
|
|
|
# assert contract.token.code == os.path.join(test_data_dir, "contracts", "Bondi.bin")
|
|
|
|
assert contract.token.precision == '6'
|
|
|
|
assert contract.token.supply == "5025"
|
|
|
|
assert contract.token.symbol == "BONDE"
|
|
|
|
|
|
|
|
# Meta
|
|
|
|
assert contract.meta.country_code == "KE"
|
|
|
|
assert contract.meta.location == "Mutitu Kilifi"
|
|
|
|
assert contract.meta.contact == {
|
|
|
|
"email": "info@grassecon.org",
|
|
|
|
"phone": "254797782065",
|
|
|
|
}
|
|
|
|
assert contract.meta.name == "Bondeni SHG"
|
2022-04-26 13:03:38 +02:00
|
|
|
|
|
|
|
# Network
|
|
|
|
assert contract.network.resources["eth"]["chain_spec"] == {
|
|
|
|
"arch": "evm",
|
|
|
|
"common_name": "sarafu",
|
|
|
|
"custom": [],
|
|
|
|
"extra": {},
|
|
|
|
"fork": "kitabu",
|
|
|
|
"network_id": 6060,
|
|
|
|
}
|
|
|
|
assert contract.network.resources["eth"]["contents"] == {
|
|
|
|
"address_declarator": {
|
|
|
|
"key_account": "cc4f82f5dacde395e1e0cfc4d62827c8b8b5688c",
|
|
|
|
"reference": "f055e83f713DbFF947e923749Af9802eaffFB5f9",
|
|
|
|
},
|
|
|
|
"token": {
|
|
|
|
"key_account": "cc4f82f5dacde395e1e0cfc4d62827c8b8b5688c",
|
|
|
|
"reference": None,
|
|
|
|
},
|
|
|
|
"token_index": {
|
|
|
|
"key_account": "cc4f82f5dacde395e1e0cfc4d62827c8b8b5688c",
|
|
|
|
"reference": "5A1EB529438D8b3cA943A45a48744f4c73d1f098",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
assert contract.proof.description == "1 BONDE = 1 itumbe"
|
|
|
|
assert contract.proof.namespace == "ge"
|
|
|
|
assert contract.proof.proofs == []
|
|
|
|
assert contract.proof.version() == 0
|