예제 #1
0
def test_create_account_by_committee(wallet: Wallet, genesis: Genesis,
                                     valid_name):
    accounts_before = wallet.list_accounts()
    creator_balance_before = wallet.get_account_scr_balance(DEFAULT_WITNESS)
    print(
        wallet.create_account_by_committee(
            DEFAULT_WITNESS,
            newname=valid_name,
            owner=test_account_owner_pub_key,
            active=test_account_active_pub_key,
            posting=test_accout_posting_pub_key,
            memo=test_account_memo_key,
        ))
    assert creator_balance_before == wallet.get_account_scr_balance(
        DEFAULT_WITNESS)

    assert wallet.get_account(
        valid_name)['recovery_account'] == DEFAULT_WITNESS

    accounts_after = wallet.list_accounts()
    assert len(accounts_after) == len(accounts_before) + 1
    assert valid_name in accounts_after

    account_by_active_key = wallet.get_account_by_key(
        test_account_active_pub_key)[0][0]
    assert account_by_active_key == valid_name

    account_by_posting_key = wallet.get_account_by_key(
        test_accout_posting_pub_key)[0][0]
    assert account_by_posting_key == valid_name

    account_by_owner_key = wallet.get_account_by_key(
        test_account_owner_pub_key)[0][0]
    assert account_by_owner_key == valid_name

    account_by_memo_key = wallet.get_account_by_key(test_account_memo_key)[0]
    assert account_by_memo_key == []

    new_account_sp_balance_amount = str(
        wallet.get_account_sp_balance(valid_name)).split()[0]
    registration_bonus_amount = genesis['registration_bonus'].split()[0]
    assert new_account_sp_balance_amount == registration_bonus_amount

    # TODO add assert to check registration_supply delta

    keys_auths = wallet.get_account_keys_auths(valid_name)
    assert keys_auths['owner'] == test_account_owner_pub_key
    assert keys_auths['active'] == test_account_active_pub_key
    assert keys_auths['posting'] == test_accout_posting_pub_key
    assert keys_auths['memo'] == test_account_memo_key
예제 #2
0
def test_create_account(wallet: Wallet, valid_name):
    fee = Amount('0.000001000 SCR')
    account_before = wallet.list_accounts()

    creator_balance_before = wallet.get_account_scr_balance(DEFAULT_WITNESS)
    print(
        wallet.create_account(DEFAULT_WITNESS,
                              newname=valid_name,
                              owner=test_account_owner_pub_key,
                              active=test_account_active_pub_key,
                              posting=test_accout_posting_pub_key,
                              memo=test_account_memo_key,
                              fee=fee))
    creator_balance_delta = creator_balance_before - wallet.get_account_scr_balance(
        DEFAULT_WITNESS)
    assert creator_balance_delta == fee

    assert wallet.get_account(
        valid_name)['recovery_account'] == DEFAULT_WITNESS

    accounts_after = wallet.list_accounts()
    assert len(accounts_after) == len(account_before) + 1
    assert valid_name in accounts_after

    account_by_active_key = wallet.get_account_by_key(
        test_account_active_pub_key)[0][0]
    assert account_by_active_key == valid_name

    account_by_posting_key = wallet.get_account_by_key(
        test_accout_posting_pub_key)[0][0]
    assert account_by_posting_key == valid_name

    account_by_owner_key = wallet.get_account_by_key(
        test_account_owner_pub_key)[0][0]
    assert account_by_owner_key == valid_name

    account_by_memo_key = wallet.get_account_by_key(test_account_memo_key)[0]
    assert account_by_memo_key == []

    new_account_sp_balance_amount = str(
        wallet.get_account_sp_balance(valid_name)).split()[0]
    fee_amount = str(fee).split()[0]
    assert new_account_sp_balance_amount == fee_amount

    keys_auths = wallet.get_account_keys_auths(valid_name)
    assert keys_auths['owner'] == test_account_owner_pub_key
    assert keys_auths['active'] == test_account_active_pub_key
    assert keys_auths['posting'] == test_accout_posting_pub_key
    assert keys_auths['memo'] == test_account_memo_key
예제 #3
0
def test_circulation_capital_equal_sum_accounts_balances(wallet: Wallet):
    accs_sp = Amount("0 SP")
    accs_scr = Amount("0 SCR")
    names = wallet.list_accounts()
    accs = wallet.get_accounts(names)
    for acc in accs:
        accs_scr += Amount(acc["balance"])
        accs_sp += Amount(acc["scorumpower"])
    accs_cc = accs_scr + accs_sp
    print("Accs - total SCR: %s, total SP: %s, sum: %s" % (str(accs_scr), str(accs_sp), str(accs_cc)))

    chain_capital = wallet.get_chain_capital()
    chain_cc = Amount(chain_capital["circulating_capital"])
    chain_sp = Amount(chain_capital["total_scorumpower"])
    chain_scr = Amount(chain_capital["total_scr"])
    print("Chain capital - total SCR: %s, total SP: %s, sum: %s" % (str(chain_scr), str(chain_sp), str(chain_cc)))

    expect(accs_sp == chain_sp)
    expect(accs_scr == chain_scr)
    expect(accs_cc == chain_cc)
    assert_expectations()