From d7da31e4d775ecfdd3d92cc6716b96cf3badcd72 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 2 Feb 2019 03:30:41 -1100 Subject: [PATCH] Rogue rpc skeleton --- src/cc/cclib.cpp | 15 +++++++++++++-- src/cc/makerogue | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/cc/cclib.cpp b/src/cc/cclib.cpp index 8a0f0aeca..c05fc11b9 100644 --- a/src/cc/cclib.cpp +++ b/src/cc/cclib.cpp @@ -47,11 +47,18 @@ struct CClib_rpcinfo int32_t numrequiredargs,maxargs; uint8_t funcid,evalcode; } +// creategame, register (inventory + baton + buyin), progress (events + statehash + [compr state]?), claimwin + CClib_methods[] = { { (char *)"faucet2", (char *)"fund", (char *)"amount", 1, 1, 'F', EVAL_FAUCET2 }, { (char *)"faucet2", (char *)"get", (char *)"", 0, 0, 'G', EVAL_FAUCET2 }, #ifdef BUILD_ROGUE + { (char *)"rogue", (char *)"newgame", (char *)"buyin", 0, 1, 'N', EVAL_ROGUE }, + { (char *)"rogue", (char *)"register", (char *)"txid [inventory]", 1, 2, 'R', EVAL_ROGUE }, + { (char *)"rogue", (char *)"progress", (char *)"txid fname", 2, 2, 'P', EVAL_ROGUE }, + { (char *)"rogue", (char *)"claimwin", (char *)"txid", 1, 1, 'W', EVAL_ROGUE }, + { (char *)"rogue", (char *)"extract", (char *)"txid item", 2, 2, 'X', EVAL_ROGUE }, #else { (char *)"sudoku", (char *)"gen", (char *)"", 0, 0, 'G', EVAL_SUDOKU }, { (char *)"sudoku", (char *)"txidinfo", (char *)"txid", 1, 1, 'T', EVAL_SUDOKU }, @@ -63,6 +70,11 @@ CClib_methods[] = std::string CClib_rawtxgen(struct CCcontract_info *cp,uint8_t funcid,cJSON *params); #ifdef BUILD_ROGUE +bool rogue_validate(struct CCcontract_info *cp,int32_t height,Eval *eval,const CTransaction tx) +{ + return(true); +} + #else bool sudoku_validate(struct CCcontract_info *cp,int32_t height,Eval *eval,const CTransaction tx); UniValue sudoku_txidinfo(uint64_t txfee,struct CCcontract_info *cp,cJSON *params); @@ -216,8 +228,7 @@ bool CClib_validate(struct CCcontract_info *cp,int32_t height,Eval *eval,const C if ( cp->evalcode != EVAL_FAUCET2 ) { #ifdef BUILD_ROGUE - //return(rogue_validate(cp,height,eval,tx)); - return(false); + return(rogue_validate(cp,height,eval,tx)); #else return(sudoku_validate(cp,height,eval,tx)); #endif diff --git a/src/cc/makerogue b/src/cc/makerogue index c9e55c28c..ea02e7fb1 100755 --- a/src/cc/makerogue +++ b/src/cc/makerogue @@ -1,2 +1,2 @@ cd rogue; make; cd .. -gcc -DROGUE -std=c++11 -I../univalue/include -I../cryptoconditions/include -I../cryptoconditions/src -I../cryptoconditions/src/asn -I.. -I. -fPIC -shared -c -o ../libcc.so cclib.cpp rogue/rogue.so +gcc -DBUILD_ROGUE -std=c++11 -I../univalue/include -I../cryptoconditions/include -I../cryptoconditions/src -I../cryptoconditions/src/asn -I.. -I. -fPIC -shared -c -o ../libcc.so cclib.cpp rogue/rogue.so