Fixx transactions
This commit is contained in:
parent
b6f567c584
commit
6049d18f49
@ -19,6 +19,53 @@ export default class TransactionBase {
|
|||||||
this.fee = 0
|
this.fee = 0
|
||||||
this.groupID = 0
|
this.groupID = 0
|
||||||
this.timestamp = Date.now()
|
this.timestamp = Date.now()
|
||||||
|
this.tests = [
|
||||||
|
() => {
|
||||||
|
if (!(this._type >= 1 && this._type in TX_TYPES)) {
|
||||||
|
return 'Invalid type: ' + this.type
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (this._fee < 0) {
|
||||||
|
return 'Invalid fee: ' + this._fee / QORT_DECIMALS
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (this._groupID < 0 || !Number.isInteger(this._groupID)) {
|
||||||
|
return 'Invalid groupID: ' + this._groupID
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (!(new Date(this._timestamp)).getTime() > 0) {
|
||||||
|
return 'Invalid timestamp: ' + this._timestamp
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (!(this._lastReference instanceof Uint8Array && this._lastReference.byteLength == 64)) {
|
||||||
|
if (this._lastReference == 0) {
|
||||||
|
return 'Invalid last reference. Please ensure that you have at least 0.001 QORT for the transaction fee.'
|
||||||
|
}
|
||||||
|
return 'Invalid last reference: ' + this._lastReference
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (!(this._keyPair)) {
|
||||||
|
return 'keyPair must be specified'
|
||||||
|
}
|
||||||
|
if (!(this._keyPair.publicKey instanceof Uint8Array && this._keyPair.publicKey.byteLength === 32)) {
|
||||||
|
return 'Invalid publicKey'
|
||||||
|
}
|
||||||
|
if (!(this._keyPair.privateKey instanceof Uint8Array && this._keyPair.privateKey.byteLength === 64)) {
|
||||||
|
return 'Invalid privateKey'
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
render(html) {
|
render(html) {
|
||||||
|
@ -18,6 +18,50 @@ export default class ChatBase {
|
|||||||
constructor() {
|
constructor() {
|
||||||
this.fee = 0
|
this.fee = 0
|
||||||
this.groupID = 0
|
this.groupID = 0
|
||||||
|
this.tests = [
|
||||||
|
() => {
|
||||||
|
if (!(this._type >= 1 && this._type in TX_TYPES)) {
|
||||||
|
return 'Invalid type: ' + this.type
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (this._fee < 0) {
|
||||||
|
return 'Invalid fee: ' + this._fee / QORT_DECIMALS
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (this._groupID < 0 || !Number.isInteger(this._groupID)) {
|
||||||
|
return 'Invalid groupID: ' + this._groupID
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (!(new Date(this._timestamp)).getTime() > 0) {
|
||||||
|
return 'Invalid timestamp: ' + this._timestamp
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (!(this._lastReference instanceof Uint8Array && this._lastReference.byteLength == 64)) {
|
||||||
|
return 'Invalid last reference: ' + this._lastReference
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
if (!(this._keyPair)) {
|
||||||
|
return 'keyPair must be specified'
|
||||||
|
}
|
||||||
|
if (!(this._keyPair.publicKey instanceof Uint8Array && this._keyPair.publicKey.byteLength === 32)) {
|
||||||
|
return 'Invalid publicKey'
|
||||||
|
}
|
||||||
|
if (!(this._keyPair.privateKey instanceof Uint8Array && this._keyPair.privateKey.byteLength === 64)) {
|
||||||
|
return 'Invalid privateKey'
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
set keyPair(keyPair) {
|
set keyPair(keyPair) {
|
||||||
|
@ -67,7 +67,7 @@ export default class ChatTransaction extends ChatBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get params() {
|
get params() {
|
||||||
const params = super.params;
|
const params = super.params
|
||||||
params.push(
|
params.push(
|
||||||
this._proofOfWorkNonce,
|
this._proofOfWorkNonce,
|
||||||
this._hasReceipient,
|
this._hasReceipient,
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
import ChatBase from "./ChatBase.js"
|
import ChatBase from "./ChatBase.js"
|
||||||
|
import { CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP } from '../../constants.js'
|
||||||
|
|
||||||
export default class GroupChatTransaction extends ChatBase {
|
export default class GroupChatTransaction extends ChatBase {
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -43,7 +44,7 @@ export default class GroupChatTransaction extends ChatBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get params() {
|
get params() {
|
||||||
const params = super.params;
|
const params = super.params
|
||||||
params.push(
|
params.push(
|
||||||
this._proofOfWorkNonce,
|
this._proofOfWorkNonce,
|
||||||
this._hasReceipient,
|
this._hasReceipient,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user