Example #1
0
    def test_finalizeOps(self):
        bts = self.bts
        tx1 = bts.new_tx()
        tx2 = bts.new_tx()

        acc = Account("dpaycli", dpay_instance=bts)
        acc.transfer("dpaycli1", 1, "BEX", append_to=tx1)
        acc.transfer("dpaycli1", 2, "BEX", append_to=tx2)
        acc.transfer("dpaycli1", 3, "BEX", append_to=tx1)
        tx1 = tx1.json()
        tx2 = tx2.json()
        ops1 = tx1["operations"]
        ops2 = tx2["operations"]
        self.assertEqual(len(ops1), 2)
        self.assertEqual(len(ops2), 1)
Example #2
0
 def test_transfer(self):
     bts = self.bts
     bts.nobroadcast = False
     bts.wallet.unlock("123")
     # bts.wallet.addPrivateKey(self.active_key)
     # bts.prefix ="STX"
     acc = Account("dpaycli", dpay_instance=bts)
     tx = acc.transfer(
         "dpaycli1", 1.33, "BBD", memo="Foobar")
     self.assertEqual(
         tx["operations"][0][0],
         "transfer"
     )
     self.assertEqual(len(tx['signatures']), 1)
     op = tx["operations"][0][1]
     self.assertIn("memo", op)
     self.assertEqual(op["from"], "dpaycli")
     self.assertEqual(op["to"], "dpaycli1")
     amount = Amount(op["amount"], dpay_instance=bts)
     self.assertEqual(float(amount), 1.33)
     bts.nobroadcast = True
Example #3
0
    def test_transfer_memo(self):
        bts = self.bts
        bts.nobroadcast = False
        bts.wallet.unlock("123")
        acc = Account("dpaycli", dpay_instance=bts)
        tx = acc.transfer(
            "dpaycli1", 1.33, "BBD", memo="#Foobar")
        self.assertEqual(
            tx["operations"][0][0],
            "transfer"
        )
        op = tx["operations"][0][1]
        self.assertIn("memo", op)
        self.assertIn("#", op["memo"])
        m = Memo(from_account=op["from"], to_account=op["to"], dpay_instance=bts)
        memo = m.decrypt(op["memo"])
        self.assertEqual(memo, "Foobar")

        self.assertEqual(op["from"], "dpaycli")
        self.assertEqual(op["to"], "dpaycli1")
        amount = Amount(op["amount"], dpay_instance=bts)
        self.assertEqual(float(amount), 1.33)
        bts.nobroadcast = True
Example #4
0
from __future__ import print_function
from __future__ import unicode_literals
import sys
from datetime import datetime, timedelta
import time
import io
import logging

from dpaycli.blockchain import Blockchain
from dpaycli.block import Block
from dpaycli.account import Account
from dpaycli.amount import Amount
from dpaycligraphenebase.account import PasswordKey, PrivateKey, PublicKey
from dpaycli.dpay import DPay
from dpaycli.utils import parse_time, formatTimedelta
from dpaycliapi.exceptions import NumRetriesReached
from dpaycli.nodelist import NodeList
log = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)

if __name__ == "__main__":
    # stm = DPay(node="https://testnet.timcliff.com/")
    # stm = DPay(node="https://testnet.dpaydev.com")
    stm = DPay(node="https://api.dpays.io")
    stm.wallet.unlock(pwd="pwd123")

    account = Account("dpayclibot", dpay_instance=stm)
    print(account.get_voting_power())

    account.transfer("holger80", 0.001, "BBD", "test")
Example #5
0
    if useWallet:
        stm.wallet.addPrivateKey(owner_privkey)
        stm.wallet.addPrivateKey(active_privkey)
        stm.wallet.addPrivateKey(memo_privkey)
        stm.wallet.addPrivateKey(posting_privkey)
    else:
        stm = DPay(node=testnet_node,
                   wif={
                       'active': str(active_privkey),
                       'posting': str(posting_privkey),
                       'memo': str(memo_privkey)
                   })
    account = Account(username, dpay_instance=stm)
    if account["name"] == "dpaycli":
        account.disallow("dpaycli1", permission='posting')
        account.allow('dpaycli1', weight=1, permission='posting', account=None)
        account.follow("dpaycli1")
    elif account["name"] == "dpaycli5":
        account.allow('dpaycli4', weight=2, permission='active', account=None)
    if useWallet:
        stm.wallet.getAccountFromPrivateKey(str(active_privkey))

    # stm.create_account("dpaycli1", creator=account, password=password1)

    account1 = Account("dpaycli1", dpay_instance=stm)
    b = Blockchain(dpay_instance=stm)
    blocknum = b.get_current_block().identifier

    account.transfer("dpaycli1", 1, "BBD", "test")
    b1 = Block(blocknum, dpay_instance=stm)