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 { doAddPluginUrl, doUpdateBlockInfo, doUpdateNodeStatus, doUpdateNodeInfo, doSetNode, doPageUrl, 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'
|
||||
import { store } from '../store.js';
|
||||
import {
|
||||
doAddPluginUrl,
|
||||
doUpdateBlockInfo,
|
||||
doUpdateNodeStatus,
|
||||
doUpdateNodeInfo,
|
||||
doSetNode,
|
||||
doPageUrl,
|
||||
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 processTransaction = api.processTransaction
|
||||
const signChatTransaction = api.signChatTransaction
|
||||
const signArbitraryTransaction = api.signArbitraryTransaction
|
||||
const tradeBotCreateRequest = api.tradeBotCreateRequest
|
||||
const tradeBotRespondRequest = api.tradeBotRespondRequest
|
||||
const signTradeBotTxn = api.signTradeBotTxn
|
||||
const deleteTradeOffer = api.deleteTradeOffer
|
||||
const cancelAllOffers = api.cancelAllOffers
|
||||
const sendBtc = api.sendBtc
|
||||
const sendLtc = api.sendLtc
|
||||
const sendDoge = api.sendDoge
|
||||
const sendDgb = api.sendDgb
|
||||
const sendRvn = api.sendRvn
|
||||
const createTransaction = api.createTransaction;
|
||||
const processTransaction = api.processTransaction;
|
||||
const signChatTransaction = api.signChatTransaction;
|
||||
const signArbitraryTransaction = api.signArbitraryTransaction;
|
||||
const tradeBotCreateRequest = api.tradeBotCreateRequest;
|
||||
const tradeBotRespondRequest = api.tradeBotRespondRequest;
|
||||
const signTradeBotTxn = api.signTradeBotTxn;
|
||||
const deleteTradeOffer = api.deleteTradeOffer;
|
||||
const cancelAllOffers = api.cancelAllOffers;
|
||||
const sendBtc = api.sendBtc;
|
||||
const sendLtc = api.sendLtc;
|
||||
const sendDoge = api.sendDoge;
|
||||
const sendDgb = api.sendDgb;
|
||||
const sendRvn = api.sendRvn;
|
||||
|
||||
export const routes = {
|
||||
hello: async (req) => {
|
||||
return 'Hello from awesomeness'
|
||||
return 'Hello from awesomeness';
|
||||
},
|
||||
|
||||
registerUrl: async (req) => {
|
||||
store.dispatch(doAddPluginUrl(req.data))
|
||||
store.dispatch(doAddPluginUrl(req.data));
|
||||
},
|
||||
|
||||
setAccountInfo: async (req) => {
|
||||
store.dispatch(doUpdateAccountInfo(req.data))
|
||||
store.dispatch(doUpdateAccountInfo(req.data));
|
||||
},
|
||||
|
||||
getAccountInfo: async (req) => {
|
||||
return store.getState().app.accountInfo
|
||||
return store.getState().app.accountInfo;
|
||||
},
|
||||
|
||||
setChatHeads: async (req) => {
|
||||
return store.dispatch(doSetChatHeads(req.data))
|
||||
return store.dispatch(doSetChatHeads(req.data));
|
||||
},
|
||||
|
||||
getChatHeads: async (req) => {
|
||||
return store.getState().app.chatHeads
|
||||
return store.getState().app.chatHeads;
|
||||
},
|
||||
|
||||
updateBlockInfo: async (req) => {
|
||||
store.dispatch(doUpdateBlockInfo(req.data))
|
||||
store.dispatch(doUpdateBlockInfo(req.data));
|
||||
},
|
||||
|
||||
updateNodeStatus: async (req) => {
|
||||
store.dispatch(doUpdateNodeStatus(req.data))
|
||||
store.dispatch(doUpdateNodeStatus(req.data));
|
||||
},
|
||||
|
||||
updateNodeInfo: async (req) => {
|
||||
store.dispatch(doUpdateNodeInfo(req.data))
|
||||
store.dispatch(doUpdateNodeInfo(req.data));
|
||||
},
|
||||
|
||||
setNode: async (req) => {
|
||||
store.dispatch(doSetNode(req.data))
|
||||
store.dispatch(doSetNode(req.data));
|
||||
},
|
||||
|
||||
getNodeConfig: async (req) => {
|
||||
return store.getState().app.nodeConfig
|
||||
return store.getState().app.nodeConfig;
|
||||
},
|
||||
|
||||
setPageUrl: async (req) => {
|
||||
return store.dispatch(doPageUrl(req.data))
|
||||
return store.dispatch(doPageUrl(req.data));
|
||||
},
|
||||
|
||||
getLocalStorage: async (req) => {
|
||||
return loadStateFromLocalStorage(req.data)
|
||||
return loadStateFromLocalStorage(req.data);
|
||||
},
|
||||
|
||||
setLocalStorage: async (req) => {
|
||||
return saveStateToLocalStorage(req.data.key, req.data.dataObj)
|
||||
return saveStateToLocalStorage(req.data.key, req.data.dataObj);
|
||||
},
|
||||
|
||||
openCopyTextMenu: async (req) => {
|
||||
@ -85,26 +97,26 @@ export const routes = {
|
||||
selectedText: req.data.selectedText,
|
||||
eventObject: req.data.eventObject,
|
||||
isFrame: req.data.isFrame,
|
||||
}
|
||||
copyTextMenu.open(textMenuObject)
|
||||
};
|
||||
copyTextMenu.open(textMenuObject);
|
||||
},
|
||||
|
||||
closeCopyTextMenu: async (req) => {
|
||||
copyTextMenu.close()
|
||||
copyTextMenu.close();
|
||||
},
|
||||
|
||||
openFramePasteMenu: async (req) => {
|
||||
framePasteMenu.open(req.data)
|
||||
framePasteMenu.open(req.data);
|
||||
},
|
||||
|
||||
closeFramePasteMenu: async (req) => {
|
||||
framePasteMenu.close()
|
||||
framePasteMenu.close();
|
||||
},
|
||||
|
||||
apiCall: async (req) => {
|
||||
const url = req.data.url
|
||||
delete req.data.url
|
||||
return api.request(url, req.data)
|
||||
const url = req.data.url;
|
||||
delete req.data.url;
|
||||
return api.request(url, req.data);
|
||||
},
|
||||
|
||||
addresses: async (req) => {
|
||||
@ -115,250 +127,288 @@ export const routes = {
|
||||
nonce: address.nonce,
|
||||
textColor: address.textColor,
|
||||
base58PublicKey: address.base58PublicKey,
|
||||
}
|
||||
})
|
||||
};
|
||||
});
|
||||
},
|
||||
|
||||
transaction: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const tx = createTransaction(req.data.type, store.getState().app.wallet._addresses[req.data.nonce].keyPair, req.data.params)
|
||||
await requestTransactionDialog.requestTransaction(tx)
|
||||
const res = await processTransaction(tx.signedBytes)
|
||||
const tx = createTransaction(
|
||||
req.data.type,
|
||||
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 = {
|
||||
success: true,
|
||||
data: res,
|
||||
}
|
||||
};
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = {
|
||||
success: false,
|
||||
message: e.message,
|
||||
}
|
||||
};
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
standaloneTransaction: async (req) => {
|
||||
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) {
|
||||
_array.set([obj[i]], i)
|
||||
_array.set([obj[i]], i);
|
||||
}
|
||||
return _array
|
||||
}
|
||||
return _array;
|
||||
};
|
||||
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
// req.data.keyPair unfortunately "prepared" into horrible object so we need to convert back
|
||||
let _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 res = await processTransaction(tx.signedBytes)
|
||||
const tx = createTransaction(
|
||||
req.data.type,
|
||||
_keyPair,
|
||||
req.data.params
|
||||
);
|
||||
const res = await processTransaction(tx.signedBytes);
|
||||
response = {
|
||||
success: true,
|
||||
data: res,
|
||||
}
|
||||
};
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = {
|
||||
success: false,
|
||||
message: e.message,
|
||||
}
|
||||
};
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
username: async (req) => {
|
||||
const state = store.getState()
|
||||
const username = state.user.storedWallets[state.app.wallet.addresses[0].address].name
|
||||
const state = store.getState();
|
||||
const username =
|
||||
state.user.storedWallets[state.app.wallet.addresses[0].address]
|
||||
.name;
|
||||
|
||||
return username
|
||||
return username;
|
||||
},
|
||||
|
||||
chat: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
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) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = false
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = false;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sign_chat: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
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)
|
||||
response = res
|
||||
const res = await processTransaction(signedChatBytes);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = false
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = false;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sign_arbitrary: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
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)
|
||||
response = res
|
||||
const res = await processTransaction(signedArbitraryBytes);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = false
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = false;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
showNotification: async (req) => {
|
||||
doNewMessage(req.data)
|
||||
doNewMessage(req.data);
|
||||
},
|
||||
|
||||
showSnackBar: async (req) => {
|
||||
snackbar.add({
|
||||
labelText: req.data,
|
||||
dismiss: true,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
tradeBotCreateRequest: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
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)
|
||||
response = res
|
||||
const res = await processTransaction(signedTxnBytes);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
tradeBotRespondRequest: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await tradeBotRespondRequest(req.data)
|
||||
const res = await tradeBotRespondRequest(req.data);
|
||||
|
||||
response = res
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
deleteTradeOffer: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
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) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
cancelAllOffers: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await cancelAllOffers(store.getState().app.selectedAddress)
|
||||
response = res
|
||||
const res = await cancelAllOffers(
|
||||
store.getState().app.selectedAddress
|
||||
);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sendBtc: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await sendBtc(req.data)
|
||||
response = res
|
||||
const res = await sendBtc(req.data);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sendLtc: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await sendLtc(req.data)
|
||||
response = res
|
||||
const res = await sendLtc(req.data);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sendDoge: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await sendDoge(req.data)
|
||||
response = res
|
||||
const res = await sendDoge(req.data);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sendDgb: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await sendDgb(req.data)
|
||||
response = res
|
||||
const res = await sendDgb(req.data);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
|
||||
sendRvn: async (req) => {
|
||||
let response
|
||||
let response;
|
||||
try {
|
||||
const res = await sendRvn(req.data)
|
||||
response = res
|
||||
const res = await sendRvn(req.data);
|
||||
response = res;
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
console.error(e);
|
||||
console.error(e.message);
|
||||
response = e.message;
|
||||
}
|
||||
return response
|
||||
return response;
|
||||
},
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user