mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-07-30 13:41:44 +00:00
Redsign qortal-ui repo
This commit is contained in:
68
crypto/api/transactions/chat/GroupChatTransaction.js
Normal file
68
crypto/api/transactions/chat/GroupChatTransaction.js
Normal file
@@ -0,0 +1,68 @@
|
||||
'use strict'
|
||||
import ChatBase from "./ChatBase.js"
|
||||
import { CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP } from '../../constants.js'
|
||||
|
||||
export default class GroupChatTransaction extends ChatBase {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 18
|
||||
this.fee = 0
|
||||
}
|
||||
|
||||
set proofOfWorkNonce(proofOfWorkNonce) {
|
||||
this._proofOfWorkNonce = this.constructor.utils.int32ToBytes(proofOfWorkNonce)
|
||||
}
|
||||
|
||||
set hasReceipient(hasReceipient) {
|
||||
this._hasReceipient = new Uint8Array(1)
|
||||
this._hasReceipient[0] = hasReceipient
|
||||
}
|
||||
|
||||
set message(message) {
|
||||
this.messageText = message
|
||||
this._message = this.constructor.utils.stringtoUTF8Array(message)
|
||||
this._messageLength = this.constructor.utils.int32ToBytes(this._message.length)
|
||||
}
|
||||
|
||||
set hasChatReference(hasChatReference) {
|
||||
this._hasChatReference = new Uint8Array(1)
|
||||
this._hasChatReference[0] = hasChatReference
|
||||
}
|
||||
|
||||
set chatReference(chatReference) {
|
||||
this._chatReference = chatReference instanceof Uint8Array ? chatReference : this.constructor.Base58.decode(chatReference)
|
||||
}
|
||||
|
||||
set isEncrypted(isEncrypted) {
|
||||
this._isEncrypted = new Uint8Array(1);
|
||||
this._isEncrypted[0] = isEncrypted
|
||||
}
|
||||
|
||||
set isText(isText) {
|
||||
this._isText = new Uint8Array(1)
|
||||
this._isText[0] = isText
|
||||
}
|
||||
|
||||
get params() {
|
||||
const params = super.params
|
||||
params.push(
|
||||
this._proofOfWorkNonce,
|
||||
this._hasReceipient,
|
||||
this._messageLength,
|
||||
this._message,
|
||||
this._isEncrypted,
|
||||
this._isText,
|
||||
this._feeBytes
|
||||
)
|
||||
|
||||
// After the feature trigger timestamp we need to include chat reference
|
||||
if (new Date(this._timestamp).getTime() >= CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP) {
|
||||
params.push(this._hasChatReference)
|
||||
|
||||
if (this._hasChatReference[0] == 1) {
|
||||
params.push(this._chatReference)
|
||||
}
|
||||
}
|
||||
return params
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user