Skip to content

Commit

Permalink
[Releases] v0.6.0-beta1 patch (#694)
Browse files Browse the repository at this point in the history
* Added error icon for failed fetching of fee rates

* Fixed indentation

* Add clearnet or Tor to bug report template

* Icon updates

* Update Lightning + On-chain icons

* New layout

* Remove re-org comment

* Prettier

* Intro: fix proportions on image 4

* Remove scan icon for now

* Rename view to SignVerifyMessage

* Format sign view

* LND working end-to-end

* Rig up endpoint for CLR

* Rig up endpoint for Eclair

* Relay error messages from the api

* Verify msg: Only base64 encode the message for Eclair and LND

* SignMessage: only base64 encode message for LND

* Eclair - signMessage: base64 encode msg

* CLR: sign message - pass prroper signature

* Make sure errors are handled properly

* Remove ability to pay custom amount on invoices

* Add swipe up ability to Activity caret

* Animation: useNativeDriver

* remove unused TouchableOpacity

* Add node identicon to WalletHeader

* Create NodeIdenticon component

* Receive: Lightning: show notification when invoice is paid

* Android: Fix flickering when adding node info

* LND: don't allow self payments for now

* Fixed error icon

* Use BTCPay for fiat rates

* Removed unnecessory files

* prettier formatting

* Drop fade-in in favor of success gif

* Edit text padding on receive success message

* prettier

* Make sure rates are fetched correctly

* Add four new currencies and flesh out symbol look-up

* Handle currencies that swap decimals and commas

* Update TODOs

* Update numberWithCommas func to use Intl.NumberFormat

* Make sure navigation works on press too

* LND: Fix Open Channel operation

* LND: Fix setting of channel fees

* c-lightning-REST: Fix routing view

* CLR: fix display of Fee Rate units

* Update getURL

* Create new TextInput component

* Cleanup

* Make sure height style doesn't get set when multilines are

* Button tweaks

* Refactor: UTXOPicker and HopPicker

* LND schema update for first hop

* ZEUS-583: Handle case when no channel is set

* Nodes: Fix implementation display

* Bug fix: Lurker mode doesn't activate after toggle

* ZEUS-642: Settings don't seem to save until node is configured

* ZEUS-641: Add ability to change settings / cancel loading while connecting to node

* Add Contact icon placeholder to WalletHeader

* Need to tighten up checker

* ZEUS-565: On-chain balance from other accounts sticks when switching to LNDHub accounts

* Add Scan icon to wallet header

* Intro update

* New animation when connecting to node

* Remove unnecessary SVG fill settings for Word Logo

* Create LoadingIndicator component

* Fix import order

* New transaction broadcast success view

* New LN transaction success view

* Add copy button for LN payment hashes

* Update locales

* Rig up Polish

* Bug fix: scan node URI (#675)

* Bug fix: scan node URI

* Remove console.logs

* ZEUS-644: Storage bug fix (#676)

* Intro bug: Get Started button not appearing (#677)

* Fix display of sats and closed channels in Fee Breakdown (#679)

* Swipeable rows: add Send icon (#681)

* Version bump: v0.6.0-beta1 (#678)

* AddEditNode: change color of Understand button (#684)

* Node configuration tweaks (#682)

* AddEditNode: Fix display of implementation in dropdown

* AddEditNode: Replace CheckBox with Switch

* Remove remaining instances of CheckBox

* React Native Flatlist refactor (#683)

* Bump iOS projection version to v0.6.0 (9) (#685)

* Misc fixes (#686)

* Update word logo

* Animated.event: specify useNativeDriver

* useNativeDriver: false

* Make sure Tag component always has white font

* Links: use highlight color

* Remove unused head icons

* NFC: allow scanning on OpenChannel view

* Update react-native-camera

* iOS: bump build number

* NFC imports fix (#689)

* v0.6.0-beta1 patches (#693)

* Fix display of Actions for LNDHub users

* Fix display of fiat rates

* Create limit for NodeTitle display - use ellipsis

* Bump iOS build number

Co-authored-by: Shubham Kumar <[email protected]>
Co-authored-by: Shubham Kumar <[email protected]>
  • Loading branch information
3 people authored Jan 21, 2022
1 parent 03d7bdd commit c8c06e5
Show file tree
Hide file tree
Showing 122 changed files with 4,013 additions and 3,084 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ If applicable, add screenshots to help explain your problem.
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Zeus Version [e.g. v0.1.0]
- Clearnet or Tor

**Additional context**
Add any other context about the problem here.
6 changes: 3 additions & 3 deletions Navigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import Language from './views/Settings/Language';
import Currency from './views/Settings/Currency';
import Theme from './views/Settings/Theme';
import CertInstallInstructions from './views/Settings/CertInstallInstructions';
import SignMessage from './views/Settings/SignMessage';
import SignVerifyMessage from './views/Settings/SignVerifyMessage';
import Help from './views/Settings/Help';

// Routing
Expand Down Expand Up @@ -112,8 +112,8 @@ const AppScenes = {
CertInstallInstructions: {
screen: CertInstallInstructions
},
SignMessage: {
screen: SignMessage
SignVerifyMessage: {
screen: SignVerifyMessage
},
Transaction: {
screen: Transaction
Expand Down
7 changes: 5 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ android {
applicationId "app.zeusln.zeus"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 29
versionName "0.6.0-alpha4"
versionCode 30
versionName "0.6.0-beta1"
multiDexEnabled true
missingDimensionStrategy 'react-native-camera', 'general'
}
Expand Down Expand Up @@ -206,6 +206,9 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
implementation files("../../node_modules/react-native-tor/android/libs/sifir_android.aar")
// gif
implementation 'com.facebook.fresco:fresco:2.0.0'
implementation 'com.facebook.fresco:animated-gif:2.0.0'

if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
Expand Down
5 changes: 5 additions & 0 deletions backends/CLightningREST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,10 @@ export default class CLightningREST extends LND {
this.postRequest('/v1/utility/signMessage', {
message: message
});
verifyMessage = (data: any) =>
this.getRequest(
`/v1/utility/checkMessage/${data.msg}/${data.signature}`
);

supportsMessageSigning = () => true;
supportsMPP = () => false;
Expand All @@ -146,4 +150,5 @@ export default class CLightningREST extends LND {
supportsHopPicking = () => false;
supportsRouting = () => true;
supportsNodeInfo = () => true;
singleFeesEarnedTotal = () => true;
}
8 changes: 7 additions & 1 deletion backends/Eclair.ts
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,12 @@ export default class Eclair {

signMessage = (message: string) =>
this.api('signmessage', {
msg: message
msg: Base64Utils.btoa(message)
});
verifyMessage = (data: any) =>
this.api('verifymessage', {
msg: Base64Utils.btoa(data.msg),
sig: data.signature
});

supportsMessageSigning = () => true;
Expand All @@ -475,6 +480,7 @@ export default class Eclair {
supportsHopPicking = () => false;
supportsRouting = () => true;
supportsNodeInfo = () => true;
singleFeesEarnedTotal = () => false;
}

const mapInvoice =
Expand Down
34 changes: 27 additions & 7 deletions backends/LND.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import RNFetchBlob from 'rn-fetch-blob';
import stores from '../stores/Stores';
import { doTorRequest, RequestMethod } from '../utils/TorUtils';
import OpenChannelRequest from './../models/OpenChannelRequest';
import Base64Utils from './../utils/Base64Utils';
import VersionUtils from './../utils/VersionUtils';
import { localeString } from './../utils/LocaleUtils';

Expand Down Expand Up @@ -201,7 +202,13 @@ export default class LND {
getPayments = () => this.getRequest('/v1/payments');
getNewAddress = () => this.getRequest('/v1/newaddress');
openChannel = (data: OpenChannelRequest) =>
this.postRequest('/v1/channels', data);
this.postRequest('/v1/channels', {
private: data.private,
local_funding_amount: data.local_funding_amount,
min_confs: data.min_confs,
node_pubkey_string: data.node_pubkey_string,
sat_per_byte: data.sat_per_byte
});
openChannelStream = (data: OpenChannelRequest) =>
this.wsReq('/v1/channels/stream', 'POST', data);
connectPeer = (data: any) => this.postRequest('/v1/peers', data);
Expand Down Expand Up @@ -233,11 +240,16 @@ export default class LND {
getNodeInfo = (urlParams?: Array<string>) =>
this.getRequest(`/v1/graph/node/${urlParams && urlParams[0]}`);
getFees = () => this.getRequest('/v1/fees');
setFees = (data: any) => {
const request = { ...data };
request.fee_rate = `${Number(data.fee_rate) / 100}`;
return this.postRequest('/v1/chanpolicy', data);
};
setFees = (data: any) =>
this.postRequest('/v1/chanpolicy', {
base_fee_msat: data.base_fee_msat,
fee_rate: `${Number(data.fee_rate) / 100}`,
chan_point: {
funding_txid_str: data.chan_point.funding_txid_str,
output_index: data.chan_point.output_index
},
time_lock_delta: data.time_lock_delta
});
getRoutes = (urlParams?: Array<string>) =>
this.getRequest(
`/v1/graph/routes/${urlParams && urlParams[0]}/${
Expand Down Expand Up @@ -266,8 +278,15 @@ export default class LND {
this.postRequest('/v2/wallet/accounts/import', data);
signMessage = (message: string) =>
this.postRequest('/v1/signmessage', {
msg: message
msg: Base64Utils.btoa(message)
});
verifyMessage = (data: any) =>
this.postRequest('/v1/verifymessage', {
msg: Base64Utils.btoa(data.msg),
signature: data.signature
});
subscribeInvoice = (r_hash: string) =>
this.getRequest(`/v2/invoices/subscribe/${r_hash}`);

// LndHub
createAccount = (
Expand Down Expand Up @@ -303,4 +322,5 @@ export default class LND {
supportsNodeInfo = () => true;
supportsCoinControl = () => this.supports('v0.12.0');
supportsAccounts = () => this.supports('v0.13.0');
singleFeesEarnedTotal = () => false;
}
1 change: 1 addition & 0 deletions backends/LndHub.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,5 @@ export default class LndHub extends LND {
supportsHopPicking = () => false;
supportsRouting = () => false;
supportsNodeInfo = () => false;
singleFeesEarnedTotal = () => false;
}
1 change: 1 addition & 0 deletions backends/Spark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -316,4 +316,5 @@ export default class Spark {
supportsCoinControl = () => false;
supportsHopPicking = () => false;
supportsRouting = () => true;
singleFeesEarnedTotal = () => false;
}
12 changes: 7 additions & 5 deletions components/Button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,16 @@ function Button(props: ButtonProps) {
...containerStyle,
borderWidth: secondary ? 2 : 0,
borderColor: themeColor('highlight'),
alignSelf: 'center'
alignSelf: 'center',
borderRadius: 30
}
: {
...containerStyle,
borderWidth: secondary ? 2 : 0,
borderColor: themeColor('highlight'),
alignSelf: 'center',
width: '100%'
borderRadius: 30,
width: '90%'
};

return (
Expand All @@ -53,12 +55,12 @@ function Button(props: ButtonProps) {
title={title}
buttonStyle={{
backgroundColor: iconOnly
? themeColor('background')
? 'transparent'
: tertiary
? themeColor('text')
? themeColor('highlight')
: secondary
? themeColor('secondary')
: themeColor('highlight')
: themeColor('text')
}}
titleStyle={{
color: iconOnly
Expand Down
4 changes: 3 additions & 1 deletion components/Channels/Tag.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ export function Tag({ status }: { status: Status }) {
/>
<Spacer width={6} />
{/* TODO: localize */}
<Body small>{status}</Body>
<Body colorOverride="white" small>
{status}
</Body>
</Row>
</View>
);
Expand Down
2 changes: 1 addition & 1 deletion components/DropdownSetting.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default class DropdownSetting extends React.Component<
return (
<React.Fragment>
{Platform.OS !== 'ios' && (
<View>
<View style={{ height: 75 }}>
<Text
style={{
color: themeColor('secondaryText')
Expand Down
Loading

0 comments on commit c8c06e5

Please sign in to comment.