Check for illegal solution
This commit is contained in:
@@ -37,17 +37,17 @@ char *CClib_name() { return((char *)MYCCLIBNAME.c_str()); }
|
|||||||
struct CClib_rpcinfo
|
struct CClib_rpcinfo
|
||||||
{
|
{
|
||||||
char *CCname,*method,*help;
|
char *CCname,*method,*help;
|
||||||
int32_t numrequiredargs,maxargs; // frontloaded with required
|
int32_t numrequiredargs,maxargs;
|
||||||
uint8_t funcid,evalcode;
|
uint8_t funcid,evalcode;
|
||||||
}
|
}
|
||||||
CClib_methods[] =
|
CClib_methods[] =
|
||||||
{
|
{
|
||||||
{ (char *)"faucet2", (char *)"fund", (char *)"amount", 1, 1, 'F', EVAL_FAUCET2 },
|
{ (char *)"faucet2", (char *)"fund", (char *)"amount", 1, 1, 'F', EVAL_FAUCET2 },
|
||||||
{ (char *)"faucet2", (char *)"get", (char *)"<no args>", 0, 0, 'G', EVAL_FAUCET2 },
|
{ (char *)"faucet2", (char *)"get", (char *)"<no args>", 0, 0, 'G', EVAL_FAUCET2 },
|
||||||
{ (char *)"sudoku", (char *)"gen", (char *)"<no args>", 1, 1, 'G', EVAL_SUDOKU },
|
{ (char *)"sudoku", (char *)"gen", (char *)"<no args>", 0, 0, 'G', EVAL_SUDOKU },
|
||||||
{ (char *)"sudoku", (char *)"txidinfo", (char *)"txid", 1, 1, 'T', EVAL_SUDOKU },
|
{ (char *)"sudoku", (char *)"txidinfo", (char *)"txid", 1, 1, 'T', EVAL_SUDOKU },
|
||||||
{ (char *)"sudoku", (char *)"pending", (char *)"<no args>", 0, 0, 'U', EVAL_SUDOKU },
|
{ (char *)"sudoku", (char *)"pending", (char *)"<no args>", 0, 0, 'U', EVAL_SUDOKU },
|
||||||
{ (char *)"sudoku", (char *)"solution", (char *)"txid solution timestamps[]", 2, 2, 'S', EVAL_SUDOKU },
|
{ (char *)"sudoku", (char *)"solution", (char *)"txid solution timestamps[81]", 83, 83, 'S', EVAL_SUDOKU },
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string CClib_rawtxgen(struct CCcontract_info *cp,uint8_t funcid,cJSON *params);
|
std::string CClib_rawtxgen(struct CCcontract_info *cp,uint8_t funcid,cJSON *params);
|
||||||
|
|||||||
@@ -2807,7 +2807,15 @@ UniValue sudoku_solution(uint64_t txfee,struct CCcontract_info *cp,cJSON *params
|
|||||||
{
|
{
|
||||||
for (i=ind=0; i<9; i++)
|
for (i=ind=0; i<9; i++)
|
||||||
for (j=0; j<9; j++)
|
for (j=0; j<9; j++)
|
||||||
|
{
|
||||||
|
if ( solution[ind] < '1' || solution[ind] > '9' )
|
||||||
|
{
|
||||||
|
result.push_back(Pair("result","error"));
|
||||||
|
result.push_back(Pair("error","illegal solution"));
|
||||||
|
return(result);
|
||||||
|
}
|
||||||
vals9[i][j] = solution[ind++] - '0';
|
vals9[i][j] = solution[ind++] - '0';
|
||||||
|
}
|
||||||
sudoku_privkey(priv32,vals9);
|
sudoku_privkey(priv32,vals9);
|
||||||
priv2addr(coinaddr,pub33,priv32);
|
priv2addr(coinaddr,pub33,priv32);
|
||||||
pk = buf2pk(pub33);
|
pk = buf2pk(pub33);
|
||||||
|
|||||||
Reference in New Issue
Block a user