Browse Source

Fixx transactions

pull/91/head
AlphaX-Projects 2 years ago
parent
commit
6049d18f49
  1. 47
      qortal-ui-crypto/api/transactions/TransactionBase.js
  2. 44
      qortal-ui-crypto/api/transactions/chat/ChatBase.js
  3. 2
      qortal-ui-crypto/api/transactions/chat/ChatTransaction.js
  4. 3
      qortal-ui-crypto/api/transactions/chat/GroupChatTransaction.js

47
qortal-ui-crypto/api/transactions/TransactionBase.js

@ -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) {

44
qortal-ui-crypto/api/transactions/chat/ChatBase.js

@ -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) {

2
qortal-ui-crypto/api/transactions/chat/ChatTransaction.js

@ -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,

3
qortal-ui-crypto/api/transactions/chat/GroupChatTransaction.js

@ -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…
Cancel
Save