From my experiments when running a first time sync on an empty spynode folder such as for adding a new shareholder wallet, I determined I need to have a sync --balance option (without nostop) which quits as soon as it does the processing indicated by these 4 lines from the debugging messages:
Make Exploratory Auto stop sync:
until it finds "Contract address : " in the log:
2020/08/08 17:27:21.374203 [Main] wallet.go:155 Info - Loaded unspent output 0.00004317 : 48f8a5d81d0cb386abdf8d6d50b01332179e867b05288d44de66aeae88f72a8e:0
2020/08/08 17:27:21.377027 [Main] wallet.go:155 Info - Loaded unspent output 0.00077717 : 996248da1e381de87e8303eae3ee6818848f3513a97bdccb06bf7caae01c3d61:2
2020/08/08 17:27:21.377095 [Main] wallet.go:161 Info - Loaded wallet with 9 outputs, 2 unspent, and balance of 0.00082034
2020/08/08 17:27:21.377156 [Main] wallet.go:164 Info - Wallet address : 16GgqN2sWSTZAZobNkR6uLVUUmD8LnnSPM
2020/08/08 17:27:21.377194 [Main] node.go:114 Info - Contract address : 1QAinrbEfjv46jdpwZcqc1nB4tWH9AE8in
sync --balance (without --nostop) needs to stop here because otherwise it drags on for hours because no peers have been found yet.
NOTE (GOTCHA): peers can only be found by using the --nostop option.
So next we have to run sync --nostop because now the wallet balance info has been discovered and saved by tokenized into the contract state and that wallet balance determination can only happen on a regular sync (without --nostop) ONLY on a first time run of sync on an empty spynode folder.
Finally we can run the regular sync (without any option flags) and it will terminate quickly (in less than 2 minutes typically) because now there are peers found to satisfy necessary queries.