+
+ this.setState({audit:false})}
+ orderId={Number(this.props.orderId)}
+ messages={this.state.messages}
+ own_pub_key={this.state.own_pub_key}
+ own_enc_priv_key={this.state.own_enc_priv_key}
+ peer_pub_key={this.state.peer_pub_key ? this.state.peer_pub_key : "Not received yet"}
+ passphrase={this.state.token}
+ onClickBack={() => this.setState({audit:false})}
+ />
+
+
+
+
+
+ {/* */}
+
+ {/* */}
+
+
)
}
diff --git a/frontend/src/components/Icons/Export.tsx b/frontend/src/components/Icons/Export.tsx
new file mode 100644
index 00000000..038ee27f
--- /dev/null
+++ b/frontend/src/components/Icons/Export.tsx
@@ -0,0 +1,10 @@
+import React, { Component } from "react";
+import { SvgIcon } from "@mui/material"
+
+export default function ExportIcon(props) {
+ return (
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/frontend/src/components/Icons/index.ts b/frontend/src/components/Icons/index.ts
index e63c964e..dce24d8f 100644
--- a/frontend/src/components/Icons/index.ts
+++ b/frontend/src/components/Icons/index.ts
@@ -12,3 +12,5 @@ export { default as RoboSatsTextIcon } from "./RoboSatsText";
export { default as SellSatsCheckedIcon } from "./SellSatsChecked";
export { default as SellSatsIcon } from "./SellSats";
export { default as SendReceiveIcon } from "./SendReceive";
+export { default as ExportIcon } from "./Export";
+
diff --git a/frontend/src/components/MakerPage.js b/frontend/src/components/MakerPage.js
index d1c4c64a..8adb9a2f 100644
--- a/frontend/src/components/MakerPage.js
+++ b/frontend/src/components/MakerPage.js
@@ -577,7 +577,7 @@ class MakerPage extends Component {
-
+
}>
{t("Expiry Timers")}
diff --git a/frontend/src/utils/pgp.js b/frontend/src/utils/pgp.js
index e75f6a71..5e2a01dc 100644
--- a/frontend/src/utils/pgp.js
+++ b/frontend/src/utils/pgp.js
@@ -6,7 +6,7 @@ export async function genKey(highEntropyToken) {
const keyPair = await openpgp.generateKey({
type: 'ecc', // Type of the key, defaults to ECC
curve: 'curve25519', // ECC curve name, defaults to curve25519
- userIDs: [{name: 'RoboSats Avatar'}],
+ userIDs: [{name: 'RoboSats Avatar ID'+ parseInt(Math.random() * 1000000)}], //Just for identification. Ideally it would be the avatar nickname, but the nickname is generated only after submission
passphrase: highEntropyToken,
format: 'armored'
})
diff --git a/frontend/src/utils/saveFile.js b/frontend/src/utils/saveFile.js
index 00eaddce..02423f37 100644
--- a/frontend/src/utils/saveFile.js
+++ b/frontend/src/utils/saveFile.js
@@ -17,6 +17,24 @@ export const saveAsTxt = (filename, dataObjToWrite) => {
cancelable: true,
});
+ link.dispatchEvent(evt);
+ link.remove()
+};
+
+export const saveAsJson = (filename, dataObjToWrite) => {
+ const blob = new Blob([JSON.stringify(dataObjToWrite, null, 2)], { type: "text/json" });
+ const link = document.createElement("a");
+
+ link.download = filename;
+ link.href = window.URL.createObjectURL(blob);
+ link.dataset.downloadurl = ["text/json", link.download, link.href].join(":");
+
+ const evt = new MouseEvent("click", {
+ view: window,
+ bubbles: true,
+ cancelable: true,
+ });
+
link.dispatchEvent(evt);
link.remove()
};
\ No newline at end of file