I hereby claim:
- I am snario on github.
- I am liamhorne (https://keybase.io/liamhorne) on keybase.
- I have a public key whose fingerprint is 30FC 640B C0A3 51B2 FCB9 693F 7335 D28F BBFB 7CE7
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| 0000000000000000000000000000000000000000000000000000000000000001 op | |
| 000000000000000000000000aef082d339d227646db914f0ca9ff02c8544f30b to | |
| 000000000000000000000000000000000000000000000000000000000001869f val | |
| 0000000000000000000000000000000000000000000000000000000000000080 ??? | |
| 0000000000000000000000000000000000000000000000000000000000000204 dataLength | |
| 951c67dc00000000000000000000000000000000000000000000000000000000 | |
| 0000004000000000000000000000000000000000000000000000000000000000 | |
| 0000014000000000000000000000000000000000000000000000000000000000 | |
| 0000000000000000000000000000000000000000000000000000000000000000 | |
| 000000a0a07d99bbe594109aece6ff66d9875984dd924531cd474c4c519fde49 |
| pragma solidity 0.5; | |
| /// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. | |
| /// @author Stefan George - <stefan@gnosis.pm> | |
| contract Proxy { | |
| // masterCopy always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated. | |
| address masterCopy; |
| { | |
| "name": "@counterfactual/tic-tac-toe-bot", | |
| "version": "0.0.15", | |
| "lockfileVersion": 1, | |
| "requires": true, | |
| "dependencies": { | |
| "@babel/code-frame": { | |
| "version": "7.0.0", | |
| "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", | |
| "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", |
| pragma solidity 0.5.9; | |
| pragma experimental ABIEncoderV2; | |
| library TicTacToe { | |
| enum OutcomeType { | |
| PLAYER_X_WON, | |
| PLAYER_O_WON, | |
| DRAW |
| pragma solidity ^0.5.2; | |
| pragma experimental ABIEncoderV2; | |
| import "fmg-core/contracts/Commitment.sol"; | |
| import "fmg-core/contracts/Rules.sol"; | |
| import "openzeppelin-solidity/contracts/math/SafeMath.sol"; | |
| /** | |
| * Liam's comments: | |
| * |
| const ethers = require("ethers"); | |
| const getAddress = ethers.utils.getAddress; | |
| const solidityKeccak256 = ethers.utils.solidityKeccak256; | |
| const keccak256 = ethers.utils.keccak256; | |
| const solidityPack = ethers.utils.solidityPack; | |
| const Interface = ethers.utils.Interface; | |
| const defaultAbiCoder = ethers.utils.defaultAbiCoder; | |
| const hexDataSlice = ethers.utils.hexDataSlice; |
| ----------------------------- MODULE ForceMove ----------------------------- | |
| EXTENDS Integers, TLC, Utils | |
| CONSTANTS | |
| StartingTurnNumber, | |
| NumParticipants, | |
| NULL | |
| (***************************************************************************) | |
| (* The purpose of this specification is to outline an algorithm that *) | |
| (* guarantees that a challenge is registered on chain with turnNumber *) | |
| (* equal to LatestTurnNumber. It is guaranteed even with an antagonist *) |
| [ | |
| "Zvishavane", | |
| "Victoria Falls", | |
| "Shurugwi", | |
| "Rusape", | |
| "Redcliff", | |
| "Norton", | |
| "Mutare", | |
| "Masvingo", | |
| "Marondera", |