create migration plan

This commit is contained in:
Aditya Kulkarni
2018-10-25 11:52:02 -07:00
parent aa321b1d12
commit bed3edea27
5 changed files with 195 additions and 68 deletions

View File

@@ -1,16 +1,37 @@
#ifndef TURNSTILE_H
#define TURNSTILE_H
#include "precompiled.h"
class RPC;
struct TurnstileMigrationItem {
QString fromAddr;
QString intTAddr;
QString destAddr;
int blockNumber;
double amount;
bool chaff;
};
class Turnstile
{
public:
Turnstile();
Turnstile(RPC* _rpc);
~Turnstile();
void planMigration(QString zaddr, QString destAddr);
QList<double> splitAmount(double amount, int parts);
void fillAmounts(QList<double>& amounts, double amount, int count);
void writeMigrationPlan(QList<TurnstileMigrationItem> plan);
QList<TurnstileMigrationItem> readMigrationPlan();
private:
QList<int> getBlockNumbers(int start, int end, int count);
QString writeableFile();
RPC* rpc;
};
#endif