diff --git a/basilisk/basilisk.h b/basilisk/basilisk.h index 8202fa18d..49a957372 100755 --- a/basilisk/basilisk.h +++ b/basilisk/basilisk.h @@ -40,14 +40,14 @@ struct basilisk_request { - uint32_t requestid,timestamp,quoteid,pad; - uint64_t srcamount,minamount; - bits256 hash; - char src[8],dest[8]; - char volatile_start,message[43]; - uint32_t relaybits; - uint64_t destamount; + uint32_t requestid,timestamp,quoteid,pad; // 0 to 15 + uint64_t srcamount,minamount; // 16 to 31 + bits256 hash; // 32 to 63 + char src[8],dest[8]; // 64 to 79 + char volatile_start,message[43]; // 80 to 123 + uint32_t relaybits; // 124 to 127 bits256 desthash; + uint64_t destamount; } __attribute__((packed)); struct basilisk_rawtx diff --git a/basilisk/basilisk_DEX.c b/basilisk/basilisk_DEX.c index 1dacf125b..c18622b68 100755 --- a/basilisk/basilisk_DEX.c +++ b/basilisk/basilisk_DEX.c @@ -21,7 +21,7 @@ uint32_t basilisk_requestid(struct basilisk_request *rp) { struct basilisk_request R; R = *rp; - R.requestid = R.quoteid = 0; + R.quoteid = R.relaybits = R.pad = R.volatile_start = 0; memset(&R.volatile_start,0,(long)&R.volatile_start - (long)&R); if ( 0 ) { @@ -38,7 +38,7 @@ uint32_t basilisk_quoteid(struct basilisk_request *rp) { struct basilisk_request R; R = *rp; - R.relaybits = 0; + R.quoteid = R.relaybits = R.pad = R.volatile_start = 0; memset(R.message,0,sizeof(R.message)); return(calc_crc32(0,(void *)&R,sizeof(R))); } @@ -62,6 +62,7 @@ int32_t basilisk_rwDEXquote(int32_t rwflag,uint8_t *serialized,struct basilisk_r } else { + rp->pad = rp->volatile_start = 0; memcpy(rp->src,&serialized[len],sizeof(rp->src)), len += sizeof(rp->src); memcpy(rp->dest,&serialized[len],sizeof(rp->dest)), len += sizeof(rp->dest); }