mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-09-14 05:51:09 +00:00
build
config
img
qortal-ui-core
qortal-ui-crypto
api
bitcoin
deps
transactions
arbitrary
chat
groups
names
reward-share
trade-portal
AirdropTransaction.js
DelegationTransaction.js
MessageTransaction.js
PaymentTransaction.js
PublicizeTransaction.js
TransactionBase.js
arbitraryV3.js
processTransaction.js
registerName_dnsthing.js
transactions.js
utils
wallet
PhraseWallet.js
api.js
constants.js
createTransaction.js
createWallet.js
decryptStoredWallet.js
fetch-request.js
kdf.js
registerUsername.js
storeWallet.js
tradeRequest.js
api.js
api_deps.js
config.js
package.json
qortal-ui-plugins
scripts
snap
.editorconfig
.gitattributes
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
build-setup.js
build.bat
build.js
build.sh
electron-builder.yml
electron.js
install-dependencies.sh
package.json
push-updates-with-travis-build.sh
run_server.bat
server.js
set-up-snap.sh
update-package-json.js
watch-inline.js
watch.js
42 lines
1.7 KiB
JavaScript
42 lines
1.7 KiB
JavaScript
"use strict";
|
|
/*
|
|
TO DO
|
|
*/
|
|
|
|
|
|
(function(){
|
|
function generateSignatureArbitraryTransactionV3(keyPair, lastReference, service, arbitraryData, fee, timestamp) => {
|
|
const data = generateArbitraryTransactionV3Base(keyPair.publicKey, lastReference, service, arbitraryData, fee, timestamp);
|
|
return nacl.sign.detached(data, keyPair.privateKey);
|
|
}
|
|
|
|
function generateArbitraryTransactionV3(keyPair, lastReference, service, arbitraryData, fee, timestamp, signature) => {
|
|
return appendBuffer(generateArbitraryTransactionV3Base(keyPair.publicKey, lastReference, service, arbitraryData, fee, timestamp),
|
|
signature);
|
|
}
|
|
|
|
function generateArbitraryTransactionV3Base(publicKey, lastReference, service, arbitraryData, fee, timestamp) => {
|
|
const txType = TYPES.ARBITRARY_TRANSACTION;
|
|
const typeBytes = int32ToBytes(txType);
|
|
const timestampBytes = int64ToBytes(timestamp);
|
|
const feeBytes = int64ToBytes(fee * 100000000);
|
|
const serviceBytes = int32ToBytes(service);
|
|
const dataSizeBytes = int32ToBytes(arbitraryData.length);
|
|
const paymentsLengthBytes = int32ToBytes(0); // Support payments - not yet.
|
|
|
|
var data = new Uint8Array();
|
|
|
|
data = appendBuffer(data, typeBytes);
|
|
data = appendBuffer(data, timestampBytes);
|
|
data = appendBuffer(data, lastReference);
|
|
data = appendBuffer(data, publicKey);
|
|
data = appendBuffer(data, paymentsLengthBytes);
|
|
// Here it is necessary to insert the payments, if there are
|
|
data = appendBuffer(data, serviceBytes);
|
|
data = appendBuffer(data, dataSizeBytes);
|
|
data = appendBuffer(data, arbitraryData);
|
|
data = appendBuffer(data, feeBytes);
|
|
|
|
return data;
|
|
}
|
|
}()) |