About the author
Some time ago, I learnt GraphQL, for use on Bitquery, as a way of querying the blockchain for specific transactions that I've initiated to a particular contract.
Below's a specific query I've built:
query CallsToSmartContractAddressByCallerInAscendingTimestamp($contractAddress: String, $caller: String){ ethereum { smartContractCalls( caller: {is: $caller} options: {asc: "block.timestamp.unixtime"} smartContractAddress: {is: $contractAddress} ) { block { timestamp { unixtime } } transaction { hash } } }}
The above GraphQL queries the Ethereum blockchain, for calls to the smart contract located at $contractAddress, by the caller $caller, and outputs the transaction hash, and the unixtime.
The parameters are specified in the following format, where .... are the actual values of the contract address and the caller address.
{ "contractAddress": "0x...", "caller": "0x..."}
What this does is to allow me to list all the transactions initiated by myself to a specific smart contract.
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.