|
@ -790,7 +790,7 @@ char *basilisk_swap_bobtxspend(bits256 *signedtxidp,uint64_t txfee,char *name,ch |
|
|
else if ( value == satoshis && (double)txfee/value < 0.25 ) |
|
|
else if ( value == satoshis && (double)txfee/value < 0.25 ) |
|
|
{ |
|
|
{ |
|
|
satoshis = value - txfee; |
|
|
satoshis = value - txfee; |
|
|
printf("txfee allocation from value %.8f identical to satoshis: %.8f txfee %.8f\n",dstr(value),dstr(satoshis),dstr(txfee)); |
|
|
//printf("txfee allocation from value %.8f identical to satoshis: %.8f txfee %.8f\n",dstr(value),dstr(satoshis),dstr(txfee));
|
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
@ -800,7 +800,7 @@ char *basilisk_swap_bobtxspend(bits256 *signedtxidp,uint64_t txfee,char *name,ch |
|
|
} |
|
|
} |
|
|
if ( value > satoshis+txfee ) |
|
|
if ( value > satoshis+txfee ) |
|
|
change = value - (satoshis + txfee); |
|
|
change = value - (satoshis + txfee); |
|
|
printf("utxo %.8f, destamount %.8f change %.8f txfee %.8f\n",dstr(value),dstr(satoshis),dstr(change),dstr(txfee)); |
|
|
//printf("utxo %.8f, destamount %.8f change %.8f txfee %.8f\n",dstr(value),dstr(satoshis),dstr(change),dstr(txfee));
|
|
|
} else if ( value > txfee ) |
|
|
} else if ( value > txfee ) |
|
|
satoshis = value - txfee; |
|
|
satoshis = value - txfee; |
|
|
else |
|
|
else |
|
@ -2053,17 +2053,17 @@ int32_t basilisk_alicetxs(int32_t pairsock,struct basilisk_swap *swap,uint8_t *d |
|
|
} |
|
|
} |
|
|
if ( swap->myfee.I.datalen == 0 ) |
|
|
if ( swap->myfee.I.datalen == 0 ) |
|
|
{ |
|
|
{ |
|
|
printf("%s generate fee %.8f from.%s\n",coin->symbol,dstr(strcmp(coin->symbol,"BTC") == 0 ? LP_MIN_TXFEE : coin->txfee),coin->smartaddr); |
|
|
//printf("%s generate fee %.8f from.%s\n",coin->symbol,dstr(strcmp(coin->symbol,"BTC") == 0 ? LP_MIN_TXFEE : coin->txfee),coin->smartaddr);
|
|
|
bitcoin_address(coin->symbol,coinaddr,coin->taddr,coin->pubtype,swap->changermd160,20); |
|
|
bitcoin_address(coin->symbol,coinaddr,coin->taddr,coin->pubtype,swap->changermd160,20); |
|
|
if ( basilisk_rawtx_gen(swap->ctx,"myfee",swap->I.started,swap->persistent_pubkey33,swap->I.iambob,1,&swap->myfee,swap->myfee.I.locktime,swap->myfee.spendscript,swap->myfee.I.spendlen,strcmp(coin->symbol,"BTC") == 0 ? LP_MIN_TXFEE : coin->txfee,1,0,swap->persistent_privkey,swap->changermd160,coinaddr) == 0 ) |
|
|
if ( basilisk_rawtx_gen(swap->ctx,"myfee",swap->I.started,swap->persistent_pubkey33,swap->I.iambob,1,&swap->myfee,swap->myfee.I.locktime,swap->myfee.spendscript,swap->myfee.I.spendlen,strcmp(coin->symbol,"BTC") == 0 ? LP_MIN_TXFEE : coin->txfee,1,0,swap->persistent_privkey,swap->changermd160,coinaddr) == 0 ) |
|
|
{ |
|
|
{ |
|
|
printf("rawtxsend %s %.8f\n",coin->symbol,dstr(strcmp(coin->symbol,"BTC") == 0 ? LP_MIN_TXFEE : coin->txfee)); |
|
|
//printf("rawtxsend %s %.8f\n",coin->symbol,dstr(strcmp(coin->symbol,"BTC") == 0 ? LP_MIN_TXFEE : coin->txfee));
|
|
|
swap->I.statebits |= LP_swapdata_rawtxsend(pairsock,swap,0x80,data,maxlen,&swap->myfee,0x40,0); |
|
|
swap->I.statebits |= LP_swapdata_rawtxsend(pairsock,swap,0x80,data,maxlen,&swap->myfee,0x40,0); |
|
|
LP_unspents_mark(swap->I.iambob!=0?coin->symbol:coin->symbol,swap->myfee.vins); |
|
|
LP_unspents_mark(swap->I.iambob!=0?coin->symbol:coin->symbol,swap->myfee.vins); |
|
|
//basilisk_txlog(swap,&swap->myfee,-1);
|
|
|
//basilisk_txlog(swap,&swap->myfee,-1);
|
|
|
for (i=0; i<swap->myfee.I.datalen; i++) |
|
|
//for (i=0; i<swap->myfee.I.datalen; i++)
|
|
|
printf("%02x",swap->myfee.txbytes[i]); |
|
|
// printf("%02x",swap->myfee.txbytes[i]);
|
|
|
printf(" <- fee state.%x\n",swap->I.statebits); |
|
|
//printf(" <- fee state.%x\n",swap->I.statebits);
|
|
|
swap->I.statebits |= 0x40; |
|
|
swap->I.statebits |= 0x40; |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -2074,7 +2074,7 @@ int32_t basilisk_alicetxs(int32_t pairsock,struct basilisk_swap *swap,uint8_t *d |
|
|
} |
|
|
} |
|
|
if ( swap->alicepayment.I.datalen != 0 && swap->alicepayment.I.spendlen > 0 && swap->myfee.I.datalen != 0 && swap->myfee.I.spendlen > 0 ) |
|
|
if ( swap->alicepayment.I.datalen != 0 && swap->alicepayment.I.spendlen > 0 && swap->myfee.I.datalen != 0 && swap->myfee.I.spendlen > 0 ) |
|
|
{ |
|
|
{ |
|
|
printf("fee sent\n"); |
|
|
//printf("fee sent\n");
|
|
|
return(0); |
|
|
return(0); |
|
|
} |
|
|
} |
|
|
} else printf("basilisk alicetx cant find (%s)\n",swap->I.alicestr); |
|
|
} else printf("basilisk alicetx cant find (%s)\n",swap->I.alicestr); |
|
@ -2164,12 +2164,12 @@ int32_t LP_verify_bobdeposit(struct basilisk_swap *swap,uint8_t *data,int32_t da |
|
|
retval = 0; |
|
|
retval = 0; |
|
|
if ( (retval= basilisk_rawtx_sign(coin->symbol,coin->wiftaddr,coin->taddr,coin->pubtype,coin->p2shtype,coin->isPoS,coin->wiftype,swap,&swap->aliceclaim,&swap->bobdeposit,swap->I.myprivs[0],0,userdata,len,1,swap->changermd160,swap->bobdeposit.I.destaddr,coin->zcash)) == 0 ) |
|
|
if ( (retval= basilisk_rawtx_sign(coin->symbol,coin->wiftaddr,coin->taddr,coin->pubtype,coin->p2shtype,coin->isPoS,coin->wiftype,swap,&swap->aliceclaim,&swap->bobdeposit,swap->I.myprivs[0],0,userdata,len,1,swap->changermd160,swap->bobdeposit.I.destaddr,coin->zcash)) == 0 ) |
|
|
{ |
|
|
{ |
|
|
int32_t i; for (i=0; i<swap->bobdeposit.I.datalen; i++) |
|
|
/*int32_t i; for (i=0; i<swap->bobdeposit.I.datalen; i++)
|
|
|
printf("%02x",swap->bobdeposit.txbytes[i]); |
|
|
printf("%02x",swap->bobdeposit.txbytes[i]); |
|
|
printf(" <- bobdeposit\n"); |
|
|
printf(" <- bobdeposit\n"); |
|
|
for (i=0; i<swap->aliceclaim.I.datalen; i++) |
|
|
for (i=0; i<swap->aliceclaim.I.datalen; i++) |
|
|
printf("%02x",swap->aliceclaim.txbytes[i]); |
|
|
printf("%02x",swap->aliceclaim.txbytes[i]); |
|
|
printf(" <- aliceclaim\n"); |
|
|
printf(" <- aliceclaim\n");*/ |
|
|
//basilisk_txlog(swap,&swap->aliceclaim,swap->I.putduration+swap->I.callduration);
|
|
|
//basilisk_txlog(swap,&swap->aliceclaim,swap->I.putduration+swap->I.callduration);
|
|
|
return(LP_waitmempool(coin->symbol,swap->bobdeposit.I.destaddr,swap->bobdeposit.I.signedtxid,0,60)); |
|
|
return(LP_waitmempool(coin->symbol,swap->bobdeposit.I.destaddr,swap->bobdeposit.I.signedtxid,0,60)); |
|
|
} else printf("error signing aliceclaim suppress.%d vin.(%s)\n",swap->aliceclaim.I.suppress_pubkeys,swap->bobdeposit.I.destaddr); |
|
|
} else printf("error signing aliceclaim suppress.%d vin.(%s)\n",swap->aliceclaim.I.suppress_pubkeys,swap->bobdeposit.I.destaddr); |
|
|