Contract global variables
Every contract has the following three global functions:
this
: This represents the current contract and can be used from within a contract. It is a short form to refer to the current contract.
It can call any method within a contract as long as they are tagged as public or have external scope visibility, as shown next:
This.functionname(parameters)
It can be converted into an address type. This is generally required to call low-level functions such as transfer
, send
, and call
on a target contract to either call a method or transfer some tokens. It also helps in distinguishing existing contracts from other contract variables. The usage of this is shown next:
Address(this).transfer(1 ether)
selfdestruct
: This function accepts an address recipient argument. It destroys the current contract, sending its available funds to the given address, as shown next:Selfdestruct(0x5B38Da6a701c568545dCfcB03FcB875f56beddC4)
suicide
: This...