code: def card_bundler(provider: Provider, deck: Deck, tx: dict) -> CardBundle:
      '''each blockchain transaction can contain multiple cards,
         wrapped in bundles. This method finds and returns those bundles.'''
  
      return CardBundle(deck=deck,
                        blockhash=tx['blockhash'],
                        txid=tx['txid'],
                        timestamp=tx['time'],
                        blockseq=tx_serialization_order(provider,
                                                        tx["blockhash"],
                                                        tx["txid"]),
                        blocknum=provider.getblock(tx["blockhash"])["height"],
                        sender=find_tx_sender(provider, tx),
                        vouts=tx['vout'],
                        tx_confirmations=tx['confirmations']
                        f card_bundler(provider: Provider, deck: Deck, tx: dict) -> CardBundle:
      '''each blockchain transaction can contain multiple cards,
         wrapped in bundles. This method finds and returns those bundles.'''
  
      return CardBundle(deck=deck,
                        blockhash=tx['blockhash'],
                        txid=tx['txid'],
                        timestamp=tx['time'],
                        blockseq=tx_serialization_order(provider,
                                                        tx["blockhash"],
                                                        tx["txid"]),
                        blocknum=provider.getblock(tx["blockhash"])["height"],
                        sender=find_tx_sender(provider, tx),
                        vouts=tx['vout'],
                        tx_confirmations=tx['confirmations']
                        )
docs: each blockchain transaction can contain multiple cards,
         wrapped in bundles. This method finds and returns those bundles.