mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-11 17:55:51 +00:00
Update to QDN
This commit is contained in:
parent
e8b7cc7d7b
commit
afa3c07401
@ -2,7 +2,7 @@ export { request } from './fetch-request.js'
|
||||
|
||||
export { transactionTypes as transactions } from './transactions/transactions.js'
|
||||
|
||||
export { processTransaction, createTransaction, computeChatNonce, signChatTransaction } from './createTransaction.js'
|
||||
export { processTransaction, createTransaction, computeChatNonce, signChatTransaction, signArbitraryTransaction } from './createTransaction.js'
|
||||
|
||||
export { tradeBotCreateRequest, tradeBotRespondRequest, signTradeBotTxn, deleteTradeOffer, sendBtc, sendLtc, sendDoge } from './tradeRequest.js'
|
||||
|
||||
|
@ -2,6 +2,7 @@ import { transactionTypes as transactions } from './transactions/transactions.js
|
||||
import Base58 from './deps/Base58.js'
|
||||
import { request } from './fetch-request'
|
||||
import signChat from './transactions/chat/signChat.js'
|
||||
import signArbitrary from './transactions/arbitrary/signArbitrary.js'
|
||||
|
||||
|
||||
export const createTransaction = (type, keyPair, params) => {
|
||||
@ -25,6 +26,11 @@ export const signChatTransaction = (chatBytes, nonce, keyPair) => {
|
||||
return signChat(chatBytes, nonce, keyPair)
|
||||
}
|
||||
|
||||
// Sign Arbitrary Transactions
|
||||
export const signArbitraryTransaction = (arbitraryBytesBase58, arbitraryBytesForSigningBase58, nonce, keyPair) => {
|
||||
return signArbitrary(arbitraryBytesBase58, arbitraryBytesForSigningBase58, nonce, keyPair)
|
||||
}
|
||||
|
||||
// Process Transactions
|
||||
export const processTransaction = bytes => request('/transactions/process', {
|
||||
method: 'POST',
|
||||
|
@ -12,8 +12,9 @@ import { request } from './fetch-request'
|
||||
// TradeBotCreateRequest
|
||||
export const tradeBotCreateRequest = (requestObject) => {
|
||||
const txn = new TradeBotCreateRequest().createTransaction(requestObject)
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
|
||||
|
||||
return request('/crosschain/tradebot/create', {
|
||||
return request(`/crosschain/tradebot/create?apiKey=${myNode.apiKey}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'text/plain',
|
||||
@ -26,8 +27,9 @@ export const tradeBotCreateRequest = (requestObject) => {
|
||||
// TradeBotRespondRequest
|
||||
export const tradeBotRespondRequest = (requestObject) => {
|
||||
const txn = new TradeBotRespondRequest().createTransaction(requestObject)
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
|
||||
|
||||
return request('/crosschain/tradebot/respond', {
|
||||
return request(`/crosschain/tradebot/respond?apiKey=${myNode.apiKey}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
@ -46,8 +48,9 @@ export const signTradeBotTxn = (unsignedTxn, keyPair) => {
|
||||
// Delete Trade Offer
|
||||
export const deleteTradeOffer = (requestObject) => {
|
||||
const txn = new DeleteTradeOffer().createTransaction(requestObject)
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
|
||||
|
||||
return request('/crosschain/tradeoffer', {
|
||||
return request(`/crosschain/tradeoffer?apiKey=${myNode.apiKey}`, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
@ -59,8 +62,9 @@ export const deleteTradeOffer = (requestObject) => {
|
||||
|
||||
// Send BTC
|
||||
export const sendBtc = (requestObject) => {
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
|
||||
|
||||
return request('/crosschain/btc/send', {
|
||||
return request(`/crosschain/btc/send?apiKey=${myNode.apiKey}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
@ -72,8 +76,9 @@ export const sendBtc = (requestObject) => {
|
||||
|
||||
// Send LTC
|
||||
export const sendLtc = (requestObject) => {
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
|
||||
|
||||
return request('/crosschain/ltc/send', {
|
||||
return request(`/crosschain/ltc/send?apiKey=${myNode.apiKey}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
@ -85,8 +90,9 @@ export const sendLtc = (requestObject) => {
|
||||
|
||||
// Send DOGE
|
||||
export const sendDoge = (requestObject) => {
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
|
||||
|
||||
return request('/crosschain/doge/send', {
|
||||
return request(`/crosschain/doge/send?apiKey=${myNode.apiKey}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
|
39
qortal-ui-crypto/api/transactions/arbitrary/signArbitrary.js
Normal file
39
qortal-ui-crypto/api/transactions/arbitrary/signArbitrary.js
Normal file
@ -0,0 +1,39 @@
|
||||
import nacl from '../../deps/nacl-fast.js'
|
||||
import utils from '../../deps/utils.js'
|
||||
import Base58 from '../../deps/Base58.js'
|
||||
|
||||
|
||||
const signArbitrary = (arbitraryBytesBase58, arbitraryBytesForSigningBase58, nonce, keyPair) => {
|
||||
|
||||
if (!arbitraryBytesBase58) {
|
||||
throw new Error('ArbitraryBytesBase58 not defined')
|
||||
}
|
||||
|
||||
if (!nonce) {
|
||||
throw new Error('Nonce not defined')
|
||||
}
|
||||
|
||||
if (!keyPair) {
|
||||
throw new Error('keyPair not defined')
|
||||
}
|
||||
|
||||
const arbitraryBytes = Base58.decode(arbitraryBytesBase58)
|
||||
const _arbitraryBytesBuffer = Object.keys(arbitraryBytes).map(function (key) { return arbitraryBytes[key]; });
|
||||
const arbitraryBytesBuffer = new Uint8Array(_arbitraryBytesBuffer)
|
||||
|
||||
const arbitraryBytesForSigning = Base58.decode(arbitraryBytesForSigningBase58)
|
||||
const _arbitraryBytesForSigningBuffer = Object.keys(arbitraryBytesForSigning).map(function (key) { return arbitraryBytesForSigning[key]; });
|
||||
const arbitraryBytesForSigningBuffer = new Uint8Array(_arbitraryBytesForSigningBuffer)
|
||||
|
||||
const _nonce = utils.int32ToBytes(nonce)
|
||||
arbitraryBytesBuffer.set(_nonce, 112)
|
||||
arbitraryBytesForSigningBuffer.set(_nonce, 112)
|
||||
|
||||
const signature = nacl.sign.detached(arbitraryBytesForSigningBuffer, keyPair.privateKey)
|
||||
|
||||
const signedBytes = utils.appendBuffer(arbitraryBytesBuffer, signature)
|
||||
|
||||
return signedBytes
|
||||
}
|
||||
|
||||
export default signArbitrary
|
Loading…
x
Reference in New Issue
Block a user