Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
80562767c6
  1. 88
      crypto777/libgfshare.c
  2. 4
      iguana/swaps/iguana_BTCswap.c

88
crypto777/libgfshare.c

@ -259,94 +259,6 @@ void calc_shares(uint8_t *shares,uint8_t *secret,int32_t size,int32_t width,int3
free(buffer);
}
int32_t init_sharenrs(uint8_t sharenrs[255],uint8_t *orig,int32_t m,int32_t n)
{
uint8_t *randvals,valid[255];
int32_t i,j,r,remains,orign;
if ( m > n || n >= 0xff ) // reserve 255 for illegal sharei
{
printf("illegal M.%d of N.%d\n",m,n);
return(-1);
}
randvals = calloc(1,65536);
OS_randombytes(randvals,65536);
memset(sharenrs,0,n);
if ( orig == 0 && n == m )
{
for (i=0; i<255; i++)
valid[i] = (i + 1);
remains = orign = 255;
for (i=0; i<n; i++)
{
r = (randvals[i] % remains);
sharenrs[i] = valid[r];
printf("%d ",sharenrs[i]);
valid[r] = valid[--remains];
}
printf("FULL SET\n");
}
else
{
remains = n;
orign = n;
memcpy(valid,sharenrs,n);
i = j = 0;
memset(sharenrs,0,n);
for (i=0; i<m; i++)
{
r = (rand() >> 8) % remains;
sharenrs[i] = valid[r];
valid[r] = valid[--remains];
}
/*while ( i < m )
{
if ( j >= 65536 )
{
gfshare_fill_rand(randvals,65536);
printf("refill j.%d\n",j);
j = 0;
}
r = (randvals[j++] % n);
if ( valid[r] != 0 )
{
remains--;
i++;
sharenrs[r] = valid[r];
//printf("%d ",sharenrs[i]);
valid[r] = 0;
}
}*/
for (i=0; i<n; i++)
printf("%d ",valid[i]);
printf("valid\n");
for (i=0; i<m; i++)
printf("%d ",sharenrs[i]);
printf("sharenrs vals m.%d of n.%d\n",m,n);
//getchar();
}
free(randvals);
//printf("sharenrs m.%d of n.%d\n",m,n);
if ( remains != (orign - m) )
{
printf("remains algo error??\n");
return(-1);
}
for (i=0; i<m; i++)
{
for (j=0; j<m; j++)
{
if ( i == j )
continue;
if ( sharenrs[i] != 0 && sharenrs[i] == sharenrs[j] )
{
printf("FATAL: duplicate entry sharenrs[%d] %d vs %d sharenrs[%d]\n",i,sharenrs[i],sharenrs[j],j);
return(-1);
}
}
}
return(0);
}
// ----------------------------------------------------[ Recombination ]----
// Inform a recombination context of a change in share indexes

4
iguana/swaps/iguana_BTCswap.c

@ -113,7 +113,7 @@ struct bitcoin_unspent *instantdex_bestfit(struct iguana_info *coin,struct bitco
struct bitcoin_unspent *iguana_unspentsget(struct supernet_info *myinfo,struct iguana_info *coin,int32_t *numunspentsp)
{
struct bitcoin_unspent *ups = calloc(1,sizeof(*ups));
struct bitcoin_unspent *ups = calloc(1,sizeof(*ups)); //uint8_t addrtype;
// struct bitcoin_unspent { bits256 txid,privkey; uint64_t value; int32_t vout; };
*numunspentsp = 0;
return(ups);
@ -152,7 +152,7 @@ struct bitcoin_spend *instantdex_spendset(struct supernet_info *myinfo,struct ig
}
if ( spend->input_satoshis >= (satoshis + spend->txfee) )
{
realloc(spend,sizeof(*spend) + sizeof(*spend->inputs) * spend->numinputs);
spend = realloc(spend,sizeof(*spend) + sizeof(*spend->inputs) * spend->numinputs);
return(spend);
}
else

Loading…
Cancel
Save