예제 #1
0
    def __list(self, deckid: str):

        deck = self.__find_deck(deckid)

        try:
            cards = pa.find_all_valid_cards(provider, deck)
            return {'cards': cards, 'deck': deck}
        except pa.exceptions.EmptyP2THDirectory as err:
            return err
예제 #2
0
def test_find_all_valid_cards(prov):

    provider = prov(network="tppc")

    deck = pa.find_deck(provider, 'b6a95f94fef093ee9009b04a09ecb9cb5cba20ab6f13fe0926aeb27b8671df43', 1)

    cards = pa.find_all_valid_cards(provider, deck)

    assert cards
    assert isinstance(next(cards), pa.CardTransfer)
예제 #3
0
def add_cards(deck):

    def message(n):
        sys.stdout.write('\r{} Card(s) for Deck {} '.format(n, deck.id))
        sys.stdout.flush()

    for n, card in enumerate(pa.find_all_valid_cards(node, deck)):

        try:
            entry = session.query(Card).filter(Card.txid == card.txid).filter(Card.blockseq == card.blockseq).filter(Card.cardseq == card.cardseq).first()
        except (Exception,TypeError) as e:
            if isinstance(e, TypeError):
                continue
            entry = None
        
        if entry is None:
            data = hexlify(card.asset_specific_data).decode()
            C = Card( card.txid, card.blockhash, card.cardseq, card.receiver[0], card.sender, 
            card.amount[0], card.type, card.blocknum, card.blockseq, card.deck_id, False, data )
            session.add(C)
    commit()
예제 #4
0
        provider=rpc_node,
        card=card_transfer,
        inputs=rpc_node.select_inputs(FRIENDLY_CO, 0.02),
        change_address=FRIENDLY_CO,
    )
    card_transfer_tx = sign_transaction(rpc_node, card_transfer_tx, friendly_co_key)
    rpc_node.sendrawtransaction(card_transfer_tx.hexlify())

    print("Transaction to issue Friendly Co. Cards sent to the network!")
    print("Transaction ID: " + card_transfer_tx.txid)
    print("Waiting for confirmation...")
    wait_for_confirmation(rpc_node, card_transfer_tx.txid)
    print("Friendly Co. Cards created!")

    print("Double checking the Friendly Co. Deck State...")
    cards = pa.find_all_valid_cards(rpc_node, deck)
    deck_state = pa.DeckState(cards)
    assert len(deck_state.balances) == 1, "Only Alice should have Friendly Co. Cards."
    assert deck_state.balances[ALICE] == 1000000, "Alice should have the initial 1,000,000 Cards."
    print("Friendly Co. Deck State looks good!")

    # Card Transfer

    print("Build, sign and send the Card Transfer transaction to Bob and Charles...")

    alice_key = pa.Kutil(
        network="tppc",
        from_wif=rpc_node.dumpprivkey(ALICE),
    )

    card_transfer = pa.CardTransfer(