diff --git a/community_server/src/Model/Entity/StateBalance.php b/community_server/src/Model/Entity/StateBalance.php index 750366377..a93a0a4b1 100644 --- a/community_server/src/Model/Entity/StateBalance.php +++ b/community_server/src/Model/Entity/StateBalance.php @@ -40,8 +40,12 @@ class StateBalance extends Entity { if(method_exists($dateOrTime, 'getTimestamp')) { return $dateOrTime->getTimestamp(); - } else { + } else if(method_exists($dateOrTime, 'i18nFormat')) { return $dateOrTime->i18nFormat(Time::UNIX_TIMESTAMP_FORMAT); + } else { + var_dump($dateOrTime); + debug_print_backtrace(0, 4); + die("date or time unexpected object"); } } diff --git a/community_server/src/Model/Transactions/TransactionBase.php b/community_server/src/Model/Transactions/TransactionBase.php index 31a26f2ee..3102d2341 100644 --- a/community_server/src/Model/Transactions/TransactionBase.php +++ b/community_server/src/Model/Transactions/TransactionBase.php @@ -67,7 +67,7 @@ class TransactionBase { $stateBalancesTable = self::getTable('stateBalances'); $stateBalanceQuery = $stateBalancesTable ->find('all') - ->select(['amount', 'id']) + ->select(['amount', 'id', 'record_date']) ->contain(false) ->where(['state_user_id' => $stateUserId]);//->first(); //debug($stateBalanceQuery); @@ -101,9 +101,14 @@ class TransactionBase { if($stateUserTransactions->count() > 0) { $stateBalanceTable = self::getTable('state_balances'); + $state_user_transaction = $stateUserTransactions->first(); + if(!$state_user_transaction) { + $this->addError('TransactionBase::addStateUserTransaction', 'state_user_transaction is zero, no first entry exist?'); + return false; + } $balance_entity = $stateBalanceTable->newEntity(); - $balance_entity->amount = $stateUserTransactions->first()->balance; - $balance_entity->record_date = $stateUserTransactions->first()->balance_date; + $balance_entity->amount = $state_user_transaction->balance; + $balance_entity->record_date = $state_user_transaction->balance_date; $balance = $balance_entity->decay + $balance; } $entity = $stateUserTransactionTable->newEntity(); diff --git a/community_server/src/Model/Transactions/TransactionTransfer.php b/community_server/src/Model/Transactions/TransactionTransfer.php index caceec704..c8e9e7973 100644 --- a/community_server/src/Model/Transactions/TransactionTransfer.php +++ b/community_server/src/Model/Transactions/TransactionTransfer.php @@ -78,7 +78,7 @@ class TransactionTransfer extends TransactionBase { $stateUsersTable = TableRegistry::getTableLocator()->get('state_users'); $local_transfer = $this->protoTransactionTransfer->getLocal(); $sender = $local_transfer->getSender(); - $senderPublic = $sender->getPublic(); + $senderPublic = $sender->getPubkey(); $senderPublicHex = bin2hex($senderPublic); if(strlen($senderPublicHex) != 64) { $this->addError($functionName, 'invalid sender public key'); @@ -182,10 +182,11 @@ class TransactionTransfer extends TransactionBase { $disable_email = Configure::read('disableEmail', false); if($disable_email) return true; - $senderAmount = $this->protoTransactionTransfer->getSenderAmounts()[0]; - $receiverAmount = $this->protoTransactionTransfer->getReceiverAmounts()[0]; - $senderUserId = $this->getStateUserId($senderAmount->getEd25519SenderPubkey()); - $receiverUserId = $this->getStateUserId($receiverAmount->getEd25519ReceiverPubkey()); + $local_transfer = $this->protoTransactionTransfer->getLocal(); + $sender = $local_transfer->getSender(); + $senderAmount = $sender->getAmount(); + $senderUserId = $this->getStateUserId($sender->getPubkey()); + $receiverUserId = $this->getStateUserId($local_transfer->getReceiver()); $receiverUser = $this->getStateUser($receiverUserId); $senderUser = $this->getStateUser($senderUserId); @@ -197,7 +198,7 @@ class TransactionTransfer extends TransactionBase { $emailViewBuilder->setTemplate('notificationTransfer') ->setVars(['receiverUser' => $receiverUser, 'senderUser' => $senderUser, - 'gdd_cent' => $receiverAmount->getAmount(), + 'gdd_cent' => $senderAmount, 'memo' => $memo]); $receiverNames = $receiverUser->getNames(); if($receiverNames == '' || $receiverUser->email == '') { diff --git a/login_server/src/proto b/login_server/src/proto index 77dee5685..ff412f735 160000 --- a/login_server/src/proto +++ b/login_server/src/proto @@ -1 +1 @@ -Subproject commit 77dee5685ebba543ea1cd2321580ad56c92f5775 +Subproject commit ff412f735667b30233c0ce00d461f209ac7dde7c