Transferred amount and Sent amount are essentially equivalent terms, denoting the amount of ether which has been moved out of a source address (the difference is related to a technical aspect of solidity; see more details at the bottom of this answer).
Received amount is a term denoting the amount of ether which has been moved into a target address.
When an amount of X ether is moved out of a source address with S ether into a target address with T ether, the address which has initiated this transaction will end up paying the gas cost.
In some cases, it is indeed the source address, in which case you should observe that:
- The balance of the source address is slightly smaller than S - X
- The balance of the target address is equal to T + X
But in other cases, it may well be some other address.
A typical example is when the source address is that of a contract which provides a function which allows to move ether out of this contract and into a target address.
In this case, you should observe that:
- The balance of the source address is equal to S - X
- The balance of the target address is equal to T + X
- The balance of the address which has initiated the transaction is slightly less than it was before
Here are a few more details about the technical difference between transfer
and send
...
In Solidity, a contract can move n
wei-ether to some address x
, using either one of the following options:
x.transfer(n)
- which will revert if the contract's balance is less than n
wei-ether, or if x
is the address of some contract which implements a payable
fallback function, and that function reverts (for whatever reason); in all other cases it will complete successfully
x.send(n)
- which will return false
if the contract's balance is less than n
wei-ether, or if x
is the address of some contract which implements a payable
fallback function, and that function reverts (for whatever reason); in all other cases it will return true