import os import tempfile import pytest from cic.contract.csv import load_contract_from_csv from tests.base_cic import test_data_dir @pytest.mark.skip(reason="Public RPC is currently dead") def test_csv_generate_demurrage(): 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" # 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" # 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