mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 22:36:57 +02:00
cleanup
This commit is contained in:
parent
13629f6870
commit
88a3505b6a
6 changed files with 25 additions and 26 deletions
|
@ -64,7 +64,7 @@ Item {
|
||||||
answer: "High Fidelity commerce is in open beta right now. Want more HFC? \
|
answer: "High Fidelity commerce is in open beta right now. Want more HFC? \
|
||||||
Get it by going to <br><br><b><font color='#0093C5'><a href='#bank'>BankOfHighFidelity.</a></font></b> and meeting with the banker!";
|
Get it by going to <br><br><b><font color='#0093C5'><a href='#bank'>BankOfHighFidelity.</a></font></b> and meeting with the banker!";
|
||||||
}
|
}
|
||||||
ListElement {
|
/* ListElement {
|
||||||
isExpanded: false;
|
isExpanded: false;
|
||||||
question: "What are private keys and where are they stored?";
|
question: "What are private keys and where are they stored?";
|
||||||
answer:
|
answer:
|
||||||
|
@ -74,16 +74,16 @@ After wallet setup, a hifikey file is stored on your computer in High Fidelity I
|
||||||
Your hifikey file contains your private key and is protected by your wallet passphrase. \
|
Your hifikey file contains your private key and is protected by your wallet passphrase. \
|
||||||
<br><br>It is very important to back up your hifikey file! \
|
<br><br>It is very important to back up your hifikey file! \
|
||||||
<b><font color='#0093C5'><a href='#privateKeyPath'>Tap here to open the folder where your HifiKeys are stored on your main display.</a></font></b>"
|
<b><font color='#0093C5'><a href='#privateKeyPath'>Tap here to open the folder where your HifiKeys are stored on your main display.</a></font></b>"
|
||||||
}
|
}*/
|
||||||
ListElement {
|
/*ListElement {
|
||||||
isExpanded: false;
|
isExpanded: false;
|
||||||
question: "How do I back up my private keys?";
|
question: "How do I back up my private keys?";
|
||||||
answer: "You can back up your hifikey file (which contains your private key and is encrypted using your wallet passphrase) by copying it to a USB flash drive, or to a service like Dropbox or Google Drive. \
|
answer: "You can back up your hifikey file (which contains your private key and is encrypted using your wallet passphrase) by copying it to a USB flash drive, or to a service like Dropbox or Google Drive. \
|
||||||
Restore your hifikey file by replacing the file in Interface's AppData directory with your backup copy. \
|
Restore your hifikey file by replacing the file in Interface's AppData directory with your backup copy. \
|
||||||
Others with access to your back up should not be able to spend your HFC without your passphrase. \
|
Others with access to your back up should not be able to spend your HFC without your passphrase. \
|
||||||
<b><font color='#0093C5'><a href='#privateKeyPath'>Tap here to open the folder where your HifiKeys are stored on your main display.</a></font></b>";
|
<b><font color='#0093C5'><a href='#privateKeyPath'>Tap here to open the folder where your HifiKeys are stored on your main display.</a></font></b>";
|
||||||
}
|
}*/
|
||||||
ListElement {
|
/*ListElement {
|
||||||
isExpanded: false;
|
isExpanded: false;
|
||||||
question: "What happens if I lose my private keys?";
|
question: "What happens if I lose my private keys?";
|
||||||
answer: "We cannot stress enough that you should keep a backup! For security reasons, High Fidelity does not keep a copy, and cannot restore it for you. \
|
answer: "We cannot stress enough that you should keep a backup! For security reasons, High Fidelity does not keep a copy, and cannot restore it for you. \
|
||||||
|
@ -94,8 +94,8 @@ Here are some things to try:<ul>\
|
||||||
<li>If you are a developer and have installed multiple builds of High Fidelity, your hifikey file might be in another folder</li>\
|
<li>If you are a developer and have installed multiple builds of High Fidelity, your hifikey file might be in another folder</li>\
|
||||||
</ul><br><br>As a last resort, you can set up your Wallet again and generate a new hifikey file. \
|
</ul><br><br>As a last resort, you can set up your Wallet again and generate a new hifikey file. \
|
||||||
Unfortunately, this means you will start with 0 HFC and your purchased items will not be transferred over.";
|
Unfortunately, this means you will start with 0 HFC and your purchased items will not be transferred over.";
|
||||||
}
|
}*/
|
||||||
ListElement {
|
/*ListElement {
|
||||||
isExpanded: false;
|
isExpanded: false;
|
||||||
question: "What if I forget my wallet passphrase?";
|
question: "What if I forget my wallet passphrase?";
|
||||||
answer: "Your wallet passphrase is used to encrypt your private keys. Please write it down and store it securely! \
|
answer: "Your wallet passphrase is used to encrypt your private keys. Please write it down and store it securely! \
|
||||||
|
@ -104,7 +104,7 @@ You will also no longer have access to the contents of your Wallet or My Purchas
|
||||||
For security reasons, High Fidelity does not keep a copy of your passphrase, and can't restore it for you. \
|
For security reasons, High Fidelity does not keep a copy of your passphrase, and can't restore it for you. \
|
||||||
<br><br>If you still cannot remember your wallet passphrase, you can set up your Wallet again and generate a new hifikey file. \
|
<br><br>If you still cannot remember your wallet passphrase, you can set up your Wallet again and generate a new hifikey file. \
|
||||||
Unfortunately, this means you will start with 0 HFC and your purchased items will not be transferred over.";
|
Unfortunately, this means you will start with 0 HFC and your purchased items will not be transferred over.";
|
||||||
}
|
}*/
|
||||||
ListElement {
|
ListElement {
|
||||||
isExpanded: false;
|
isExpanded: false;
|
||||||
question: "How do I send HFC to other people?";
|
question: "How do I send HFC to other people?";
|
||||||
|
@ -116,7 +116,7 @@ In your Wallet's Send Money tab, choose from your list of connections, or choose
|
||||||
question: "What is a Security Pic?"
|
question: "What is a Security Pic?"
|
||||||
answer: "Your Security Pic acts as an extra layer of Wallet security. \
|
answer: "Your Security Pic acts as an extra layer of Wallet security. \
|
||||||
When you see your Security Pic, you know that your actions and data are securely making use of your account. \
|
When you see your Security Pic, you know that your actions and data are securely making use of your account. \
|
||||||
<b><font color='#0093C5'><a href='#securitypic'>Tap here to change your Security Pic.</a></font></b>";
|
<br><br><b><font color='#0093C5'><a href='#securitypic'>Tap here to change your Security Pic.</a></font></b>";
|
||||||
}
|
}
|
||||||
ListElement {
|
ListElement {
|
||||||
isExpanded: false;
|
isExpanded: false;
|
||||||
|
@ -259,7 +259,6 @@ At the moment, there is currently no way to convert HFC to other currencies. Sta
|
||||||
} else if (link === "#support") {
|
} else if (link === "#support") {
|
||||||
Qt.openUrlExternally("mailto:support@highfidelity.com");
|
Qt.openUrlExternally("mailto:support@highfidelity.com");
|
||||||
} else if (link === "#securitypic") {
|
} else if (link === "#securitypic") {
|
||||||
console.log("HRS FIXME here");
|
|
||||||
sendSignalToWallet({method: 'walletSecurity_changeSecurityImage'});
|
sendSignalToWallet({method: 'walletSecurity_changeSecurityImage'});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,6 +88,7 @@ Item {
|
||||||
color: hifi.colors.faintGray;
|
color: hifi.colors.faintGray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
Item {
|
Item {
|
||||||
id: changePassphraseContainer;
|
id: changePassphraseContainer;
|
||||||
anchors.top: securityTextSeparator.bottom;
|
anchors.top: securityTextSeparator.bottom;
|
||||||
|
@ -154,10 +155,11 @@ Item {
|
||||||
// Style
|
// Style
|
||||||
color: hifi.colors.faintGray;
|
color: hifi.colors.faintGray;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: changeSecurityImageContainer;
|
id: changeSecurityImageContainer;
|
||||||
anchors.top: changePassphraseSeparator.bottom;
|
anchors.top: securityTextSeparator.bottom; // changePassphraseSeparator.bottom;
|
||||||
anchors.topMargin: 8;
|
anchors.topMargin: 8;
|
||||||
anchors.left: parent.left;
|
anchors.left: parent.left;
|
||||||
anchors.leftMargin: 40;
|
anchors.leftMargin: 40;
|
||||||
|
@ -207,7 +209,7 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: privateKeysSeparator;
|
id: privateKeysSeparator;
|
||||||
// Size
|
// Size
|
||||||
|
@ -344,6 +346,7 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -257,9 +257,9 @@ Rectangle {
|
||||||
Connections {
|
Connections {
|
||||||
onSendSignalToWallet: {
|
onSendSignalToWallet: {
|
||||||
if (msg.method === 'walletSecurity_changeSecurityImageCancelled') {
|
if (msg.method === 'walletSecurity_changeSecurityImageCancelled') {
|
||||||
root.activeView = "walletHome"; // was "security";
|
root.activeView = "security";
|
||||||
} else if (msg.method === 'walletSecurity_changeSecurityImageSuccess') {
|
} else if (msg.method === 'walletSecurity_changeSecurityImageSuccess') {
|
||||||
root.activeView = "walletHome"; // was "security";
|
root.activeView = "security";
|
||||||
} else {
|
} else {
|
||||||
sendToScript(msg);
|
sendToScript(msg);
|
||||||
}
|
}
|
||||||
|
@ -610,7 +610,7 @@ Rectangle {
|
||||||
}
|
}
|
||||||
|
|
||||||
RalewaySemiBold {
|
RalewaySemiBold {
|
||||||
text: "PURCHASES"; // was "SECURITY";
|
text: "SECURITY";
|
||||||
// Text size
|
// Text size
|
||||||
size: 16;
|
size: 16;
|
||||||
// Anchors
|
// Anchors
|
||||||
|
@ -632,11 +632,8 @@ Rectangle {
|
||||||
anchors.fill: parent;
|
anchors.fill: parent;
|
||||||
hoverEnabled: enabled;
|
hoverEnabled: enabled;
|
||||||
onClicked: {
|
onClicked: {
|
||||||
sendToScript({method: 'goToPurchases_fromWalletHome'});
|
|
||||||
/* was
|
|
||||||
root.activeView = "security";
|
root.activeView = "security";
|
||||||
tabButtonsContainer.resetTabButtonColors();
|
tabButtonsContainer.resetTabButtonColors();
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
onEntered: parent.color = hifi.colors.blueHighlight;
|
onEntered: parent.color = hifi.colors.blueHighlight;
|
||||||
onExited: parent.color = root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black;
|
onExited: parent.color = root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black;
|
||||||
|
|
|
@ -31,7 +31,9 @@
|
||||||
QJsonObject Ledger::apiResponse(const QString& label, QNetworkReply* reply) {
|
QJsonObject Ledger::apiResponse(const QString& label, QNetworkReply* reply) {
|
||||||
QByteArray response = reply->readAll();
|
QByteArray response = reply->readAll();
|
||||||
QJsonObject data = QJsonDocument::fromJson(response).object();
|
QJsonObject data = QJsonDocument::fromJson(response).object();
|
||||||
|
#if defined(DEV_BUILD) // Don't expose user's personal data in the wild. But during development this can be handy.
|
||||||
qInfo(commerce) << label << "response" << QJsonDocument(data).toJson(QJsonDocument::Compact);
|
qInfo(commerce) << label << "response" << QJsonDocument(data).toJson(QJsonDocument::Compact);
|
||||||
|
#endif
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
// Non-200 responses are not json:
|
// Non-200 responses are not json:
|
||||||
|
@ -69,7 +71,9 @@ void Ledger::send(const QString& endpoint, const QString& success, const QString
|
||||||
auto accountManager = DependencyManager::get<AccountManager>();
|
auto accountManager = DependencyManager::get<AccountManager>();
|
||||||
const QString URL = "/api/v1/commerce/";
|
const QString URL = "/api/v1/commerce/";
|
||||||
JSONCallbackParameters callbackParams(this, success, fail);
|
JSONCallbackParameters callbackParams(this, success, fail);
|
||||||
|
#if defined(DEV_BUILD) // Don't expose user's personal data in the wild. But during development this can be handy.
|
||||||
qCInfo(commerce) << "Sending" << endpoint << QJsonDocument(request).toJson(QJsonDocument::Compact);
|
qCInfo(commerce) << "Sending" << endpoint << QJsonDocument(request).toJson(QJsonDocument::Compact);
|
||||||
|
#endif
|
||||||
accountManager->sendRequest(URL + endpoint,
|
accountManager->sendRequest(URL + endpoint,
|
||||||
authType,
|
authType,
|
||||||
method,
|
method,
|
||||||
|
@ -130,7 +134,6 @@ bool Ledger::receiveAt(const QString& hfc_key, const QString& signing_key, const
|
||||||
transaction["locker"] = QString::fromUtf8(locker);
|
transaction["locker"] = QString::fromUtf8(locker);
|
||||||
QJsonDocument transactionDoc{ transaction };
|
QJsonDocument transactionDoc{ transaction };
|
||||||
auto transactionString = transactionDoc.toJson(QJsonDocument::Compact);
|
auto transactionString = transactionDoc.toJson(QJsonDocument::Compact);
|
||||||
qCDebug(commerce) << "FIXME transactionString" << transactionString;
|
|
||||||
signedSend("text", transactionString, signing_key, "receive_at", "receiveAtSuccess", "receiveAtFailure");
|
signedSend("text", transactionString, signing_key, "receive_at", "receiveAtSuccess", "receiveAtFailure");
|
||||||
return true; // Note that there may still be an asynchronous signal of failure that callers might be interested in.
|
return true; // Note that there may still be an asynchronous signal of failure that callers might be interested in.
|
||||||
}
|
}
|
||||||
|
@ -292,7 +295,6 @@ void Ledger::accountSuccess(QNetworkReply* reply) {
|
||||||
// lets set the appropriate stuff in the wallet now
|
// lets set the appropriate stuff in the wallet now
|
||||||
auto wallet = DependencyManager::get<Wallet>();
|
auto wallet = DependencyManager::get<Wallet>();
|
||||||
QByteArray response = reply->readAll();
|
QByteArray response = reply->readAll();
|
||||||
qCDebug(commerce) << "FIXME accountSuccess got" << response;
|
|
||||||
QJsonObject data = QJsonDocument::fromJson(response).object()["data"].toObject();
|
QJsonObject data = QJsonDocument::fromJson(response).object()["data"].toObject();
|
||||||
|
|
||||||
auto salt = QByteArray::fromBase64(data["salt"].toString().toUtf8());
|
auto salt = QByteArray::fromBase64(data["salt"].toString().toUtf8());
|
||||||
|
|
|
@ -201,7 +201,6 @@ bool Wallet::setWallet(const QByteArray& wallet) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
qCDebug(commerce) << "FIXME wrote" << wallet.count() << "to" << keyFilePath();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
QByteArray Wallet::getWallet() {
|
QByteArray Wallet::getWallet() {
|
||||||
|
@ -212,7 +211,6 @@ QByteArray Wallet::getWallet() {
|
||||||
}
|
}
|
||||||
QByteArray wallet = file.readAll();
|
QByteArray wallet = file.readAll();
|
||||||
file.close();
|
file.close();
|
||||||
qCDebug(commerce) << "FIXME read" << wallet.count() << "from" << keyFilePath();
|
|
||||||
return wallet;
|
return wallet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,10 +44,6 @@ public:
|
||||||
void setCKey(const QByteArray& ckey) { _ckey = ckey; }
|
void setCKey(const QByteArray& ckey) { _ckey = ckey; }
|
||||||
QByteArray getCKey() { return _ckey; }
|
QByteArray getCKey() { return _ckey; }
|
||||||
|
|
||||||
// FIXME protect more
|
|
||||||
bool setWallet(const QByteArray& wallet);
|
|
||||||
QByteArray getWallet();
|
|
||||||
|
|
||||||
bool setPassphrase(const QString& passphrase);
|
bool setPassphrase(const QString& passphrase);
|
||||||
QString* getPassphrase() { return _passphrase; }
|
QString* getPassphrase() { return _passphrase; }
|
||||||
bool getPassphraseIsCached() { return !(_passphrase->isEmpty()); }
|
bool getPassphraseIsCached() { return !(_passphrase->isEmpty()); }
|
||||||
|
@ -77,6 +73,7 @@ private slots:
|
||||||
void handleChallengeOwnershipPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
void handleChallengeOwnershipPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
friend class Ledger;
|
||||||
QStringList _publicKeys{};
|
QStringList _publicKeys{};
|
||||||
QPixmap* _securityImage { nullptr };
|
QPixmap* _securityImage { nullptr };
|
||||||
QByteArray _salt;
|
QByteArray _salt;
|
||||||
|
@ -91,6 +88,9 @@ private:
|
||||||
bool readSecurityImage(const QString& inputFilePath, unsigned char** outputBufferPtr, int* outputBufferLen);
|
bool readSecurityImage(const QString& inputFilePath, unsigned char** outputBufferPtr, int* outputBufferLen);
|
||||||
bool writeBackupInstructions();
|
bool writeBackupInstructions();
|
||||||
|
|
||||||
|
bool setWallet(const QByteArray& wallet);
|
||||||
|
QByteArray getWallet();
|
||||||
|
|
||||||
void account();
|
void account();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue