include block metadata in returned array

This commit is contained in:
Nanolucas 2021-01-03 21:41:21 +01:00
parent aade350900
commit 125aea05cd

View File

@ -870,7 +870,7 @@ class Contract
* @param string $eventName * @param string $eventName
* @param string|int $fromBlock * @param string|int $fromBlock
* @param string|int $toBlock * @param string|int $toBlock
* @return string * @return array
*/ */
public function getEventLogs(string $eventName, $fromBlock = 'latest', $toBlock = 'latest') public function getEventLogs(string $eventName, $fromBlock = 'latest', $toBlock = 'latest')
{ {
@ -903,7 +903,7 @@ class Contract
'topics' => [$this->ethabi->encodeEventSignature($this->events[$eventName])], 'topics' => [$this->ethabi->encodeEventSignature($this->events[$eventName])],
'address' => $this->toAddress 'address' => $this->toAddress
], ],
function ($error, $result) use (&$output, $eventParameterTypes, $eventParameterNames) { function ($error, $result) use (&$eventLogData, $eventParameterTypes, $eventParameterNames) {
if ($error !== null) { if ($error !== null) {
throw new RuntimeException($error->getMessage()); throw new RuntimeException($error->getMessage());
} }
@ -912,11 +912,16 @@ class Contract
//decode the data from the log into the expected formats //decode the data from the log into the expected formats
$decodedData = $this->ethabi->decodeParameters($eventParameterTypes, $object->data); $decodedData = $this->ethabi->decodeParameters($eventParameterTypes, $object->data);
//return the data with its named array keys //include block metadata for context, along with event data
$output[] = array_combine($eventParameterNames, $decodedData); $eventLogData[] = [
'blockHash' => $object->blockHash,
'blockNumber' => hexdec($object->blockNumber),
//return the data with its named array keys
'data' => array_combine($eventParameterNames, $decodedData)
];
} }
}); });
return $output; return $eventLogData;
} }
} }