@@ -649,55 +649,55 @@ int64_t z_getbalance(char *refcoin,char *acname,char *coinaddr)
|
|||||||
|
|
||||||
int32_t z_exportkey(char *privkey,char *refcoin,char *acname,char *zaddr)
|
int32_t z_exportkey(char *privkey,char *refcoin,char *acname,char *zaddr)
|
||||||
{
|
{
|
||||||
cJSON *retjson; char *retstr,cmpstr[64]; int64_t amount=0;
|
cJSON *retjson; char *retstr,cmpstr[64]; int64_t amount=0; int32_t retval = -1;
|
||||||
privkey[0] = 0;
|
privkey[0] = 0;
|
||||||
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_exportkey",zaddr,"","","")) != 0 )
|
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_exportkey",zaddr,"","","")) != 0 )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"z_exportkey.(%s) %s returned json!\n",refcoin,acname);
|
fprintf(stderr,"z_exportkey.(%s) %s returned json!\n",refcoin,acname);
|
||||||
free_json(retjson);
|
free_json(retjson);
|
||||||
return(-1);
|
|
||||||
}
|
}
|
||||||
else if ( retstr != 0 )
|
else if ( retstr != 0 )
|
||||||
{
|
{
|
||||||
//printf("retstr %s -> %.8f\n",retstr,dstr(amount));
|
//printf("retstr %s -> %.8f\n",retstr,dstr(amount));
|
||||||
strcpy(privkey,retstr);
|
strcpy(privkey,retstr);
|
||||||
free(retstr);
|
free(retstr);
|
||||||
return(0);
|
retval = 0;
|
||||||
}
|
}
|
||||||
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t getnewaddress(char *coinaddr,char *refcoin,char *acname)
|
int32_t getnewaddress(char *coinaddr,char *refcoin,char *acname)
|
||||||
{
|
{
|
||||||
cJSON *retjson; char *retstr; int64_t amount=0;
|
cJSON *retjson; char *retstr; int64_t amount=0; int32_t retval = -1;
|
||||||
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"getnewaddress","","","","")) != 0 )
|
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"getnewaddress","","","","")) != 0 )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"getnewaddress.(%s) %s returned json!\n",refcoin,acname);
|
fprintf(stderr,"getnewaddress.(%s) %s returned json!\n",refcoin,acname);
|
||||||
free_json(retjson);
|
free_json(retjson);
|
||||||
return(-1);
|
|
||||||
}
|
}
|
||||||
else if ( retstr != 0 )
|
else if ( retstr != 0 )
|
||||||
{
|
{
|
||||||
strcpy(coinaddr,retstr);
|
strcpy(coinaddr,retstr);
|
||||||
free(retstr);
|
free(retstr);
|
||||||
return(0);
|
retval = 0;
|
||||||
}
|
}
|
||||||
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t z_getnewaddress(char *coinaddr,char *refcoin,char *acname,char *typestr)
|
int32_t z_getnewaddress(char *coinaddr,char *refcoin,char *acname,char *typestr)
|
||||||
{
|
{
|
||||||
cJSON *retjson; char *retstr; int64_t amount=0;
|
cJSON *retjson; char *retstr; int64_t amount=0; int32_t retval = -1;
|
||||||
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_getnewaddress",typestr,"","","")) != 0 )
|
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_getnewaddress",typestr,"","","")) != 0 )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"z_getnewaddress.(%s) %s returned json!\n",refcoin,acname);
|
fprintf(stderr,"z_getnewaddress.(%s) %s returned json!\n",refcoin,acname);
|
||||||
free_json(retjson);
|
free_json(retjson);
|
||||||
return(-1);
|
|
||||||
}
|
}
|
||||||
else if ( retstr != 0 )
|
else if ( retstr != 0 )
|
||||||
{
|
{
|
||||||
strcpy(coinaddr,retstr);
|
strcpy(coinaddr,retstr);
|
||||||
free(retstr);
|
free(retstr);
|
||||||
return(0);
|
retval = 0;
|
||||||
}
|
}
|
||||||
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t find_onetime_amount(char *coinstr,char *coinaddr)
|
int64_t find_onetime_amount(char *coinstr,char *coinaddr)
|
||||||
@@ -712,6 +712,10 @@ int64_t find_onetime_amount(char *coinstr,char *coinaddr)
|
|||||||
for (i=0; i<n; i++)
|
for (i=0; i<n; i++)
|
||||||
{
|
{
|
||||||
item = jitem(array,i);
|
item = jitem(array,i);
|
||||||
|
if (is_cJSON_False(jobj(item, "spendable")) != 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if ( (addr= jstr(item,"address")) != 0 )
|
if ( (addr= jstr(item,"address")) != 0 )
|
||||||
{
|
{
|
||||||
strcpy(coinaddr,addr);
|
strcpy(coinaddr,addr);
|
||||||
@@ -768,7 +772,7 @@ void importaddress(char *refcoin,char *acname,char *depositaddr)
|
|||||||
|
|
||||||
int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *destaddr,int64_t amount)
|
int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *destaddr,int64_t amount)
|
||||||
{
|
{
|
||||||
cJSON *retjson; char *retstr,params[1024],addr[128];
|
cJSON *retjson; char *retstr,params[1024],addr[128]; int32_t retval = -1;
|
||||||
sprintf(params,"'[{\"address\":\"%s\",\"amount\":%.8f}]'",destaddr,dstr(amount));
|
sprintf(params,"'[{\"address\":\"%s\",\"amount\":%.8f}]'",destaddr,dstr(amount));
|
||||||
sprintf(addr,"\"%s\"",srcaddr);
|
sprintf(addr,"\"%s\"",srcaddr);
|
||||||
printf("z_sendmany from.(%s) -> %s\n",srcaddr,params);
|
printf("z_sendmany from.(%s) -> %s\n",srcaddr,params);
|
||||||
@@ -776,15 +780,15 @@ int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *
|
|||||||
{
|
{
|
||||||
printf("unexpected json z_sendmany.(%s)\n",jprint(retjson,0));
|
printf("unexpected json z_sendmany.(%s)\n",jprint(retjson,0));
|
||||||
free_json(retjson);
|
free_json(retjson);
|
||||||
return(-1);
|
|
||||||
}
|
}
|
||||||
else if ( retstr != 0 )
|
else if ( retstr != 0 )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"z_sendmany.(%s) -> opid.(%s)\n",coinstr,retstr);
|
fprintf(stderr,"z_sendmany.(%s) -> opid.(%s)\n",coinstr,retstr);
|
||||||
strcpy(opidstr,retstr);
|
strcpy(opidstr,retstr);
|
||||||
free(retstr);
|
free(retstr);
|
||||||
return(0);
|
retval = 0;
|
||||||
}
|
}
|
||||||
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t z_mergetoaddress(char *opidstr,char *coinstr,char *acname,char *destaddr)
|
int32_t z_mergetoaddress(char *opidstr,char *coinstr,char *acname,char *destaddr)
|
||||||
@@ -984,8 +988,16 @@ again:
|
|||||||
{
|
{
|
||||||
z_exportkey(privkey,coinstr,"",zcaddr);
|
z_exportkey(privkey,coinstr,"",zcaddr);
|
||||||
printf("zcaddr.(%s) -> z_exportkey.(%s)\n",zcaddr,privkey);
|
printf("zcaddr.(%s) -> z_exportkey.(%s)\n",zcaddr,privkey);
|
||||||
while ( z_mergetoaddress(opidstr,coinstr,"",zcaddr) > 0 )
|
while ( 1 )
|
||||||
;
|
{
|
||||||
|
if ( have_pending_opid(coinstr,0) != 0 )
|
||||||
|
{
|
||||||
|
sleep(10);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ( z_mergetoaddress(opidstr,coinstr,"",zcaddr) <= 0 )
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
printf("start processing zmigrate\n");
|
printf("start processing zmigrate\n");
|
||||||
lastopid = (uint32_t)time(NULL);
|
lastopid = (uint32_t)time(NULL);
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ using namespace std;
|
|||||||
extern void ThreadSendAlert();
|
extern void ThreadSendAlert();
|
||||||
extern int32_t KOMODO_LOADINGBLOCKS;
|
extern int32_t KOMODO_LOADINGBLOCKS;
|
||||||
extern bool VERUS_MINTBLOCKS;
|
extern bool VERUS_MINTBLOCKS;
|
||||||
|
extern char ASSETCHAINS_SYMBOL[];
|
||||||
|
|
||||||
ZCJoinSplit* pzcashParams = NULL;
|
ZCJoinSplit* pzcashParams = NULL;
|
||||||
|
|
||||||
@@ -195,7 +196,10 @@ void Shutdown()
|
|||||||
/// for example if the data directory was found to be locked.
|
/// for example if the data directory was found to be locked.
|
||||||
/// Be sure that anything that writes files or flushes caches only does this if the respective
|
/// Be sure that anything that writes files or flushes caches only does this if the respective
|
||||||
/// module was initialized.
|
/// module was initialized.
|
||||||
RenameThread("verus-shutoff");
|
static char shutoffstr[128];
|
||||||
|
sprintf(shutoffstr,"%s-shutoff",ASSETCHAINS_SYMBOL);
|
||||||
|
//RenameThread("verus-shutoff");
|
||||||
|
RenameThread(shutoffstr);
|
||||||
mempool.AddTransactionsUpdated(1);
|
mempool.AddTransactionsUpdated(1);
|
||||||
|
|
||||||
StopHTTPRPC();
|
StopHTTPRPC();
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#include "consensus/params.h"
|
#include "consensus/params.h"
|
||||||
#include "komodo_defs.h"
|
#include "komodo_defs.h"
|
||||||
#include "script/standard.h"
|
#include "script/standard.h"
|
||||||
|
#include "cc/CCinclude.h"
|
||||||
|
|
||||||
int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestamp);
|
int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestamp);
|
||||||
int32_t komodo_electednotary(int32_t *numnotariesp,uint8_t *pubkey33,int32_t height,uint32_t timestamp);
|
int32_t komodo_electednotary(int32_t *numnotariesp,uint8_t *pubkey33,int32_t height,uint32_t timestamp);
|
||||||
@@ -1964,7 +1965,6 @@ int64_t komodo_coinsupply(int64_t *zfundsp,int64_t *sproutfundsp,int32_t height)
|
|||||||
*sproutfundsp = sproutfunds;
|
*sproutfundsp = sproutfunds;
|
||||||
return(supply);
|
return(supply);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct komodo_staking
|
struct komodo_staking
|
||||||
{
|
{
|
||||||
char address[64];
|
char address[64];
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ static const CRPCConvertParam vRPCConvertParams[] =
|
|||||||
{ "getlastsegidstakes", 0 },
|
{ "getlastsegidstakes", 0 },
|
||||||
{ "gettransaction", 1 },
|
{ "gettransaction", 1 },
|
||||||
{ "getrawtransaction", 1 },
|
{ "getrawtransaction", 1 },
|
||||||
|
{ "getlastsegidstakes", 0 },
|
||||||
{ "createrawtransaction", 0 },
|
{ "createrawtransaction", 0 },
|
||||||
{ "createrawtransaction", 1 },
|
{ "createrawtransaction", 1 },
|
||||||
{ "createrawtransaction", 2 },
|
{ "createrawtransaction", 2 },
|
||||||
|
|||||||
@@ -4891,7 +4891,6 @@ UniValue z_mergetoaddress(const UniValue& params, bool fHelp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
utxoCounter++;
|
utxoCounter++;
|
||||||
|
|
||||||
if (!maxedOutUTXOsFlag) {
|
if (!maxedOutUTXOsFlag) {
|
||||||
size_t increase = (boost::get<CScriptID>(&address) != nullptr) ? CTXIN_SPEND_P2SH_SIZE : CTXIN_SPEND_DUST_SIZE;
|
size_t increase = (boost::get<CScriptID>(&address) != nullptr) ? CTXIN_SPEND_P2SH_SIZE : CTXIN_SPEND_DUST_SIZE;
|
||||||
if (estimatedTxSize + increase >= max_tx_size ||
|
if (estimatedTxSize + increase >= max_tx_size ||
|
||||||
|
|||||||
Reference in New Issue
Block a user