|
|
@ -86,7 +86,7 @@ uint64_t komodo_kvfee(uint32_t flags,int32_t opretlen,int32_t keylen) |
|
|
|
void komodo_kvupdate(uint8_t *opretbuf,int32_t opretlen,uint64_t value) |
|
|
|
{ |
|
|
|
static uint256 zeroes; |
|
|
|
uint32_t flags; bits256 pubkey,refpubkey,sig; int32_t i,transferflag,hassig,coresize,haspubkey,height,kvheight; uint16_t keylen,valuesize,newflag = 0; uint8_t *key,*valueptr,valuebuf[IGUANA_MAXSCRIPTSIZE]; struct komodo_kv *ptr; char *transferpubstr,*tstr; uint64_t fee; |
|
|
|
uint32_t flags; uint256 pubkey,refpubkey,sig; int32_t i,transferflag,hassig,coresize,haspubkey,height,kvheight; uint16_t keylen,valuesize,newflag = 0; uint8_t *key,*valueptr,valuebuf[IGUANA_MAXSCRIPTSIZE]; struct komodo_kv *ptr; char *transferpubstr,*tstr; uint64_t fee; |
|
|
|
iguana_rwnum(0,&opretbuf[1],sizeof(keylen),&keylen); |
|
|
|
iguana_rwnum(0,&opretbuf[3],sizeof(valuesize),&valuesize); |
|
|
|
iguana_rwnum(0,&opretbuf[5],sizeof(height),&height); |
|
|
@ -98,19 +98,19 @@ void komodo_kvupdate(uint8_t *opretbuf,int32_t opretlen,uint64_t value) |
|
|
|
if ( value >= fee ) |
|
|
|
{ |
|
|
|
coresize = (int32_t)(sizeof(flags)+sizeof(height)+sizeof(keylen)+sizeof(valuesize)+keylen+valuesize+1); |
|
|
|
if ( opretlen == coresize || opretlen == coresize+sizeof(bits256) || opretlen == coresize+2*sizeof(bits256) ) |
|
|
|
if ( opretlen == coresize || opretlen == coresize+sizeof(uint256) || opretlen == coresize+2*sizeof(uint256) ) |
|
|
|
{ |
|
|
|
memset(&pubkey,0,sizeof(pubkey)); |
|
|
|
memset(&sig,0,sizeof(sig)); |
|
|
|
if ( (haspubkey= (opretlen >= coresize+sizeof(bits256))) != 0 ) |
|
|
|
if ( (haspubkey= (opretlen >= coresize+sizeof(uint256))) != 0 ) |
|
|
|
{ |
|
|
|
for (i=0; i<32; i++) |
|
|
|
((uint8_t *)&pubkey)[i] = opretbuf[coresize+i]; |
|
|
|
} |
|
|
|
if ( (hassig= (opretlen == coresize+sizeof(bits256)*2)) != 0 ) |
|
|
|
if ( (hassig= (opretlen == coresize+sizeof(uint256)*2)) != 0 ) |
|
|
|
{ |
|
|
|
for (i=0; i<32; i++) |
|
|
|
((uint8_t *)&sig)[i] = opretbuf[coresize+sizeof(bits256)+i]; |
|
|
|
((uint8_t *)&sig)[i] = opretbuf[coresize+sizeof(uint256)+i]; |
|
|
|
} |
|
|
|
if ( komodo_kvsearch((uint256 *)&refpubkey,height,&flags,&kvheight,valuebuf,key,keylen) >= 0 ) |
|
|
|
{ |
|
|
|