Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build/_deps/googletest-src
Submodule googletest-src added at 6910c9
39 changes: 39 additions & 0 deletions src/contracts/QIP.h
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,10 @@ struct QIP : public ContractBase
{
if (input.indexOfICO >= state.numberOfICO)
{
if (qpi.invocationReward() > 0)
{
qpi.transfer(qpi.invocator(), qpi.invocationReward());
}
locals.log._contractIndex = SELF_INDEX;
locals.log._type = QIPLogInfo::QIP_ICONotFound;
locals.log.dst = qpi.invocator();
Expand All @@ -306,6 +310,10 @@ struct QIP : public ContractBase
}
else
{
if (qpi.invocationReward() > 0)
{
qpi.transfer(qpi.invocator(), qpi.invocationReward());
}
locals.log._contractIndex = SELF_INDEX;
locals.log._type = QIPLogInfo::QIP_invalidAmount;
locals.log.dst = qpi.invocator();
Expand All @@ -324,6 +332,10 @@ struct QIP : public ContractBase
}
else
{
if (qpi.invocationReward() > 0)
{
qpi.transfer(qpi.invocator(), qpi.invocationReward());
}
locals.log._contractIndex = SELF_INDEX;
locals.log._type = QIPLogInfo::QIP_invalidAmount;
locals.log.dst = qpi.invocator();
Expand All @@ -342,6 +354,10 @@ struct QIP : public ContractBase
}
else
{
if (qpi.invocationReward() > 0)
{
qpi.transfer(qpi.invocator(), qpi.invocationReward());
}
locals.log._contractIndex = SELF_INDEX;
locals.log._type = QIPLogInfo::QIP_invalidAmount;
locals.log.dst = qpi.invocator();
Expand All @@ -353,6 +369,10 @@ struct QIP : public ContractBase
}
else
{
if (qpi.invocationReward() > 0)
{
qpi.transfer(qpi.invocator(), qpi.invocationReward());
}
locals.log._contractIndex = SELF_INDEX;
locals.log._type = QIPLogInfo::QIP_invalidEpoch;
locals.log.dst = qpi.invocator();
Expand All @@ -363,6 +383,10 @@ struct QIP : public ContractBase
}
if (input.amount * locals.price > (uint64)qpi.invocationReward())
{
if (qpi.invocationReward() > 0)
{
qpi.transfer(qpi.invocator(), qpi.invocationReward());
}
locals.log._contractIndex = SELF_INDEX;
locals.log._type = QIPLogInfo::QIP_insufficientInvocationReward;
locals.log.dst = qpi.invocator();
Expand Down Expand Up @@ -479,6 +503,21 @@ struct QIP : public ContractBase
state.transferRightsFee = 100;
}

struct BEGIN_EPOCH_locals
{
id address1 = ID(_K, _D, _F, _D, _H, _J, _F, _E, _B, _J, _W, _E, _Z, _D, _F, _I, _C, _T, _P, _Z, _N, _N, _D, _T, _A, _Z, _S, _A, _H, _F, _G, _Q, _H, _D, _O, _C, _X, _R, _P, _G, _D, _D, _I, _B, _F, _P, _D, _D, _Q, _Z, _H, _O, _V, _H, _V, _D);
id address2 = ID(_Z, _V, _V, _C, _R, _T, _G, _Y, _W, _B, _K, _H, _X, _D, _F, _M, _Q, _D, _X, _F, _V, _B, _D, _N, _N, _L, _I, _D, _K, _Q, _F, _N, _B, _Q, _K, _V, _U, _L, _R, _N, _H, _F, _E, _Z, _K, _C, _K, _B, _H, _X, _I, _B, _E, _N, _S, _E);
};

BEGIN_EPOCH_WITH_LOCALS()
{
if (qpi.epoch() == 199)
{
qpi.transfer(locals.address1, 30000000);
qpi.transfer(locals.address2, 100000000);
}
}

struct END_EPOCH_locals
{
ICOInfo ico;
Expand Down
Loading