New migrate
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -124,3 +124,5 @@ src/komodo-tx.exe
|
|||||||
#output during builds, symbol tables?
|
#output during builds, symbol tables?
|
||||||
*.dSYM
|
*.dSYM
|
||||||
|
|
||||||
|
|
||||||
|
src/cryptoconditions/compile
|
||||||
|
|||||||
@@ -647,6 +647,25 @@ int64_t z_getbalance(char *refcoin,char *acname,char *coinaddr)
|
|||||||
return (amount);
|
return (amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t z_exportkey(char *privkey,char *refcoin,char *acname,char *zaddr)
|
||||||
|
{
|
||||||
|
cJSON *retjson; char *retstr,cmpstr[64]; int64_t amount=0;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
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;
|
||||||
@@ -664,6 +683,23 @@ int32_t getnewaddress(char *coinaddr,char *refcoin,char *acname)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t z_getnewaddress(char *coinaddr,char *refcoin,char *acname,char *typestr)
|
||||||
|
{
|
||||||
|
cJSON *retjson; char *retstr; int64_t amount=0;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int64_t find_onetime_amount(char *coinstr,char *coinaddr)
|
int64_t find_onetime_amount(char *coinstr,char *coinaddr)
|
||||||
{
|
{
|
||||||
cJSON *array,*item; int32_t i,n; char *addr; int64_t amount = 0;
|
cJSON *array,*item; int32_t i,n; char *addr; int64_t amount = 0;
|
||||||
@@ -751,6 +787,39 @@ int32_t z_sendmany(char *opidstr,char *coinstr,char *acname,char *srcaddr,char *
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t z_mergetoaddress(char *opidstr,char *coinstr,char *acname,char *destaddr)
|
||||||
|
{
|
||||||
|
cJSON *retjson; char *retstr,addr[128],*opstr; int32_t retval = -1;
|
||||||
|
sprintf(addr,"[\\\"ANY_SPROUT\\\"]");
|
||||||
|
//printf("z_sendmany from.(%s) -> %s\n",addr,destaddr);
|
||||||
|
if ( (retjson= get_komodocli(coinstr,&retstr,acname,"z_mergetoaddress",addr,destaddr,"","")) != 0 )
|
||||||
|
{
|
||||||
|
/*{
|
||||||
|
"remainingUTXOs": 0,
|
||||||
|
"remainingTransparentValue": 0.00000000,
|
||||||
|
"remainingNotes": 222,
|
||||||
|
"remainingShieldedValue": 5413.39093055,
|
||||||
|
"mergingUTXOs": 0,
|
||||||
|
"mergingTransparentValue": 0.00000000,
|
||||||
|
"mergingNotes": 10,
|
||||||
|
"mergingShieldedValue": 822.47447172,
|
||||||
|
"opid": "opid-f28f6261-4120-436c-aca5-859870a40a70"
|
||||||
|
}*/
|
||||||
|
if ( (opstr= jstr(retjson,"opid")) != 0 )
|
||||||
|
strcpy(opidstr,opstr);
|
||||||
|
retval = jint(retjson,"remainingNotes");
|
||||||
|
fprintf(stderr,"%s\n",jprint(retjson,0));
|
||||||
|
free_json(retjson);
|
||||||
|
}
|
||||||
|
else if ( retstr != 0 )
|
||||||
|
{
|
||||||
|
fprintf(stderr,"z_mergetoaddress.(%s) -> opid.(%s)\n",coinstr,retstr);
|
||||||
|
strcpy(opidstr,retstr);
|
||||||
|
free(retstr);
|
||||||
|
}
|
||||||
|
return(retval);
|
||||||
|
}
|
||||||
|
|
||||||
int32_t empty_mempool(char *coinstr,char *acname)
|
int32_t empty_mempool(char *coinstr,char *acname)
|
||||||
{
|
{
|
||||||
cJSON *array; int32_t n;
|
cJSON *array; int32_t n;
|
||||||
@@ -907,10 +976,25 @@ int32_t main(int32_t argc,char **argv)
|
|||||||
}
|
}
|
||||||
zsaddr = clonestr(argv[2]);
|
zsaddr = clonestr(argv[2]);
|
||||||
printf("%s: %s %s\n",REFCOIN_CLI,coinstr,zsaddr);
|
printf("%s: %s %s\n",REFCOIN_CLI,coinstr,zsaddr);
|
||||||
uint32_t lastopid; char coinaddr[64],zcaddr[128],opidstr[128]; int32_t finished; int64_t amount,stdamount,txfee;
|
uint32_t lastopid; char coinaddr[64],privkey[1024],zcaddr[128],opidstr[128]; int32_t finished; int64_t amount,stdamount,txfee;
|
||||||
//stdamount = 500 * SATOSHIDEN;
|
//stdamount = 500 * SATOSHIDEN;
|
||||||
txfee = 10000;
|
txfee = 10000;
|
||||||
again:
|
again:
|
||||||
|
if ( z_getnewaddress(zcaddr,coinstr,"","sprout") == 0 )
|
||||||
|
{
|
||||||
|
z_exportkey(privkey,coinstr,"",zcaddr);
|
||||||
|
printf("zcaddr.(%s) -> z_exportkey.(%s)\n",zcaddr,privkey);
|
||||||
|
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);
|
||||||
finished = 0;
|
finished = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user