jl777 8 years ago
parent
commit
9086252b42
  1. 11
      basilisk/basilisk_swap.c
  2. 6
      iguana/iguana_sign.c

11
basilisk/basilisk_swap.c

@ -348,13 +348,6 @@ int32_t basilisk_rawtx_spendscript(struct supernet_info *myinfo,int32_t height,s
int32_t basilisk_swapuserdata(uint8_t *userdata,int32_t pushpriv,bits256 privkey,uint8_t addrtype,bits256 pubkey,int32_t ifpath,int32_t revflag)
{
int32_t i,len = 0;
if ( 0 )
{
userdata[len++] = 33;
userdata[len++] = addrtype;
for (i=0; i<sizeof(pubkey); i++)
userdata[len++] = pubkey.bytes[i];
}
if ( pushpriv != 0 )
{
userdata[len++] = sizeof(privkey);
@ -395,7 +388,7 @@ int32_t basilisk_verify_bobdeposit(struct supernet_info *myinfo,void *ptr,uint8_
int32_t basilisk_bobdeposit_refund(struct supernet_info *myinfo,struct basilisk_swap *swap)
{
uint8_t userdata[512],revrmd160[20]; int32_t len = 0;
len = basilisk_swapuserdata(userdata,1,swap->privBn,0x03,swap->pubB0,0,0);
len = basilisk_swapuserdata(userdata,1,swap->privBn,0x03,swap->pubB0,0,1);
int32_t i; for (i=0; i<len; i++)
printf("%02x",userdata[i]);
char str[65]; printf(" <-basilisk_bobdeposit_refund privBn.(%s)\n",bits256_str(str,swap->privBn));
@ -426,7 +419,7 @@ int32_t basilisk_verify_bobpaid(struct supernet_info *myinfo,void *ptr,uint8_t *
uint8_t userdata[512]; int32_t len = 0; struct basilisk_swap *swap = ptr;
if ( basilisk_rawtx_spendscript(myinfo,swap->bobcoin->blocks.hwmchain.height,&swap->bobpayment,0,data,datalen,0) == 0 )
{
len = basilisk_swapuserdata(userdata,1,swap->privAm,0x02,swap->pubA0,0,0);
len = basilisk_swapuserdata(userdata,1,swap->privAm,0x02,swap->pubA0,0,1);
char str[65]; printf("bobpaid.(%s)\n",bits256_str(str,swap->privAm));
return(basilisk_rawtx_sign(myinfo,swap->bobcoin->blocks.hwmchain.height,swap,&swap->alicespend,&swap->bobpayment,swap->myprivs[0],0,userdata,len));
} else return(-1);

6
iguana/iguana_sign.c

@ -1253,7 +1253,7 @@ cJSON *bitcoin_txoutput(cJSON *txobj,uint8_t *paymentscript,int32_t len,uint64_t
int32_t iguana_interpreter(struct iguana_info *coin,cJSON *logarray,int64_t nLockTime,struct vin_info *V,int32_t numvins)
{
uint8_t script[IGUANA_MAXSCRIPTSIZE],*activescript; char str[IGUANA_MAXSCRIPTSIZE*2+1]; int32_t vini,scriptlen,activescriptlen,errs = 0; cJSON *spendscript,*item;
uint8_t script[IGUANA_MAXSCRIPTSIZE],*activescript; char str[IGUANA_MAXSCRIPTSIZE*2+1]; int32_t vini,i,scriptlen,activescriptlen,errs = 0; cJSON *spendscript,*item;
for (vini=0; vini<numvins; vini++)
{
if ( V[vini].p2shlen > 0 )
@ -1276,6 +1276,8 @@ int32_t iguana_interpreter(struct iguana_info *coin,cJSON *logarray,int64_t nLoc
}
else if ( scriptlen != activescriptlen || memcmp(script,activescript,scriptlen) != 0 )
{
for (i=0; i<V[vini].spendlen; i++)
printf("%02x",V[vini].spendscript[i]);
if ( logarray != 0 )
{
item = cJSON_CreateObject();
@ -1285,7 +1287,7 @@ int32_t iguana_interpreter(struct iguana_info *coin,cJSON *logarray,int64_t nLoc
init_hexbytes_noT(str,script,scriptlen);
jaddstr(item,"reconstructed",str);
jaddi(logarray,item);
} else printf("scriptlen mismatch.%d vs %d or miscompare\n",scriptlen,V[vini].spendlen);
} else printf(" scriptlen mismatch.%d vs %d or miscompare\n",scriptlen,V[vini].spendlen);
errs++;
}
}

Loading…
Cancel
Save