UNPKG

@edgefund/core

Version:
910 lines 519 kB
{ "contractName": "EdgeFundBettingFunctions", "abi": [ { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "constant": true, "inputs": [], "name": "getMultiplier", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getBankRoll", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getCasinoDecimalPayoutOdds", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getCasinoLiability", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getFStar", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getKellyEdge", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getProbabilityKellyUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getProbabilityKellyCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getProbabilityWinUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getProbabilityWinCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getProbabilityFairUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getProbabilityFairCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEdgeKellyCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEdgeKellyUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEdgeTotalCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEdgeTotalUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEdgeGameOperatorCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEdgeGameOperatorUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEVKellyCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEVKellyUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEVTotalCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEVTotalUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEVGameOperatorCasino", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getEVGameOperatorUser", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x60806040526305f5e10060005534801561001857600080fd5b50600054606481026001908155602482026002556026820260035562989680909102600455600555610ae48061004f6000396000f3006080604052600436106101245763ffffffff60e060020a60003504166310a45e5b8114610129578063202fd5fc146101505780632e07b444146101655780633299c5e31461017a57806340490a901461018f57806348f25753146101a45780635a9920b7146101b95780635b5ed2ed146101ce578063616fb5d0146101e357806376401524146101f85780638c6983bf1461020d5780638d5a1df2146102225780639079f21414610237578063941497151461024c5780639ee142f614610261578063a2edbe1714610276578063a86ed7361461028b578063a8c46c6c146102a0578063a9718e81146102b5578063ae56b152146102ca578063bb16f036146102df578063cab1b810146102f4578063d5f3088714610309578063f4550fa11461031e575b600080fd5b34801561013557600080fd5b5061013e610333565b60408051918252519081900360200190f35b34801561015c57600080fd5b5061013e6103aa565b34801561017157600080fd5b5061013e6103c5565b34801561018657600080fd5b5061013e6103da565b34801561019b57600080fd5b5061013e6104d4565b3480156101b057600080fd5b5061013e6104da565b3480156101c557600080fd5b5061013e61059f565b3480156101da57600080fd5b5061013e6105be565b3480156101ef57600080fd5b5061013e6105d7565b34801561020457600080fd5b5061013e6105dd565b34801561021957600080fd5b5061013e610666565b34801561022e57600080fd5b5061013e61072b565b34801561024357600080fd5b5061013e6107f0565b34801561025857600080fd5b5061013e61080f565b34801561026d57600080fd5b5061013e610824565b34801561028257600080fd5b5061013e61083c565b34801561029757600080fd5b5061013e61085b565b3480156102ac57600080fd5b5061013e610884565b3480156102c157600080fd5b5061013e61089d565b3480156102d657600080fd5b5061013e6108b6565b3480156102eb57600080fd5b5061013e6109c1565b34801561030057600080fd5b5061013e6109e0565b34801561031557600080fd5b5061013e610a21565b34801561032a57600080fd5b5061013e610a36565b60008030600160a060020a0316632e07b4446040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561037457600080fd5b505af1158015610388573d6000803e3d6000fd5b505050506040513d602081101561039e57600080fd5b50516000540392915050565b6000600354600054600054028115156103bf57fe5b05905090565b6000600254600054600054028115156103bf57fe5b600080600030600160a060020a031663bb16f0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b505050506040513d602081101561044757600080fd5b5051604080517fd5f308870000000000000000000000000000000000000000000000000000000081529051919350309163d5f30887916004808201926020929091908290030181600087803b15801561049f57600080fd5b505af11580156104b3573d6000803e3d6000fd5b505050506040513d60208110156104c957600080fd5b505190910392915050565b60005490565b600080600030600160a060020a031663a9718e816040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561051d57600080fd5b505af1158015610531573d6000803e3d6000fd5b505050506040513d602081101561054757600080fd5b5051604080517ff4550fa10000000000000000000000000000000000000000000000000000000081529051919350309163f4550fa1916004808201926020929091908290030181600087803b15801561049f57600080fd5b6000600354600254600154028115156105b457fe5b0560015403905090565b600060035460005460035403600054028115156103bf57fe5b60045490565b60008030600160a060020a0316639ee142f66040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b505050506040513d602081101561064857600080fd5b505160045460005491925090820281151561065f57fe5b0591505090565b600080600030600160a060020a031663a2edbe176040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d60208110156106d357600080fd5b5051604080517f76401524000000000000000000000000000000000000000000000000000000008152905191935030916376401524916004808201926020929091908290030181600087803b15801561049f57600080fd5b600080600030600160a060020a0316635a9920b76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561076e57600080fd5b505af1158015610782573d6000803e3d6000fd5b505050506040513d602081101561079857600080fd5b5051604080517fae56b1520000000000000000000000000000000000000000000000000000000081529051919350309163ae56b152916004808201926020929091908290030181600087803b15801561049f57600080fd5b60006005546004546000546001540281151561080857fe5b0502905090565b6000805460025481810391028115156103bf57fe5b6000805460005460025403600154028115156103bf57fe5b60006003546000546002540281151561085157fe5b0560005403905090565b60006002546004540260045460055460015402016000546002540360005402028115156103bf57fe5b600060045460005460025403600154028115156103bf57fe5b600060035460025460035403600154028115156103bf57fe5b600080600030600160a060020a0316639ee142f66040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108f957600080fd5b505af115801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b5051604080517fd5f308870000000000000000000000000000000000000000000000000000000081529051919350309163d5f30887916004808201926020929091908290030181600087803b15801561097b57600080fd5b505af115801561098f573d6000803e3d6000fd5b505050506040513d60208110156109a557600080fd5b50516000549091508282028115156109b957fe5b059250505090565b600080546002546003548282038102928002919003028115156103bf57fe5b60008030600160a060020a031663a86ed7366040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561037457600080fd5b6000600454600154600054028115156103bf57fe5b60008030600160a060020a031663764015246040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b505050506040513d6020811015610aa157600080fd5b505160005460015491925090820281151561065f57fe00a165627a7a72305820e0db5603204014b5afb3c7bf8ca77f6d891b9b26d73badd0424c4a946e3c3d8b0029", "deployedBytecode": "0x6080604052600436106101245763ffffffff60e060020a60003504166310a45e5b8114610129578063202fd5fc146101505780632e07b444146101655780633299c5e31461017a57806340490a901461018f57806348f25753146101a45780635a9920b7146101b95780635b5ed2ed146101ce578063616fb5d0146101e357806376401524146101f85780638c6983bf1461020d5780638d5a1df2146102225780639079f21414610237578063941497151461024c5780639ee142f614610261578063a2edbe1714610276578063a86ed7361461028b578063a8c46c6c146102a0578063a9718e81146102b5578063ae56b152146102ca578063bb16f036146102df578063cab1b810146102f4578063d5f3088714610309578063f4550fa11461031e575b600080fd5b34801561013557600080fd5b5061013e610333565b60408051918252519081900360200190f35b34801561015c57600080fd5b5061013e6103aa565b34801561017157600080fd5b5061013e6103c5565b34801561018657600080fd5b5061013e6103da565b34801561019b57600080fd5b5061013e6104d4565b3480156101b057600080fd5b5061013e6104da565b3480156101c557600080fd5b5061013e61059f565b3480156101da57600080fd5b5061013e6105be565b3480156101ef57600080fd5b5061013e6105d7565b34801561020457600080fd5b5061013e6105dd565b34801561021957600080fd5b5061013e610666565b34801561022e57600080fd5b5061013e61072b565b34801561024357600080fd5b5061013e6107f0565b34801561025857600080fd5b5061013e61080f565b34801561026d57600080fd5b5061013e610824565b34801561028257600080fd5b5061013e61083c565b34801561029757600080fd5b5061013e61085b565b3480156102ac57600080fd5b5061013e610884565b3480156102c157600080fd5b5061013e61089d565b3480156102d657600080fd5b5061013e6108b6565b3480156102eb57600080fd5b5061013e6109c1565b34801561030057600080fd5b5061013e6109e0565b34801561031557600080fd5b5061013e610a21565b34801561032a57600080fd5b5061013e610a36565b60008030600160a060020a0316632e07b4446040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561037457600080fd5b505af1158015610388573d6000803e3d6000fd5b505050506040513d602081101561039e57600080fd5b50516000540392915050565b6000600354600054600054028115156103bf57fe5b05905090565b6000600254600054600054028115156103bf57fe5b600080600030600160a060020a031663bb16f0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b505050506040513d602081101561044757600080fd5b5051604080517fd5f308870000000000000000000000000000000000000000000000000000000081529051919350309163d5f30887916004808201926020929091908290030181600087803b15801561049f57600080fd5b505af11580156104b3573d6000803e3d6000fd5b505050506040513d60208110156104c957600080fd5b505190910392915050565b60005490565b600080600030600160a060020a031663a9718e816040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561051d57600080fd5b505af1158015610531573d6000803e3d6000fd5b505050506040513d602081101561054757600080fd5b5051604080517ff4550fa10000000000000000000000000000000000000000000000000000000081529051919350309163f4550fa1916004808201926020929091908290030181600087803b15801561049f57600080fd5b6000600354600254600154028115156105b457fe5b0560015403905090565b600060035460005460035403600054028115156103bf57fe5b60045490565b60008030600160a060020a0316639ee142f66040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b505050506040513d602081101561064857600080fd5b505160045460005491925090820281151561065f57fe5b0591505090565b600080600030600160a060020a031663a2edbe176040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d60208110156106d357600080fd5b5051604080517f76401524000000000000000000000000000000000000000000000000000000008152905191935030916376401524916004808201926020929091908290030181600087803b15801561049f57600080fd5b600080600030600160a060020a0316635a9920b76040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561076e57600080fd5b505af1158015610782573d6000803e3d6000fd5b505050506040513d602081101561079857600080fd5b5051604080517fae56b1520000000000000000000000000000000000000000000000000000000081529051919350309163ae56b152916004808201926020929091908290030181600087803b15801561049f57600080fd5b60006005546004546000546001540281151561080857fe5b0502905090565b6000805460025481810391028115156103bf57fe5b6000805460005460025403600154028115156103bf57fe5b60006003546000546002540281151561085157fe5b0560005403905090565b60006002546004540260045460055460015402016000546002540360005402028115156103bf57fe5b600060045460005460025403600154028115156103bf57fe5b600060035460025460035403600154028115156103bf57fe5b600080600030600160a060020a0316639ee142f66040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108f957600080fd5b505af115801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b5051604080517fd5f308870000000000000000000000000000000000000000000000000000000081529051919350309163d5f30887916004808201926020929091908290030181600087803b15801561097b57600080fd5b505af115801561098f573d6000803e3d6000fd5b505050506040513d60208110156109a557600080fd5b50516000549091508282028115156109b957fe5b059250505090565b600080546002546003548282038102928002919003028115156103bf57fe5b60008030600160a060020a031663a86ed7366040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561037457600080fd5b6000600454600154600054028115156103bf57fe5b60008030600160a060020a031663764015246040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b505050506040513d6020811015610aa157600080fd5b505160005460015491925090820281151561065f57fe00a165627a7a72305820e0db5603204014b5afb3c7bf8ca77f6d891b9b26d73badd0424c4a946e3c3d8b0029", "sourceMap": "26:4782:3:-;;;84:7;66:25;;219:298;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;334:11:3;;328:3;:17;;313:12;:32;;;376:2;:16;;355:18;:37;420:2;:16;;402:15;:34;458:8;:22;;;446:9;:34;490:16;:20;26:4782;;;;;;", "deployedSourceMap": "26:4782:3:-;;;;;;;;;-1:-1:-1;;;26:4782:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2245:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2245:188:3;;;;;;;;;;;;;;;;;;;;1810:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1810:131:3;;;;2104:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2104:135:3;;;;3143:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3143:238:3;;;;523:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;523:89:3;;;;4596:210;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4596:210:3;;;;4051:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4051:151:3;;;;1947;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1947:151:3;;;;618:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;618:85:3;;;;2568:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2568:182:3;;;;3387:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3387:224:3;;;;4366;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4366:224:3;;;;1171:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1171:136:3;;;;709:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;709:162:3;;;;877:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;877:146:3;;;;2988:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2988:149:3;;;;1515:289;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1515:289:3;;;;1029:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1029:136:3;;;;4208:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4208:152:3;;;;3617:245;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:245:3;;;;2756:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2756:226:3;;;;1313:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1313:196:3;;;;2439:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2439:123:3;;;;3868:177;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3868:177:3;;;;2245:188;2301:3;2320:23;2346:4;-1:-1:-1;;;;;2346:27:3;;:29;;;;;-1:-1:-1;;;2346:29:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2346:29:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2346:29:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2346:29:3;2393:11;;:33;;2245:188;-1:-1:-1;;2245:188:3:o;1810:131::-;1863:3;1919:15;;1904:11;;1890;;:25;1889:45;;;;;;;;1882:52;;1810:131;:::o;2104:135::-;2158:3;2214:18;;2199:11;;2185;;:25;2184:48;;;;;;3143:238;3200:3;3219:19;3276;3241:4;-1:-1:-1;;;;;3241:23:3;;:25;;;;;-1:-1:-1;;;3241:25:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3241:25:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3241:25:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3241:25:3;3298;;;;;;;;3241;;-1:-1:-1;3298:4:3;;:23;;:25;;;;;3241;;3298;;;;;;;;;:4;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;3298:25:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3298:25:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3298:25:3;3341:33;;;;3143:238;-1:-1:-1;;3143:238:3:o;523:89::-;568:3;594:11;523:89;:::o;4596:210::-;4649:3;4668:15;4717;4686:4;-1:-1:-1;;;;;4686:19:3;;:21;;;;;-1:-1:-1;;;4686:21:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4686:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4686:21:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4686:21:3;4735;;;;;;;;4686;;-1:-1:-1;4735:4:3;;:19;;:21;;;;;4686;;4735;;;;;;;;;:4;:21;;;5:2:-1;;;;30:1;27;20:12;4051:151:3;4099:3;4179:15;;4157:18;;4142:12;;:33;4141:53;;;;;;;;4125:12;;:70;4118:77;;4051:151;:::o;1947:::-;2002:3;2076:15;;2062:11;;2044:15;;:29;2029:11;;:45;2028:63;;;;;;618:85;687:9;;618:85;:::o;2568:182::-;2616:3;2635:19;2657:4;-1:-1:-1;;;;;2657:23:3;;:25;;;;;-1:-1:-1;;;2657:25:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2657:25:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2657:25:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2657:25:3;2734:9;;2701:11;;2657:25;;-1:-1:-1;2734:9:3;2701:29;;2700:43;;;;;;;;2693:50;;2568:182;;:::o;3387:224::-;3442:3;3461:17;3514;3481:4;-1:-1:-1;;;;;3481:21:3;;:23;;;;;-1:-1:-1;;;3481:23:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3481:23:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3481:23:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3481:23:3;3534;;;;;;;;3481;;-1:-1:-1;3534:4:3;;:21;;:23;;;;;3481;;3534;;;;;;;;;:4;:23;;;5:2:-1;;;;30:1;27;20:12;4366:224:3;4421:3;4440:17;4493;4460:4;-1:-1:-1;;;;;4460:21:3;;:23;;;;;-1:-1:-1;;;4460:23:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4460:23:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4460:23:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4460:23:3;4513;;;;;;;;4460;;-1:-1:-1;4513:4:3;;:21;;:23;;;;;4460;;4513;;;;;;;;;:4;:23;;;5:2:-1;;;;30:1;27;20:12;1171:136:3;1215:3;1284:16;;1271:9;;1257:11;;1242:12;;:26;:38;;;;;;;;1241:59;1234:66;;1171:136;:::o;709:162::-;767:3;851:11;;830:18;;:32;;;;794;:69;;;;;;877:146;927:3;1005:11;;991;;970:18;;:32;954:12;;:49;953:63;;;;;;2988:149;3036:3;3114:15;;3099:11;;3078:18;;:32;3077:52;;;;;;;;3062:11;;:68;3055:75;;2988:149;:::o;1515:289::-;1572:3;1768:18;;1758:9;;:28;1731:9;;1712:16;;1697:12;;:31;:43;1669:11;;1648:18;;:32;1621:11;;:60;:120;1620:167;;;;;;1029:136;1069:3;1149:9;;1133:11;;1112:18;;:32;1096:12;;:49;1095:63;;;;;;4208:152;4254:3;4338:15;;4315:18;;4297:15;;:36;4281:12;;:53;4280:73;;;;;;3617:245;3665:3;3684:19;3741;3706:4;-1:-1:-1;;;;;3706:23:3;;:25;;;;;-1:-1:-1;;;3706:25:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3706:25:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3706:25:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3706:25:3;3763;;;;;;;;3706;;-1:-1:-1;3763:4:3;;:23;;:25;;;;;3706;;3763;;;;;;;;;:4;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;3763:25:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3763:25:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3763:25:3;3844:11;;3763:25;;-1:-1:-1;3807:33:3;;;3806:49;;;;;;;;3799:56;;3617:245;;;:::o;2756:226::-;2806:3;2961:11;;2940:18;;2921:15;;2940:32;;;2921:52;;;2834:25;;2871:36;;;2834:74;2833:141;;;;;;1313:196;1368:3;1387:26;1416:4;-1:-1:-1;;;;;1416:30:3;;:32;;;;;-1:-1:-1;;;1416:32:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;2439:123:3;2489:3;2546:9;;2530:12;;2516:11;;:26;2515:40;;;;;;3868:177;3914:3;3933:17;3953:4;-1:-1:-1;;;;;3953:21:3;;:23;;;;;-1:-1:-1;;;3953:23:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3953:23:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3953:23:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3953:23:3;4027:11;;3995:12;;3953:23;;-1:-1:-1;4027:11:3;3995:28;;3994:44;;;;;", "source": "pragma solidity ^0.4.24;\n\ncontract EdgeFundBettingFunctions{\n\n int _Multiplier = 10 ** 8;\n\n int _UserBetSize;\n int _DecimalPayoutOdds;\n int _DecimalWinOdds;\n int _BankRoll;\n int _FractionalKelly;\n\n constructor() public\n {\n //Force this to be a single American roulette bet.\n _UserBetSize = 100 * _Multiplier;\n _DecimalPayoutOdds = 36 * _Multiplier;\n _DecimalWinOdds = 38 * _Multiplier;\n _BankRoll = 10000000 * _Multiplier;\n _FractionalKelly = 1;\n }\n\n function getMultiplier() public view returns(int)\n {\n return _Multiplier;\n }\n\n function getBankRoll() public view returns(int)\n {\n return _BankRoll;\n }\n\n function getCasinoDecimalPayoutOdds() public view returns(int)\n {\n return (_DecimalPayoutOdds * _Multiplier / (_DecimalPayoutOdds - _Multiplier));\n }\n\n function getCasinoLiability() public view returns(int)\n {\n return (_UserBetSize * (_DecimalPayoutOdds - _Multiplier))/_Multiplier;\n }\n\n function getFStar() public view returns(int)\n {\n return (_UserBetSize * (_DecimalPayoutOdds - _Multiplier)) / _BankRoll;\n }\n\n function getKellyEdge() public view returns(int)\n {\n return (_UserBetSize * _Multiplier / _BankRoll) * _FractionalKelly;\n }\n\n function getProbabilityKellyUser() public view returns(int)\n {\n int ProbabilityKellyCasino = this.getProbabilityKellyCasino();\n\n return _Multiplier - ProbabilityKellyCasino;\n }\n\n function getProbabilityKellyCasino() public view returns(int)\n {\n return\n (\n (_Multiplier *\n (_DecimalPayoutOdds - _Multiplier) *\n (_UserBetSize * _FractionalKelly + _BankRoll)) /\n (_BankRoll*_DecimalPayoutOdds)\n );\n }\n\n function getProbabilityWinUser() public view returns(int)\n {\n return (_Multiplier * _Multiplier) / _DecimalWinOdds;\n }\n\n function getProbabilityWinCasino() public view returns(int)\n {\n return (_Multiplier * (_DecimalWinOdds - _Multiplier))/_DecimalWinOdds;\n }\n\n function getProbabilityFairUser() public view returns(int)\n {\n return (_Multiplier * _Multiplier) / _DecimalPayoutOdds;\n }\n\n function getProbabilityFairCasino() public view returns(int)\n {\n int ProbabilityFairUser = this.getProbabilityFairUser();\n\n return _Multiplier - ProbabilityFairUser;\n }\n\n function getEdgeKellyCasino() public view returns(int)\n {\n return (_Multiplier * _UserBetSize) / _BankRoll;\n }\n\n function getEdgeKellyUser() public view returns(int)\n {\n int CasinoLiability = this.getCasinoLiability();\n\n return (_Multiplier * CasinoLiability) / _BankRoll;\n }\n\n function getEdgeTotalCasino() public view returns(int)\n {\n return ((_Multiplier * _Multiplier *\n (_DecimalWinOdds - _DecimalPayoutOdds)) /\n (_DecimalWinOdds * (_DecimalPayoutOdds - _Multiplier)));\n }\n\n function getEdgeTotalUser() public view returns(int)\n {\n return _Multiplier - ((_DecimalPayoutOdds * _Multiplier) / _DecimalWinOdds);\n }\n\n function getEdgeGameOperatorCasino() public view returns(int)\n {\n int EdgeTotalCasino = this.getEdgeTotalCasino();\n int EdgeKellyCasino = this.getEdgeKellyCasino();\n\n return EdgeTotalCasino - EdgeKellyCasino;\n }\n\n function getEdgeGameOperatorUser() public view returns(int)\n {\n int EdgeTotalUser = this.getEdgeTotalUser();\n int EdgeKellyUser = this.getEdgeKellyUser();\n\n return EdgeTotalUser - EdgeKellyUser;\n }\n\n function getEVKellyCasino() public view returns(int)\n {\n int CasinoLiability = this.getCasinoLiability();\n int EdgeKellyCasino = this.getEdgeKellyCasino();\n\n return (CasinoLiability * EdgeKellyCasino) / _Multiplier;\n }\n\n function getEVKellyUser() public view returns(int)\n {\n int EdgeKellyUser = this.getEdgeKellyUser();\n\n return (_UserBetSize * EdgeKellyUser) / _Multiplier;\n }\n\n function getEVTotalCasino() public view returns(int)\n {\n return _UserBetSize - ((_UserBetSize * _DecimalPayoutOdds) / _DecimalWinOdds);\n }\n\n function getEVTotalUser() public view returns(int)\n {\n return (_UserBetSize * (_DecimalWinOdds - _DecimalPayoutOdds)) / _DecimalWinOdds;\n }\n\n function getEVGameOperatorCasino() public view returns(int)\n {\n int EVTotalCasino = this.getEVTotalCasino();\n int EVKellyCasino = this.getEVKellyCasino();\n\n return EVTotalCasino - EVKellyCasino;\n }\n\n function getEVGameOperatorUser() public view returns(int)\n {\n int EVTotalUser = this.getEVTotalUser();\n int EVKellyUser = this.getEVKellyUser();\n\n return EVTotalUser - EVKellyUser;\n }\n}\n", "sourcePath": "/Users/garethoates/Developer/Blockchain/EdgeFund/edgefund-core/contracts/EdgeFundBettingFunctions.sol", "ast": { "absolutePath": "/Users/garethoates/Developer/Blockchain/EdgeFund/edgefund-core/contracts/EdgeFundBettingFunctions.sol", "exportedSymbols": { "EdgeFundBettingFunctions": [ 1126 ] }, "id": 1127, "nodeType": "SourceUnit", "nodes": [ { "id": 661, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:3" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1126, "linearizedBaseContracts": [ 1126 ], "name": "EdgeFundBettingFunctions", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 666, "name": "_Multiplier", "nodeType": "VariableDeclaration", "scope": 1126, "src": "66:25:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 662, "name": "int", "nodeType": "ElementaryTypeName", "src": "66:3:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" }, "id": 665, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3130", "id": 663, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "84:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "argumentTypes": null, "hexValue": "38", "id": 664, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "90:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "84:7:3", "typeDescriptions": { "typeIdentifier": "t_rational_100000000_by_1", "typeString": "int_const 100000000" } }, "visibility": "internal" }, { "constant": false, "id": 668, "name": "_UserBetSize", "nodeType": "VariableDeclaration", "scope": 1126, "src": "98:16:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 667, "name": "int", "nodeType": "ElementaryTypeName", "src": "98:3:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 670, "name": "_DecimalPayoutOdds", "nodeType": "VariableDeclaration", "scope": 1126, "src": "120:22:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 669, "name": "int", "nodeType": "ElementaryTypeName", "src": "120:3:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 672, "name": "_DecimalWinOdds", "nodeType": "VariableDeclaration", "scope": 1126, "src": "148:19:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 671, "name": "int", "nodeType": "ElementaryTypeName", "src": "148:3:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 674, "name": "_BankRoll", "nodeType": "VariableDeclaration", "scope": 1126, "src": "173:13:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 673, "name": "int", "nodeType": "ElementaryTypeName", "src": "173:3:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 676, "name": "_FractionalKelly", "nodeType": "VariableDeclaration", "scope": 1126, "src": "192:20:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 675, "name": "int", "nodeType": "ElementaryTypeName", "src": "192:3:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "internal" }, { "body": { "id": 707, "nodeType": "Block", "src": "244:273:3", "statements": [ { "expression": { "argumentTypes": null, "id": 683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 679, "name": "_UserBetSize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 668, "src": "313:12:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "313030", "id": 680, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "328:3:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "value": "100" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "argumentTypes": null, "id": 681, "name": "_Multiplier", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 666, "src": "334:11:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "328:17:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "313:32:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 684, "nodeType": "ExpressionStatement", "src": "313:32:3" }, { "expression": { "argumentTypes": null, "id": 689, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 685, "name": "_DecimalPayoutOdds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 670, "src": "355:18:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 688, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3336", "id": 686, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "376:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_36_by_1", "typeString": "int_const 36" }, "value": "36" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "argumentTypes": null, "id": 687, "name": "_Multiplier", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 666, "src": "381:11:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "376:16:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "355:37:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 690, "nodeType": "ExpressionStatement", "src": "355:37:3" }, { "expression": { "argumentTypes": null, "id": 695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 691, "name": "_DecimalWinOdds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 672, "src": "402:15:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3338", "id": 692, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "420:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_38_by_1", "typeString": "int_const 38" }, "value": "38" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "argumentTypes": null, "id": 693, "name": "_Multiplier", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 666, "src": "425:11:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "420:16:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "402:34:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "id": 696, "nodeType": "ExpressionStatement", "src": "402:34:3" }, { "expression": { "argumentTypes": null, "id": 701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 697, "name": "_BankRoll", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, "src": "446:9:3", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3130303030303030", "id": 698, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "458:8:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10000000_by_1", "typeString": "int_const 10000000" }, "value": "10000000" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "argumentTypes": null, "id": 699, "name": "_Multiplier", "nodeType"