Skip to content

Instantly share code, notes, and snippets.

@fassko
Created January 30, 2022 15:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fassko/5b73bdb38f0184f0b54b2f6f5cfda095 to your computer and use it in GitHub Desktop.
Save fassko/5b73bdb38f0184f0b54b2f6f5cfda095 to your computer and use it in GitHub Desktop.
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
contract Accessibility {
uint public publicInt;
uint internal internalInt;
uint private privateInt;
uint externalInt; // for external function
constructor() {
publicInt = 1;
privateInt = 1;
internalInt = 1;
externalInt = 1;
}
function publicFunction() public {
publicInt += 1;
}
function privateFunction() private {
privateInt += 1;
}
function externalFunction() external {
externalInt += 1;
}
function internalFunction() internal {
internalInt += 1;
}
function callExternalFunction() public {
this.externalFunction();
}
function print() public view returns(uint _privateInt, uint _publicInt, uint _internalInt, uint _externalInt) {
return (privateInt, publicInt, internalInt, externalInt);
}
}
contract AccessPublic {
Accessibility accessibility = new Accessibility();
function accessPublicInt() public view returns(uint) {
uint publicInt = accessibility.publicInt();
return publicInt;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment