Skip to content

Instantly share code, notes, and snippets.

@RomarQ
Created January 18, 2023 16:51
Show Gist options
  • Save RomarQ/4954f2d73a8c6f3ed186568096fcdf94 to your computer and use it in GitHub Desktop.
Save RomarQ/4954f2d73a8c6f3ed186568096fcdf94 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.17+commit.d19bba13.js&optimize=false&runs=200&gist=
pragma solidity ^0.8.17;
contract IBCF_Client {
// The action counter is used in the Tezos blockchain for ordering the actions sequentially and as replay attack prevention.
uint action_counter;
// Proof slot
mapping(uint => string) action_registry;
/**
* Modifier to increase the action counter
*/
modifier increase_counter() {
action_counter += 1;
_;
return;
}
/**
* @dev Create a increment action.
*/
function increment() public increase_counter {
// Update registry (The registry is used for proof generation)
action_registry[action_counter] = "INCREMENT";
}
/**
* @dev Create a decrement action.
*/
function decrement() public increase_counter {
// Update registry (The registry is used for proof generation)
action_registry[action_counter] = "DECREMENT";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment