Commit 97336715 authored by allan juma's avatar allan juma

update

parent 3a1ca9cd
......@@ -98,7 +98,20 @@ var ret = {
//const rate = tickers.find(t => t.ticker.toLowerCase() === fiat).rate;
var quote = await this.addQuote;
this._store.pools = await Promise.all(pools.map(await this.poolsToPool));
var pooled = await Promise.allSettled(pools.map(this.poolsToPool));
console.log(pooled);
pooled = pooled.filter(function(pl){
console.log(pl.quote);
return pl.status == 'fulfilled' && pl.value.quote != undefined;
});
console.log(pooled);
this._store.pools = pooled.map(function(pl){
if(pl.status == 'fulfilled'){
var ret = pl.value;
return ret;
}
});
} catch (err) {
log.error('Listing transactions failed', err);
......
......@@ -199,6 +199,7 @@ if action == "quote":
ASA = client.fetch_asset(aID1)
BTC = client.fetch_asset(aID2)
print(ASA,BTC,aID1,aID2)
# Fetch the pool we will work with
pool = client.fetch_pool(ASA, BTC)
......
......@@ -145,10 +145,12 @@ export const toAmountLabel = (satoshis, settings) => {
export const addAsaQuote = async (grpc, store, aID1, aID2) => {
var quote = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'quote', aID1, aID2 ]);
console.log(quote);
try{
var q = quote.split("'")[1].split("'")[0];
var ql = toAmountLabel(parseInt((1/parseInt(q))*1000000),store.settings);
return ql;
}catch(er){console.error(er)}
}
/**
......
......@@ -41,12 +41,32 @@ ChartJS.register(ArcElement, Tooltip, Legend);
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'swap', 75685483 , 0, 10, store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic, 'add' ]);
console.log(poolStats);
if(poolStats.includes('confirmed in round')){
console.log('INFO! swap completed by contract only! skiping lightning swap.');
nav.goPayPoolDone();
return true;
}else{
nav.goPaymentFailed();
return false;
}
} else if ( store.payment.address != '' ) {
//return this._notification.display({ msg: 'INFO! swapping lightning BTC to contract BTC' });
// first test is contract can complete transaction
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'swap', 75685483 , 0, 10, store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic, 'add' ]);
console.log(poolStats);
if(poolStats.includes('confirmed in round')){
console.log('INFO! swap completed by contract only! skiping lightning swap.');
nav.goPayPoolDone();
return true;
}
const { payment, settings } = store;
try{
const request = await grpc.sendCommand('decodePayReq', {
......@@ -54,7 +74,7 @@ ChartJS.register(ArcElement, Tooltip, Legend);
});
payment.amount = toAmount(request.numSatoshis, settings);
payment.note = request.description;
/* */
/*
try{
const { routes } = await grpc.sendCommand('queryRoutes', {
pubKey: request.destination,
......@@ -63,13 +83,29 @@ ChartJS.register(ArcElement, Tooltip, Legend);
});
payment.fee = toAmount(routes[0].totalFees, settings);
}catch(er){console.error(er)}
payment.fee = 2;
*/
payment.fee = toAmount(16, settings);
console.log(payment);
var paymentHash = await pay.payLightning();
console.log(paymentHash);
if(paymentHash == undefined) {
nav.goPaymentFailed();
return false;
}
console.log(paymentHash);
var pH = btoa(String.fromCharCode.apply(null, paymentHash.paymentHash));
console.log(pH);
/*
const fulfill = await grpc.sendCommand('lookupInvoiceV2', {
payment_hash: pH,
});
console.log(fulfill);
*/
// then add converted contract satoshis to merchant pool
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'swap', 75685483 , 0, 10, store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic, 'add' ]);
......
......@@ -34,7 +34,7 @@ const PayPoolDoneView = ({ nav, payment, pool }) => (
<Background image="purple-gradient-bg">
<MainContent>
<FormStretcher>
<H1Text>Payment Sent!</H1Text>
<H1Text>Pool Confirmed!</H1Text>
<Circle style={styles.circle}>
<View style={styles.iconWrapper}>
<BitsIcon height={126 * 0.9} width={64 * 0.9} />
......
......@@ -33,19 +33,19 @@ const PaymentFailedView = ({ channel, nav }) => (
<MainContent>
<FormStretcher>
<LightningErrorIcon height={115 * 0.8} width={60 * 0.8} />
<H1Text style={styles.h1Txt}>Payment Failed</H1Text>
<H1Text style={styles.h1Txt}>Transaction Failed</H1Text>
<CopyText style={styles.copyTxt}>
{'You may need to manually create a channel.'}
{'Check error logs!'}
</CopyText>
</FormStretcher>
<PillButton style={styles.createBtn} onPress={() => channel.initCreate()}>
Create channel
<PillButton style={styles.createBtn} onPress={() => nav.goPayLightningConfirm()}>
Try again
</PillButton>
<Button
style={styles.retryBtn}
onPress={() => nav.goPayLightningConfirm()}
onPress={() => nav.goHome()}
>
<ButtonText>Try again</ButtonText>
<ButtonText>Cancel</ButtonText>
</Button>
</MainContent>
</Background>
......
......@@ -204,14 +204,14 @@ var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/poo
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'addLiq', 70653745, 0 , store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic, 1]);
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'swap', 75685483 , 0, 10, store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic, 'remove' ]);
console.log(poolStats);
*/
// doSwap(store.settings.chains.algo.account.mnemonic);
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'pooling', 75685483 , 0, store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic ]);
console.log(poolStats);
var poolStats = await grpc.initPyface(['/data/lightning-bits/src/chains/algo/pools.py', 'swap', 75685483 , 0, 10, store.settings.chains.algo.account.address, store.settings.chains.algo.account.mnemonic, 'remove' ]);
console.log(poolStats);
}
const options = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment