mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-01-08 03:49:43 +00:00
Merge branch 'main' into wownero
This commit is contained in:
commit
5553c4f477
7 changed files with 46 additions and 3 deletions
1
.github/workflows/pr_test_build.yml
vendored
1
.github/workflows/pr_test_build.yml
vendored
|
@ -166,6 +166,7 @@ jobs:
|
||||||
echo "const quantexExchangeMarkup = '${{ secrets.QUANTEX_EXCHANGE_MARKUP }}';" >> lib/.secrets.g.dart
|
echo "const quantexExchangeMarkup = '${{ secrets.QUANTEX_EXCHANGE_MARKUP }}';" >> lib/.secrets.g.dart
|
||||||
echo "const nano2ApiKey = '${{ secrets.NANO2_API_KEY }}';" >> cw_nano/lib/.secrets.g.dart
|
echo "const nano2ApiKey = '${{ secrets.NANO2_API_KEY }}';" >> cw_nano/lib/.secrets.g.dart
|
||||||
echo "const tronGridApiKey = '${{ secrets.TRON_GRID_API_KEY }}';" >> cw_tron/lib/.secrets.g.dart
|
echo "const tronGridApiKey = '${{ secrets.TRON_GRID_API_KEY }}';" >> cw_tron/lib/.secrets.g.dart
|
||||||
|
echo "const tronNowNodesApiKey = '${{ secrets.TRON_NOW_NODES_API_KEY }}';" >> cw_tron/lib/.secrets.g.dart
|
||||||
|
|
||||||
- name: Rename app
|
- name: Rename app
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -4,5 +4,9 @@
|
||||||
useSSL: true
|
useSSL: true
|
||||||
-
|
-
|
||||||
uri: api.trongrid.io
|
uri: api.trongrid.io
|
||||||
|
is_default: false
|
||||||
|
useSSL: true
|
||||||
|
-
|
||||||
|
uri: trx.nownodes.io
|
||||||
is_default: true
|
is_default: true
|
||||||
useSSL: true
|
useSSL: true
|
|
@ -20,6 +20,7 @@ class TronHTTPProvider implements TronServiceProvider {
|
||||||
final response = await client.get(Uri.parse(params.url(url)), headers: {
|
final response = await client.get(Uri.parse(params.url(url)), headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
if (url.contains("trongrid")) 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
|
if (url.contains("trongrid")) 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
|
||||||
|
if (url.contains("nownodes")) 'api-key': secrets.tronNowNodesApiKey,
|
||||||
}).timeout(timeout ?? defaultRequestTimeout);
|
}).timeout(timeout ?? defaultRequestTimeout);
|
||||||
final data = json.decode(response.body) as Map<String, dynamic>;
|
final data = json.decode(response.body) as Map<String, dynamic>;
|
||||||
return data;
|
return data;
|
||||||
|
@ -32,6 +33,7 @@ class TronHTTPProvider implements TronServiceProvider {
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
if (url.contains("trongrid")) 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
|
if (url.contains("trongrid")) 'TRON-PRO-API-KEY': secrets.tronGridApiKey,
|
||||||
|
if (url.contains("nownodes")) 'api-key': secrets.tronNowNodesApiKey,
|
||||||
},
|
},
|
||||||
body: params.toRequestBody())
|
body: params.toRequestBody())
|
||||||
.timeout(timeout ?? defaultRequestTimeout);
|
.timeout(timeout ?? defaultRequestTimeout);
|
||||||
|
|
1
devtools_options.yaml
Normal file
1
devtools_options.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
extensions:
|
|
@ -37,7 +37,7 @@ const cakeWalletBitcoinCashDefaultNodeUri = 'bitcoincash.stackwallet.com:50002';
|
||||||
const nanoDefaultNodeUri = 'rpc.nano.to';
|
const nanoDefaultNodeUri = 'rpc.nano.to';
|
||||||
const nanoDefaultPowNodeUri = 'rpc.nano.to';
|
const nanoDefaultPowNodeUri = 'rpc.nano.to';
|
||||||
const solanaDefaultNodeUri = 'rpc.ankr.com';
|
const solanaDefaultNodeUri = 'rpc.ankr.com';
|
||||||
const tronDefaultNodeUri = 'api.trongrid.io';
|
const tronDefaultNodeUri = 'trx.nownodes.io';
|
||||||
const newCakeWalletBitcoinUri = 'btc-electrum.cakewallet.com:50002';
|
const newCakeWalletBitcoinUri = 'btc-electrum.cakewallet.com:50002';
|
||||||
const wowneroDefaultNodeUri = 'node3.monerodevs.org:34568';
|
const wowneroDefaultNodeUri = 'node3.monerodevs.org:34568';
|
||||||
|
|
||||||
|
@ -236,7 +236,11 @@ Future<void> defaultSettingsMigration(
|
||||||
await changeWowneroCurrentNodeToDefault(sharedPreferences: sharedPreferences, nodes: nodes);
|
await changeWowneroCurrentNodeToDefault(sharedPreferences: sharedPreferences, nodes: nodes);
|
||||||
break;
|
break;
|
||||||
case 37:
|
case 37:
|
||||||
|
await replaceTronDefaultNode(sharedPreferences: sharedPreferences, nodes: nodes);
|
||||||
|
break;
|
||||||
|
case 38:
|
||||||
await fixBtcDerivationPaths(walletInfoSource);
|
await fixBtcDerivationPaths(walletInfoSource);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1189,3 +1193,29 @@ Future<void> changeTronCurrentNodeToDefault(
|
||||||
|
|
||||||
await sharedPreferences.setInt(PreferencesKey.currentTronNodeIdKey, nodeId);
|
await sharedPreferences.setInt(PreferencesKey.currentTronNodeIdKey, nodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> replaceTronDefaultNode({
|
||||||
|
required SharedPreferences sharedPreferences,
|
||||||
|
required Box<Node> nodes,
|
||||||
|
}) async {
|
||||||
|
// Get the currently active node
|
||||||
|
final currentTronNodeId = sharedPreferences.getInt(PreferencesKey.currentTronNodeIdKey);
|
||||||
|
final currentTronNode =
|
||||||
|
nodes.values.firstWhereOrNull((Node node) => node.key == currentTronNodeId);
|
||||||
|
|
||||||
|
//Confirm if this node is part of the default nodes from CakeWallet
|
||||||
|
final tronDefaultNodeList = [
|
||||||
|
'tron-rpc.publicnode.com:443',
|
||||||
|
'api.trongrid.io',
|
||||||
|
];
|
||||||
|
bool needsToBeReplaced =
|
||||||
|
currentTronNode == null ? true : tronDefaultNodeList.contains(currentTronNode.uriRaw);
|
||||||
|
|
||||||
|
// If it's a custom node, return. We don't want to switch users from their custom nodes
|
||||||
|
if (!needsToBeReplaced) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If it's not, we switch user to the new default node: NowNodes
|
||||||
|
await changeTronCurrentNodeToDefault(sharedPreferences: sharedPreferences, nodes: nodes);
|
||||||
|
}
|
|
@ -203,7 +203,7 @@ Future<void> initializeAppConfigs() async {
|
||||||
transactionDescriptions: transactionDescriptions,
|
transactionDescriptions: transactionDescriptions,
|
||||||
secureStorage: secureStorage,
|
secureStorage: secureStorage,
|
||||||
anonpayInvoiceInfo: anonpayInvoiceInfo,
|
anonpayInvoiceInfo: anonpayInvoiceInfo,
|
||||||
initialMigrationVersion: 37,
|
initialMigrationVersion: 38,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,10 @@ class SecretKey {
|
||||||
SecretKey('moralisApiKey', () => ''),
|
SecretKey('moralisApiKey', () => ''),
|
||||||
SecretKey('ankrApiKey', () => ''),
|
SecretKey('ankrApiKey', () => ''),
|
||||||
SecretKey('quantexExchangeMarkup', () => ''),
|
SecretKey('quantexExchangeMarkup', () => ''),
|
||||||
|
SecretKey('testCakePayApiKey', () => ''),
|
||||||
|
SecretKey('cakePayApiKey', () => ''),
|
||||||
|
SecretKey('CSRFToken', () => ''),
|
||||||
|
SecretKey('authorization', () => ''),
|
||||||
];
|
];
|
||||||
|
|
||||||
static final evmChainsSecrets = [
|
static final evmChainsSecrets = [
|
||||||
|
@ -54,9 +58,10 @@ class SecretKey {
|
||||||
static final nanoSecrets = [
|
static final nanoSecrets = [
|
||||||
SecretKey('nano2ApiKey', () => ''),
|
SecretKey('nano2ApiKey', () => ''),
|
||||||
];
|
];
|
||||||
|
|
||||||
static final tronSecrets = [
|
static final tronSecrets = [
|
||||||
SecretKey('tronGridApiKey', () => ''),
|
SecretKey('tronGridApiKey', () => ''),
|
||||||
|
SecretKey('tronNowNodesApiKey', () => ''),
|
||||||
];
|
];
|
||||||
|
|
||||||
final String name;
|
final String name;
|
||||||
|
|
Loading…
Reference in a new issue