Guest User

Calldata Demo

a guest
Nov 8th, 2018
33
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. contract CalldataDemo {
  2.     function sumArrayPublic(uint[] arr) public view returns (uint) {
  3.         uint sum = 0;
  4.         for (uint i = 0; i < arr.length; i++) {
  5.             sum += arr[i];
  6.         }
  7.        
  8.         return sum;
  9.     }
  10.  
  11.     function sumArrayExternal(uint[] arr) external view returns (uint) {
  12.         uint sum = 0;
  13.         for (uint i = 0; i < arr.length; i++) {
  14.             sum += arr[i];
  15.         }
  16.        
  17.         return sum;
  18.     }
  19.    
  20.     function scaleArrayPublic(uint[] arr) public returns (uint[]) {
  21.         for (uint i = 0; i < arr.length; i++) {
  22.             arr[i] *= 2;
  23.         }
  24.        
  25.         return arr;
  26.     }
  27.    
  28.     // function scaleArrayExternal(uint[] arr) external returns (uint[]) {
  29.     //     for (uint i = 0; i < arr.length; i++) {
  30.     //         // This will not work. calldata is read-only in external functions
  31.     //         arr[i] *= 2;
  32.     //     }
  33.        
  34.     //     return arr;
  35.     // }
  36. }
RAW Paste Data