diff --git a/qortal-ui-core/src/plugins/routes.js b/qortal-ui-core/src/plugins/routes.js index f51001f8..ac83416b 100644 --- a/qortal-ui-core/src/plugins/routes.js +++ b/qortal-ui-core/src/plugins/routes.js @@ -22,6 +22,7 @@ import framePasteMenu from '../functional-components/frame-paste-menu.js'; const createTransaction = api.createTransaction; const processTransaction = api.processTransaction; +const processTransactionVersion2 = api.processTransactionVersion2; const signChatTransaction = api.signChatTransaction; const signArbitraryTransaction = api.signArbitraryTransaction; const tradeBotCreateRequest = api.tradeBotCreateRequest; @@ -144,8 +145,16 @@ export const routes = { if (!req.disableModal && !req.data.disableModal) { await requestTransactionDialog.requestTransaction(tx); } - - const res = await processTransaction(tx.signedBytes); + + let res + + if(req.data.apiVersion && req.data.apiVersion === 2){ + res = await processTransactionVersion2(tx.signedBytes) + } + if(!req.data.apiVersion){ + res = await processTransaction(tx.signedBytes); + } + let extraData = {} if(req.data.type === 38 && tx && tx._rewardShareKeyPair && tx._rewardShareKeyPair.secretKey){ extraData.rewardSharePrivateKey = Base58.encode(tx._rewardShareKeyPair.secretKey) @@ -191,7 +200,16 @@ export const routes = { _keyPair, req.data.params ); - const res = await processTransaction(tx.signedBytes); + let res + + if(req.data.apiVersion && req.data.apiVersion === 2){ + res = await processTransactionVersion2(tx.signedBytes) + } + if(!req.data.apiVersion){ + res = await processTransaction(tx.signedBytes); + } + + response = { success: true, data: res, @@ -242,8 +260,16 @@ export const routes = { req.data.chatNonce, store.getState().app.wallet._addresses[req.data.nonce].keyPair ); + + let res - const res = await processTransaction(signedChatBytes); + if(req.data.apiVersion && req.data.apiVersion === 2){ + res = await processTransactionVersion2(signedChatBytes) + } + if(!req.data.apiVersion){ + res = await processTransaction(signedChatBytes); + } + response = res; } catch (e) { console.error(e); @@ -262,8 +288,15 @@ export const routes = { req.data.arbitraryNonce, store.getState().app.wallet._addresses[req.data.nonce].keyPair ); + let res - const res = await processTransaction(signedArbitraryBytes); + if(req.data.apiVersion && req.data.apiVersion === 2){ + res = await processTransactionVersion2(signedArbitraryBytes) + } + if(!req.data.apiVersion){ + res = await processTransaction(signedArbitraryBytes); + } + response = res; } catch (e) { console.error(e); @@ -293,8 +326,14 @@ export const routes = { unsignedTxn, store.getState().app.selectedAddress.keyPair ); + let res - const res = await processTransaction(signedTxnBytes); + if(req.data.apiVersion && req.data.apiVersion === 2){ + res = await processTransactionVersion2(signedTxnBytes) + } + if(!req.data.apiVersion){ + res = await processTransaction(signedTxnBytes); + } response = res; } catch (e) { console.error(e); @@ -327,8 +366,15 @@ export const routes = { unsignedTxn, store.getState().app.selectedAddress.keyPair ); + + let res - const res = await processTransaction(signedTxnBytes); + if(req.data.apiVersion && req.data.apiVersion === 2){ + res = await processTransactionVersion2(signedTxnBytes) + } + if(!req.data.apiVersion){ + res = await processTransaction(signedTxnBytes); + } response = res; } catch (e) { diff --git a/qortal-ui-crypto/api/api.js b/qortal-ui-crypto/api/api.js index 98da919b..e8e156dd 100644 --- a/qortal-ui-crypto/api/api.js +++ b/qortal-ui-crypto/api/api.js @@ -1,5 +1,5 @@ export { request } from './fetch-request.js' export { transactionTypes as transactions } from './transactions/transactions.js' -export { processTransaction, createTransaction, computeChatNonce, signChatTransaction, signArbitraryTransaction } from './createTransaction.js' +export { processTransaction, processTransactionVersion2, createTransaction, computeChatNonce, signChatTransaction, signArbitraryTransaction } from './createTransaction.js' export { tradeBotCreateRequest, tradeBotRespondRequest, signTradeBotTxn, deleteTradeOffer, sendBtc, sendLtc, sendDoge, sendDgb, sendRvn, sendArrr } from './tradeRequest.js' export { cancelAllOffers } from './transactions/trade-portal/tradeoffer/cancelAllOffers.js' diff --git a/qortal-ui-crypto/api/createTransaction.js b/qortal-ui-crypto/api/createTransaction.js index 2a56aa56..169561dd 100644 --- a/qortal-ui-crypto/api/createTransaction.js +++ b/qortal-ui-crypto/api/createTransaction.js @@ -36,3 +36,9 @@ export const processTransaction = bytes => request('/transactions/process', { method: 'POST', body: Base58.encode(bytes) }) + +export const processTransactionVersion2 = bytes => request('/transactions/process?apiVersion=2', { + method: 'POST', + body: Base58.encode(bytes) +}) + diff --git a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js index 5a423b8f..8f695dbf 100644 --- a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js @@ -342,7 +342,8 @@ class WebBrowser extends LitElement { lastReference: lastRef, groupdialog1: groupdialog1, groupdialog2: groupdialog2 - } + }, + apiVersion: 2 }) return myTxnrequest } @@ -398,7 +399,8 @@ class WebBrowser extends LitElement { lastReference: lastRef, atDeployDialog1: groupdialog1, atDeployDialog2: groupdialog2 - } + }, + apiVersion: 2 }) return myTxnrequest } @@ -550,6 +552,7 @@ class WebBrowser extends LitElement { selectedAddress: this.selectedAddress, worker: worker, isBase64: true, + apiVersion: 2 }); response = JSON.stringify(resPublish); @@ -624,7 +627,8 @@ class WebBrowser extends LitElement { let _response = await parentEpml.request('sign_chat', { nonce: this.selectedAddress.nonce, chatBytesArray: chatBytesArray, - chatNonce: nonce + chatNonce: nonce, + apiVersion: 2 }); const chatResponse = getSendChatResponse(_response); @@ -1106,6 +1110,7 @@ class WebBrowser extends LitElement { dialogAddress, dialogName }, + apiVersion: 2 }) return myTxnrequest; } diff --git a/qortal-ui-plugins/plugins/utils/publish-image.js b/qortal-ui-plugins/plugins/utils/publish-image.js index 56668e23..11aed013 100644 --- a/qortal-ui-plugins/plugins/utils/publish-image.js +++ b/qortal-ui-plugins/plugins/utils/publish-image.js @@ -18,7 +18,8 @@ export const publishData = async ({ selectedAddress, worker, isBase64, - metaData + metaData, + apiVersion }) => { const validateName = async (receiverName) => { let nameRes = await parentEpml.request("apiCall", { @@ -71,6 +72,7 @@ export const publishData = async ({ arbitraryBytesBase58: transactionBytesBase58, arbitraryBytesForSigningBase58: convertedBytesBase58, arbitraryNonce: nonce, + apiVersion: apiVersion ? apiVersion : null }) let myResponse = { error: "" } if (response === false) {