addresses as string

This commit is contained in:
D-Stacks 2022-07-02 19:01:03 +02:00
parent 75a2af1d71
commit 518aa6b351
6 changed files with 65 additions and 59 deletions

View File

@ -34,7 +34,7 @@ func HandleGetMempoolEntriesByAddresses(context *rpccontext.Context, _ *router.R
return nil, err
}
if transaction, found := sendingInMempool[address]; found {
if transaction, found := sendingInMempool[address.String()]; found {
rpcTransaction := appmessage.DomainTransactionToRPCTransaction(transaction)
err := context.PopulateTransactionWithVerboseData(rpcTransaction, nil)
if err != nil {
@ -44,10 +44,12 @@ func HandleGetMempoolEntriesByAddresses(context *rpccontext.Context, _ *router.R
sending = append(sending, &appmessage.MempoolEntry{
Fee: transaction.Fee,
Transaction: rpcTransaction,
IsOrphan: false})
IsOrphan: false,
},
)
}
if transaction, found := receivingInMempool[address]; found {
if transaction, found := receivingInMempool[address.String()]; found {
rpcTransaction := appmessage.DomainTransactionToRPCTransaction(transaction)
err := context.PopulateTransactionWithVerboseData(rpcTransaction, nil)
if err != nil {
@ -57,7 +59,9 @@ func HandleGetMempoolEntriesByAddresses(context *rpccontext.Context, _ *router.R
receiving = append(receiving, &appmessage.MempoolEntry{
Fee: transaction.Fee,
Transaction: rpcTransaction,
IsOrphan: false})
IsOrphan: false,
},
)
}
}
if getMempoolEntriesByAddressesRequest.IncludeOrphanPool {
@ -67,7 +71,7 @@ func HandleGetMempoolEntriesByAddresses(context *rpccontext.Context, _ *router.R
return nil, err
}
if transaction, found := sendingInOrphanPool[address]; found {
if transaction, found := sendingInOrphanPool[address.String()]; found {
rpcTransaction := appmessage.DomainTransactionToRPCTransaction(transaction)
err := context.PopulateTransactionWithVerboseData(rpcTransaction, nil)
if err != nil {
@ -77,10 +81,12 @@ func HandleGetMempoolEntriesByAddresses(context *rpccontext.Context, _ *router.R
sending = append(sending, &appmessage.MempoolEntry{
Fee: transaction.Fee,
Transaction: rpcTransaction,
IsOrphan: true})
IsOrphan: true,
},
)
}
if transaction, found := receivingInOrphanPool[address]; found {
if transaction, found := receivingInOrphanPool[address.String()]; found {
rpcTransaction := appmessage.DomainTransactionToRPCTransaction(transaction)
err := context.PopulateTransactionWithVerboseData(rpcTransaction, nil)
if err != nil {
@ -90,7 +96,9 @@ func HandleGetMempoolEntriesByAddresses(context *rpccontext.Context, _ *router.R
receiving = append(receiving, &appmessage.MempoolEntry{
Fee: transaction.Fee,
Transaction: rpcTransaction,
IsOrphan: true})
IsOrphan: true,
},
)
}
}

View File

@ -5,7 +5,6 @@ import (
"github.com/kaspanet/kaspad/domain/consensusreference"
"github.com/kaspanet/kaspad/domain/dagconfig"
"github.com/kaspanet/kaspad/util"
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
miningmanagermodel "github.com/kaspanet/kaspad/domain/miningmanager/model"
@ -55,8 +54,8 @@ func (mp *mempool) GetTransaction(transactionID *externalapi.DomainTransactionID
}
func (mp *mempool) GetTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error,
) {
mp.mtx.RLock()
@ -80,8 +79,8 @@ func (mp *mempool) GetOrphanTransaction(transactionID *externalapi.DomainTransac
}
func (mp *mempool) GetOrphanTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error,
) {
mp.mtx.RLock()

View File

@ -5,7 +5,6 @@ import (
"github.com/kaspanet/kaspad/domain/consensus/utils/constants"
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
"github.com/kaspanet/kaspad/util"
"github.com/kaspanet/kaspad/domain/consensus/ruleerrors"
@ -346,11 +345,11 @@ func (op *orphansPool) getOrphanTransaction(transactionID *externalapi.DomainTra
}
func (op *orphansPool) getOrphanTransactionsByAddresses(clone bool) (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error) {
sending = make(map[util.Address]*externalapi.DomainTransaction)
receiving = make(map[util.Address]*externalapi.DomainTransaction)
sending = make(map[string]*externalapi.DomainTransaction)
receiving = make(map[string]*externalapi.DomainTransaction)
var transaction *externalapi.DomainTransaction
for _, mempoolTransaction := range op.allOrphans {
if clone {
@ -369,7 +368,8 @@ func (op *orphansPool) getOrphanTransactionsByAddresses(clone bool) (
if address == nil { //none standard tx
continue
}
sending[address] = transaction
sending[address.String()] = transaction
}
for _, output := range transaction.Outputs {
_, address, err := txscript.ExtractScriptPubKeyAddress(output.ScriptPublicKey, op.mempool.params)
if err != nil {
@ -378,12 +378,10 @@ func (op *orphansPool) getOrphanTransactionsByAddresses(clone bool) (
if address == nil { //none standard tx
continue
}
receiving[address] = transaction
receiving[address.String()] = transaction
}
}
}
return sending, receiving, nil
}

View File

@ -8,7 +8,6 @@ import (
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
"github.com/kaspanet/kaspad/domain/miningmanager/mempool/model"
"github.com/kaspanet/kaspad/util"
)
type transactionsPool struct {
@ -221,11 +220,11 @@ func (tp *transactionsPool) getTransaction(transactionID *externalapi.DomainTran
}
func (tp *transactionsPool) getTransactionsByAddresses(clone bool) (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error) {
sending = make(map[util.Address]*externalapi.DomainTransaction)
receiving = make(map[util.Address]*externalapi.DomainTransaction)
sending = make(map[string]*externalapi.DomainTransaction)
receiving = make(map[string]*externalapi.DomainTransaction)
var transaction *externalapi.DomainTransaction
for _, mempoolTransaction := range tp.allTransactions {
if clone {
@ -234,6 +233,9 @@ func (tp *transactionsPool) getTransactionsByAddresses(clone bool) (
transaction = mempoolTransaction.Transaction()
}
for _, input := range transaction.Inputs {
if input.UTXOEntry == nil { //this should be fixed
return nil, nil, err
}
_, address, err := txscript.ExtractScriptPubKeyAddress(input.UTXOEntry.ScriptPublicKey(), tp.mempool.params)
if err != nil {
return nil, nil, err
@ -241,7 +243,8 @@ func (tp *transactionsPool) getTransactionsByAddresses(clone bool) (
if address == nil { //ignore none-standard script
continue
}
sending[address] = transaction
sending[address.String()] = transaction
}
for _, output := range transaction.Outputs {
_, address, err := txscript.ExtractScriptPubKeyAddress(output.ScriptPublicKey, tp.mempool.params)
if err != nil {
@ -250,10 +253,10 @@ func (tp *transactionsPool) getTransactionsByAddresses(clone bool) (
if address == nil { //ignore none-standard script
continue
}
receiving[address] = transaction
}
receiving[address.String()] = transaction
}
}
return sending, receiving, nil
}

View File

@ -7,7 +7,6 @@ import (
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
"github.com/kaspanet/kaspad/domain/consensusreference"
miningmanagermodel "github.com/kaspanet/kaspad/domain/miningmanager/model"
"github.com/kaspanet/kaspad/util"
)
// MiningManager creates block templates for mining as well as maintaining
@ -18,14 +17,14 @@ type MiningManager interface {
GetBlockTemplateBuilder() miningmanagermodel.BlockTemplateBuilder
GetTransaction(transactionID *externalapi.DomainTransactionID) (*externalapi.DomainTransaction, bool)
GetTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error)
AllTransactions() []*externalapi.DomainTransaction
GetOrphanTransaction(transactionID *externalapi.DomainTransactionID) (*externalapi.DomainTransaction, bool)
GetOrphanTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error)
AllOrphanTransactions() []*externalapi.DomainTransaction
TransactionCount() int
@ -128,8 +127,8 @@ func (mm *miningManager) AllTransactions() []*externalapi.DomainTransaction {
}
func (mm *miningManager) GetTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error) {
return mm.mempool.GetTransactionsByAddresses()
}
@ -141,8 +140,8 @@ func (mm *miningManager) GetOrphanTransaction(
}
func (mm *miningManager) GetOrphanTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error) {
return mm.mempool.GetTransactionsByAddresses()
}

View File

@ -2,7 +2,6 @@ package model
import (
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
"github.com/kaspanet/kaspad/util"
)
// Mempool maintains a set of known transactions that
@ -15,14 +14,14 @@ type Mempool interface {
RemoveTransactions(txs []*externalapi.DomainTransaction, removeRedeemers bool) error
GetTransaction(transactionID *externalapi.DomainTransactionID) (*externalapi.DomainTransaction, bool)
GetTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error)
AllTransactions() []*externalapi.DomainTransaction
GetOrphanTransaction(transactionID *externalapi.DomainTransactionID) (*externalapi.DomainTransaction, bool)
GetOrphanTransactionsByAddresses() (
sending map[util.Address]*externalapi.DomainTransaction,
receiving map[util.Address]*externalapi.DomainTransaction,
sending map[string]*externalapi.DomainTransaction,
receiving map[string]*externalapi.DomainTransaction,
err error)
AllOrphanTransactions() []*externalapi.DomainTransaction
TransactionCount() int