@ -379,7 +379,7 @@ int32_t iguana_vininfo_create(uint8_t taddr,uint8_t pubtype,uint8_t p2shtype,uin
return ( finalized ) ;
}
int32_t bitcoin_verifyvins ( void * ctx , char * symbol , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , int32_t height , bits256 * signedtxidp , char * * signedtx , struct iguana_msgtx * msgtx , uint8_t * serialized , int32_t maxlen , struct vin_info * V , uint32_t sighash , int32_t signtx , int32_t suppress_pubkeys )
int32_t bitcoin_verifyvins ( void * ctx , char * symbol , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , int32_t height , bits256 * signedtxidp , char * * signedtx , struct iguana_msgtx * msgtx , uint8_t * serialized , int32_t maxlen , struct vin_info * V , uint32_t sighash , int32_t signtx , int32_t suppress_pubkeys , int32_t zcash )
{
bits256 sigtxid ; uint8_t * sig , * script ; struct vin_info * vp ; char vpnstr [ 64 ] ; int32_t scriptlen , complete = 0 , j , vini = 0 , flag = 0 , siglen , numvouts , numsigs ;
numvouts = msgtx - > tx_out ;
@ -401,7 +401,9 @@ int32_t bitcoin_verifyvins(void *ctx,char *symbol,uint8_t taddr,uint8_t pubtype,
script = msgtx - > vins [ vini ] . spendscript ;
scriptlen = msgtx - > vins [ vini ] . spendlen ;
}
sigtxid = bitcoin_sigtxid ( taddr , pubtype , p2shtype , isPoS , height , serialized , maxlen , msgtx , vini , script , scriptlen , sighash , vpnstr , suppress_pubkeys ) ;
if ( zcash = = LP_IS_BITCOINCASH )
sighash | = SIGHASH_FORKID ;
sigtxid = bitcoin_sigtxid ( taddr , pubtype , p2shtype , isPoS , height , serialized , maxlen , msgtx , vini , script , scriptlen , sighash , vpnstr , suppress_pubkeys , zcash ) ;
if ( bits256_nonz ( sigtxid ) ! = 0 )
{
vp = & V [ vini ] ;
@ -457,7 +459,7 @@ int32_t bitcoin_verifyvins(void *ctx,char *symbol,uint8_t taddr,uint8_t pubtype,
}
iguana_msgtx_Vset ( serialized , maxlen , msgtx , V ) ;
cJSON * txobj = cJSON_CreateObject ( ) ;
* signedtx = iguana_rawtxbytes ( taddr , pubtype , p2shtype , isPoS , height , txobj , msgtx , suppress_pubkeys ) ;
* signedtx = iguana_rawtxbytes ( taddr , pubtype , p2shtype , isPoS , height , txobj , msgtx , suppress_pubkeys , zcash ) ;
//printf("SIGNEDTX.(%s)\n",jprint(txobj,1));
* signedtxidp = msgtx - > txid ;
return ( complete ) ;
@ -471,7 +473,7 @@ int64_t iguana_lockval(int32_t finalized,int64_t locktime)
return ( lockval ) ;
}
int32_t iguana_signrawtransaction ( void * ctx , char * symbol , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , int32_t height , struct iguana_msgtx * msgtx , char * * signedtxp , bits256 * signedtxidp , struct vin_info * V , int32_t numinputs , char * rawtx , cJSON * vins , cJSON * privkeysjson )
int32_t iguana_signrawtransaction ( void * ctx , char * symbol , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , int32_t height , struct iguana_msgtx * msgtx , char * * signedtxp , bits256 * signedtxidp , struct vin_info * V , int32_t numinputs , char * rawtx , cJSON * vins , cJSON * privkeysjson , int32_t zcash )
{
uint8_t * serialized , * serialized2 , * serialized3 , * serialized4 , * extraspace , pubkeys [ 64 ] [ 33 ] ; int32_t finalized , i , len , n , z , plen , maxsize , complete = 0 , extralen = 100000 ; char * privkeystr , * signedtx = 0 ; bits256 privkeys [ 64 ] , privkey , txid ; cJSON * item ; cJSON * txobj = 0 ;
maxsize = 1000000 ;
@ -485,7 +487,7 @@ int32_t iguana_signrawtransaction(void *ctx,char *symbol,uint8_t wiftaddr,uint8_
extraspace = malloc ( extralen ) ;
memset ( msgtx , 0 , sizeof ( * msgtx ) ) ;
decode_hex ( serialized , len , rawtx ) ;
if ( ( txobj = bitcoin_hex2json ( taddr , pubtype , p2shtype , isPoS , height , & txid , msgtx , rawtx , extraspace , extralen , serialized4 , vins , V - > suppress_pubkeys ) ) ! = 0 )
if ( ( txobj = bitcoin_hex2json ( taddr , pubtype , p2shtype , isPoS , height , & txid , msgtx , rawtx , extraspace , extralen , serialized4 , vins , V - > suppress_pubkeys , zcash ) ) ! = 0 )
{
//printf("back from bitcoin_hex2json (%s)\n",jprint(vins,0));
} else fprintf ( stderr , " no txobj from bitcoin_hex2json \n " ) ;
@ -494,7 +496,7 @@ int32_t iguana_signrawtransaction(void *ctx,char *symbol,uint8_t wiftaddr,uint8_
{
//printf("numinputs.%d (%s) msgtx.%d\n",numinputs,jprint(vins,0),msgtx->tx_in);
memset ( msgtx , 0 , sizeof ( * msgtx ) ) ;
if ( iguana_rwmsgtx ( taddr , pubtype , p2shtype , isPoS , height , 0 , 0 , serialized , maxsize , msgtx , & txid , " " , extraspace , extralen , vins , V - > suppress_pubkeys ) > 0 & & numinputs = = msgtx - > tx_in )
if ( iguana_rwmsgtx ( taddr , pubtype , p2shtype , isPoS , height , 0 , 0 , serialized , maxsize , msgtx , & txid , " " , extraspace , extralen , vins , V - > suppress_pubkeys , zcash ) > 0 & & numinputs = = msgtx - > tx_in )
{
memset ( pubkeys , 0 , sizeof ( pubkeys ) ) ;
memset ( privkeys , 0 , sizeof ( privkeys ) ) ;
@ -581,7 +583,7 @@ int32_t iguana_signrawtransaction(void *ctx,char *symbol,uint8_t wiftaddr,uint8_
}
finalized = iguana_vininfo_create ( taddr , pubtype , p2shtype , isPoS , serialized2 , maxsize , msgtx , vins , numinputs , V ) ;
//printf("finalized.%d ignore_cltverr.%d suppress.%d\n",finalized,V[0].ignore_cltverr,V[0].suppress_pubkeys);
if ( ( complete = bitcoin_verifyvins ( ctx , symbol , taddr , pubtype , p2shtype , isPoS , height , signedtxidp , & signedtx , msgtx , serialized3 , maxsize , V , SIGHASH_ALL , 1 , V - > suppress_pubkeys ) ) > 0 & & signedtx ! = 0 )
if ( ( complete = bitcoin_verifyvins ( ctx , symbol , taddr , pubtype , p2shtype , isPoS , height , signedtxidp , & signedtx , msgtx , serialized3 , maxsize , V , SIGHASH_ALL , 1 , V - > suppress_pubkeys , zcash ) ) > 0 & & signedtx ! = 0 )
{
/*int32_t tmp; //char str[65];
if ( ( tmp = iguana_interpreter ( ctx , cJSON_CreateArray ( ) , iguana_lockval ( finalized , jint ( txobj , " locktime " ) ) , V , numinputs ) ) < 0 )
@ -601,7 +603,7 @@ int32_t iguana_signrawtransaction(void *ctx,char *symbol,uint8_t wiftaddr,uint8_
return ( complete ) ;
}
char * basilisk_swap_bobtxspend ( bits256 * signedtxidp , uint64_t txfee , char * name , char * symbol , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , uint8_t wiftype , void * ctx , bits256 privkey , bits256 * privkey2p , uint8_t * redeemscript , int32_t redeemlen , uint8_t * userdata , int32_t userdatalen , bits256 utxotxid , int32_t utxovout , char * destaddr , uint8_t * pubkey33 , int32_t finalseqid , uint32_t expiration , int64_t * destamountp , uint64_t satoshis , char * changeaddr , char * vinaddr , int32_t suppress_pubkeys )
char * basilisk_swap_bobtxspend ( bits256 * signedtxidp , uint64_t txfee , char * name , char * symbol , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , uint8_t wiftype , void * ctx , bits256 privkey , bits256 * privkey2p , uint8_t * redeemscript , int32_t redeemlen , uint8_t * userdata , int32_t userdatalen , bits256 utxotxid , int32_t utxovout , char * destaddr , uint8_t * pubkey33 , int32_t finalseqid , uint32_t expiration , int64_t * destamountp , uint64_t satoshis , char * changeaddr , char * vinaddr , int32_t suppress_pubkeys , int32_t zcash )
{
char * rawtxbytes = 0 , * signedtx = 0 , str [ 65 ] , tmpaddr [ 64 ] , hexstr [ 999 ] , wifstr [ 128 ] , _destaddr [ 64 ] ; uint8_t spendscript [ 512 ] , addrtype , rmd160 [ 20 ] ; cJSON * txobj , * vins , * obj , * vouts , * item , * privkeys ; int32_t completed , spendlen , n , ignore_cltverr = 1 ; struct vin_info V [ 2 ] ; uint32_t timestamp , locktime = 0 , sequenceid = 0xffffffff * finalseqid ; bits256 txid ; uint64_t value = 0 , change = 0 ; struct iguana_msgtx msgtx ; struct iguana_info * coin ;
LP_mark_spent ( symbol , utxotxid , utxovout ) ;
@ -750,7 +752,7 @@ char *basilisk_swap_bobtxspend(bits256 *signedtxidp,uint64_t txfee,char *name,ch
completed = 0 ;
memset ( signedtxidp , 0 , sizeof ( * signedtxidp ) ) ;
//printf("locktime.%u sequenceid.%x rawtx.(%s) vins.(%s)\n",locktime,sequenceid,rawtxbytes,jprint(vins,0));
if ( ( completed = iguana_signrawtransaction ( ctx , symbol , wiftaddr , taddr , pubtype , p2shtype , isPoS , 1000000 , & msgtx , & signedtx , signedtxidp , V , 1 , rawtxbytes , vins , privkeys ) ) < 0 )
if ( ( completed = iguana_signrawtransaction ( ctx , symbol , wiftaddr , taddr , pubtype , p2shtype , isPoS , 1000000 , & msgtx , & signedtx , signedtxidp , V , 1 , rawtxbytes , vins , privkeys , zcash ) ) < 0 )
//if ( (signedtx= LP_signrawtx(symbol,signedtxidp,&completed,vins,rawtxbytes,privkeys,V)) == 0 )
printf ( " couldnt sign transaction.%s %s \n " , name , bits256_str ( str , * signedtxidp ) ) ;
else if ( completed = = 0 )
@ -1045,7 +1047,7 @@ char *LP_withdraw(struct iguana_info *coin,cJSON *argjson)
completed = 0 ;
memset ( & msgtx , 0 , sizeof ( msgtx ) ) ;
memset ( signedtxid . bytes , 0 , sizeof ( signedtxid ) ) ;
if ( ( completed = iguana_signrawtransaction ( ctx , coin - > symbol , coin - > wiftaddr , coin - > taddr , coin - > pubtype , coin - > p2shtype , coin - > isPoS , coin - > longestchain , & msgtx , & signedtx , & signedtxid , V , numvins , rawtx , vins , privkeys ) ) < 0 )
if ( ( completed = iguana_signrawtransaction ( ctx , coin - > symbol , coin - > wiftaddr , coin - > taddr , coin - > pubtype , coin - > p2shtype , coin - > isPoS , coin - > longestchain , & msgtx , & signedtx , & signedtxid , V , numvins , rawtx , vins , privkeys , coin - > zcash ) ) < 0 )
printf ( " couldnt sign withdraw %s \n " , bits256_str ( str , signedtxid ) ) ;
else if ( completed = = 0 )
{
@ -1102,7 +1104,7 @@ int32_t basilisk_rawtx_gen(void *ctx,char *str,uint32_t swapstarted,uint8_t *pub
txfee = LP_MIN_TXFEE ;
for ( iter = 0 ; iter < 2 ; iter + + )
{
if ( ( signedtx = basilisk_swap_bobtxspend ( & rawtx - > I . signedtxid , iter = = 0 ? txfee : newtxfee , str , coin - > symbol , coin - > wiftaddr , coin - > taddr , coin - > pubtype , coin - > p2shtype , coin - > isPoS , coin - > wiftype , ctx , privkey , 0 , 0 , 0 , 0 , 0 , rawtx - > utxotxid , rawtx - > utxovout , rawtx - > I . destaddr , pubkey33 , 1 , 0 , & destamount , rawtx - > I . amount , changeaddr , vinaddr , rawtx - > I . suppress_pubkeys ) ) ! = 0 )
if ( ( signedtx = basilisk_swap_bobtxspend ( & rawtx - > I . signedtxid , iter = = 0 ? txfee : newtxfee , str , coin - > symbol , coin - > wiftaddr , coin - > taddr , coin - > pubtype , coin - > p2shtype , coin - > isPoS , coin - > wiftype , ctx , privkey , 0 , 0 , 0 , 0 , 0 , rawtx - > utxotxid , rawtx - > utxovout , rawtx - > I . destaddr , pubkey33 , 1 , 0 , & destamount , rawtx - > I . amount , changeaddr , vinaddr , rawtx - > I . suppress_pubkeys , coin - > zcash ) ) ! = 0 )
{
rawtx - > I . datalen = ( int32_t ) strlen ( signedtx ) > > 1 ;
if ( rawtx - > I . datalen < = sizeof ( rawtx - > txbytes ) )
@ -1123,7 +1125,7 @@ int32_t basilisk_rawtx_gen(void *ctx,char *str,uint32_t swapstarted,uint8_t *pub
return ( retval ) ;
}
int32_t basilisk_rawtx_sign ( char * symbol , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , uint8_t wiftype , struct basilisk_swap * swap , struct basilisk_rawtx * dest , struct basilisk_rawtx * rawtx , bits256 privkey , bits256 * privkey2 , uint8_t * userdata , int32_t userdatalen , int32_t ignore_cltverr , uint8_t * changermd160 , char * vinaddr )
int32_t basilisk_rawtx_sign ( char * symbol , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , uint8_t wiftype , struct basilisk_swap * swap , struct basilisk_rawtx * dest , struct basilisk_rawtx * rawtx , bits256 privkey , bits256 * privkey2 , uint8_t * userdata , int32_t userdatalen , int32_t ignore_cltverr , uint8_t * changermd160 , char * vinaddr , int32_t zcash )
{
char * signedtx , * changeaddr = 0 , _changeaddr [ 64 ] ; int64_t txfee , newtxfee = 0 , destamount ; uint32_t timestamp , locktime = 0 , sequenceid = 0xffffffff ; int32_t iter , retval = - 1 ; double estimatedrate ;
//char str2[65]; printf("%s rawtxsign.(%s/v%d)\n",dest->name,bits256_str(str2,dest->utxotxid),dest->utxovout);
@ -1141,7 +1143,7 @@ int32_t basilisk_rawtx_sign(char *symbol,uint8_t wiftaddr,uint8_t taddr,uint8_t
}
for ( iter = 0 ; iter < 2 ; iter + + )
{
if ( ( signedtx = basilisk_swap_bobtxspend ( & dest - > I . signedtxid , iter = = 0 ? txfee : newtxfee , rawtx - > name , symbol , wiftaddr , taddr , pubtype , p2shtype , isPoS , wiftype , swap - > ctx , privkey , privkey2 , rawtx - > redeemscript , rawtx - > I . redeemlen , userdata , userdatalen , dest - > utxotxid , dest - > utxovout , dest - > I . destaddr , rawtx - > I . pubkey33 , 1 , 0 , & destamount , rawtx - > I . amount , changeaddr , vinaddr , dest - > I . suppress_pubkeys ) ) ! = 0 )
if ( ( signedtx = basilisk_swap_bobtxspend ( & dest - > I . signedtxid , iter = = 0 ? txfee : newtxfee , rawtx - > name , symbol , wiftaddr , taddr , pubtype , p2shtype , isPoS , wiftype , swap - > ctx , privkey , privkey2 , rawtx - > redeemscript , rawtx - > I . redeemlen , userdata , userdatalen , dest - > utxotxid , dest - > utxovout , dest - > I . destaddr , rawtx - > I . pubkey33 , 1 , 0 , & destamount , rawtx - > I . amount , changeaddr , vinaddr , dest - > I . suppress_pubkeys , zcash ) ) ! = 0 )
{
dest - > I . datalen = ( int32_t ) strlen ( signedtx ) > > 1 ;
if ( dest - > I . datalen < = sizeof ( dest - > txbytes ) )
@ -1177,7 +1179,7 @@ int32_t basilisk_alicescript(uint8_t *redeemscript,int32_t *redeemlenp,uint8_t *
return ( n ) ;
}
char * basilisk_swap_Aspend ( char * name , char * symbol , uint64_t Atxfee , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , uint8_t wiftype , void * ctx , bits256 privAm , bits256 privBn , bits256 utxotxid , int32_t utxovout , uint8_t pubkey33 [ 33 ] , uint32_t expiration , int64_t * destamountp , char * vinaddr )
char * basilisk_swap_Aspend ( char * name , char * symbol , uint64_t Atxfee , uint8_t wiftaddr , uint8_t taddr , uint8_t pubtype , uint8_t p2shtype , uint8_t isPoS , uint8_t wiftype , void * ctx , bits256 privAm , bits256 privBn , bits256 utxotxid , int32_t utxovout , uint8_t pubkey33 [ 33 ] , uint32_t expiration , int64_t * destamountp , char * vinaddr , int32_t zcash )
{
char msigaddr [ 64 ] , * signedtx = 0 ; int32_t spendlen , redeemlen ; uint8_t tmp33 [ 33 ] , redeemscript [ 512 ] , spendscript [ 128 ] ; bits256 pubAm , pubBn , signedtxid ; uint64_t txfee ;
if ( bits256_nonz ( privAm ) ! = 0 & & bits256_nonz ( privBn ) ! = 0 )
@ -1201,7 +1203,7 @@ char *basilisk_swap_Aspend(char *name,char *symbol,uint64_t Atxfee,uint8_t wifta
txfee = LP_MIN_TXFEE ;
}
//txfee = LP_txfee(symbol);
signedtx = basilisk_swap_bobtxspend ( & signedtxid , txfee , name , symbol , wiftaddr , taddr , pubtype , p2shtype , isPoS , wiftype , ctx , privAm , & privBn , redeemscript , redeemlen , 0 , 0 , utxotxid , utxovout , 0 , pubkey33 , 1 , expiration , destamountp , 0 , 0 , vinaddr , 1 ) ;
signedtx = basilisk_swap_bobtxspend ( & signedtxid , txfee , name , symbol , wiftaddr , taddr , pubtype , p2shtype , isPoS , wiftype , ctx , privAm , & privBn , redeemscript , redeemlen , 0 , 0 , utxotxid , utxovout , 0 , pubkey33 , 1 , expiration , destamountp , 0 , 0 , vinaddr , 1 , zcash ) ;
LP_mark_spent ( symbol , utxotxid , utxovout ) ;
}
return ( signedtx ) ;
@ -1445,7 +1447,7 @@ int32_t basilisk_bobpayment_reclaim(struct basilisk_swap *swap,int32_t delay)
len = basilisk_swapuserdata ( userdata , zero , 1 , swap - > I . myprivs [ 1 ] , swap - > bobpayment . redeemscript , swap - > bobpayment . I . redeemlen ) ;
memcpy ( swap - > I . userdata_bobreclaim , userdata , len ) ;
swap - > I . userdata_bobreclaimlen = len ;
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > bobreclaim , & swap - > bobpayment , swap - > I . myprivs [ 1 ] , 0 , userdata , len , 1 , swap - > changermd160 , swap - > bobpayment . I . destaddr ) ) = = 0 )
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > bobreclaim , & swap - > bobpayment , swap - > I . myprivs [ 1 ] , 0 , userdata , len , 1 , swap - > changermd160 , swap - > bobpayment . I . destaddr , swap - > bobcoin . zcash ) ) = = 0 )
{
for ( i = 0 ; i < swap - > bobreclaim . I . datalen ; i + + )
printf ( " %02x " , swap - > bobreclaim . txbytes [ i ] ) ;
@ -1462,7 +1464,7 @@ int32_t basilisk_bobdeposit_refund(struct basilisk_swap *swap,int32_t delay)
len = basilisk_swapuserdata ( userdata , swap - > I . privBn , 0 , swap - > I . myprivs [ 0 ] , swap - > bobdeposit . redeemscript , swap - > bobdeposit . I . redeemlen ) ;
memcpy ( swap - > I . userdata_bobrefund , userdata , len ) ;
swap - > I . userdata_bobrefundlen = len ;
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > bobrefund , & swap - > bobdeposit , swap - > I . myprivs [ 0 ] , 0 , userdata , len , 0 , swap - > changermd160 , swap - > bobdeposit . I . destaddr ) ) = = 0 )
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > bobrefund , & swap - > bobdeposit , swap - > I . myprivs [ 0 ] , 0 , userdata , len , 0 , swap - > changermd160 , swap - > bobdeposit . I . destaddr , swap - > bobcoin . zcash ) ) = = 0 )
{
for ( i = 0 ; i < swap - > bobrefund . I . datalen ; i + + )
printf ( " %02x " , swap - > bobrefund . txbytes [ i ] ) ;
@ -1478,7 +1480,7 @@ void LP_swap_coinaddr(struct iguana_info *coin,char *coinaddr,uint64_t *valuep,u
cJSON * txobj , * vouts , * vout ; uint8_t extraspace [ 32768 ] ; bits256 signedtxid ; struct iguana_msgtx msgtx ; int32_t n , suppress_pubkeys = 0 ;
if ( valuep ! = 0 )
* valuep = 0 ;
if ( ( txobj = bitcoin_data2json ( coin - > taddr , coin - > pubtype , coin - > p2shtype , coin - > isPoS , coin - > longestchain , & signedtxid , & msgtx , extraspace , sizeof ( extraspace ) , data , datalen , 0 , suppress_pubkeys ) ) ! = 0 )
if ( ( txobj = bitcoin_data2json ( coin - > taddr , coin - > pubtype , coin - > p2shtype , coin - > isPoS , coin - > longestchain , & signedtxid , & msgtx , extraspace , sizeof ( extraspace ) , data , datalen , 0 , suppress_pubkeys , coin - > zcash ) ) ! = 0 )
{
//char str[65]; printf("got txid.%s (%s)\n",bits256_str(str,signedtxid),jprint(txobj,0));
if ( ( vouts = jarray ( & n , txobj , " vout " ) ) ! = 0 & & n > 0 )
@ -1744,7 +1746,7 @@ int32_t LP_verify_bobdeposit(struct basilisk_swap *swap,uint8_t *data,int32_t da
memcpy ( swap - > aliceclaim . I . pubkey33 , swap - > persistent_pubkey33 , 33 ) ;
bitcoin_address ( swap - > aliceclaim . I . destaddr , swap - > alicecoin . taddr , swap - > alicecoin . pubtype , swap - > persistent_pubkey33 , 33 ) ;
retval = 0 ;
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > aliceclaim , & swap - > bobdeposit , swap - > I . myprivs [ 0 ] , 0 , userdata , len , 1 , swap - > changermd160 , swap - > bobdeposit . I . destaddr ) ) = = 0 )
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > aliceclaim , & swap - > bobdeposit , swap - > I . myprivs [ 0 ] , 0 , userdata , len , 1 , swap - > changermd160 , swap - > bobdeposit . I . destaddr , swap - > bobcoin . zcash ) ) = = 0 )
{
int32_t i ; for ( i = 0 ; i < swap - > bobdeposit . I . datalen ; i + + )
printf ( " %02x " , swap - > bobdeposit . txbytes [ i ] ) ;
@ -1809,7 +1811,7 @@ int32_t LP_verify_bobpayment(struct basilisk_swap *swap,uint8_t *data,int32_t da
memcpy ( swap - > alicespend . I . pubkey33 , swap - > persistent_pubkey33 , 33 ) ;
bitcoin_address ( swap - > alicespend . I . destaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > persistent_pubkey33 , 33 ) ;
//char str[65],str2[65]; printf("bobpaid privAm.(%s) myprivs[0].(%s)\n",bits256_str(str,swap->I.privAm),bits256_str(str2,swap->I.myprivs[0]));
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > alicespend , & swap - > bobpayment , swap - > I . myprivs [ 0 ] , 0 , userdata , len , 1 , swap - > changermd160 , swap - > alicepayment . I . destaddr ) ) = = 0 )
if ( ( retval = basilisk_rawtx_sign ( swap - > bobcoin . symbol , swap - > bobcoin . wiftaddr , swap - > bobcoin . taddr , swap - > bobcoin . pubtype , swap - > bobcoin . p2shtype , swap - > bobcoin . isPoS , swap - > bobcoin . wiftype , swap , & swap - > alicespend , & swap - > bobpayment , swap - > I . myprivs [ 0 ] , 0 , userdata , len , 1 , swap - > changermd160 , swap - > alicepayment . I . destaddr , swap - > bobcoin . zcash ) ) = = 0 )
{
/*for (i=0; i<swap->bobpayment.I.datalen; i++)
printf ( " %02x " , swap - > bobpayment . txbytes [ i ] ) ;