Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
92c613205b
  1. 11
      iguana/SuperNET.c
  2. 9
      iguana/iguana_payments.c

11
iguana/SuperNET.c

@ -261,6 +261,8 @@ int32_t SuperNET_json2bits(uint8_t *serialized,int32_t maxsize,cJSON *json,bits2
othervalid = -100;
else othervalid = _othervalid;
tmp = juint(json,"broadcast");
if ( juint(json,"request") != 0 )
tmp |= 0x10;
if ( tmp > SUPERNET_MAXHOPS )
broadcastflag = SUPERNET_MAXHOPS;
else broadcastflag = tmp;
@ -335,7 +337,7 @@ int32_t SuperNET_json2bits(uint8_t *serialized,int32_t maxsize,cJSON *json,bits2
cJSON *SuperNET_bits2json(uint8_t *serialized,int32_t datalen)
{
char destip[64],method[64],checkstr[5],agent[64],myipaddr[64],str[65],*hexmsg; //uint64_t tag;
uint16_t apinum,checkc; int8_t othervalid; uint32_t destipbits,myipbits,timestamp;
uint16_t apinum,checkc; int8_t othervalid,requestflag; uint32_t destipbits,myipbits,timestamp;
bits256 categoryhash,subhash,senderpub; cJSON *json = cJSON_CreateObject();
int32_t len = 0; uint32_t crc; uint8_t broadcastflag,plaintext;
len += iguana_rwnum(0,&serialized[len],sizeof(uint32_t),&crc);
@ -357,7 +359,8 @@ cJSON *SuperNET_bits2json(uint8_t *serialized,int32_t datalen)
}
//char str2[65]; printf("set cat.(%s) sub.(%s)\n",bits256_str(str,categoryhash),bits256_str(str2,subhash));
plaintext = (broadcastflag & 0x80) != 0;
broadcastflag &= 0x3f;
requestflag = (broadcastflag & 0x10) != 0;
broadcastflag &= 0x1f;
if ( broadcastflag > SUPERNET_MAXHOPS )
broadcastflag = SUPERNET_MAXHOPS;
//printf("<<<<<<<<<<<<<<<< crc.%u ipbits.(%x %x) tag.%llx checkc.%x apinum.%d valid.%d other.%d broadcast.%d plaintext.%d\n",crc,destipbits,myipbits,(long long)tag,checkc,apinum,addr->validpub,othervalid,broadcastflag,plaintext);
@ -385,6 +388,8 @@ cJSON *SuperNET_bits2json(uint8_t *serialized,int32_t datalen)
init_hexbytes_noT(checkstr,(void *)&checkc,sizeof(checkc));
jaddstr(json,"check",checkstr);
jaddnum(json,"ov",othervalid);
if ( requestflag != 0 )
jaddnum(json,"request",requestflag);
if ( plaintext != 0 )
jaddnum(json,"plaintext",plaintext!=0);
if ( broadcastflag != 0 )
@ -649,7 +654,7 @@ int32_t SuperNET_destination(struct supernet_info *myinfo,uint32_t *destipbitsp,
if ( juint(json,"broadcast") > 0 )
destflag |= SUPERNET_FORWARD;
}
if ( jobj(json,"request") != 0 || remoteaddr == 0 || remoteaddr[0] == 0 || strcmp(remoteaddr,"127.0.0.1") == 0 )
if ( juint(json,"request") != 0 || remoteaddr == 0 || remoteaddr[0] == 0 || strcmp(remoteaddr,"127.0.0.1") == 0 )
destflag |= SUPERNET_ISMINE;
return(destflag);
}

9
iguana/iguana_payments.c

@ -374,7 +374,7 @@ void iguana_unspentslock(struct supernet_info *myinfo,struct iguana_info *coin,c
char *iguana_rawtxissue(struct supernet_info *myinfo,uint32_t rawtxtag,char *symbol,cJSON **vinsp,uint32_t locktime,uint64_t satoshis,char *changeaddr,uint64_t txfee,cJSON *addresses,int32_t minconf,char *spendscriptstr)
{
struct rawtx_queue *ptr; struct iguana_peer *addr; uint8_t buf[IGUANA_MAXSCRIPTSIZE]; int32_t i,j,n,spendlen,delay = 0; cJSON *hexjson,*reqjson,*valsobj,*txobj = 0; char *hexstr,*rawtx = 0; double expiration; struct iguana_info *coin;
struct rawtx_queue *ptr; struct iguana_peer *addr; uint8_t buf[IGUANA_MAXSCRIPTSIZE]; int32_t i,j,n,spendlen,delay = 0; cJSON *hexjson,*reqjson,*valsobj,*txobj = 0; char *str,*rawtx = 0; double expiration; struct iguana_info *coin;
*vinsp = 0;
if ( (coin= iguana_coinfind(symbol)) != 0 && (coin->VALIDATENODE != 0 || coin->RELAYNODE != 0) )
{
@ -409,15 +409,16 @@ char *iguana_rawtxissue(struct supernet_info *myinfo,uint32_t rawtxtag,char *sym
jaddnum(valsobj,"minconf",minconf);
jaddnum(valsobj,"locktime",locktime);
jadd(hexjson,"vals",valsobj);
hexstr = jprint(hexjson,1);
str = jprint(hexjson,1);
init_hexbytes_noT((char *)buf,(uint8_t *)str,(int32_t)strlen(str));
free(str);
reqjson = cJSON_CreateObject();
jaddstr(reqjson,"agent","iguana");
jaddstr(reqjson,"method","rawtx");
jaddnum(reqjson,"plaintext",1);
jaddnum(reqjson,"request",1);
jaddnum(reqjson,"timeout",5000);
jaddstr(reqjson,"hexmsg",hexstr);
free(hexstr);
jaddstr(reqjson,"hexmsg",(char *)buf);
//{\"agent\":\"iguana\",\"method\":\"rawtx\",\"changeaddr\":\"RRyBxbrAPRUBCUpiJgJZYrkxqrh8x5ta9Z\",\"addresses\":[\"RRyBxbrAPRUBCUpiJgJZYrkxqrh8x5ta9Z\"],\"vals\":{\"coin\":\"BTCD\",\"amount\":\"10000000\"},\"spendscriptstr\":\"76a914b7128d2ee837cf03e30a2c0e3e0181f7b9669bb688ac\"}
expiration = OS_milliseconds() + 3333;
for (i=0; i<IGUANA_MAXCOINS; i++)

Loading…
Cancel
Save