decred / dcrstakepool

Stakepool for Decred.
Other
73 stars 75 forks source link

stakepoold syncScripts: replace ListScripts with ListImportedAddresses #619

Closed itswisdomagain closed 4 years ago

itswisdomagain commented 4 years ago

stakepoold relies on dcrwallet's listscripts JSON-RPC method to determine multisig scripts that are missing from a stakepoold's wallet. The listscripts rpc method was removed in https://github.com/decred/dcrwallet/pull/1688 which now causes stakepoold to fail on start.

This PR replaces stakepoold's usage of the listscripts rpc method with getaddressesbyaccount for the imported account. Both rpc methods serve the same purpose on stakepoold - determine multisig scripts that are missing from a stakepoold's wallet.

The listscripts method returns a list of scripts that are found in a stakepoold's wallet, and compares this with the scripts in the dcrstakepool database to determine which scripts are yet to be imported into the stakepoold instance.

The getaddressesbyaccount "imported" method returns a list of addresses found in the imported account of a stakepoold's wallet, which is then compared with the list of multisig addresses in the dcrstakepool database to determine which scripts are yet to be imported into the stakepoold instance.