Skip to content

Instantly share code, notes, and snippets.

@AndreMiras
Created March 27, 2018 13:02
Show Gist options
  • Save AndreMiras/fb7915aa7954c3a10cc06011b3624117 to your computer and use it in GitHub Desktop.
Save AndreMiras/fb7915aa7954c3a10cc06011b3624117 to your computer and use it in GitHub Desktop.
Diff between old 0xddf0d0b9914D530E0b743808249d9AF901f1bd01 and new 0x048717Ea892F23Fb0126F00640e2b18072efd9D2 contract
1833,1834c1833,1834
< //init discontinued contract data
< int public totalBets = 244612;
---
> //init discontinued contract data
> uint public totalBets = 263935;
1836,1839c1836,1841
< //init discontinued contract data
< uint public totalWeiWon = 110633844560463069959901;
< //init discontinued contract data
< uint public totalWeiWagered = 316486087709317593009320;
---
> //init discontinued contract data
> uint public totalWeiWon = 119805027051623961676537;
> //init discontinued contract data
> uint public totalWeiWagered = 331721907637461976915056;
> uint public randomQueryID;
>
1848,1849c1850
< mapping (bytes32 => uint) playerTempBetValue;
< mapping (bytes32 => uint) playerRandomResult;
---
> mapping (bytes32 => uint) playerTempBetValue;
1860c1861
< event LogBet(bytes32 indexed BetID, address indexed PlayerAddress, uint indexed RewardValue, uint ProfitValue, uint BetValue, uint PlayerNumber);
---
> event LogBet(bytes32 indexed BetID, address indexed PlayerAddress, uint indexed RewardValue, uint ProfitValue, uint BetValue, uint PlayerNumber, uint RandomQueryID);
1863c1864
< event LogResult(uint indexed ResultSerialNumber, bytes32 indexed BetID, address indexed PlayerAddress, uint PlayerNumber, uint DiceResult, uint Value, int Status, bytes Proof, uint RandomSeed);
---
> event LogResult(uint indexed ResultSerialNumber, bytes32 indexed BetID, address indexed PlayerAddress, uint PlayerNumber, uint DiceResult, uint Value, int Status, bytes Proof);
1908,1910c1909,1920
< */
< bytes32 rngId = oraclize_query("nested", "[URL] ['json(https://api.random.org/json-rpc/1/invoke).result.random[\"serialNumber\",\"data\"]', '\\n{\"jsonrpc\":\"2.0\",\"method\":\"generateSignedIntegers\",\"params\":{\"apiKey\":${[decrypt] BKg3TCs7lkzNr1kR6pxjPCM2SOejcFojUPMTOsBkC/47HHPf1sP2oxVLTjNBu+slR9SgZyqDtjVOV5Yzg12iUkbubp0DpcjCEdeJTHnGwC6gD729GUVoGvo96huxwRoZlCjYO80rWq2WGYoR/LC3WampDuvv2Bo=},\"n\":1,\"min\":1,\"max\":100,\"replacement\":true,\"base\":10${[identity] \"}\"},\"id\":1${[identity] \"}\"}']", gasForOraclize);
<
---
> */
> randomQueryID += 1;
> string memory queryString1 = "[URL] ['json(https://api.random.org/json-rpc/1/invoke).result.random[\"serialNumber\",\"data\"]', '\\n{\"jsonrpc\":\"2.0\",\"method\":\"generateSignedIntegers\",\"params\":{\"apiKey\":${[decrypt] BJ8BMENGnafmVci9OE5n98MGZRU624r/QWOQi90YwuZzHL2jaK2SCf5L38gsyD3kG4CS3sjZVLPdprfbo+L9lUXQtVJb/8SPIjkMU3lk943v60Co2+oLMVgSRtNKAAzHS6DJPeLOYaDHLhbCLORoUt2fPKSp87E=},\"n\":1,\"min\":1,\"max\":100,\"replacement\":true,\"base\":10${[identity] \"}\"},\"id\":";
> string memory queryString2 = uint2str(randomQueryID);
> string memory queryString3 = "${[identity] \"}\"}']";
>
> string memory queryString1_2 = queryString1.toSlice().concat(queryString2.toSlice());
>
> string memory queryString1_2_3 = queryString1_2.toSlice().concat(queryString3.toSlice());
>
> bytes32 rngId = oraclize_query("nested", queryString1_2_3, gasForOraclize);
>
1926c1936
< LogBet(playerBetId[rngId], playerAddress[rngId], safeAdd(playerBetValue[rngId], playerProfit[rngId]), playerProfit[rngId], playerBetValue[rngId], playerNumber[rngId]);
---
> LogBet(playerBetId[rngId], playerAddress[rngId], safeAdd(playerBetValue[rngId], playerProfit[rngId]), playerProfit[rngId], playerBetValue[rngId], playerNumber[rngId], randomQueryID);
1949,1954c1959
< playerRandomResult[myid] = parseInt(sl_result.beyond("[".toSlice()).until("]".toSlice()).toString());
<
< /* produce integer bounded to 1-100 inclusive
< * via sha3 result from random.org and proof (IPFS address of TLSNotary proof)
< */
< playerDieResult[myid] = uint(sha3(playerRandomResult[myid], proof)) % 100 + 1;
---
> playerDieResult[myid] = parseInt(sl_result.beyond("[".toSlice()).until("]".toSlice()).toString());
1985c1990
< if(playerDieResult[myid] == 0 || bytes(result).length == 0 || bytes(proof).length == 0 || playerRandomResult[myid] == 0){
---
> if(playerDieResult[myid] == 0 || bytes(result).length == 0 || bytes(proof).length == 0){
1987c1992
< LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempBetValue[myid], 3, proof, playerRandomResult[myid]);
---
> LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempBetValue[myid], 3, proof);
1995c2000
< LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempBetValue[myid], 4, proof, playerRandomResult[myid]);
---
> LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempBetValue[myid], 4, proof);
2020c2025
< LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempReward[myid], 1, proof, playerRandomResult[myid]);
---
> LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempReward[myid], 1, proof);
2031c2036
< LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempReward[myid], 2, proof, playerRandomResult[myid]);
---
> LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempReward[myid], 2, proof);
2047c2052
< LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempBetValue[myid], 0, proof, playerRandomResult[myid]);
---
> LogResult(serialNumberOfResult, playerBetId[myid], playerTempAddress[myid], playerNumber[myid], playerDieResult[myid], playerTempBetValue[myid], 0, proof);
2105,2112c2110
< }
<
< /*
< * player check provably fair
< */
< function playerCheckProvablyFair(uint randomResult, bytes proof) public constant returns (uint) {
< return uint(sha3(randomResult, proof)) % 100 + 1;
< }
---
> }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment