4
1
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:
Phillip Lang Martinez 2022-08-09 23:26:37 +03:00
parent 67cec578df
commit a784594b23

View File

@ -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;
},
}
};