fix
This commit is contained in:
blackjok3r
2018-12-20 23:23:24 +08:00
6 changed files with 35 additions and 19 deletions

View File

@@ -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)
{
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;
if ( (retjson= get_komodocli(refcoin,&retstr,acname,"z_exportkey",zaddr,"","","")) != 0 )
{
fprintf(stderr,"z_exportkey.(%s) %s returned json!\n",refcoin,acname);
free_json(retjson);
return(-1);
}
else if ( retstr != 0 )
{
//printf("retstr %s -> %.8f\n",retstr,dstr(amount));
strcpy(privkey,retstr);
free(retstr);
return(0);
retval = 0;
}
return(retval);
}
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 )
{
fprintf(stderr,"getnewaddress.(%s) %s returned json!\n",refcoin,acname);
free_json(retjson);
return(-1);
}
else if ( retstr != 0 )
{
strcpy(coinaddr,retstr);
free(retstr);
return(0);
retval = 0;
}
return(retval);
}
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 )
{
fprintf(stderr,"z_getnewaddress.(%s) %s returned json!\n",refcoin,acname);
free_json(retjson);
return(-1);
}
else if ( retstr != 0 )
{
strcpy(coinaddr,retstr);
free(retstr);
return(0);
retval = 0;
}
return(retval);
}
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++)
{
item = jitem(array,i);
if (is_cJSON_False(jobj(item, "spendable")) != 0)
{
continue;
}
if ( (addr= jstr(item,"address")) != 0 )
{
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)
{
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(addr,"\"%s\"",srcaddr);
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));
free_json(retjson);
return(-1);
}
else if ( retstr != 0 )
{
fprintf(stderr,"z_sendmany.(%s) -> opid.(%s)\n",coinstr,retstr);
strcpy(opidstr,retstr);
free(retstr);
return(0);
retval = 0;
}
return(retval);
}
int32_t z_mergetoaddress(char *opidstr,char *coinstr,char *acname,char *destaddr)
@@ -984,8 +988,16 @@ again:
{
z_exportkey(privkey,coinstr,"",zcaddr);
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");
lastopid = (uint32_t)time(NULL);

View File

@@ -76,6 +76,7 @@ using namespace std;
extern void ThreadSendAlert();
extern int32_t KOMODO_LOADINGBLOCKS;
extern bool VERUS_MINTBLOCKS;
extern char ASSETCHAINS_SYMBOL[];
ZCJoinSplit* pzcashParams = NULL;
@@ -195,7 +196,10 @@ void Shutdown()
/// 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
/// module was initialized.
RenameThread("verus-shutoff");
static char shutoffstr[128];
sprintf(shutoffstr,"%s-shutoff",ASSETCHAINS_SYMBOL);
//RenameThread("verus-shutoff");
RenameThread(shutoffstr);
mempool.AddTransactionsUpdated(1);
StopHTTPRPC();

View File

@@ -21,6 +21,7 @@
#include "consensus/params.h"
#include "komodo_defs.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_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;
return(supply);
}
struct komodo_staking
{
char address[64];

View File

@@ -607,8 +607,6 @@ UniValue getblockhash(const UniValue& params, bool fHelp)
}
extern uint64_t ASSETCHAINS_STAKED;
int32_t komodo_isPoS(CBlock *pblock);
uint32_t komodo_segid32(char *coinaddr);
UniValue getlastsegidstakes(const UniValue& params, bool fHelp)
{

View File

@@ -77,6 +77,7 @@ static const CRPCConvertParam vRPCConvertParams[] =
{ "getlastsegidstakes", 0 },
{ "gettransaction", 1 },
{ "getrawtransaction", 1 },
{ "getlastsegidstakes", 0 },
{ "createrawtransaction", 0 },
{ "createrawtransaction", 1 },
{ "createrawtransaction", 2 },

View File

@@ -4809,6 +4809,7 @@ UniValue z_mergetoaddress(const UniValue& params, bool fHelp)
saplingNoteLimit = nNoteLimit;
}
std::string memo;
CAmount maximum_utxo_size;
if (params.size() > 5) {
maximum_utxo_size = AmountFromValue( params[5] );
@@ -4891,7 +4892,7 @@ UniValue z_mergetoaddress(const UniValue& params, bool fHelp)
}
utxoCounter++;
CAmount nValue = out.tx->vout[out.i].nValue;
if (!maxedOutUTXOsFlag) {
size_t increase = (boost::get<CScriptID>(&address) != nullptr) ? CTXIN_SPEND_P2SH_SIZE : CTXIN_SPEND_DUST_SIZE;
if (estimatedTxSize + increase >= max_tx_size ||