mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-11 17:55:51 +00:00
added condition to transaction route - modal open
This commit is contained in:
parent
67cec578df
commit
a784594b23
@ -1,83 +1,95 @@
|
|||||||
import { store } from '../store.js'
|
import { store } from '../store.js';
|
||||||
import { doAddPluginUrl, doUpdateBlockInfo, doUpdateNodeStatus, doUpdateNodeInfo, doSetNode, doPageUrl, doSetChatHeads, doUpdateAccountInfo } from '../redux/app/app-actions.js'
|
import {
|
||||||
import * as api from 'qortal-ui-crypto'
|
doAddPluginUrl,
|
||||||
import { requestTransactionDialog } from '../functional-components/confirm-transaction-dialog.js'
|
doUpdateBlockInfo,
|
||||||
import { doNewMessage } from '../notifications/controller.js'
|
doUpdateNodeStatus,
|
||||||
import snackbar from '../functional-components/snackbar.js'
|
doUpdateNodeInfo,
|
||||||
import { loadStateFromLocalStorage, saveStateToLocalStorage } from '../localStorageHelpers.js'
|
doSetNode,
|
||||||
import copyTextMenu from '../functional-components/copy-text-menu.js'
|
doPageUrl,
|
||||||
import framePasteMenu from '../functional-components/frame-paste-menu.js'
|
doSetChatHeads,
|
||||||
|
doUpdateAccountInfo,
|
||||||
|
} from '../redux/app/app-actions.js';
|
||||||
|
import * as api from 'qortal-ui-crypto';
|
||||||
|
import { requestTransactionDialog } from '../functional-components/confirm-transaction-dialog.js';
|
||||||
|
import { doNewMessage } from '../notifications/controller.js';
|
||||||
|
import snackbar from '../functional-components/snackbar.js';
|
||||||
|
import {
|
||||||
|
loadStateFromLocalStorage,
|
||||||
|
saveStateToLocalStorage,
|
||||||
|
} from '../localStorageHelpers.js';
|
||||||
|
import copyTextMenu from '../functional-components/copy-text-menu.js';
|
||||||
|
import framePasteMenu from '../functional-components/frame-paste-menu.js';
|
||||||
|
|
||||||
const createTransaction = api.createTransaction
|
const createTransaction = api.createTransaction;
|
||||||
const processTransaction = api.processTransaction
|
const processTransaction = api.processTransaction;
|
||||||
const signChatTransaction = api.signChatTransaction
|
const signChatTransaction = api.signChatTransaction;
|
||||||
const signArbitraryTransaction = api.signArbitraryTransaction
|
const signArbitraryTransaction = api.signArbitraryTransaction;
|
||||||
const tradeBotCreateRequest = api.tradeBotCreateRequest
|
const tradeBotCreateRequest = api.tradeBotCreateRequest;
|
||||||
const tradeBotRespondRequest = api.tradeBotRespondRequest
|
const tradeBotRespondRequest = api.tradeBotRespondRequest;
|
||||||
const signTradeBotTxn = api.signTradeBotTxn
|
const signTradeBotTxn = api.signTradeBotTxn;
|
||||||
const deleteTradeOffer = api.deleteTradeOffer
|
const deleteTradeOffer = api.deleteTradeOffer;
|
||||||
const cancelAllOffers = api.cancelAllOffers
|
const cancelAllOffers = api.cancelAllOffers;
|
||||||
const sendBtc = api.sendBtc
|
const sendBtc = api.sendBtc;
|
||||||
const sendLtc = api.sendLtc
|
const sendLtc = api.sendLtc;
|
||||||
const sendDoge = api.sendDoge
|
const sendDoge = api.sendDoge;
|
||||||
const sendDgb = api.sendDgb
|
const sendDgb = api.sendDgb;
|
||||||
const sendRvn = api.sendRvn
|
const sendRvn = api.sendRvn;
|
||||||
|
|
||||||
export const routes = {
|
export const routes = {
|
||||||
hello: async (req) => {
|
hello: async (req) => {
|
||||||
return 'Hello from awesomeness'
|
return 'Hello from awesomeness';
|
||||||
},
|
},
|
||||||
|
|
||||||
registerUrl: async (req) => {
|
registerUrl: async (req) => {
|
||||||
store.dispatch(doAddPluginUrl(req.data))
|
store.dispatch(doAddPluginUrl(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
setAccountInfo: async (req) => {
|
setAccountInfo: async (req) => {
|
||||||
store.dispatch(doUpdateAccountInfo(req.data))
|
store.dispatch(doUpdateAccountInfo(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
getAccountInfo: async (req) => {
|
getAccountInfo: async (req) => {
|
||||||
return store.getState().app.accountInfo
|
return store.getState().app.accountInfo;
|
||||||
},
|
},
|
||||||
|
|
||||||
setChatHeads: async (req) => {
|
setChatHeads: async (req) => {
|
||||||
return store.dispatch(doSetChatHeads(req.data))
|
return store.dispatch(doSetChatHeads(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
getChatHeads: async (req) => {
|
getChatHeads: async (req) => {
|
||||||
return store.getState().app.chatHeads
|
return store.getState().app.chatHeads;
|
||||||
},
|
},
|
||||||
|
|
||||||
updateBlockInfo: async (req) => {
|
updateBlockInfo: async (req) => {
|
||||||
store.dispatch(doUpdateBlockInfo(req.data))
|
store.dispatch(doUpdateBlockInfo(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
updateNodeStatus: async (req) => {
|
updateNodeStatus: async (req) => {
|
||||||
store.dispatch(doUpdateNodeStatus(req.data))
|
store.dispatch(doUpdateNodeStatus(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
updateNodeInfo: async (req) => {
|
updateNodeInfo: async (req) => {
|
||||||
store.dispatch(doUpdateNodeInfo(req.data))
|
store.dispatch(doUpdateNodeInfo(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
setNode: async (req) => {
|
setNode: async (req) => {
|
||||||
store.dispatch(doSetNode(req.data))
|
store.dispatch(doSetNode(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
getNodeConfig: async (req) => {
|
getNodeConfig: async (req) => {
|
||||||
return store.getState().app.nodeConfig
|
return store.getState().app.nodeConfig;
|
||||||
},
|
},
|
||||||
|
|
||||||
setPageUrl: async (req) => {
|
setPageUrl: async (req) => {
|
||||||
return store.dispatch(doPageUrl(req.data))
|
return store.dispatch(doPageUrl(req.data));
|
||||||
},
|
},
|
||||||
|
|
||||||
getLocalStorage: async (req) => {
|
getLocalStorage: async (req) => {
|
||||||
return loadStateFromLocalStorage(req.data)
|
return loadStateFromLocalStorage(req.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
setLocalStorage: async (req) => {
|
setLocalStorage: async (req) => {
|
||||||
return saveStateToLocalStorage(req.data.key, req.data.dataObj)
|
return saveStateToLocalStorage(req.data.key, req.data.dataObj);
|
||||||
},
|
},
|
||||||
|
|
||||||
openCopyTextMenu: async (req) => {
|
openCopyTextMenu: async (req) => {
|
||||||
@ -85,26 +97,26 @@ export const routes = {
|
|||||||
selectedText: req.data.selectedText,
|
selectedText: req.data.selectedText,
|
||||||
eventObject: req.data.eventObject,
|
eventObject: req.data.eventObject,
|
||||||
isFrame: req.data.isFrame,
|
isFrame: req.data.isFrame,
|
||||||
}
|
};
|
||||||
copyTextMenu.open(textMenuObject)
|
copyTextMenu.open(textMenuObject);
|
||||||
},
|
},
|
||||||
|
|
||||||
closeCopyTextMenu: async (req) => {
|
closeCopyTextMenu: async (req) => {
|
||||||
copyTextMenu.close()
|
copyTextMenu.close();
|
||||||
},
|
},
|
||||||
|
|
||||||
openFramePasteMenu: async (req) => {
|
openFramePasteMenu: async (req) => {
|
||||||
framePasteMenu.open(req.data)
|
framePasteMenu.open(req.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
closeFramePasteMenu: async (req) => {
|
closeFramePasteMenu: async (req) => {
|
||||||
framePasteMenu.close()
|
framePasteMenu.close();
|
||||||
},
|
},
|
||||||
|
|
||||||
apiCall: async (req) => {
|
apiCall: async (req) => {
|
||||||
const url = req.data.url
|
const url = req.data.url;
|
||||||
delete req.data.url
|
delete req.data.url;
|
||||||
return api.request(url, req.data)
|
return api.request(url, req.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
addresses: async (req) => {
|
addresses: async (req) => {
|
||||||
@ -115,250 +127,288 @@ export const routes = {
|
|||||||
nonce: address.nonce,
|
nonce: address.nonce,
|
||||||
textColor: address.textColor,
|
textColor: address.textColor,
|
||||||
base58PublicKey: address.base58PublicKey,
|
base58PublicKey: address.base58PublicKey,
|
||||||
}
|
};
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
transaction: async (req) => {
|
transaction: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const tx = createTransaction(req.data.type, store.getState().app.wallet._addresses[req.data.nonce].keyPair, req.data.params)
|
const tx = createTransaction(
|
||||||
await requestTransactionDialog.requestTransaction(tx)
|
req.data.type,
|
||||||
const res = await processTransaction(tx.signedBytes)
|
store.getState().app.wallet._addresses[req.data.nonce].keyPair,
|
||||||
|
req.data.params
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!req.disableModal) {
|
||||||
|
await requestTransactionDialog.requestTransaction(tx);
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = await processTransaction(tx.signedBytes);
|
||||||
|
|
||||||
response = {
|
response = {
|
||||||
success: true,
|
success: true,
|
||||||
data: res,
|
data: res,
|
||||||
}
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = {
|
response = {
|
||||||
success: false,
|
success: false,
|
||||||
message: e.message,
|
message: e.message,
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
standaloneTransaction: async (req) => {
|
standaloneTransaction: async (req) => {
|
||||||
const rebuildUint8Array = (obj) => {
|
const rebuildUint8Array = (obj) => {
|
||||||
let _array = new Uint8Array(Object.keys(obj).length)
|
let _array = new Uint8Array(Object.keys(obj).length);
|
||||||
for (let i = 0; i < _array.byteLength; ++i) {
|
for (let i = 0; i < _array.byteLength; ++i) {
|
||||||
_array.set([obj[i]], i)
|
_array.set([obj[i]], i);
|
||||||
}
|
}
|
||||||
return _array
|
return _array;
|
||||||
}
|
};
|
||||||
|
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
// req.data.keyPair unfortunately "prepared" into horrible object so we need to convert back
|
// req.data.keyPair unfortunately "prepared" into horrible object so we need to convert back
|
||||||
let _keyPair = {};
|
let _keyPair = {};
|
||||||
for (let _keyName in req.data.keyPair) {
|
for (let _keyName in req.data.keyPair) {
|
||||||
_keyPair[_keyName] = rebuildUint8Array(req.data.keyPair[_keyName])
|
_keyPair[_keyName] = rebuildUint8Array(
|
||||||
|
req.data.keyPair[_keyName]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
const tx = createTransaction(req.data.type, _keyPair, req.data.params)
|
const tx = createTransaction(
|
||||||
const res = await processTransaction(tx.signedBytes)
|
req.data.type,
|
||||||
|
_keyPair,
|
||||||
|
req.data.params
|
||||||
|
);
|
||||||
|
const res = await processTransaction(tx.signedBytes);
|
||||||
response = {
|
response = {
|
||||||
success: true,
|
success: true,
|
||||||
data: res,
|
data: res,
|
||||||
}
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = {
|
response = {
|
||||||
success: false,
|
success: false,
|
||||||
message: e.message,
|
message: e.message,
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
username: async (req) => {
|
username: async (req) => {
|
||||||
const state = store.getState()
|
const state = store.getState();
|
||||||
const username = state.user.storedWallets[state.app.wallet.addresses[0].address].name
|
const username =
|
||||||
|
state.user.storedWallets[state.app.wallet.addresses[0].address]
|
||||||
|
.name;
|
||||||
|
|
||||||
return username
|
return username;
|
||||||
},
|
},
|
||||||
|
|
||||||
chat: async (req) => {
|
chat: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const tx = createTransaction(req.data.type, store.getState().app.wallet._addresses[req.data.nonce].keyPair, req.data.params)
|
const tx = createTransaction(
|
||||||
|
req.data.type,
|
||||||
|
store.getState().app.wallet._addresses[req.data.nonce].keyPair,
|
||||||
|
req.data.params
|
||||||
|
);
|
||||||
|
|
||||||
response = tx.chatBytes
|
response = tx.chatBytes;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = false
|
response = false;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sign_chat: async (req) => {
|
sign_chat: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const signedChatBytes = await signChatTransaction(req.data.chatBytesArray, req.data.chatNonce, store.getState().app.wallet._addresses[req.data.nonce].keyPair)
|
const signedChatBytes = await signChatTransaction(
|
||||||
|
req.data.chatBytesArray,
|
||||||
|
req.data.chatNonce,
|
||||||
|
store.getState().app.wallet._addresses[req.data.nonce].keyPair
|
||||||
|
);
|
||||||
|
|
||||||
const res = await processTransaction(signedChatBytes)
|
const res = await processTransaction(signedChatBytes);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = false
|
response = false;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sign_arbitrary: async (req) => {
|
sign_arbitrary: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const signedArbitraryBytes = await signArbitraryTransaction(req.data.arbitraryBytesBase58, req.data.arbitraryBytesForSigningBase58, req.data.arbitraryNonce, store.getState().app.wallet._addresses[req.data.nonce].keyPair)
|
const signedArbitraryBytes = await signArbitraryTransaction(
|
||||||
|
req.data.arbitraryBytesBase58,
|
||||||
|
req.data.arbitraryBytesForSigningBase58,
|
||||||
|
req.data.arbitraryNonce,
|
||||||
|
store.getState().app.wallet._addresses[req.data.nonce].keyPair
|
||||||
|
);
|
||||||
|
|
||||||
const res = await processTransaction(signedArbitraryBytes)
|
const res = await processTransaction(signedArbitraryBytes);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = false
|
response = false;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
showNotification: async (req) => {
|
showNotification: async (req) => {
|
||||||
doNewMessage(req.data)
|
doNewMessage(req.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
showSnackBar: async (req) => {
|
showSnackBar: async (req) => {
|
||||||
snackbar.add({
|
snackbar.add({
|
||||||
labelText: req.data,
|
labelText: req.data,
|
||||||
dismiss: true,
|
dismiss: true,
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
tradeBotCreateRequest: async (req) => {
|
tradeBotCreateRequest: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const unsignedTxn = await tradeBotCreateRequest(req.data)
|
const unsignedTxn = await tradeBotCreateRequest(req.data);
|
||||||
|
|
||||||
const signedTxnBytes = await signTradeBotTxn(unsignedTxn, store.getState().app.selectedAddress.keyPair)
|
const signedTxnBytes = await signTradeBotTxn(
|
||||||
|
unsignedTxn,
|
||||||
|
store.getState().app.selectedAddress.keyPair
|
||||||
|
);
|
||||||
|
|
||||||
const res = await processTransaction(signedTxnBytes)
|
const res = await processTransaction(signedTxnBytes);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
tradeBotRespondRequest: async (req) => {
|
tradeBotRespondRequest: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await tradeBotRespondRequest(req.data)
|
const res = await tradeBotRespondRequest(req.data);
|
||||||
|
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteTradeOffer: async (req) => {
|
deleteTradeOffer: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const unsignedTxn = await deleteTradeOffer(req.data)
|
const unsignedTxn = await deleteTradeOffer(req.data);
|
||||||
|
|
||||||
const signedTxnBytes = await signTradeBotTxn(unsignedTxn, store.getState().app.selectedAddress.keyPair)
|
const signedTxnBytes = await signTradeBotTxn(
|
||||||
|
unsignedTxn,
|
||||||
|
store.getState().app.selectedAddress.keyPair
|
||||||
|
);
|
||||||
|
|
||||||
const res = await processTransaction(signedTxnBytes)
|
const res = await processTransaction(signedTxnBytes);
|
||||||
|
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
cancelAllOffers: async (req) => {
|
cancelAllOffers: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await cancelAllOffers(store.getState().app.selectedAddress)
|
const res = await cancelAllOffers(
|
||||||
response = res
|
store.getState().app.selectedAddress
|
||||||
|
);
|
||||||
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sendBtc: async (req) => {
|
sendBtc: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await sendBtc(req.data)
|
const res = await sendBtc(req.data);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sendLtc: async (req) => {
|
sendLtc: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await sendLtc(req.data)
|
const res = await sendLtc(req.data);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sendDoge: async (req) => {
|
sendDoge: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await sendDoge(req.data)
|
const res = await sendDoge(req.data);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sendDgb: async (req) => {
|
sendDgb: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await sendDgb(req.data)
|
const res = await sendDgb(req.data);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
|
|
||||||
sendRvn: async (req) => {
|
sendRvn: async (req) => {
|
||||||
let response
|
let response;
|
||||||
try {
|
try {
|
||||||
const res = await sendRvn(req.data)
|
const res = await sendRvn(req.data);
|
||||||
response = res
|
response = res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e);
|
||||||
console.error(e.message)
|
console.error(e.message);
|
||||||
response = e.message
|
response = e.message;
|
||||||
}
|
}
|
||||||
return response
|
return response;
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user