Exemplo n.º 1
0
async def test_finalizeOps_proposal2(deex):
    deex.clear()
    proposal = deex.new_proposal()
    await deex.transfer("init1", 2, "TEST", append_to=proposal)
    tx = await deex.tx().json()  # default tx buffer
    ops = tx["operations"]
    assert len(ops) == 1
    assert getOperationNameForId(ops[0][0]) == "proposal_create"
    prop = ops[0][1]
    assert len(prop["proposed_ops"]) == 1
    assert getOperationNameForId(prop["proposed_ops"][0]["op"][0]) == "transfer"
Exemplo n.º 2
0
async def test_finalizeOps_changeproposer_new(deex):
    deex.clear()
    proposal = deex.proposal(proposer="init5")
    await deex.transfer("init1", 5, "TEST", append_to=proposal)
    tx = await deex.tx().json()
    ops = tx["operations"]
    assert len(ops) == 1
    assert getOperationNameForId(ops[0][0]) == "proposal_create"
    prop = ops[0][1]
    assert len(prop["proposed_ops"]) == 1
    assert prop["fee_paying_account"] == "1.2.11"
    assert getOperationNameForId(prop["proposed_ops"][0]["op"][0]) == "transfer"
Exemplo n.º 3
0
 def test_finalizeOps_changeproposer_new(self):
     proposal = deex.proposal(proposer="init5")
     deex.transfer("init1", 1, "DX", append_to=proposal)
     tx = deex.tx().json()
     ops = tx["operations"]
     self.assertEqual(len(ops), 1)
     self.assertEqual(getOperationNameForId(ops[0][0]), "proposal_create")
     prop = ops[0][1]
     self.assertEqual(len(prop["proposed_ops"]), 1)
     self.assertEqual(prop["fee_paying_account"], "1.2.90747")
     self.assertEqual(
         getOperationNameForId(prop["proposed_ops"][0]["op"][0]), "transfer"
     )
Exemplo n.º 4
0
 def test_finalizeOps_proposal2(self):
     proposal = deex.new_proposal()
     # proposal = deex.proposal()
     deex.transfer("init1", 1, "DX", append_to=proposal)
     tx = deex.tx().json()  # default tx buffer
     ops = tx["operations"]
     self.assertEqual(len(ops), 1)
     self.assertEqual(getOperationNameForId(ops[0][0]), "proposal_create")
     prop = ops[0][1]
     self.assertEqual(len(prop["proposed_ops"]), 1)
     self.assertEqual(
         getOperationNameForId(prop["proposed_ops"][0]["op"][0]), "transfer"
     )
Exemplo n.º 5
0
async def test_finalizeOps_combined_proposal(deex):
    deex.clear()
    parent = deex.new_tx()
    proposal = deex.new_proposal(parent)
    await deex.transfer("init1", 3, "TEST", append_to=proposal)
    await deex.transfer("init1", 4, "TEST", append_to=parent)
    tx = await parent.json()
    ops = tx["operations"]
    assert len(ops) == 2
    assert getOperationNameForId(ops[0][0]) == "proposal_create"
    assert getOperationNameForId(ops[1][0]) == "transfer"
    prop = ops[0][1]
    assert len(prop["proposed_ops"]) == 1
    assert getOperationNameForId(prop["proposed_ops"][0]["op"][0]) == "transfer"
Exemplo n.º 6
0
 def test_finalizeOps_combined_proposal(self):
     parent = deex.new_tx()
     proposal = deex.new_proposal(parent)
     deex.transfer("init1", 1, "DX", append_to=proposal)
     deex.transfer("init1", 1, "DX", append_to=parent)
     tx = parent.json()
     ops = tx["operations"]
     self.assertEqual(len(ops), 2)
     self.assertEqual(getOperationNameForId(ops[0][0]), "proposal_create")
     self.assertEqual(getOperationNameForId(ops[1][0]), "transfer")
     prop = ops[0][1]
     self.assertEqual(len(prop["proposed_ops"]), 1)
     self.assertEqual(
         getOperationNameForId(prop["proposed_ops"][0]["op"][0]), "transfer"
     )
Exemplo n.º 7
0
 def test_account_upgrade(self):
     account = Account("init0")
     pprint(account)
     tx = account.upgrade()
     ops = tx["operations"]
     op = ops[0][1]
     self.assertEqual(len(ops), 1)
     self.assertEqual(getOperationNameForId(ops[0][0]), "account_upgrade")
     self.assertTrue(op["upgrade_to_lifetime_member"])
     self.assertEqual(op["account_to_upgrade"], "1.2.100")
Exemplo n.º 8
0
 def test_update_memo_key(self):
     tx = deex.update_memo_key(
         "DX55VCzsb47NZwWe5F3qyQKedX9iHBHMVVFSc96PDvV7wuj7W86n")
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "account_update")
     op = tx["operations"][0][1]
     self.assertEqual(
         op["new_options"]["memo_key"],
         "DX55VCzsb47NZwWe5F3qyQKedX9iHBHMVVFSc96PDvV7wuj7W86n",
     )
Exemplo n.º 9
0
 def test_transfer(self):
     tx = deex.transfer("1.2.101",
                        1.33,
                        "DX",
                        memo="Foobar",
                        account="init0")
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "transfer")
     op = tx["operations"][0][1]
     self.assertIn("memo", op)
     self.assertEqual(op["from"], "1.2.100")
     self.assertEqual(op["to"], "1.2.101")
     amount = Amount(op["amount"])
     self.assertEqual(float(amount), 1.33)
Exemplo n.º 10
0
 def test_allow(self):
     tx = deex.allow(
         "DX55VCzsb47NZwWe5F3qyQKedX9iHBHMVVFSc96PDvV7wuj7W86n",
         weight=1,
         threshold=1,
         permission="owner",
     )
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "account_update")
     op = tx["operations"][0][1]
     self.assertIn("owner", op)
     self.assertIn(
         ["DX55VCzsb47NZwWe5F3qyQKedX9iHBHMVVFSc96PDvV7wuj7W86n", "1"],
         op["owner"]["key_auths"],
     )
     self.assertEqual(op["owner"]["weight_threshold"], 1)
Exemplo n.º 11
0
 def test_create_account(self):
     name = "".join(
         random.choice(string.ascii_lowercase) for _ in range(12))
     key1 = PrivateKey()
     key2 = PrivateKey()
     key3 = PrivateKey()
     key4 = PrivateKey()
     tx = deex.create_account(
         name,
         registrar="init0",  # 1.2.100
         referrer="init1",  # 1.2.101
         referrer_percent=33,
         owner_key=format(key1.pubkey, "DX"),
         active_key=format(key2.pubkey, "DX"),
         memo_key=format(key3.pubkey, "DX"),
         additional_owner_keys=[format(key4.pubkey, "DX")],
         additional_active_keys=[format(key4.pubkey, "DX")],
         additional_owner_accounts=["committee-account"],  # 1.2.0
         additional_active_accounts=["committee-account"],
         proxy_account="init0",
         storekeys=False,
     )
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "account_create")
     op = tx["operations"][0][1]
     role = "active"
     self.assertIn(format(key4.pubkey, "DX"),
                   [x[0] for x in op[role]["key_auths"]])
     self.assertIn(format(key4.pubkey, "DX"),
                   [x[0] for x in op[role]["key_auths"]])
     self.assertIn("1.2.0", [x[0] for x in op[role]["account_auths"]])
     role = "owner"
     self.assertIn(format(key4.pubkey, "DX"),
                   [x[0] for x in op[role]["key_auths"]])
     self.assertIn(format(key4.pubkey, "DX"),
                   [x[0] for x in op[role]["key_auths"]])
     self.assertIn("1.2.0", [x[0] for x in op[role]["account_auths"]])
     self.assertEqual(op["options"]["voting_account"], "1.2.100")
     self.assertEqual(op["registrar"], "1.2.100")
     self.assertEqual(op["referrer"], "1.2.101")
     self.assertEqual(op["referrer_percent"], 33 * 100)
Exemplo n.º 12
0
 def test_approvecommittee(self):
     tx = deex.approvecommittee("1.5.0")
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "account_update")
     op = tx["operations"][0][1]
     self.assertIn("0:11", op["new_options"]["votes"])
Exemplo n.º 13
0
 def test_approvewitness(self):
     tx = deex.approvewitness("1.6.1")
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "account_update")
     op = tx["operations"][0][1]
     self.assertIn("1:0", op["new_options"]["votes"])
Exemplo n.º 14
0
 def test_create_asset(self):
     symbol = "FOOBAR"
     precision = 7
     max_supply = 100000
     description = "Test asset"
     is_bitasset = True
     market_fee_percent = 0.1
     max_market_fee = 10
     blacklist_authorities = ["init1"]
     blacklist_authorities_ids = [
         Account(a)["id"] for a in blacklist_authorities
     ]
     blacklist_markets = ["DX"]
     blacklist_markets_ids = ["1.3.0"]
     permissions = {
         "charge_market_fee": True,
         "white_list": True,
         "override_authority": True,
         "transfer_restricted": True,
         "disable_force_settle": True,
         "global_settle": True,
         "disable_confidential": True,
         "witness_fed_asset": True,
         "committee_fed_asset": True,
     }
     flags = {
         "charge_market_fee": False,
         "white_list": False,
         "override_authority": False,
         "transfer_restricted": False,
         "disable_force_settle": False,
         "global_settle": False,
         "disable_confidential": False,
         "witness_fed_asset": False,
         "committee_fed_asset": False,
     }
     tx = deex.create_asset(
         symbol,
         precision,
         max_supply,
         market_fee_percent=market_fee_percent,
         max_market_fee=max_market_fee,
         description=description,
         is_bitasset=is_bitasset,
         blacklist_authorities=blacklist_authorities,
         blacklist_markets=blacklist_markets,
         permissions=permissions,
         flags=flags,
     )
     self.assertEqual(getOperationNameForId(tx["operations"][0][0]),
                      "asset_create")
     op = tx["operations"][0][1]
     self.assertEqual(op["issuer"], "1.2.100")
     self.assertEqual(op["symbol"], symbol)
     self.assertEqual(op["precision"], precision)
     self.assertEqual(op["common_options"]["max_supply"],
                      int(max_supply * 10**precision))
     self.assertEqual(op["common_options"]["market_fee_percent"],
                      int(market_fee_percent * 100))
     self.assertEqual(
         op["common_options"]["max_market_fee"],
         int(max_market_fee * 10**precision),
     )
     self.assertEqual(op["common_options"]["description"], description)
     self.assertEqual(op["common_options"]["blacklist_authorities"],
                      blacklist_authorities_ids)
     self.assertEqual(op["common_options"]["blacklist_markets"],
                      blacklist_markets_ids)
     self.assertEqual(todict(op["common_options"]["issuer_permissions"]),
                      permissions)
     self.assertEqual(todict(op["common_options"]["flags"]), flags)