forked from Qortal/qortal-ui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.6 KiB
39 lines
1.6 KiB
3 years ago
|
"use strict";
|
||
|
/*
|
||
|
TO DO
|
||
|
*/
|
||
|
(function(){
|
||
|
function generateSignatureRegisterNameTransaction(keyPair, lastReference, owner, name, value, fee, timestamp) => {
|
||
|
const data = generateRegisterNameTransactionBase(keyPair.publicKey, lastReference, owner, name, value, fee, timestamp);
|
||
|
return nacl.sign.detached(data, keyPair.privateKey);
|
||
|
}
|
||
|
|
||
|
function generateRegisterNameTransaction(keyPair, lastReference, owner, name, value, fee, timestamp, signature) => {
|
||
|
return appendBuffer( generateRegisterNameTransactionBase(keyPair.publicKey, lastReference, owner, name, value, fee, timestamp),
|
||
|
signature );
|
||
|
}
|
||
|
|
||
|
function generateRegisterNameTransactionBase(publicKey, lastReference, owner, name, value, fee, timestamp) => {
|
||
|
const txType = TYPES.REGISTER_NAME_TRANSACTION;
|
||
|
const typeBytes = int32ToBytes(txType);
|
||
|
const timestampBytes = int64ToBytes(timestamp);
|
||
|
const feeBytes = int64ToBytes(fee * 100000000);
|
||
|
const nameSizeBytes = int32ToBytes(name.length);
|
||
|
const valueSizeBytes = int32ToBytes(value.length);
|
||
|
|
||
|
let data = new Uint8Array();
|
||
|
|
||
|
data = appendBuffer(data, typeBytes);
|
||
|
data = appendBuffer(data, timestampBytes);
|
||
|
data = appendBuffer(data, lastReference);
|
||
|
data = appendBuffer(data, publicKey);
|
||
|
data = appendBuffer(data, owner);
|
||
|
data = appendBuffer(data, nameSizeBytes);
|
||
|
data = appendBuffer(data, name);
|
||
|
data = appendBuffer(data, valueSizeBytes);
|
||
|
data = appendBuffer(data, value);
|
||
|
data = appendBuffer(data, feeBytes);
|
||
|
|
||
|
return data;
|
||
|
}
|
||
|
}())
|