예제 #1
0
    def GetLatticePublicKeyTxn(self, request: qrl_pb2.LatticePublicKeyTxnReq, context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetLatticePublicKeyTxn")
        tx = self.qrlnode.create_lt(addr_from=request.address_from,
                                    kyber_pk=request.kyber_pk,
                                    tesla_pk=request.tesla_pk,
                                    xmss_pk=request.xmss_pk,
                                    xmss_ots_index=request.xmss_ots_index)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #2
0
    def TransferCoins(self, request: qrl_pb2.TransferCoinsReq, context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] TransferCoins")
        tx = self.qrlnode.create_send_tx(addr_from=request.address_from,
                                         addr_to=request.address_to,
                                         amount=request.amount,
                                         fee=request.fee,
                                         xmss_pk=request.xmss_pk,
                                         xmss_ots_index=request.xmss_ots_index)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #3
0
    def GetSlaveTxn(self, request: qrl_pb2.SlaveTxnReq,
                    context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetSlaveTxn")
        tx = self.qrlnode.create_slave_tx(addr_from=request.address_from,
                                          slave_pks=request.slave_pks,
                                          access_types=request.access_types,
                                          fee=request.fee,
                                          xmss_pk=request.xmss_pk)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #4
0
    def GetMessageTxn(self, request: qrl_pb2.TokenTxnReq, context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetMessageTxn")
        tx = self.qrlnode.create_message_txn(message_hash=request.message,
                                             fee=request.fee,
                                             xmss_pk=request.xmss_pk,
                                             master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(tx=tx.pbdata,
                                                                    addr_from=tx.addr_from,
                                                                    size=tx.size)
        return qrl_pb2.TransferCoinsResp(extended_transaction_unsigned=extended_transaction_unsigned)
예제 #5
0
    def GetLatticePublicKeyTxn(self, request: qrl_pb2.LatticePublicKeyTxnReq,
                               context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetLatticePublicKeyTxn")
        tx = self.qrlnode.create_lattice_public_key_txn(
            addr_from=request.address_from,
            kyber_pk=request.kyber_pk,
            dilithium_pk=request.dilithium_pk,
            fee=request.fee,
            xmss_pk=request.xmss_pk)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #6
0
    def TransferCoins(self, request: qrl_pb2.TransferCoinsReq, context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] TransferCoins")
        tx = self.qrlnode.create_send_tx(addrs_to=request.addresses_to,
                                         amounts=request.amounts,
                                         fee=request.fee,
                                         xmss_pk=request.xmss_pk,
                                         master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(tx=tx.pbdata,
                                                                    addr_from=tx.addr_from,
                                                                    size=tx.size)
        return qrl_pb2.TransferCoinsResp(extended_transaction_unsigned=extended_transaction_unsigned)
예제 #7
0
    def GetSlaveTxn(self, request: qrl_pb2.SlaveTxnReq, context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetSlaveTxn")
        tx = self.qrlnode.create_slave_tx(slave_pks=request.slave_pks,
                                          access_types=request.access_types,
                                          fee=request.fee,
                                          xmss_pk=request.xmss_pk,
                                          master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(tx=tx.pbdata,
                                                                    addr_from=tx.addr_from,
                                                                    size=tx.size)
        return qrl_pb2.TransferCoinsResp(extended_transaction_unsigned=extended_transaction_unsigned)
예제 #8
0
    def GetTransferTokenTxn(self, request: qrl_pb2.TransferTokenTxnReq,
                            context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetTransferTokenTxn")
        bin_token_txhash = bytes(hstr2bin(request.token_txhash.decode()))
        tx = self.qrlnode.create_transfer_token_txn(
            addr_from=request.address_from,
            addrs_to=request.addresses_to,
            token_txhash=bin_token_txhash,
            amounts=request.amounts,
            fee=request.fee,
            xmss_pk=request.xmss_pk)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #9
0
    def GetTransferTokenTxn(self, request: qrl_pb2.TransferTokenTxnReq,
                            context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetTransferTokenTxn")
        tx = self.qrlnode.create_transfer_token_txn(
            addr_from=request.address_from,
            addr_to=request.address_to,
            token_txhash=request.token_txhash,
            amount=request.amount,
            fee=request.fee,
            xmss_pk=request.xmss_pk,
            xmss_ots_index=request.xmss_ots_index)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #10
0
    def GetLatticePublicKeyTxn(self, request: qrl_pb2.LatticePublicKeyTxnReq,
                               context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetLatticePublicKeyTxn")
        tx = self.qrlnode.create_lattice_public_key_txn(
            kyber_pk=request.kyber_pk,
            dilithium_pk=request.dilithium_pk,
            fee=request.fee,
            xmss_pk=request.xmss_pk,
            master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(
            tx=tx.pbdata, addr_from=tx.addr_from, size=tx.size)
        return qrl_pb2.TransferCoinsResp(
            extended_transaction_unsigned=extended_transaction_unsigned)
예제 #11
0
    def GetLatticeTxn(self, request: qrl_pb2.LatticeTxnReq,
                      context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetLatticeTxn")
        tx = self.qrlnode.create_lattice_tx(pk1=request.pk1,
                                            pk2=request.pk2,
                                            pk3=request.pk3,
                                            fee=request.fee,
                                            xmss_pk=request.xmss_pk,
                                            master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(
            tx=tx.pbdata, addr_from=tx.addr_from, size=tx.size)
        return qrl_pb2.TransferCoinsResp(
            extended_transaction_unsigned=extended_transaction_unsigned)
예제 #12
0
    def GetMultiSigVoteTxn(self, request: qrl_pb2.MultiSigVoteTxnReq,
                           context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetMultiSigSpendTxnReq")
        tx = self.qrlnode.create_multi_sig_vote_txn(
            shared_key=request.shared_key,
            unvote=request.unvote,
            fee=request.fee,
            xmss_pk=request.xmss_pk,
            master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(
            tx=tx.pbdata, addr_from=tx.addr_from, size=tx.size)
        return qrl_pb2.TransferCoinsResp(
            extended_transaction_unsigned=extended_transaction_unsigned)
예제 #13
0
    def GetMultiSigCreateTxn(self, request: qrl_pb2.MultiSigCreateTxnReq,
                             context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetMultiSigCreateTxnReq")
        tx = self.qrlnode.create_multi_sig_txn(signatories=request.signatories,
                                               weights=request.weights,
                                               threshold=request.threshold,
                                               fee=request.fee,
                                               xmss_pk=request.xmss_pk,
                                               master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(
            tx=tx.pbdata, addr_from=tx.addr_from, size=tx.size)
        return qrl_pb2.TransferCoinsResp(
            extended_transaction_unsigned=extended_transaction_unsigned)
예제 #14
0
    def GetTokenTxn(self, request: qrl_pb2.TokenTxnReq,
                    context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetTokenTxn")
        tx = self.qrlnode.create_token_txn(
            addr_from=request.address_from,
            symbol=request.symbol,
            name=request.name,
            owner=request.owner,
            decimals=request.decimals,
            initial_balances=request.initial_balances,
            fee=request.fee,
            xmss_pk=request.xmss_pk)

        return qrl_pb2.TransferCoinsResp(transaction_unsigned=tx.pbdata)
예제 #15
0
    def GetTokenTxn(self, request: qrl_pb2.TokenTxnReq, context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetTokenTxn")
        tx = self.qrlnode.create_token_txn(symbol=request.symbol,
                                           name=request.name,
                                           owner=request.owner,
                                           decimals=request.decimals,
                                           initial_balances=request.initial_balances,
                                           fee=request.fee,
                                           xmss_pk=request.xmss_pk,
                                           master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(tx=tx.pbdata,
                                                                    addr_from=tx.addr_from,
                                                                    size=tx.size)
        return qrl_pb2.TransferCoinsResp(extended_transaction_unsigned=extended_transaction_unsigned)
예제 #16
0
    def GetMultiSigSpendTxn(self, request: qrl_pb2.MultiSigSpendTxnReq,
                            context) -> qrl_pb2.TransferCoinsResp:
        logger.debug("[PublicAPI] GetMultiSigSpendTxnReq")
        tx = self.qrlnode.create_multi_sig_spend_txn(
            multi_sig_address=request.multi_sig_address,
            addrs_to=request.addrs_to,
            amounts=request.amounts,
            expiry_block_number=request.expiry_block_number,
            fee=request.fee,
            xmss_pk=request.xmss_pk,
            master_addr=request.master_addr)

        extended_transaction_unsigned = qrl_pb2.TransactionExtended(
            tx=tx.pbdata, addr_from=tx.addr_from, size=tx.size)
        return qrl_pb2.TransferCoinsResp(
            extended_transaction_unsigned=extended_transaction_unsigned)
예제 #17
0
 def TransferCoins(self, request: qrl_pb2.TransferCoinsReq, context) \
         -> qrl_pb2.TransferCoinsResp:
     logger.debug("[QRLNode] TransferCoins")
     try:
         response = qrl_pb2.TransferCoinsResp()
         response.transaction_unsigned = self.qrlnode.create_send_tx(
             addr_from=request.address_from,
             addr_to=request.address_to,
             amount=request.amount,
             fee=request.fee,
             xmss_pk=request.xmss_pk,
             xmss_ots_key=request.xmss_ots_key)
         return response
     except Exception as e:
         context.set_code(StatusCode.unknown)
         context.set_details(str(e))
         return None
예제 #18
0
파일: services.py 프로젝트: jjgallow/QRL
 def TransferCoins(self, request: qrl_pb2.TransferCoinsReq,
                   context) -> qrl_pb2.TransferCoinsResp:
     logger.debug("[QRLNode] TransferCoins")
     return qrl_pb2.TransferCoinsResp()