tx · 94NSqS23EXfKas5KWXiLhSSwo4WJKc3TmRApoyhMtDSs

3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE:  -0.01400000 Waves

2019.11.02 01:51 [746419] smart account 3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE > SELF 0.00000000 Waves

{ "type": 13, "id": "94NSqS23EXfKas5KWXiLhSSwo4WJKc3TmRApoyhMtDSs", "fee": 1400000, "feeAssetId": null, "timestamp": 1572648738686, "version": 1, "sender": "3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE", "senderPublicKey": "4gu3haCbomZgQGdumDcQqrwBjbvC8H8xMwtadJSpjzSj", "proofs": [ "5Sp47FaCeNTPAWHE5HSPpDftZRHhVpNK3pzrmoZFjs9NE63ZZcxPiFrV5QYTutA5u91fdPmsiqXPSbU6U6YiUGgh" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIIAgAAACkAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAY9iYXNlNjQ6TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFnNGRBUjZYYkJEQVM5aHIvRWozZEp2NkZmYzQ2NngvbU9HTVdVM2xyQUJzM3FhOEJIbXVKR25rZmJwRWYydkF3WVRPV1B2dnpmTTEwT0JiZmxvU3lxM2M5TUt2eVRlMWx1QkxHcVc0dlpVWEl5dlNnejFsaXlVVmVmSVF5M2R5RjlqYmVUWmJDMGJiY1QvN08zREVMKzAxejZBK3JEQ2FjU1owbEdvbFNRNkFuaEx4eklrVnBPUUpickJtQyt4K1p1WlBDTVd6SnluZDVhZU9uN2phai9ta1JWeXhlNmcvME9oV3o0TmlpWlhldU1SQis4bUt5MGZXRC9VbElsWldIc0FTMlptcmtYS3FqTHEwLzB3cjhJTEprem5qU3Fkbkk1SWJqZzN1UXJqLzRBTitpOXIyOGFRNzMvWmtQdFk1U2J3MEFPaUFCQnU3Z0htcTlheVZ4WlFJREFRQUIAAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAEV0JFVAEAAAAghrQ2qHjTDszY8BetSy4sBB8Hn7rKuRapStdvJa2b0HYAAAAADldBTExFVFdBVkVTQkVUCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFULxHweE6v1pOfqW4iK2a1H7JT13jPO2j7AAAAAAxXQUxMRVRNQ0FGRUUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQvEfB4Tq/Wk5+pbiIrZrUfslPXeM87aPsAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAAC0ZFRVdBVkVTQkVUAAAAAAAAAAAEAAAAAAlGRUVNQ0FGRUUAAAAAAAAAAAIAAAAABEZFRVMJAABkAAAAAgUAAAALRkVFV0FWRVNCRVQFAAAACUZFRU1DQUZFRQAAAAAOU1RBVEVTVUJNSVRURUQCAAAACVNVQk1JVFRFRAAAAAAIU1RBVEVXT04CAAAAA1dPTgAAAAAJU1RBVEVMT1NUAgAAAARMT1NU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ZGljdGlvbgAAAAAAAAAAKQAAAAAAAAOqcAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKgAAAAAAAAOUGAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKwAAAAAAAAN+xAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALAAAAAAAAANqdAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALQAAAAAAAANXAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALgAAAAAAAANEcgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALwAAAAAAAAMyogMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMAAAAAAAAAMhkAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMQAAAAAAAAMRPAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMgAAAAAAAAMBiAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMwAAAAAAAALyagMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANAAAAAAAAALj7AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANQAAAAAAAALV8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANgAAAAAAAALIgAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANwAAAAAAAAK7kgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOAAAAAAAAAKvEgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOQAAAAAAAAKjAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOgAAAAAAAAKXXAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOwAAAAAAAAKMHAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPAAAAAAAAAKBQAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPQAAAAAAAAJ2vgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPgAAAAAAAAJslgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPwAAAAAAAAJitAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQAAAAAAAAAJZLAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQQAAAAAAAAJP6gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQgAAAAAAAAJG+AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQwAAAAAAAAI+QgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARAAAAAAAAAI10gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARQAAAAAAAAItngMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARgAAAAAAAAIlpgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARwAAAAAAAAId6gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASAAAAAAAAAIWYAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASQAAAAAAAAIPEgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASgAAAAAAAAIH7AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASwAAAAAAAAIBAgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATAAAAAAAAAH6QAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATQAAAAAAAAHzsAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATgAAAAAAAAHtSAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATwAAAAAAAAHnCAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUAAAAAAAAAHg8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUQAAAAAAAAHbAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUgAAAAAAAAHVOAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUwAAAAAAAAHPjgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVAAAAAAAAAHKDAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVQAAAAAAAAHEqAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVgAAAAAAAAG/YgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVwAAAAAAAAG6OgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWAAAAAAAAAG1OgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWQAAAAAAAAGwTgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWgAAAAAAAAGrgAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWwAAAAAAAAGm0AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXAAAAAAAAAGiNAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXQAAAAAAAAGdtgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXgAAAAAAAAGZTAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXwAAAAAAAAGVAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAYAAAAAAAAAGVAAAAAAAAAAGGoAMJAAAAAAAAAgUAAAAIcm9sbFR5cGUFAAAACFJPTExPVkVSAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAEAAAAAAAAAZUAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAFAAAAAAAAAZUAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAGAAAAAAAAAZlMAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAHAAAAAAAAAZ22AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAIAAAAAAAAAaI0AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAJAAAAAAAAAabQAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAKAAAAAAAAAauAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAALAAAAAAAAAbBOAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAMAAAAAAAAAbU6AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAANAAAAAAAAAbo6AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAOAAAAAAAAAb9iAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAPAAAAAAAAAcSoAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAQAAAAAAAAAcoMAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAARAAAAAAAAAc+OAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAASAAAAAAAAAdU4AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAATAAAAAAAAAdsAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAUAAAAAAAAAeDwAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAVAAAAAAAAAecIAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAWAAAAAAAAAe1IAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAXAAAAAAAAAfOwAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAYAAAAAAAAAfpAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAZAAAAAAAAAgECAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAaAAAAAAAAAgfsAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAbAAAAAAAAAg8SAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAcAAAAAAAAAhZgAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAdAAAAAAAAAh3qAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAeAAAAAAAAAiWmAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAfAAAAAAAAAi2eAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAgAAAAAAAAAjXSAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAhAAAAAAAAAj5CAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAiAAAAAAAAAkb4AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAjAAAAAAAAAk/qAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAkAAAAAAAAAlksAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAlAAAAAAAAAmK0AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAmAAAAAAAAAmyWAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAnAAAAAAAAAna+AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAoAAAAAAAAAoFAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAApAAAAAAAAAowcAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAqAAAAAAAAApdcAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAArAAAAAAAAAqMAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAsAAAAAAAAAq8SAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAtAAAAAAAAAruSAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAuAAAAAAAAAtXwAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAvAAAAAAAAAtXwAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAwAAAAAAAAAuPsAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAxAAAAAAAAAvJqAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAyAAAAAAAAAwGIAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAzAAAAAAAAAxE8AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA0AAAAAAAAAyGQAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA1AAAAAAAAAzKiAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA2AAAAAAAAA0RyAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA3AAAAAAAAA1cAAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA4AAAAAAAAA2p0AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA5AAAAAAAAA37EAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA6AAAAAAAAA5QYAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA7AAAAAAAAA6pwAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA8AAAAAAAAA8HqAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA9AAAAAAAAA9qQAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA+AAAAAAAAA/SKAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAA/AAAAAAAAA/SKAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABAAAAAAAAABCzKAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABBAAAAAAAABEtMAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABCAAAAAAAABGukAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABDAAAAAAAABI3wAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABEAAAAAAAABLJiAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABFAAAAAAAABNksAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABGAAAAAAAABQKKAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABHAAAAAAAABS7CAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABIAAAAAAAABV4kAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABJAAAAAAAABZEKAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABKAAAAAAAABcfYAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABLAAAAAAAABgMQAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABMAAAAAAAABkMqAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABNAAAAAAAABojkAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABOAAAAAAAABtToAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABPAAAAAAAABygwAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABQAAAAAAAAB4PUAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABRAAAAAAAAB+kUAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABSAAAAAAAACFmUAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABTAAAAAAAACNdSAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABUAAAAAAAACWTEAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABVAAAAAAAACgUUAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABWAAAAAAAACrxSAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABXAAAAAAAAC4+6AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABYAAAAAAAADIZeAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABZAAAAAAAADanaAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABaAAAAAAAADweoAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABbAAAAAAAAELMoAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABcAAAAAAAAEsmSAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABdAAAAAAAAFXikAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABeAAAAAAAAGQy8AwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABfAAAAAAAAHg9QAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABgAAAAAAAAJZMkAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABhAAAAAAAAMhmCAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABiAAAAAAAASyZIAwkAAAAAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAABjAAAAAAAAlkyQAAAAAAAAAYagAAAAAAAAAYagAQAAAAdkaWNlV2luAAAAAwAAAAR0eXBlAAAACnByZWRpY3Rpb24AAAAGbnVtYmVyAwkAAAAAAAACBQAAAAR0eXBlBQAAAAlST0xMVU5ERVIDCQAAZwAAAAIFAAAACnByZWRpY3Rpb24FAAAABm51bWJlcgYHAwkAAAAAAAACBQAAAAR0eXBlBQAAAAhST0xMT1ZFUgMJAABnAAAAAgUAAAAGbnVtYmVyBQAAAApwcmVkaWN0aW9uBgcHAQAAABpWYWxpZGF0ZUJldEFuZERlZmluZVdpbkFtdAAAAAMAAAAGYW1vdW50AAAACnByZWRpY3Rpb24AAAAIcm9sbFR5cGUDAwkAAGYAAAACBQAAAAZCRVRNSU4FAAAABmFtb3VudAYJAABmAAAAAgUAAAAGYW1vdW50BQAAAAZCRVRNQVgJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAjQmV0IGFtb3VudCBpcyBub3QgaW4gcmFuZ2U6IG1pbkJldD0JAAGkAAAAAQkAAGkAAAACBQAAAAZCRVRNSU4FAAAAB1dBVkVMRVQCAAAACCBtYXhCZXQ9CQABpAAAAAEJAABpAAAAAgUAAAAGQkVUTUFYBQAAAAdXQVZFTEVUAwMJAQAAAAIhPQAAAAIFAAAACHJvbGxUeXBlBQAAAAlST0xMVU5ERVIJAQAAAAIhPQAAAAIFAAAACHJvbGxUeXBlBQAAAAhST0xMT1ZFUgcJAAACAAAAAQIAAAApSW52YWxpZCBSb2xsIHR5cGUsIHRyeSB3aXRoIE9WRVIgb3IgVU5ERVIDAwkAAGYAAAACBQAAAA1QUkVESUNUSU9OTUlOBQAAAApwcmVkaWN0aW9uBgkAAGYAAAACBQAAAApwcmVkaWN0aW9uBQAAAA1QUkVESUNUSU9OTUFYCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAIFByZWRpY3Rpb24gaXMgb3V0IG9mIHRoZSByYW5nZTogCQABpAAAAAEFAAAADVBSRURJQ1RJT05NSU4CAAAAEiA8PSBwcmVkaWN0aW9uIDw9IAkAAaQAAAABBQAAAA1QUkVESUNUSU9OTUFYBAAAAAVtdWx0aQkBAAAACk11bHRpcGxpZXIAAAACBQAAAApwcmVkaWN0aW9uBQAAAAhyb2xsVHlwZQQAAAAEcHJvdgkAAGgAAAACCQAAaQAAAAIFAAAABmFtb3VudAAAAAAAAAGGoAUAAAAFbXVsdGkJAABoAAAAAgkAAGkAAAACCQAAZQAAAAIAAAAAAAAAAGQFAAAABEZFRVMAAAAAAAAAAGQAAAAAAAAAJxAAAAACAAAAAWkBAAAACHBsYXlEaWNlAAAAAgAAAAhyb2xsVHlwZQAAAApwcmVkaWN0aW9uBAAAAAZnYW1lSWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAHcGF5bWVudAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAApmZWVBc3NldElkCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAAWkAAAAKZmVlQXNzZXRJZAQAAAAGd2luQW10CQEAAAAaVmFsaWRhdGVCZXRBbmREZWZpbmVXaW5BbXQAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBAAAAA1wbGF5ZXJCYWxhbmNlCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAApnYW1lSWRVc2VkCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzBQAAAAZnYW1lSWQDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAARXQkVUCQAAAgAAAAECAAAAHVBheW1lbnQgc2hvdWxkIGJlIGluIFdhdmVzYmV0AwkAAGYAAAACAAAAAAAAD0JABQAAAA1wbGF5ZXJCYWxhbmNlCQAAAgAAAAECAAAARVRoZXJlIGFyZSBub3QgZW5vdWdoIHdhdmVzLCBpdCB0YWtlcyAwLjAxIFdhdmVzIHRvIGJldC4gR2FtZSBhYm9ydGVkLgMFAAAACmZlZUFzc2V0SWQJAAACAAAAAQIAAAAxVHJhbnNhY3Rpb24ncyBmZWUgbXVzdCBiZSBpbiBXYXZlcy4gR2FtZSBhYm9ydGVkLgMFAAAACmdhbWVJZFVzZWQJAAACAAAAAQIAAAAxUGFzc2VkIGdhbWVJZCBoYWQgYmVlbiB1c2VkIGJlZm9yZS4gR2FtZSBhYm9ydGVkLgQAAAAKbmV3R2FtZU51bQkBAAAAEEluY3JlbWVudEdhbWVOdW0AAAAABAAAAA5wbGF5ZXJQdWJLZXk1OAkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAC2dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAA5TVEFURVNVQk1JVFRFRAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQCAAAAAAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADlJFU0VSVkFUSU9OS0VZCQEAAAAeVmFsaWRhdGVBbmRJbmNyZWFzZVJlc2VydmVkQW10AAAAAQUAAAAGd2luQW10CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9HQU1FU0NPVU5URVJLRVkFAAAACm5ld0dhbWVOdW0JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAALZ2FtZURhdGFTdHIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA5XQUxMRVRXQVZFU0JFVAkAAGkAAAACCQAAaAAAAAIIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAALRkVFV0FWRVNCRVQAAAAAAAAAAGQFAAAABFdCRVQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAMV0FMTEVUTUNBRkVFCQAAaQAAAAIJAABoAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAAlGRUVNQ0FGRUUAAAAAAAAAAGQFAAAABFdCRVQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGZ2FtZUlkAAAABnJzYVNpZwQAAAAMZ2FtZURhdGFMaXN0CQEAAAATRXh0cmFjdEdhbWVEYXRhTGlzdAAAAAEFAAAABmdhbWVJZAQAAAAJZ2FtZVN0YXRlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAMSWR4R2FtZVN0YXRlBAAAAApwcmVkaWN0aW9uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAA1JZHhQcmVkaWN0aW9uBAAAAAhyb2xsVHlwZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAB0lkeFR5cGUEAAAABndpbkFtdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAJSWR4V2luQW10BAAAAA5wbGF5ZXJQdWJLZXk1OAkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAEUlkeFBsYXllclB1YktleTU4BAAAAA1wbGF5ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADnBsYXllclB1YktleTU4BAAAABFkZWNyZWFzZWRSZXNlcnZlcwkBAAAAE0RlY3JlYXNlUmVzZXJ2ZWRBbXQAAAACBQAAAAZnYW1lSWQFAAAABndpbkFtdAMJAQAAAAIhPQAAAAIFAAAACWdhbWVTdGF0ZQUAAAAOU1RBVEVTVUJNSVRURUQJAAACAAAAAQIAAAAzSW52YWxpZCBnYW1lIHN0YXRlIGZvciBwYXNzZWQgZ2FtZUlkLiBHYW1lIGFib3J0ZWQuBAAAAARyYW5kCQEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAgUAAAAGZ2FtZUlkBQAAAAZyc2FTaWcEAAAAB3JhbmRTdHIJAQAAAAlSYW5kVG9TdHIAAAABBQAAAARyYW5kAwkBAAAAB2RpY2VXaW4AAAADBQAAAAhyb2xsVHlwZQUAAAAKcHJlZGljdGlvbgUAAAAEcmFuZAQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACFNUQVRFV09OBQAAAApwcmVkaWN0aW9uBQAAAAhyb2xsVHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABndpbkFtdAUAAAAHcmFuZFN0cgkBAAAADFdpblNjcmlwdFNldAAAAAUFAAAABmdhbWVJZAUAAAANcGxheWVyQWRkcmVzcwUAAAAGd2luQW10BQAAAA5uZXdHYW1lRGF0YVN0cgUAAAARZGVjcmVhc2VkUmVzZXJ2ZXMEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAAlTVEFURUxPU1QFAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAADm5ld0dhbWVEYXRhU3RyCQAETAAAAAIFAAAAEWRlY3JlYXNlZFJlc2VydmVzBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAN0dHgFAAAAByRtYXRjaDAJAABnAAAAAgkAAGUAAAACCQAD6wAAAAIFAAAABHRoaXMFAAAABFdCRVQIBQAAAAN0dHgAAAAGYW1vdW50CQEAAAASRXh0cmFjdFJlc2VydmVkQW10AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAA3N0eAUAAAAHJG1hdGNoMAYHB0dOt3Q=", "chainId": 84, "height": 746419, "spentComplexity": 0 } View: original | compacted Prev: HprypH3ybLJvz8Ht1iRsCWoFEdoNfBn9yGX9oNe5Krck Next: EQVjei133Lh1BXHhxFChte2tzA5iGpPyhkhbGrAFwL9j Diff:
OldNewDifferences
1818 let FEEWAVESBET = 4
1919
2020 let FEEMCAFEE = 2
21+
22+let FEES = (FEEWAVESBET + FEEMCAFEE)
2123
2224 let STATESUBMITTED = "SUBMITTED"
2325
590592 else {
591593 let multi = Multiplier(prediction, rollType)
592594 let prov = ((amount / 100000) * multi)
593- (((100 - (FEEWAVESBET + FEEMCAFEE)) / 100) * 100000)
595+ (((100 - FEES) / 100) * 10000)
594596 }
595597
596598
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
55
66 let GAMESCOUNTERKEY = "$GAME_NUM"
77
88 let RESERVATIONKEY = "$RESERVED_AMOUNT"
99
1010 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
1111
1212 let WALLETWAVESBET = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1313
1414 let WALLETMCAFEE = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1515
1616 let WAVELET = 100000000
1717
1818 let FEEWAVESBET = 4
1919
2020 let FEEMCAFEE = 2
21+
22+let FEES = (FEEWAVESBET + FEEMCAFEE)
2123
2224 let STATESUBMITTED = "SUBMITTED"
2325
2426 let STATEWON = "WON"
2527
2628 let STATELOST = "LOST"
2729
2830 let ROLLUNDER = "UNDER"
2931
3032 let ROLLOVER = "OVER"
3133
3234 let BETMIN = (1000 * WAVELET)
3335
3436 let BETMAX = (20000000 * WAVELET)
3537
3638 let PREDICTIONMIN = 1
3739
3840 let PREDICTIONMAX = 99
3941
4042 let IdxGameState = 0
4143
4244 let IdxPrediction = 1
4345
4446 let IdxType = 2
4547
4648 let IdxPlayerPubKey58 = 3
4749
4850 let IdxWinAmt = 4
4951
5052 let IdxRandOrEmpty = 5
5153
5254 func IncrementGameNum () = {
5355 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
5456 case num: Int =>
5557 num
5658 case _ =>
5759 0
5860 }
5961 (gameNum + 1)
6062 }
6163
6264
6365 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
6466 case a: Int =>
6567 a
6668 case _ =>
6769 0
6870 }
6971
7072
7173 func ValidateAndIncreaseReservedAmt (winAmt) = {
7274 let newReservedAmount = (ExtractReservedAmt() + winAmt)
7375 let balance = assetBalance(this, WBET)
7476 if ((newReservedAmount > balance))
7577 then throw("Insufficient funds on Wavesbet Dice account. Transaction was rejected for your safety.")
7678 else newReservedAmount
7779 }
7880
7981
8082 func FormatGameDataParam (p) = {
8183 let s = size(p)
8284 if ((s == 0))
8385 then throw("Parameter size must be greater then 0")
8486 else if ((s > 99))
8587 then throw("Parameter size must be less then 100")
8688 else if ((10 > s))
8789 then (("0" + toString(s)) + p)
8890 else (toString(s) + p)
8991 }
9092
9193
9294 func FormatGameDataStr (gameState,prediction,typeRoll,playerPubKey58,winAmt,randOrEmpty) = {
9395 let fullStateStr = ((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(toString(prediction))) + "_") + FormatGameDataParam(typeRoll)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(winAmt)))
9496 if ((randOrEmpty == ""))
9597 then fullStateStr
9698 else ((fullStateStr + "_") + FormatGameDataParam(randOrEmpty))
9799 }
98100
99101
100102 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
101103 then drop(remaining, 1)
102104 else remaining
103105
104106
105107 func ParseNextAttribute (remaining) = {
106108 let s = size(remaining)
107109 if ((s > 0))
108110 then {
109111 let nn = parseIntValue(take(remaining, 2))
110112 let v = take(drop(remaining, 2), nn)
111113 let tmpRemaining = drop(remaining, (nn + 2))
112114 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
113115 [v, remainingState]
114116 }
115117 else throw("Empty string was passed into parseNextAttribute func")
116118 }
117119
118120
119121 func ParseGameRawDataStr (rawStateStr) = {
120122 let gameState = ParseNextAttribute(rawStateStr)
121123 let prediction = ParseNextAttribute(gameState[1])
122124 let rollType = ParseNextAttribute(prediction[1])
123125 let playerPubKey58 = ParseNextAttribute(rollType[1])
124126 let winAmt = ParseNextAttribute(playerPubKey58[1])
125127 [gameState[0], prediction[0], rollType[0], playerPubKey58[0], winAmt[0]]
126128 }
127129
128130
129131 func ExtractGameDataList (gameId) = {
130132 let rawDataStr = match getString(this, gameId) {
131133 case str: String =>
132134 str
133135 case _ =>
134136 throw(("Couldn't find game by " + gameId))
135137 }
136138 ParseGameRawDataStr(rawDataStr)
137139 }
138140
139141
140142 func DecreaseReservedAmt (gameId,winAmt) = {
141143 let newReservedAmount = (ExtractReservedAmt() - winAmt)
142144 if ((0 > newReservedAmount))
143145 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
144146 else DataEntry(RESERVATIONKEY, newReservedAmount)
145147 }
146148
147149
148150 func GenerateRandInt (gameId,rsaSign) = {
149151 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), rsaSign, RSAPUBLIC)
150152 if (rsaSigValid)
151153 then {
152154 let rand = (toInt(sha256(rsaSign)) % 100)
153155 if ((0 > rand))
154156 then ((-1 * rand) + 1)
155157 else (rand + 1)
156158 }
157159 else throw("Invalid RSA signature")
158160 }
159161
160162
161163 func RandToStr (r) = if (if ((r >= 1))
162164 then (100 >= r)
163165 else false)
164166 then toString(r)
165167 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
166168
167169
168170 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr,decreasedReserves) = {
169171 let wSetCommonData = [decreasedReserves]
170172 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, WBET)]
171173 let gameData = DataEntry(gameId, newGameDataStr)
172174 ScriptResult(WriteSet(gameData :: wSetCommonData), TransferSet(tSetCommonData))
173175 }
174176
175177
176178 func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
177179 then if ((prediction == 1))
178180 then 9850000
179181 else if ((prediction == 2))
180182 then 4925000
181183 else if ((prediction == 3))
182184 then 3283330
183185 else if ((prediction == 4))
184186 then 2462500
185187 else if ((prediction == 5))
186188 then 1970000
187189 else if ((prediction == 6))
188190 then 1641660
189191 else if ((prediction == 7))
190192 then 1407140
191193 else if ((prediction == 8))
192194 then 1231250
193195 else if ((prediction == 9))
194196 then 1094440
195197 else if ((prediction == 10))
196198 then 985000
197199 else if ((prediction == 11))
198200 then 895450
199201 else if ((prediction == 12))
200202 then 820830
201203 else if ((prediction == 13))
202204 then 757690
203205 else if ((prediction == 14))
204206 then 703570
205207 else if ((prediction == 15))
206208 then 656660
207209 else if ((prediction == 16))
208210 then 615620
209211 else if ((prediction == 17))
210212 then 579410
211213 else if ((prediction == 18))
212214 then 547220
213215 else if ((prediction == 19))
214216 then 518420
215217 else if ((prediction == 20))
216218 then 492500
217219 else if ((prediction == 21))
218220 then 469040
219221 else if ((prediction == 22))
220222 then 447720
221223 else if ((prediction == 23))
222224 then 428260
223225 else if ((prediction == 24))
224226 then 410410
225227 else if ((prediction == 25))
226228 then 394000
227229 else if ((prediction == 26))
228230 then 378840
229231 else if ((prediction == 27))
230232 then 364810
231233 else if ((prediction == 28))
232234 then 351780
233235 else if ((prediction == 29))
234236 then 339650
235237 else if ((prediction == 30))
236238 then 328330
237239 else if ((prediction == 31))
238240 then 317740
239241 else if ((prediction == 32))
240242 then 307810
241243 else if ((prediction == 33))
242244 then 298480
243245 else if ((prediction == 34))
244246 then 289700
245247 else if ((prediction == 35))
246248 then 281420
247249 else if ((prediction == 36))
248250 then 273610
249251 else if ((prediction == 37))
250252 then 259210
251253 else if ((prediction == 38))
252254 then 259210
253255 else if ((prediction == 39))
254256 then 252560
255257 else if ((prediction == 40))
256258 then 246250
257259 else if ((prediction == 41))
258260 then 240240
259261 else if ((prediction == 42))
260262 then 234520
261263 else if ((prediction == 43))
262264 then 229060
263265 else if ((prediction == 44))
264266 then 223860
265267 else if ((prediction == 45))
266268 then 218880
267269 else if ((prediction == 46))
268270 then 214130
269271 else if ((prediction == 47))
270272 then 209570
271273 else if ((prediction == 48))
272274 then 205200
273275 else if ((prediction == 49))
274276 then 201020
275277 else if ((prediction == 50))
276278 then 197000
277279 else if ((prediction == 51))
278280 then 193130
279281 else if ((prediction == 52))
280282 then 189420
281283 else if ((prediction == 53))
282284 then 185840
283285 else if ((prediction == 54))
284286 then 182400
285287 else if ((prediction == 55))
286288 then 179090
287289 else if ((prediction == 56))
288290 then 175890
289291 else if ((prediction == 57))
290292 then 172800
291293 else if ((prediction == 58))
292294 then 169820
293295 else if ((prediction == 59))
294296 then 166940
295297 else if ((prediction == 60))
296298 then 164160
297299 else if ((prediction == 61))
298300 then 161470
299301 else if ((prediction == 62))
300302 then 158870
301303 else if ((prediction == 63))
302304 then 156340
303305 else if ((prediction == 64))
304306 then 153900
305307 else if ((prediction == 65))
306308 then 151530
307309 else if ((prediction == 66))
308310 then 149240
309311 else if ((prediction == 67))
310312 then 147010
311313 else if ((prediction == 68))
312314 then 144850
313315 else if ((prediction == 69))
314316 then 142750
315317 else if ((prediction == 70))
316318 then 140710
317319 else if ((prediction == 71))
318320 then 138730
319321 else if ((prediction == 72))
320322 then 136800
321323 else if ((prediction == 73))
322324 then 134930
323325 else if ((prediction == 74))
324326 then 133100
325327 else if ((prediction == 75))
326328 then 131330
327329 else if ((prediction == 76))
328330 then 129600
329331 else if ((prediction == 77))
330332 then 127920
331333 else if ((prediction == 78))
332334 then 126280
333335 else if ((prediction == 79))
334336 then 124680
335337 else if ((prediction == 80))
336338 then 123120
337339 else if ((prediction == 81))
338340 then 121600
339341 else if ((prediction == 82))
340342 then 120120
341343 else if ((prediction == 83))
342344 then 118670
343345 else if ((prediction == 84))
344346 then 117260
345347 else if ((prediction == 85))
346348 then 115880
347349 else if ((prediction == 86))
348350 then 114530
349351 else if ((prediction == 87))
350352 then 113210
351353 else if ((prediction == 88))
352354 then 111930
353355 else if ((prediction == 89))
354356 then 110670
355357 else if ((prediction == 90))
356358 then 109440
357359 else if ((prediction == 91))
358360 then 108240
359361 else if ((prediction == 92))
360362 then 107060
361363 else if ((prediction == 93))
362364 then 105910
363365 else if ((prediction == 94))
364366 then 104780
365367 else if ((prediction == 95))
366368 then 103680
367369 else if ((prediction == 96))
368370 then 103680
369371 else 100000
370372 else if ((rollType == ROLLOVER))
371373 then if ((prediction == 4))
372374 then 103680
373375 else if ((prediction == 5))
374376 then 103680
375377 else if ((prediction == 6))
376378 then 104780
377379 else if ((prediction == 7))
378380 then 105910
379381 else if ((prediction == 8))
380382 then 107060
381383 else if ((prediction == 9))
382384 then 108240
383385 else if ((prediction == 10))
384386 then 109440
385387 else if ((prediction == 11))
386388 then 110670
387389 else if ((prediction == 12))
388390 then 111930
389391 else if ((prediction == 13))
390392 then 113210
391393 else if ((prediction == 14))
392394 then 114530
393395 else if ((prediction == 15))
394396 then 115880
395397 else if ((prediction == 16))
396398 then 117260
397399 else if ((prediction == 17))
398400 then 118670
399401 else if ((prediction == 18))
400402 then 120120
401403 else if ((prediction == 19))
402404 then 121600
403405 else if ((prediction == 20))
404406 then 123120
405407 else if ((prediction == 21))
406408 then 124680
407409 else if ((prediction == 22))
408410 then 126280
409411 else if ((prediction == 23))
410412 then 127920
411413 else if ((prediction == 24))
412414 then 129600
413415 else if ((prediction == 25))
414416 then 131330
415417 else if ((prediction == 26))
416418 then 133100
417419 else if ((prediction == 27))
418420 then 134930
419421 else if ((prediction == 28))
420422 then 136800
421423 else if ((prediction == 29))
422424 then 138730
423425 else if ((prediction == 30))
424426 then 140710
425427 else if ((prediction == 31))
426428 then 142750
427429 else if ((prediction == 32))
428430 then 144850
429431 else if ((prediction == 33))
430432 then 147010
431433 else if ((prediction == 34))
432434 then 149240
433435 else if ((prediction == 35))
434436 then 151530
435437 else if ((prediction == 36))
436438 then 153900
437439 else if ((prediction == 37))
438440 then 156340
439441 else if ((prediction == 38))
440442 then 158870
441443 else if ((prediction == 39))
442444 then 161470
443445 else if ((prediction == 40))
444446 then 164160
445447 else if ((prediction == 41))
446448 then 166940
447449 else if ((prediction == 42))
448450 then 169820
449451 else if ((prediction == 43))
450452 then 172800
451453 else if ((prediction == 44))
452454 then 175890
453455 else if ((prediction == 45))
454456 then 179090
455457 else if ((prediction == 46))
456458 then 185840
457459 else if ((prediction == 47))
458460 then 185840
459461 else if ((prediction == 48))
460462 then 189420
461463 else if ((prediction == 49))
462464 then 193130
463465 else if ((prediction == 50))
464466 then 197000
465467 else if ((prediction == 51))
466468 then 201020
467469 else if ((prediction == 52))
468470 then 205200
469471 else if ((prediction == 53))
470472 then 209570
471473 else if ((prediction == 54))
472474 then 214130
473475 else if ((prediction == 55))
474476 then 218880
475477 else if ((prediction == 56))
476478 then 223860
477479 else if ((prediction == 57))
478480 then 229060
479481 else if ((prediction == 58))
480482 then 234520
481483 else if ((prediction == 59))
482484 then 240240
483485 else if ((prediction == 60))
484486 then 246250
485487 else if ((prediction == 61))
486488 then 252560
487489 else if ((prediction == 62))
488490 then 259210
489491 else if ((prediction == 63))
490492 then 259210
491493 else if ((prediction == 64))
492494 then 273610
493495 else if ((prediction == 65))
494496 then 281420
495497 else if ((prediction == 66))
496498 then 289700
497499 else if ((prediction == 67))
498500 then 298480
499501 else if ((prediction == 68))
500502 then 307810
501503 else if ((prediction == 69))
502504 then 317740
503505 else if ((prediction == 70))
504506 then 328330
505507 else if ((prediction == 71))
506508 then 339650
507509 else if ((prediction == 72))
508510 then 351780
509511 else if ((prediction == 73))
510512 then 364810
511513 else if ((prediction == 74))
512514 then 378840
513515 else if ((prediction == 75))
514516 then 394000
515517 else if ((prediction == 76))
516518 then 410410
517519 else if ((prediction == 77))
518520 then 428260
519521 else if ((prediction == 78))
520522 then 447720
521523 else if ((prediction == 79))
522524 then 469040
523525 else if ((prediction == 80))
524526 then 492500
525527 else if ((prediction == 81))
526528 then 518420
527529 else if ((prediction == 82))
528530 then 547220
529531 else if ((prediction == 83))
530532 then 579410
531533 else if ((prediction == 84))
532534 then 615620
533535 else if ((prediction == 85))
534536 then 656660
535537 else if ((prediction == 86))
536538 then 703570
537539 else if ((prediction == 87))
538540 then 757690
539541 else if ((prediction == 88))
540542 then 820830
541543 else if ((prediction == 89))
542544 then 895450
543545 else if ((prediction == 90))
544546 then 985000
545547 else if ((prediction == 91))
546548 then 1094440
547549 else if ((prediction == 92))
548550 then 1231250
549551 else if ((prediction == 93))
550552 then 1407140
551553 else if ((prediction == 94))
552554 then 1641660
553555 else if ((prediction == 95))
554556 then 1970000
555557 else if ((prediction == 96))
556558 then 2462500
557559 else if ((prediction == 97))
558560 then 3283330
559561 else if ((prediction == 98))
560562 then 4925000
561563 else if ((prediction == 99))
562564 then 9850000
563565 else 100000
564566 else 100000
565567
566568
567569 func diceWin (type,prediction,number) = if ((type == ROLLUNDER))
568570 then if ((prediction >= number))
569571 then true
570572 else false
571573 else if ((type == ROLLOVER))
572574 then if ((number >= prediction))
573575 then true
574576 else false
575577 else false
576578
577579
578580 func ValidateBetAndDefineWinAmt (amount,prediction,rollType) = if (if ((BETMIN > amount))
579581 then true
580582 else (amount > BETMAX))
581583 then throw(((("Bet amount is not in range: minBet=" + toString((BETMIN / WAVELET))) + " maxBet=") + toString((BETMAX / WAVELET))))
582584 else if (if ((rollType != ROLLUNDER))
583585 then (rollType != ROLLOVER)
584586 else false)
585587 then throw("Invalid Roll type, try with OVER or UNDER")
586588 else if (if ((PREDICTIONMIN > prediction))
587589 then true
588590 else (prediction > PREDICTIONMAX))
589591 then throw(((("Prediction is out of the range: " + toString(PREDICTIONMIN)) + " <= prediction <= ") + toString(PREDICTIONMAX)))
590592 else {
591593 let multi = Multiplier(prediction, rollType)
592594 let prov = ((amount / 100000) * multi)
593- (((100 - (FEEWAVESBET + FEEMCAFEE)) / 100) * 100000)
595+ (((100 - FEES) / 100) * 10000)
594596 }
595597
596598
597599 @Callable(i)
598600 func playDice (rollType,prediction) = {
599601 let gameId = toBase58String(i.transactionId)
600602 let payment = extract(i.payment)
601603 let feeAssetId = isDefined(i.feeAssetId)
602604 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
603605 let playerBalance = wavesBalance(i.caller)
604606 let gameIdUsed = isDefined(getString(this, gameId))
605607 if ((payment.assetId != WBET))
606608 then throw("Payment should be in Wavesbet")
607609 else if ((1000000 > playerBalance))
608610 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
609611 else if (feeAssetId)
610612 then throw("Transaction's fee must be in Waves. Game aborted.")
611613 else if (gameIdUsed)
612614 then throw("Passed gameId had been used before. Game aborted.")
613615 else {
614616 let newGameNum = IncrementGameNum()
615617 let playerPubKey58 = toBase58String(i.callerPublicKey)
616618 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
617619 ScriptResult(WriteSet([DataEntry(RESERVATIONKEY, ValidateAndIncreaseReservedAmt(winAmt)), DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet([ScriptTransfer(WALLETWAVESBET, ((payment.amount * FEEWAVESBET) / 100), WBET), ScriptTransfer(WALLETMCAFEE, ((payment.amount * FEEMCAFEE) / 100), WBET)]))
618620 }
619621 }
620622
621623
622624
623625 @Callable(i)
624626 func withdraw (gameId,rsaSig) = {
625627 let gameDataList = ExtractGameDataList(gameId)
626628 let gameState = gameDataList[IdxGameState]
627629 let prediction = parseIntValue(gameDataList[IdxPrediction])
628630 let rollType = gameDataList[IdxType]
629631 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
630632 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
631633 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
632634 let decreasedReserves = DecreaseReservedAmt(gameId, winAmt)
633635 if ((gameState != STATESUBMITTED))
634636 then throw("Invalid game state for passed gameId. Game aborted.")
635637 else {
636638 let rand = GenerateRandInt(gameId, rsaSig)
637639 let randStr = RandToStr(rand)
638640 if (diceWin(rollType, prediction, rand))
639641 then {
640642 let newGameDataStr = FormatGameDataStr(STATEWON, prediction, rollType, playerPubKey58, winAmt, randStr)
641643 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr, decreasedReserves)
642644 }
643645 else {
644646 let newGameDataStr = FormatGameDataStr(STATELOST, prediction, rollType, playerPubKey58, winAmt, randStr)
645647 WriteSet([DataEntry(gameId, newGameDataStr), decreasedReserves])
646648 }
647649 }
648650 }
649651
650652
651653 @Verifier(tx)
652654 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
653655 then match tx {
654656 case ttx: TransferTransaction =>
655657 ((assetBalance(this, WBET) - ttx.amount) >= ExtractReservedAmt())
656658 case stx: SetScriptTransaction =>
657659 true
658660 case _ =>
659661 false
660662 }
661663 else false
662664

github/deemru/w8io/3ef1775 
138.35 ms