From b6e2e4ad6b909500ed0f015d79927941f8a0de95 Mon Sep 17 00:00:00 2001 From: Yet another codejunkie <2772295+kn1g@users.noreply.github.com> Date: Wed, 14 Nov 2018 18:31:22 +0100 Subject: Consistent use of address() First example is with address() and the following examples without. I suggest a consistent use here. --- docs/types.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/types.rst b/docs/types.rst index 87e7011a..04f8d808 100644 --- a/docs/types.rst +++ b/docs/types.rst @@ -280,15 +280,15 @@ Example:: It is possible to adjust the supplied gas with the ``.gas()`` modifier:: - namReg.call.gas(1000000)(abi.encodeWithSignature("register(string)", "MyName")); + address(namReg).call.gas(1000000)(abi.encodeWithSignature("register(string)", "MyName")); Similarly, the supplied Ether value can be controlled too:: - nameReg.call.value(1 ether)(abi.encodeWithSignature("register(string)", "MyName")); + address(nameReg).call.value(1 ether)(abi.encodeWithSignature("register(string)", "MyName")); Lastly, these modifiers can be combined. Their order does not matter:: - nameReg.call.gas(1000000).value(1 ether)(abi.encodeWithSignature("register(string)", "MyName")); + address(nameReg).call.gas(1000000).value(1 ether)(abi.encodeWithSignature("register(string)", "MyName")); In a similar way, the function ``delegatecall`` can be used: the difference is that only the code of the given address is used, all other aspects (storage, balance, ...) are taken from the current contract. The purpose of ``delegatecall`` is to use library code which is stored in another contract. The user has to ensure that the layout of storage in both contracts is suitable for delegatecall to be used. -- cgit