a.sol 552 B

1234567891011121314
  1. /// SPDX-License-Identifier: Apache-2.0
  2. contract a {
  3. function call_b (address b, address c) public returns (uint64) {
  4. address addr = address(this);
  5. // authorize contract c to be called, with function name "get_num" and "a" as an arg.
  6. // get_num calls a.require_auth()
  7. auth.authAsCurrContract(c, "get_num", addr);
  8. bytes payload = abi.encode("increment", addr, c);
  9. (bool suc, bytes returndata) = b.call(payload);
  10. uint64 result = abi.decode(returndata, (uint64));
  11. return result;
  12. }
  13. }