ActionTransfer: 必须检查发起人地址和公钥是匹配的,否则客户端能够造假

This commit is contained in:
Luk Lu
2020-02-27 20:02:35 +08:00
parent bbb573c3a8
commit 61318e8940
2 changed files with 6 additions and 2 deletions

View File

@@ -1,4 +1,5 @@
const Action = require('./Action.js')
const ticCrypto = require('tic.crypto')
const DAD = module.exports = function ActionTransfer (prop) {
this._class = this.constructor.name
@@ -12,8 +13,10 @@ MOM.__proto__ = Action.prototype
MOM.validateMe = function () {
// if (sender && sender.type !== 'multisig' && action.toAddress != action.actorAddress && sender.balance >= action.amount + action.fee){
return this.actorAddress && this.toAddress && this.toAddress != this.actorAddress
&& this.amount && this.amount > 0 && (this.fee >= wo.Config.MIN_FEE_ActionTransfer || 0)
return this.actorAddress && this.actorPubkey && ticCrypto.pubkey2address(this.actorPubkey)=== this.actorAddress // 必须检查发起人地址和公钥是匹配的,否则客户端能够造假
&& this.toAddress && this.toAddress != this.actorAddress
&& this.amount && this.amount > 0 && (this.fee >= 0)
}
MOM.executableMe = async function() {