Do not send migration transactions that would expire after a network upgrade
This commit is contained in:
parent
65df6225a6
commit
e6c0f743aa
|
@ -69,6 +69,14 @@ void AsyncRPCOperation_saplingmigration::main() {
|
||||||
|
|
||||||
bool AsyncRPCOperation_saplingmigration::main_impl() {
|
bool AsyncRPCOperation_saplingmigration::main_impl() {
|
||||||
LogPrint("zrpcunsafe", "%s: Beginning AsyncRPCOperation_saplingmigration.\n", getId());
|
LogPrint("zrpcunsafe", "%s: Beginning AsyncRPCOperation_saplingmigration.\n", getId());
|
||||||
|
auto consensusParams = Params().GetConsensus();
|
||||||
|
auto nextActivationHeight = NextActivationHeight(targetHeight_, consensusParams);
|
||||||
|
if (nextActivationHeight && targetHeight_ + MIGRATION_EXPIRY_DELTA >= nextActivationHeight.get()) {
|
||||||
|
LogPrint("zrpcunsafe", "%s: Migration txs would be created before a NU activation but may expire after. Skipping this round.\n", getId());
|
||||||
|
setMigrationResult(0, 0, std::vector<std::string>());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<SproutNoteEntry> sproutEntries;
|
std::vector<SproutNoteEntry> sproutEntries;
|
||||||
std::vector<SaplingNoteEntry> saplingEntries;
|
std::vector<SaplingNoteEntry> saplingEntries;
|
||||||
{
|
{
|
||||||
|
@ -93,7 +101,6 @@ bool AsyncRPCOperation_saplingmigration::main_impl() {
|
||||||
HDSeed seed = pwalletMain->GetHDSeedForRPC();
|
HDSeed seed = pwalletMain->GetHDSeedForRPC();
|
||||||
libzcash::SaplingPaymentAddress migrationDestAddress = getMigrationDestAddress(seed);
|
libzcash::SaplingPaymentAddress migrationDestAddress = getMigrationDestAddress(seed);
|
||||||
|
|
||||||
auto consensusParams = Params().GetConsensus();
|
|
||||||
|
|
||||||
// Up to the limit of 5, as many transactions are sent as are needed to migrate the remaining funds
|
// Up to the limit of 5, as many transactions are sent as are needed to migrate the remaining funds
|
||||||
int numTxCreated = 0;
|
int numTxCreated = 0;
|
||||||
|
|
Loading…
Reference in New Issue