@@ -44,6 +44,7 @@ komodo_asset WLC 210000000
|
|||||||
komodo_asset KV 1000000
|
komodo_asset KV 1000000
|
||||||
komodo_asset CEAL 366666666
|
komodo_asset CEAL 366666666
|
||||||
komodo_asset MESH 1000007
|
komodo_asset MESH 1000007
|
||||||
|
komodo_asset MNZ 257142858
|
||||||
|
|
||||||
komodo_asset USD
|
komodo_asset USD
|
||||||
komodo_asset EUR
|
komodo_asset EUR
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ echo $pubkey
|
|||||||
./komodod -pubkey=$pubkey -ac_name=KV -ac_supply=1000000 -addnode=78.47.196.146 $1 &
|
./komodod -pubkey=$pubkey -ac_name=KV -ac_supply=1000000 -addnode=78.47.196.146 $1 &
|
||||||
./komodod -pubkey=$pubkey -ac_name=CEAL -ac_supply=366666666 -addnode=78.47.196.146 $1 &
|
./komodod -pubkey=$pubkey -ac_name=CEAL -ac_supply=366666666 -addnode=78.47.196.146 $1 &
|
||||||
./komodod -pubkey=$pubkey -ac_name=MESH -ac_supply=1000007 -addnode=78.47.196.146 $1 &
|
./komodod -pubkey=$pubkey -ac_name=MESH -ac_supply=1000007 -addnode=78.47.196.146 $1 &
|
||||||
|
./komodod -pubkey=$pubkey -ac_name=MNZ -ac_supply=257142858 -addnode=51.15.138.138 $1 &
|
||||||
sleep $delay
|
sleep $delay
|
||||||
|
|
||||||
./komodod -pubkey=$pubkey -ac_name=USD -addnode=78.47.196.146 $1 &
|
./komodod -pubkey=$pubkey -ac_name=USD -addnode=78.47.196.146 $1 &
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ static bool AppInitRPC(int argc, char* argv[])
|
|||||||
// Parameters
|
// Parameters
|
||||||
//
|
//
|
||||||
ParseParameters(argc, argv);
|
ParseParameters(argc, argv);
|
||||||
komodo_args();
|
komodo_args(argv[0]);
|
||||||
if (argc<2 || mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) {
|
if (argc<2 || mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) {
|
||||||
std::string strUsage = _("Komodo RPC client version") + " " + FormatFullVersion() + "\n" + PrivacyInfo();
|
std::string strUsage = _("Komodo RPC client version") + " " + FormatFullVersion() + "\n" + PrivacyInfo();
|
||||||
if (!mapArgs.count("-version")) {
|
if (!mapArgs.count("-version")) {
|
||||||
@@ -196,7 +196,7 @@ UniValue CallRPC(const string& strMethod, const UniValue& params)
|
|||||||
{
|
{
|
||||||
std::string host = GetArg("-rpcconnect", "127.0.0.1");
|
std::string host = GetArg("-rpcconnect", "127.0.0.1");
|
||||||
int port = GetArg("-rpcport", BaseParams().RPCPort());
|
int port = GetArg("-rpcport", BaseParams().RPCPort());
|
||||||
|
BITCOIND_PORT = port;
|
||||||
// Obtain event base
|
// Obtain event base
|
||||||
raii_event_base base = obtain_event_base();
|
raii_event_base base = obtain_event_base();
|
||||||
|
|
||||||
|
|||||||
@@ -111,9 +111,9 @@ bool AppInit(int argc, char* argv[])
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
void komodo_args();
|
void komodo_args(char *argv0);
|
||||||
komodo_args();
|
komodo_args(argv[0]);
|
||||||
fprintf(stderr,"call komodo_args NOTARY_PUBKEY.(%s)\n",NOTARY_PUBKEY.c_str());
|
fprintf(stderr,"call komodo_args.(%s) NOTARY_PUBKEY.(%s)\n",argv[0],NOTARY_PUBKEY.c_str());
|
||||||
while ( ASSETCHAIN_INIT == 0 )
|
while ( ASSETCHAIN_INIT == 0 )
|
||||||
{
|
{
|
||||||
//if ( komodo_is_issuer() != 0 )
|
//if ( komodo_is_issuer() != 0 )
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dp
|
|||||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"KV\",\"pubkey\":\"$pubkey\"}"
|
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"KV\",\"pubkey\":\"$pubkey\"}"
|
||||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"CEAL\",\"pubkey\":\"$pubkey\"}"
|
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"CEAL\",\"pubkey\":\"$pubkey\"}"
|
||||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"MESH\",\"pubkey\":\"$pubkey\"}"
|
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"MESH\",\"pubkey\":\"$pubkey\"}"
|
||||||
|
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"MNZ\",\"pubkey\":\"$pubkey\"}"
|
||||||
|
|
||||||
|
|
||||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"USD\",\"pubkey\":\"$pubkey\"}"
|
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"USD\",\"pubkey\":\"$pubkey\"}"
|
||||||
|
|||||||
@@ -49,3 +49,4 @@ echo wlc; fiat/wlc $1 $2 $3 $4
|
|||||||
echo kv; fiat/kv $1 $2 $3 $4
|
echo kv; fiat/kv $1 $2 $3 $4
|
||||||
echo ceal; fiat/ceal $1 $2 $3 $4
|
echo ceal; fiat/ceal $1 $2 $3 $4
|
||||||
echo mesh; fiat/mesh $1 $2 $3 $4
|
echo mesh; fiat/mesh $1 $2 $3 $4
|
||||||
|
echo mnz; fiat/mnz $1 $2 $3 $4
|
||||||
|
|||||||
@@ -126,6 +126,15 @@ static bool HTTPReq_JSONRPC(HTTPRequest* req, const std::string &)
|
|||||||
// singleton request
|
// singleton request
|
||||||
if (valRequest.isObject()) {
|
if (valRequest.isObject()) {
|
||||||
jreq.parse(valRequest);
|
jreq.parse(valRequest);
|
||||||
|
|
||||||
|
if (!RPCAuthorized(authHeader.second)) {
|
||||||
|
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", req->GetPeer().ToString());
|
||||||
|
MilliSleep(250);
|
||||||
|
|
||||||
|
req->WriteHeader("WWW-Authenticate", WWW_AUTH_HEADER_DATA);
|
||||||
|
req->WriteReply(HTTP_UNAUTHORIZED);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
UniValue result = tableRPC.execute(jreq.strMethod, jreq.params);
|
UniValue result = tableRPC.execute(jreq.strMethod, jreq.params);
|
||||||
|
|
||||||
|
|||||||
@@ -481,7 +481,7 @@ uint256 komodo_getblockhash(int32_t height)
|
|||||||
uint256 hash; char params[128],*hexstr,*jsonstr; cJSON *result; int32_t i; uint8_t revbuf[32];
|
uint256 hash; char params[128],*hexstr,*jsonstr; cJSON *result; int32_t i; uint8_t revbuf[32];
|
||||||
memset(&hash,0,sizeof(hash));
|
memset(&hash,0,sizeof(hash));
|
||||||
sprintf(params,"[%d]",height);
|
sprintf(params,"[%d]",height);
|
||||||
if ( (jsonstr= komodo_issuemethod(KMDUSERPASS,(char *)"getblockhash",params,7771)) != 0 )
|
if ( (jsonstr= komodo_issuemethod(KMDUSERPASS,(char *)"getblockhash",params,BITCOIND_PORT)) != 0 )
|
||||||
{
|
{
|
||||||
if ( (result= cJSON_Parse(jsonstr)) != 0 )
|
if ( (result= cJSON_Parse(jsonstr)) != 0 )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1352,8 +1352,8 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3
|
|||||||
void komodo_passport_iteration()
|
void komodo_passport_iteration()
|
||||||
{
|
{
|
||||||
static long lastpos[34]; static char userpass[33][1024]; static uint32_t lasttime;
|
static long lastpos[34]; static char userpass[33][1024]; static uint32_t lasttime;
|
||||||
int32_t maxseconds = 30;
|
int32_t maxseconds = 10;
|
||||||
FILE *fp; int32_t baseid,n,ht,isrealtime,expired,refid,blocks,longest; struct komodo_state *sp,*refsp; char *retstr,fname[512],*base,symbol[16],dest[16]; uint32_t buf[3],starttime; cJSON *infoobj,*result; uint64_t RTmask = 0;
|
FILE *fp; int32_t baseid,limit,n,ht,isrealtime,expired,refid,blocks,longest; struct komodo_state *sp,*refsp; char *retstr,fname[512],*base,symbol[16],dest[16]; uint32_t buf[3],starttime; cJSON *infoobj,*result; uint64_t RTmask = 0;
|
||||||
//printf("PASSPORT.(%s)\n",ASSETCHAINS_SYMBOL);
|
//printf("PASSPORT.(%s)\n",ASSETCHAINS_SYMBOL);
|
||||||
expired = 0;
|
expired = 0;
|
||||||
while ( KOMODO_INITDONE == 0 )
|
while ( KOMODO_INITDONE == 0 )
|
||||||
@@ -1365,10 +1365,12 @@ void komodo_passport_iteration()
|
|||||||
if ( ASSETCHAINS_SYMBOL[0] == 0 )
|
if ( ASSETCHAINS_SYMBOL[0] == 0 )
|
||||||
{
|
{
|
||||||
refid = 33;
|
refid = 33;
|
||||||
|
limit = 1000000;
|
||||||
jumblr_iteration();
|
jumblr_iteration();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
limit = 10000;
|
||||||
refid = komodo_baseid(ASSETCHAINS_SYMBOL)+1; // illegal base -> baseid.-1 -> 0
|
refid = komodo_baseid(ASSETCHAINS_SYMBOL)+1; // illegal base -> baseid.-1 -> 0
|
||||||
if ( refid == 0 )
|
if ( refid == 0 )
|
||||||
{
|
{
|
||||||
@@ -1382,7 +1384,7 @@ void komodo_passport_iteration()
|
|||||||
return;
|
return;
|
||||||
}*/
|
}*/
|
||||||
starttime = (uint32_t)time(NULL);
|
starttime = (uint32_t)time(NULL);
|
||||||
if ( starttime == lasttime )
|
if ( 0 && starttime == lasttime )
|
||||||
{
|
{
|
||||||
usleep(1000);
|
usleep(1000);
|
||||||
return;
|
return;
|
||||||
@@ -1413,9 +1415,9 @@ void komodo_passport_iteration()
|
|||||||
if ( ASSETCHAINS_SYMBOL[0] != 0 )
|
if ( ASSETCHAINS_SYMBOL[0] != 0 )
|
||||||
printf("%s passport refid.%d %s fname.(%s) base.%s %ld %ld\n",ASSETCHAINS_SYMBOL,refid,symbol,fname,base,ftell(fp),lastpos[baseid]);
|
printf("%s passport refid.%d %s fname.(%s) base.%s %ld %ld\n",ASSETCHAINS_SYMBOL,refid,symbol,fname,base,ftell(fp),lastpos[baseid]);
|
||||||
fseek(fp,lastpos[baseid],SEEK_SET);
|
fseek(fp,lastpos[baseid],SEEK_SET);
|
||||||
while ( komodo_parsestatefile(sp,fp,symbol,dest) >= 0 && n < 1000 )
|
while ( komodo_parsestatefile(sp,fp,symbol,dest) >= 0 && n < limit )
|
||||||
{
|
{
|
||||||
if ( n == 999 )
|
if ( n == limit-1 )
|
||||||
{
|
{
|
||||||
if ( time(NULL) < starttime+maxseconds )
|
if ( time(NULL) < starttime+maxseconds )
|
||||||
n = 0;
|
n = 0;
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ char *jumblr_importaddress(char *address)
|
|||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\", \"%s\", false]",address,address);
|
sprintf(params,"[\"%s\", \"%s\", false]",address,address);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"importaddress",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"importaddress",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_validateaddress(char *addr)
|
char *jumblr_validateaddress(char *addr)
|
||||||
@@ -90,7 +90,7 @@ char *jumblr_validateaddress(char *addr)
|
|||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\"]",addr);
|
sprintf(params,"[\"%s\"]",addr);
|
||||||
printf("validateaddress.%s\n",params);
|
printf("validateaddress.%s\n",params);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"validateaddress",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"validateaddress",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t Jumblr_secretaddrfind(char *searchaddr)
|
int32_t Jumblr_secretaddrfind(char *searchaddr)
|
||||||
@@ -221,28 +221,28 @@ char *jumblr_zgetnewaddress()
|
|||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[]");
|
sprintf(params,"[]");
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getnewaddress",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getnewaddress",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_zlistoperationids()
|
char *jumblr_zlistoperationids()
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[]");
|
sprintf(params,"[]");
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listoperationids",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listoperationids",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_zgetoperationresult(char *opid)
|
char *jumblr_zgetoperationresult(char *opid)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[[\"%s\"]]",opid);
|
sprintf(params,"[[\"%s\"]]",opid);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationresult",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationresult",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_zgetoperationstatus(char *opid)
|
char *jumblr_zgetoperationstatus(char *opid)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[[\"%s\"]]",opid);
|
sprintf(params,"[[\"%s\"]]",opid);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationstatus",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getoperationstatus",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_sendt_to_z(char *taddr,char *zaddr,double amount)
|
char *jumblr_sendt_to_z(char *taddr,char *zaddr,double amount)
|
||||||
@@ -252,7 +252,7 @@ char *jumblr_sendt_to_z(char *taddr,char *zaddr,double amount)
|
|||||||
return(clonestr((char *)"{\"error\":\"illegal address in t to z\"}"));
|
return(clonestr((char *)"{\"error\":\"illegal address in t to z\"}"));
|
||||||
sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",taddr,zaddr,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE);
|
sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",taddr,zaddr,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE);
|
||||||
printf("t -> z: %s\n",params);
|
printf("t -> z: %s\n",params);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_sendz_to_z(char *zaddrS,char *zaddrD,double amount)
|
char *jumblr_sendz_to_z(char *zaddrS,char *zaddrD,double amount)
|
||||||
@@ -263,7 +263,7 @@ char *jumblr_sendz_to_z(char *zaddrS,char *zaddrD,double amount)
|
|||||||
//sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddrS,zaddrD,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE);
|
//sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddrS,zaddrD,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE);
|
||||||
sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddrS,zaddrD,amount-fee-JUMBLR_TXFEE,JUMBLR_TXFEE);
|
sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddrS,zaddrD,amount-fee-JUMBLR_TXFEE,JUMBLR_TXFEE);
|
||||||
printf("z -> z: %s\n",params);
|
printf("z -> z: %s\n",params);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_sendz_to_t(char *zaddr,char *taddr,double amount)
|
char *jumblr_sendz_to_t(char *zaddr,char *taddr,double amount)
|
||||||
@@ -273,56 +273,56 @@ char *jumblr_sendz_to_t(char *zaddr,char *taddr,double amount)
|
|||||||
return(clonestr((char *)"{\"error\":\"illegal address in z to t\"}"));
|
return(clonestr((char *)"{\"error\":\"illegal address in z to t\"}"));
|
||||||
sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddr,taddr,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE);
|
sprintf(params,"[\"%s\", [{\"address\":\"%s\",\"amount\":%.8f}, {\"address\":\"%s\",\"amount\":%.8f}], 1, %.8f]",zaddr,taddr,amount-fee-JUMBLR_TXFEE,JUMBLR_ADDR,fee,JUMBLR_TXFEE);
|
||||||
printf("z -> t: %s\n",params);
|
printf("z -> t: %s\n",params);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_sendmany",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_zlistaddresses()
|
char *jumblr_zlistaddresses()
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[]");
|
sprintf(params,"[]");
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listaddresses",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listaddresses",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_zlistreceivedbyaddress(char *addr)
|
char *jumblr_zlistreceivedbyaddress(char *addr)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\", 1]",addr);
|
sprintf(params,"[\"%s\", 1]",addr);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listreceivedbyaddress",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_listreceivedbyaddress",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_getreceivedbyaddress(char *addr)
|
char *jumblr_getreceivedbyaddress(char *addr)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\", 1]",addr);
|
sprintf(params,"[\"%s\", 1]",addr);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"getreceivedbyaddress",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"getreceivedbyaddress",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_importprivkey(char *wifstr)
|
char *jumblr_importprivkey(char *wifstr)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\", \"\", false]",wifstr);
|
sprintf(params,"[\"%s\", \"\", false]",wifstr);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"importprivkey",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"importprivkey",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_zgetbalance(char *addr)
|
char *jumblr_zgetbalance(char *addr)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\", 1]",addr);
|
sprintf(params,"[\"%s\", 1]",addr);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getbalance",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"z_getbalance",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_listunspent(char *coinaddr)
|
char *jumblr_listunspent(char *coinaddr)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[1, 99999999, [\"%s\"]]",coinaddr);
|
sprintf(params,"[1, 99999999, [\"%s\"]]",coinaddr);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"listunspent",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"listunspent",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
char *jumblr_gettransaction(char *txidstr)
|
char *jumblr_gettransaction(char *txidstr)
|
||||||
{
|
{
|
||||||
char params[1024];
|
char params[1024];
|
||||||
sprintf(params,"[\"%s\", 1]",txidstr);
|
sprintf(params,"[\"%s\", 1]",txidstr);
|
||||||
return(jumblr_issuemethod(KMDUSERPASS,(char *)"getrawtransaction",params,7771));
|
return(jumblr_issuemethod(KMDUSERPASS,(char *)"getrawtransaction",params,BITCOIND_PORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t jumblr_numvins(bits256 txid)
|
int32_t jumblr_numvins(bits256 txid)
|
||||||
|
|||||||
@@ -1483,10 +1483,20 @@ int32_t komodo_whoami(char *pubkeystr,int32_t height)
|
|||||||
return(notaryid);
|
return(notaryid);
|
||||||
}
|
}
|
||||||
|
|
||||||
void komodo_args()
|
char *argv0suffix[] =
|
||||||
|
{
|
||||||
|
(char *)"mnzd", (char *)"mnz-cli", (char *)"mnzd.exe", (char *)"mnz-cli.exe"
|
||||||
|
};
|
||||||
|
|
||||||
|
char *argv0names[] =
|
||||||
|
{
|
||||||
|
(char *)"MNZ", (char *)"MNZ", (char *)"MNZ", (char *)"MNZ"
|
||||||
|
};
|
||||||
|
|
||||||
|
void komodo_args(char *argv0)
|
||||||
{
|
{
|
||||||
extern int64_t MAX_MONEY;
|
extern int64_t MAX_MONEY;
|
||||||
std::string name,addn; char *dirname,fname[512],magicstr[9]; uint8_t magic[4]; FILE *fp; int32_t i,baseid,len;
|
std::string name,addn; char *dirname,fname[512],arg0str[64],magicstr[9]; uint8_t magic[4]; FILE *fp; int32_t i,baseid,len,n;
|
||||||
IS_KOMODO_NOTARY = GetBoolArg("-notary", false);
|
IS_KOMODO_NOTARY = GetBoolArg("-notary", false);
|
||||||
if ( (KOMODO_EXCHANGEWALLET= GetBoolArg("-exchange", false)) != 0 )
|
if ( (KOMODO_EXCHANGEWALLET= GetBoolArg("-exchange", false)) != 0 )
|
||||||
fprintf(stderr,"KOMODO_EXCHANGEWALLET mode active\n");
|
fprintf(stderr,"KOMODO_EXCHANGEWALLET mode active\n");
|
||||||
@@ -1497,6 +1507,20 @@ void komodo_args()
|
|||||||
KOMODO_PAX = 1;
|
KOMODO_PAX = 1;
|
||||||
} else KOMODO_PAX = GetArg("-pax",0);
|
} else KOMODO_PAX = GetArg("-pax",0);
|
||||||
name = GetArg("-ac_name","");
|
name = GetArg("-ac_name","");
|
||||||
|
if ( argv0 != 0 )
|
||||||
|
{
|
||||||
|
len = (int32_t)strlen(argv0);
|
||||||
|
for (i=0; i<sizeof(argv0suffix)/sizeof(*argv0suffix); i++)
|
||||||
|
{
|
||||||
|
n = (int32_t)strlen(argv0suffix[i]);
|
||||||
|
if ( strcmp(&argv0[len - n],argv0suffix[i]) == 0 )
|
||||||
|
{
|
||||||
|
printf("ARGV0.(%s) -> matches suffix (%s) -> ac_name.(%s)\n",argv0,argv0suffix[i],argv0names[i]);
|
||||||
|
name = argv0names[i];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ( (KOMODO_REWIND= GetArg("-rewind",0)) != 0 )
|
if ( (KOMODO_REWIND= GetArg("-rewind",0)) != 0 )
|
||||||
{
|
{
|
||||||
printf("KOMODO_REWIND %d\n",KOMODO_REWIND);
|
printf("KOMODO_REWIND %d\n",KOMODO_REWIND);
|
||||||
@@ -1529,6 +1553,7 @@ void komodo_args()
|
|||||||
extern int COINBASE_MATURITY;
|
extern int COINBASE_MATURITY;
|
||||||
komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1);
|
komodo_configfile(ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT + 1);
|
||||||
COINBASE_MATURITY = 1;
|
COINBASE_MATURITY = 1;
|
||||||
|
LogPrintf("ASSETCHAINS_PORT %s %u\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_PORT);
|
||||||
}
|
}
|
||||||
ASSETCHAINS_NOTARIES = GetArg("-ac_notaries","");
|
ASSETCHAINS_NOTARIES = GetArg("-ac_notaries","");
|
||||||
komodo_assetchain_pubkeys((char *)ASSETCHAINS_NOTARIES.c_str());
|
komodo_assetchain_pubkeys((char *)ASSETCHAINS_NOTARIES.c_str());
|
||||||
@@ -1581,6 +1606,7 @@ void komodo_args()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BITCOIND_PORT = GetArg("-rpcport", BaseParams().RPCPort());
|
||||||
//fprintf(stderr,"%s chain params initialized\n",ASSETCHAINS_SYMBOL);
|
//fprintf(stderr,"%s chain params initialized\n",ASSETCHAINS_SYMBOL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1059,7 +1059,9 @@ UniValue getchaintips(const UniValue& params, bool fHelp)
|
|||||||
setTips.insert(item.second);
|
setTips.insert(item.second);
|
||||||
BOOST_FOREACH(const PAIRTYPE(const uint256, CBlockIndex*)& item, mapBlockIndex)
|
BOOST_FOREACH(const PAIRTYPE(const uint256, CBlockIndex*)& item, mapBlockIndex)
|
||||||
{
|
{
|
||||||
const CBlockIndex* pprev = item.second->pprev;
|
const CBlockIndex* pprev=0;
|
||||||
|
if ( item.second != 0 )
|
||||||
|
pprev = item.second->pprev;
|
||||||
if (pprev)
|
if (pprev)
|
||||||
setTips.erase(pprev);
|
setTips.erase(pprev);
|
||||||
}
|
}
|
||||||
@@ -1068,40 +1070,43 @@ UniValue getchaintips(const UniValue& params, bool fHelp)
|
|||||||
setTips.insert(chainActive.Tip());
|
setTips.insert(chainActive.Tip());
|
||||||
|
|
||||||
/* Construct the output array. */
|
/* Construct the output array. */
|
||||||
UniValue res(UniValue::VARR);
|
UniValue res(UniValue::VARR); const CBlockIndex *forked;
|
||||||
BOOST_FOREACH(const CBlockIndex* block, setTips)
|
BOOST_FOREACH(const CBlockIndex* block, setTips)
|
||||||
{
|
BOOST_FOREACH(const CBlockIndex* block, setTips)
|
||||||
UniValue obj(UniValue::VOBJ);
|
{
|
||||||
obj.push_back(Pair("height", block->nHeight));
|
UniValue obj(UniValue::VOBJ);
|
||||||
obj.push_back(Pair("hash", block->phashBlock->GetHex()));
|
obj.push_back(Pair("height", block->nHeight));
|
||||||
|
obj.push_back(Pair("hash", block->phashBlock->GetHex()));
|
||||||
|
forked = chainActive.FindFork(block);
|
||||||
|
if ( forked != 0 )
|
||||||
|
{
|
||||||
|
const int branchLen = block->nHeight - forked->nHeight;
|
||||||
|
obj.push_back(Pair("branchlen", branchLen));
|
||||||
|
|
||||||
const int branchLen = block->nHeight - chainActive.FindFork(block)->nHeight;
|
string status;
|
||||||
obj.push_back(Pair("branchlen", branchLen));
|
if (chainActive.Contains(block)) {
|
||||||
|
// This block is part of the currently active chain.
|
||||||
string status;
|
status = "active";
|
||||||
if (chainActive.Contains(block)) {
|
} else if (block->nStatus & BLOCK_FAILED_MASK) {
|
||||||
// This block is part of the currently active chain.
|
// This block or one of its ancestors is invalid.
|
||||||
status = "active";
|
status = "invalid";
|
||||||
} else if (block->nStatus & BLOCK_FAILED_MASK) {
|
} else if (block->nChainTx == 0) {
|
||||||
// This block or one of its ancestors is invalid.
|
// This block cannot be connected because full block data for it or one of its parents is missing.
|
||||||
status = "invalid";
|
status = "headers-only";
|
||||||
} else if (block->nChainTx == 0) {
|
} else if (block->IsValid(BLOCK_VALID_SCRIPTS)) {
|
||||||
// This block cannot be connected because full block data for it or one of its parents is missing.
|
// This block is fully validated, but no longer part of the active chain. It was probably the active block once, but was reorganized.
|
||||||
status = "headers-only";
|
status = "valid-fork";
|
||||||
} else if (block->IsValid(BLOCK_VALID_SCRIPTS)) {
|
} else if (block->IsValid(BLOCK_VALID_TREE)) {
|
||||||
// This block is fully validated, but no longer part of the active chain. It was probably the active block once, but was reorganized.
|
// The headers for this block are valid, but it has not been validated. It was probably never part of the most-work chain.
|
||||||
status = "valid-fork";
|
status = "valid-headers";
|
||||||
} else if (block->IsValid(BLOCK_VALID_TREE)) {
|
} else {
|
||||||
// The headers for this block are valid, but it has not been validated. It was probably never part of the most-work chain.
|
// No clue.
|
||||||
status = "valid-headers";
|
status = "unknown";
|
||||||
} else {
|
}
|
||||||
// No clue.
|
obj.push_back(Pair("status", status));
|
||||||
status = "unknown";
|
}
|
||||||
|
res.push_back(obj);
|
||||||
}
|
}
|
||||||
obj.push_back(Pair("status", status));
|
|
||||||
|
|
||||||
res.push_back(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -643,6 +643,9 @@ void ReadConfigFile(map<string, string>& mapSettingsRet,
|
|||||||
}
|
}
|
||||||
// If datadir is changed in .conf file:
|
// If datadir is changed in .conf file:
|
||||||
ClearDatadirCache();
|
ClearDatadirCache();
|
||||||
|
extern uint16_t BITCOIND_PORT;
|
||||||
|
BITCOIND_PORT = GetArg("-rpcport",BaseParams().RPCPort());
|
||||||
|
//fprintf(stderr,"from conf file %s RPC %u, used to be %u\n",ASSETCHAINS_SYMBOL,BITCOIND_PORT,BITCOIND_PORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include "libsnark/common/profiling.hpp"
|
#include "libsnark/common/profiling.hpp"
|
||||||
char ASSETCHAINS_SYMBOL[16];
|
char ASSETCHAINS_SYMBOL[16];
|
||||||
int64_t MAX_MONEY = 200000000 * 100000000LL;
|
int64_t MAX_MONEY = 200000000 * 100000000LL;
|
||||||
|
uint16_t BITCOIND_PORT = 7771;
|
||||||
|
|
||||||
using namespace libzcash;
|
using namespace libzcash;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user