| 1234567891011121314151617181920212223242526 |
- import 'solana';
- contract AuthorityExample {
- address authority;
- uint64 counter;
- constructor(address initial_authority) {
- authority = initial_authority;
- }
- @signer(authorityAccount)
- function set_new_authority(address new_authority) external {
- assert(tx.accounts.authorityAccount.key == authority && tx.accounts.authorityAccount.is_signer);
- authority = new_authority;
- }
- @signer(authorityAccount)
- function inc() external {
- assert(tx.accounts.authorityAccount.key == authority && tx.accounts.authorityAccount.is_signer);
- counter += 1;
- }
- function get() public view returns (uint64) {
- return counter;
- }
- }
|