Skip to content

Commit 8b96e38

Browse files
authored
Merge pull request #628 from pastelnetwork/PSL-905_removeTopListAgreementForDownload
[PSL-905] remove sn agreement on wn top mns-list logic in download endpoint
2 parents 711ceb3 + 8ba1f05 commit 8b96e38

File tree

7 files changed

+86
-72
lines changed

7 files changed

+86
-72
lines changed

walletnode/services/cascaderegister/task.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -506,12 +506,13 @@ func NewCascadeRegisterTask(service *CascadeRegistrationService, request *common
506506
NodeClient: service.nodeClient,
507507
LogRequestID: task.ID(),
508508
Configs: &common.MeshHandlerConfig{
509-
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
510-
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
511-
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
512-
MinSNs: service.config.NumberSuperNodes,
513-
PastelID: request.AppPastelID,
514-
Passphrase: request.AppPastelIDPassphrase,
509+
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
510+
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
511+
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
512+
MinSNs: service.config.NumberSuperNodes,
513+
PastelID: request.AppPastelID,
514+
Passphrase: request.AppPastelIDPassphrase,
515+
RequireSNAgreementOnMNTopList: true,
515516
},
516517
}
517518

walletnode/services/collectionregister/task.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -326,12 +326,13 @@ func NewCollectionRegistrationTask(service *CollectionRegistrationService, reque
326326
PastelHandler: service.pastelHandler,
327327
NodeClient: service.nodeClient,
328328
Configs: &common.MeshHandlerConfig{
329-
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
330-
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
331-
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
332-
MinSNs: service.config.NumberSuperNodes,
333-
PastelID: request.AppPastelID,
334-
Passphrase: request.AppPastelIDPassphrase,
329+
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
330+
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
331+
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
332+
MinSNs: service.config.NumberSuperNodes,
333+
PastelID: request.AppPastelID,
334+
Passphrase: request.AppPastelIDPassphrase,
335+
RequireSNAgreementOnMNTopList: true,
335336
},
336337
}
337338

walletnode/services/common/mesh_handler.go

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,12 @@ type MeshHandler struct {
4646
callersPastelID string
4747
passphrase string
4848

49-
Nodes SuperNodeList
50-
UseMaxNodes bool
51-
checkDDDatabaseHashes bool
52-
HashCheckMaxRetries int
53-
logRequestID string
49+
Nodes SuperNodeList
50+
UseMaxNodes bool
51+
checkDDDatabaseHashes bool
52+
HashCheckMaxRetries int
53+
requireSNAgreementOnMNTopList bool
54+
logRequestID string
5455
}
5556

5657
// MeshHandlerOpts set of options to pass to NewMeshHandler
@@ -65,34 +66,36 @@ type MeshHandlerOpts struct {
6566

6667
// MeshHandlerConfig config subset used by MeshHandler
6768
type MeshHandlerConfig struct {
68-
PastelID string
69-
Passphrase string
70-
MinSNs int
71-
ConnectToNodeTimeout time.Duration
72-
AcceptNodesTimeout time.Duration
73-
ConnectToNextNodeDelay time.Duration
74-
UseMaxNodes bool
75-
CheckDDDatabaseHashes bool
76-
HashCheckMaxRetries int
69+
PastelID string
70+
Passphrase string
71+
MinSNs int
72+
ConnectToNodeTimeout time.Duration
73+
AcceptNodesTimeout time.Duration
74+
ConnectToNextNodeDelay time.Duration
75+
UseMaxNodes bool
76+
CheckDDDatabaseHashes bool
77+
HashCheckMaxRetries int
78+
RequireSNAgreementOnMNTopList bool
7779
}
7880

7981
// NewMeshHandler returns new NewMeshHandler
8082
func NewMeshHandler(opts MeshHandlerOpts) *MeshHandler {
8183
return &MeshHandler{
82-
task: opts.Task,
83-
nodeMaker: opts.NodeMaker,
84-
pastelHandler: opts.PastelHandler,
85-
nodeClient: opts.NodeClient,
86-
callersPastelID: opts.Configs.PastelID,
87-
passphrase: opts.Configs.Passphrase,
88-
minNumberSuperNodes: opts.Configs.MinSNs,
89-
connectToNodeTimeout: opts.Configs.ConnectToNodeTimeout,
90-
acceptNodesTimeout: opts.Configs.AcceptNodesTimeout,
91-
connectToNextNodeDelay: opts.Configs.ConnectToNextNodeDelay,
92-
UseMaxNodes: opts.Configs.UseMaxNodes,
93-
checkDDDatabaseHashes: opts.Configs.CheckDDDatabaseHashes,
94-
HashCheckMaxRetries: opts.Configs.HashCheckMaxRetries,
95-
logRequestID: opts.LogRequestID,
84+
task: opts.Task,
85+
nodeMaker: opts.NodeMaker,
86+
pastelHandler: opts.PastelHandler,
87+
nodeClient: opts.NodeClient,
88+
callersPastelID: opts.Configs.PastelID,
89+
passphrase: opts.Configs.Passphrase,
90+
minNumberSuperNodes: opts.Configs.MinSNs,
91+
connectToNodeTimeout: opts.Configs.ConnectToNodeTimeout,
92+
acceptNodesTimeout: opts.Configs.AcceptNodesTimeout,
93+
connectToNextNodeDelay: opts.Configs.ConnectToNextNodeDelay,
94+
UseMaxNodes: opts.Configs.UseMaxNodes,
95+
checkDDDatabaseHashes: opts.Configs.CheckDDDatabaseHashes,
96+
HashCheckMaxRetries: opts.Configs.HashCheckMaxRetries,
97+
requireSNAgreementOnMNTopList: opts.Configs.RequireSNAgreementOnMNTopList,
98+
logRequestID: opts.LogRequestID,
9699
}
97100
}
98101

@@ -158,9 +161,14 @@ func (m *MeshHandler) findNValidTopSuperNodes(ctx context.Context, n int, skipNo
158161
}
159162
log.WithContext(ctx).Infof("Found %d Supernodes", len(WNTopNodes))
160163

161-
candidateNodes, err := m.GetCandidateNodes(ctx, WNTopNodes)
162-
if err != nil {
163-
log.WithContext(ctx).WithError(err).Error("error getting candidate nodes")
164+
var candidateNodes SuperNodeList
165+
if m.requireSNAgreementOnMNTopList {
166+
candidateNodes, err = m.GetCandidateNodes(ctx, WNTopNodes)
167+
if err != nil {
168+
log.WithContext(ctx).WithError(err).Error("error getting candidate nodes")
169+
}
170+
} else {
171+
candidateNodes = WNTopNodes
164172
}
165173

166174
if len(candidateNodes) < n {

walletnode/services/download/task.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -332,13 +332,14 @@ func NewNftDownloadTask(service *NftDownloadingService, request *NftDownloadingR
332332
NodeClient: service.nodeClient,
333333
LogRequestID: request.Txid,
334334
Configs: &common.MeshHandlerConfig{
335-
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
336-
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
337-
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
338-
MinSNs: service.config.NumberSuperNodes,
339-
PastelID: request.PastelID,
340-
Passphrase: request.PastelIDPassphrase,
341-
UseMaxNodes: true,
335+
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
336+
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
337+
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
338+
MinSNs: service.config.NumberSuperNodes,
339+
PastelID: request.PastelID,
340+
Passphrase: request.PastelIDPassphrase,
341+
UseMaxNodes: true,
342+
RequireSNAgreementOnMNTopList: false,
342343
},
343344
}
344345

walletnode/services/nftregister/task.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -863,14 +863,15 @@ func NewNFTRegistrationTask(service *NftRegistrationService, request *NftRegistr
863863
NodeClient: service.nodeClient,
864864
LogRequestID: task.ID(),
865865
Configs: &common.MeshHandlerConfig{
866-
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
867-
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
868-
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
869-
MinSNs: service.config.NumberSuperNodes,
870-
PastelID: request.CreatorPastelID,
871-
Passphrase: request.CreatorPastelIDPassphrase,
872-
CheckDDDatabaseHashes: true,
873-
HashCheckMaxRetries: service.config.HashCheckMaxRetries,
866+
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
867+
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
868+
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
869+
MinSNs: service.config.NumberSuperNodes,
870+
PastelID: request.CreatorPastelID,
871+
Passphrase: request.CreatorPastelIDPassphrase,
872+
CheckDDDatabaseHashes: true,
873+
HashCheckMaxRetries: service.config.HashCheckMaxRetries,
874+
RequireSNAgreementOnMNTopList: true,
874875
},
875876
}
876877

walletnode/services/nftsearch/task.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -262,12 +262,13 @@ func NewNftGetSearchTask(service *NftSearchingService, pastelID string, passphra
262262
PastelHandler: service.pastelHandler,
263263
NodeClient: service.nodeClient,
264264
Configs: &common.MeshHandlerConfig{
265-
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
266-
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
267-
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
268-
MinSNs: service.config.NumberSuperNodes,
269-
PastelID: pastelID,
270-
Passphrase: passphrase,
265+
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
266+
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
267+
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
268+
MinSNs: service.config.NumberSuperNodes,
269+
PastelID: pastelID,
270+
Passphrase: passphrase,
271+
RequireSNAgreementOnMNTopList: false,
271272
},
272273
}
273274

walletnode/services/senseregister/task.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -603,14 +603,15 @@ func NewSenseRegisterTask(service *SenseRegistrationService, request *common.Act
603603
NodeClient: service.nodeClient,
604604
LogRequestID: task.ID(),
605605
Configs: &common.MeshHandlerConfig{
606-
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
607-
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
608-
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
609-
MinSNs: service.config.NumberSuperNodes,
610-
PastelID: request.AppPastelID,
611-
Passphrase: request.AppPastelIDPassphrase,
612-
CheckDDDatabaseHashes: true,
613-
HashCheckMaxRetries: service.config.HashCheckMaxRetries,
606+
ConnectToNextNodeDelay: service.config.ConnectToNextNodeDelay,
607+
ConnectToNodeTimeout: service.config.ConnectToNodeTimeout,
608+
AcceptNodesTimeout: service.config.AcceptNodesTimeout,
609+
MinSNs: service.config.NumberSuperNodes,
610+
PastelID: request.AppPastelID,
611+
Passphrase: request.AppPastelIDPassphrase,
612+
CheckDDDatabaseHashes: true,
613+
HashCheckMaxRetries: service.config.HashCheckMaxRetries,
614+
RequireSNAgreementOnMNTopList: true,
614615
},
615616
}
616617

0 commit comments

Comments
 (0)