tx · CXZThn2iZnGdNpoetPcG9fJDQsCVwLTHyaE9euVyL3G8

3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX:  -0.01000000 Waves

2023.06.11 14:23 [2617955] smart account 3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX > SELF 0.00000000 Waves

{ "type": 13, "id": "CXZThn2iZnGdNpoetPcG9fJDQsCVwLTHyaE9euVyL3G8", "fee": 1000000, "feeAssetId": null, "timestamp": 1686482616678, "version": 2, "chainId": 84, "sender": "3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX", "senderPublicKey": "5iiNX4Sz3qZzcerumQLc1y7u9TH2X46jDV4f9Xivtmtv", "proofs": [ "5uzcQNW8mWeRzMaD9ygF74azrKQHqVGs5jcyokA26eSPjUfTrymJZDoKdtmZQR5akjtASKwDfMjuJZGQpwvhcuAN" ], "script": "base64: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A2FycgkAuQkCCQETbGlzdEludFRvTGlzdFN0cmluZwEFA2FycgIBfAEZc3RyaW5nRGVjb21wcmVzc1RvTGlzdEludAEGYXJyU3RyCQETbGlzdFN0cmluZ1RvTGlzdEluZwEJALUJAgUGYXJyU3RyAgF8AQlnZXRSYW5kb20BDGNvbW1pdEhlaWdodAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQxjb21taXRIZWlnaHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBARoYXNoCQCyCQIFCnJhbmRvbUhhc2gAEAkAagIFBGhhc2gAJQEPUl9XaW5DYWxjdWxhdG9yBAxyYW5kb21OdW1iZXIJYmV0QW1vdW50EnNlbGVjdGVkTnVtYmVyQmV0cwxiZXREaXJlY3Rpb24EC1JFRF9TRUNUT1JTCQDMCAIAIAkAzAgCABMJAMwIAgAVCQDMCAIAGQkAzAgCACIJAMwIAgAbCQDMCAIAJAkAzAgCAB4JAMwIAgAXCQDMCAIABQkAzAgCABAJAMwIAgABCQDMCAIADgkAzAgCAAkJAMwIAgASCQDMCAIABwkAzAgCAAwJAMwIAgADBQNuaWwDAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAEJAAACBQxiZXREaXJlY3Rpb24CA251bQcDCQAAAgkAkQMCBRJzZWxlY3RlZE51bWJlckJldHMAAAUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50ACQAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwACAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50ABIAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwADAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAwAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwAEAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAkAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwAMAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAMAAAMJAAACBQxiZXREaXJlY3Rpb24CA3JlZAMJAQ9jb250YWluc0VsZW1lbnQCBQtSRURfU0VDVE9SUwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAIAAAMJAAACBQxiZXREaXJlY3Rpb24CBWJsYWNrAwMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIFC1JFRF9TRUNUT1JTBQxyYW5kb21OdW1iZXIJAQIhPQIFDHJhbmRvbU51bWJlcgAABwkAaAIFCWJldEFtb3VudAACAAADCQAAAgUMYmV0RGlyZWN0aW9uAgNvZGQDCQECIT0CCQBqAgUMcmFuZG9tTnVtYmVyAAIAAAkAaAIFCWJldEFtb3VudAACAAADCQAAAgUMYmV0RGlyZWN0aW9uAgRldmVuAwkAAAIJAGoCBQxyYW5kb21OdW1iZXIAAgAACQBoAgUJYmV0QW1vdW50AAIAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwASAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAIAAAAAAQtSX2dldEJldEtleQEBaQkArAICAg1iZXRfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgERUl9nZXRCZXRBbW91bnRLZXkBAWkJAKwCAgITYmV0QW1vdW50X1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQFpCQCsAgICGXNlbGVjdGVkTnVtYmVyc19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyARFSX2dldERpcmVjdGlvbktleQEBaQkArAICAhNkaXJlY3Rpb25fUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgELUl9nZXRMb2dLZXkBAWkJAKwCAgkArAICCQCsAgICDWxvZ19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAgFfCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQBDlJfZ2V0U3RhdHVzS2V5AQFpCQCsAgICEHN0YXR1c19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRCZXRLZXkBAWkJAKwCAgIPYmV0X0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEMTFdfZ2V0V29uS2V5AQFpCQCsAgICD3dvbl9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBFUxXX2dldFJhbmRvbU51bWJlcktleQEBaQkArAICAhhyYW5kb21OdW1iZXJfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRMb2dLZXkBAWkJAKwCAgkArAICCQCsAgICD2xvZ19MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXICAV8JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAEOTFdfd2hhdFVzZXJXb24BBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAACAAEFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQACAwkAAAIAAwUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEDCQAAAgAHBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEABgMJAAACAAkFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQABAAABD0xXX2dldFN0YXR1c0tleQEBaQkArAICAhBzdGF0dXNfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgUBaQEQdGVzdFJhbmRvbU51bWJlcgEMY29tbWl0SGVpZ2h0BAtyZXZlYWxCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDtBwEFDGNvbW1pdEhlaWdodAIRdW5leGNwZWN0ZWQgZXJyb3IEA3ZyZgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAULcmV2ZWFsQmxvY2sDdnJmAhF1bmV4Y3BlY3RlZCBlcnJvcgQKcmFuZG9tSGFzaAkA9wMBCQEFdmFsdWUBBQN2cmYEDHJhbmRvbU51bWJlcgkAagIJALIJAgUKcmFuZG9tSGFzaAAQACUJAAIBCQCkAwEFDHJhbmRvbU51bWJlcgFpAQ9Sb3VsZXR0ZV9jb21taXQDCWJldEFtb3VudBJzZWxlY3RlZE51bWJlckJldHMMYmV0RGlyZWN0aW9uBAFwCQCRAwIIBQFpCHBheW1lbnRzAAADCQEBIQEJAQtpc1BheW1lbnRPawIFAWkFCWJldEFtb3VudAkAAgECHldyb25nIHBheW1lbnQgYW1vdW50IG9yIGFzc2V0IQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBC1JfZ2V0QmV0S2V5AQUBaQkAZAIFBmhlaWdodAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERUl9nZXRCZXRBbW91bnRLZXkBBQFpBQliZXRBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQUBaQkBF2xpc3RJbnRDb21wcmVzc1RvU3RyaW5nAQUSc2VsZWN0ZWROdW1iZXJCZXRzCQDMCAIJAQtTdHJpbmdFbnRyeQIJARFSX2dldERpcmVjdGlvbktleQEFAWkFDGJldERpcmVjdGlvbgkAzAgCCQELU3RyaW5nRW50cnkCCQEOUl9nZXRTdGF0dXNLZXkBBQFpCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIgfCBzdGF0dXM6IGNvbW1pdCB8IHJldmVhbEJsb2NrOiAJAKQDAQkAZAIFBmhlaWdodAABAg4gfCBiZXRBbW91bnQ6IAkApAMBBQliZXRBbW91bnQCFCB8IHNlbGVjdGVkTnVtYmVyczogCQEXbGlzdEludENvbXByZXNzVG9TdHJpbmcBBRJzZWxlY3RlZE51bWJlckJldHMFA25pbAFpAQ9Sb3VsZXR0ZV9yZXZlYWwABAxjb21taXRIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBEUBleHRyTmF0aXZlKDEwNTUpAQkBC1JfZ2V0QmV0S2V5AQUBaQINQmV0IG5vdCBmb3VuZAQJYmV0QW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARFSX2dldEJldEFtb3VudEtleQEFAWkCFEJldCBhbW91bnQgbm90IGZvdW5kBBJzZWxlY3RlZE51bWJlcnNTdHIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBEUBleHRyTmF0aXZlKDEwNTgpAQkBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQUBaQIaU2VsZWN0ZWQgbnVtYmVycyBub3QgZm91bmQECWRpcmVjdGlvbgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQERQGV4dHJOYXRpdmUoMTA1OCkBCQERUl9nZXREaXJlY3Rpb25LZXkBBQFpAhNEaXJlY3Rpb24gbm90IGZvdW5kBA9zZWxlY3RlZE51bWJlcnMJARlzdHJpbmdEZWNvbXByZXNzVG9MaXN0SW50AQUSc2VsZWN0ZWROdW1iZXJzU3RyAwkAZgIFDGNvbW1pdEhlaWdodAUGaGVpZ2h0CQACAQkArAICCQCsAgICBVdhaXQgCQCkAwEJAGUCBQxjb21taXRIZWlnaHQFBmhlaWdodAIZIGJsb2NrcyB0byByZXZlYWwgdGhpcyBpZAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQxjb21taXRIZWlnaHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBAxyYW5kb21OdW1iZXIJAGoCCQCyCQIFCnJhbmRvbUhhc2gAEAAlBA13aW5uaW5nQW1vdW50CQEKbnVtVG9XYXZlcwEJAQ9SX1dpbkNhbGN1bGF0b3IEBQxyYW5kb21OdW1iZXIFCWJldEFtb3VudAUPc2VsZWN0ZWROdW1iZXJzBQlkaXJlY3Rpb24EBmxvZ1N0cgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQfCBjb21taXRIZWlnaHQ6IAkApAMBBQxjb21taXRIZWlnaHQCDiB8IGJldEFtb3VudDogCQCkAwEFCWJldEFtb3VudAISIHwgd2lubmluZ0Ftb3VudDogCQCkAwEFDXdpbm5pbmdBbW91bnQCFCB8IHNlbGVjdGVkTnVtYmVyczogCQEXbGlzdEludENvbXByZXNzVG9TdHJpbmcBBQ9zZWxlY3RlZE51bWJlcnMCESB8IHJhbmRvbU51bWJlcjogCQCkAwEFDHJhbmRvbU51bWJlcgQJc3RhdHVzU3RyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiJ8IHN0YXR1czogcmV2ZWFsIHwgd2lubmluZ0Ftb3VudDogCQCkAwEFDXdpbm5pbmdBbW91bnQCFCB8IHNlbGVjdGVkTnVtYmVyczogCQEXbGlzdEludENvbXByZXNzVG9TdHJpbmcBBQ9zZWxlY3RlZE51bWJlcnMCESB8IHJhbmRvbU51bWJlcjogCQCkAwEFDHJhbmRvbU51bWJlcgIOIHwgYmV0QW1vdW50OiAJAKQDAQUJYmV0QW1vdW50AhQgfCBzZWxlY3RlZE51bWJlcnM6IAkBF2xpc3RJbnRDb21wcmVzc1RvU3RyaW5nAQUPc2VsZWN0ZWROdW1iZXJzAwkAZgIFDXdpbm5pbmdBbW91bnQAAAkAzAgCCQELRGVsZXRlRW50cnkBCQELUl9nZXRCZXRLZXkBBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJARFSX2dldEJldEFtb3VudEtleQEFAWkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQERUl9nZXREaXJlY3Rpb25LZXkBBQFpCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUNd2lubmluZ0Ftb3VudAUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQELUl9nZXRMb2dLZXkBBQFpBQZsb2dTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDlJfZ2V0U3RhdHVzS2V5AQUBaQUJc3RhdHVzU3RyBQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBC1JfZ2V0QmV0S2V5AQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQERUl9nZXRCZXRBbW91bnRLZXkBBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJARdSX2dldFNlbGVjdGVkTnVtYmVyc0tleQEFAWkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEVJfZ2V0RGlyZWN0aW9uS2V5AQUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBC1JfZ2V0TG9nS2V5AQUBaQUNd2lubmluZ0Ftb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQELUl9nZXRMb2dLZXkBBQFpBQZsb2dTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDlJfZ2V0U3RhdHVzS2V5AQUBaQUJc3RhdHVzU3RyBQNuaWwBaQERTHVja3lXaGVlbF9jb21taXQAAwkBASEBCQELaXNQYXltZW50T2sCBQFpAAEJAAIBAh1Xcm9uZyBwYXltZW50IGFtb3VudCBvciBhc3NldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDExXX2dldEJldEtleQEFAWkJAGQCBQZoZWlnaHQAAQkAzAgCCQELRGVsZXRlRW50cnkBCQEVTFdfZ2V0UmFuZG9tTnVtYmVyS2V5AQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQEMTFdfZ2V0V29uS2V5AQUBaQkAzAgCCQELU3RyaW5nRW50cnkCCQEPTFdfZ2V0U3RhdHVzS2V5AQUBaQIQfCBzdGF0dXM6IGNvbW1pdAUDbmlsAWkBEUx1Y2t5V2hlZWxfcmV2ZWFsAAQMY29tbWl0SGVpZ2h0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQxMV19nZXRCZXRLZXkBBQFpAg1CZXQgbm90IGZvdW5kAwkAZgIFDGNvbW1pdEhlaWdodAUGaGVpZ2h0CQACAQkArAICCQCsAgICBVdhaXQgCQCkAwEJAGUCBQxjb21taXRIZWlnaHQFBmhlaWdodAIZIGJsb2NrcyB0byByZXZlYWwgdGhpcyBpZAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQxjb21taXRIZWlnaHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBAxyZXZlYWxCbG9jazIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBCQBlAgUMY29tbWl0SGVpZ2h0AAECEXVuZXhjcGVjdGVkIGVycm9yBAR2cmYyCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQtyZXZlYWxCbG9jawN2cmYCEXVuZXhjcGVjdGVkIGVycm9yBAtyYW5kb21IYXNoMgkA9wMBCQEFdmFsdWUBBQN2cmYEBnJhbmRvbQkAZAIJALIJAgUKcmFuZG9tSGFzaAAQCQBpAgkAsgkCBQpyYW5kb21IYXNoAAoJALIJAgUKcmFuZG9tSGFzaAAFBAxyYW5kb21OdW1iZXIJAGoCBQZyYW5kb20ADAQNd2lubmluZ0Ftb3VudAkBDkxXX3doYXRVc2VyV29uAQUMcmFuZG9tTnVtYmVyBAlzdGF0dXNTdHIJAKwCAgkArAICCQCsAgIJAKwCAgIifCBzdGF0dXM6IHJldmVhbCB8IHdpbm5pbmdBbW91bnQ6IAkApAMBBQ13aW5uaW5nQW1vdW50AhQgfCBzZWxlY3RlZE51bWJlcnM6IAIRIHwgcmFuZG9tTnVtYmVyOiAJAKQDAQUMcmFuZG9tTnVtYmVyAwkAZgIFDXdpbm5pbmdBbW91bnQAAAkAzAgCCQELRGVsZXRlRW50cnkBCQEMTFdfZ2V0QmV0S2V5AQUBaQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFDXdpbm5pbmdBbW91bnQFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQxMV19nZXRXb25LZXkBBQFpBQ13aW5uaW5nQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEVTFdfZ2V0UmFuZG9tTnVtYmVyS2V5AQUBaQUMcmFuZG9tTnVtYmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9MV19nZXRTdGF0dXNLZXkBBQFpBQlzdGF0dXNTdHIFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEMTFdfZ2V0QmV0S2V5AQUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDExXX2dldFdvbktleQEFAWkFDXdpbm5pbmdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARVMV19nZXRSYW5kb21OdW1iZXJLZXkBBQFpBQxyYW5kb21OdW1iZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD0xXX2dldFN0YXR1c0tleQEFAWkFCXN0YXR1c1N0cgUDbmlsAHxjytk=", "height": 2617955, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dp4PLU1SugJCC2suv6Qq1C6AwBmF333MDp9wneZbPZbE Next: 5CdBa41kmHLiQkEYEFzjG9ckZ1RxKKgPYfCjnWpAo3GU Diff:
OldNewDifferences
189189
190190
191191 @Callable(d)
192-func xxx (ad) = throw("!!!")
192+func testRandomNumber (E) = {
193+ let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
194+ let G = valueOrErrorMessage(F.vrf, "unexcpected error")
195+ let H = sha256(value(G))
196+ let K = (toInt(H, 16) % 37)
197+ throw(toString(K))
198+ }
193199
194200
195201
207213 func Roulette_reveal () = {
208214 let E = valueOrErrorMessage(getIntegerValue(P(d)), "Bet not found")
209215 let L = valueOrErrorMessage(getIntegerValue(Q(d)), "Bet amount not found")
210- let ae = valueOrErrorMessage(getStringValue(R(d)), "Selected numbers not found")
211- let af = valueOrErrorMessage(getStringValue(S(d)), "Direction not found")
212- let ag = B(ae)
216+ let ad = valueOrErrorMessage(getStringValue(R(d)), "Selected numbers not found")
217+ let ae = valueOrErrorMessage(getStringValue(S(d)), "Direction not found")
218+ let af = B(ad)
213219 if ((E > height))
214220 then throw((("Wait " + toString((E - height))) + " blocks to reveal this id"))
215221 else {
217223 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
218224 let H = sha256(value(G))
219225 let K = (toInt(H, 16) % 37)
220- let ah = a(J(K, L, ag, af))
221- let ai = ((((((((("| commitHeight: " + toString(E)) + " | betAmount: ") + toString(L)) + " | winningAmount: ") + toString(ah)) + " | selectedNumbers: ") + A(ag)) + " | randomNumber: ") + toString(K))
222- let aj = ((((((((("| status: reveal | winningAmount: " + toString(ah)) + " | selectedNumbers: ") + A(ag)) + " | randomNumber: ") + toString(K)) + " | betAmount: ") + toString(L)) + " | selectedNumbers: ") + A(ag))
223- if ((ah > 0))
224- then [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), ScriptTransfer(d.caller, ah, unit), StringEntry(T(d), ai), StringEntry(U(d), aj)]
225- else [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), IntegerEntry(T(d), ah), StringEntry(T(d), ai), StringEntry(U(d), aj)]
226+ let ag = a(J(K, L, af, ae))
227+ let ah = ((((((((("| commitHeight: " + toString(E)) + " | betAmount: ") + toString(L)) + " | winningAmount: ") + toString(ag)) + " | selectedNumbers: ") + A(af)) + " | randomNumber: ") + toString(K))
228+ let ai = ((((((((("| status: reveal | winningAmount: " + toString(ag)) + " | selectedNumbers: ") + A(af)) + " | randomNumber: ") + toString(K)) + " | betAmount: ") + toString(L)) + " | selectedNumbers: ") + A(af))
229+ if ((ag > 0))
230+ then [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), ScriptTransfer(d.caller, ag, unit), StringEntry(T(d), ah), StringEntry(U(d), ai)]
231+ else [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), IntegerEntry(T(d), ag), StringEntry(T(d), ah), StringEntry(U(d), ai)]
226232 }
227233 }
228234
244250 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
245251 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
246252 let H = sha256(value(G))
247- let ak = valueOrErrorMessage(blockInfoByHeight((E - 1)), "unexcpected error")
248- let al = valueOrErrorMessage(F.vrf, "unexcpected error")
249- let am = sha256(value(G))
250- let an = (toInt(H, 16) + (toInt(H, 10) / toInt(H, 5)))
251- let K = (an % 12)
252- let ah = Z(K)
253- let aj = (((("| status: reveal | winningAmount: " + toString(ah)) + " | selectedNumbers: ") + " | randomNumber: ") + toString(K))
254- if ((ah > 0))
255- then [DeleteEntry(V(d)), ScriptTransfer(d.caller, ah, unit), IntegerEntry(W(d), ah), IntegerEntry(X(d), K), StringEntry(ac(d), aj)]
256- else [DeleteEntry(V(d)), IntegerEntry(W(d), ah), IntegerEntry(X(d), K), StringEntry(ac(d), aj)]
253+ let aj = valueOrErrorMessage(blockInfoByHeight((E - 1)), "unexcpected error")
254+ let ak = valueOrErrorMessage(F.vrf, "unexcpected error")
255+ let al = sha256(value(G))
256+ let am = (toInt(H, 16) + (toInt(H, 10) / toInt(H, 5)))
257+ let K = (am % 12)
258+ let ag = Z(K)
259+ let ai = (((("| status: reveal | winningAmount: " + toString(ag)) + " | selectedNumbers: ") + " | randomNumber: ") + toString(K))
260+ if ((ag > 0))
261+ then [DeleteEntry(V(d)), ScriptTransfer(d.caller, ag, unit), IntegerEntry(W(d), ag), IntegerEntry(X(d), K), StringEntry(ac(d), ai)]
262+ else [DeleteEntry(V(d)), IntegerEntry(W(d), ag), IntegerEntry(X(d), K), StringEntry(ac(d), ai)]
257263 }
258264 }
259265
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = (b * 100000000)
55
66
77 func c (d,e) = {
88 let f = base58'WAVES'
99 let g = d.payments[0]
1010 if ((g.amount >= a(e)))
1111 then (g.assetId == unit)
1212 else false
1313 }
1414
1515
1616 func h (i,j) = toString(j) :: i
1717
1818
1919 func k (i,j) = parseIntValue(j) :: i
2020
2121
2222 func l (i,j) = (i + j)
2323
2424
2525 func m (n) = {
2626 let o = n
2727 let p = size(o)
2828 let q = 0
2929 func r (s,t) = if ((t >= p))
3030 then s
3131 else l(s, o[t])
3232
3333 func u (s,t) = if ((t >= p))
3434 then s
3535 else throw("List size exceeds 50")
3636
3737 u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
3838 }
3939
4040
4141 func v (n) = {
4242 let o = n
4343 let p = size(o)
4444 let q = nil
4545 func r (s,t) = if ((t >= p))
4646 then s
4747 else h(s, o[t])
4848
4949 func u (s,t) = if ((t >= p))
5050 then s
5151 else throw("List size exceeds 50")
5252
5353 u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
5454 }
5555
5656
5757 func w (n) = {
5858 let o = n
5959 let p = size(o)
6060 let q = nil
6161 func r (s,t) = if ((t >= p))
6262 then s
6363 else k(s, o[t])
6464
6565 func u (s,t) = if ((t >= p))
6666 then s
6767 else throw("List size exceeds 50")
6868
6969 u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
7070 }
7171
7272
7373 func x (n) = makeString(n, "|")
7474
7575
7676 func y (z) = split(z, "|")
7777
7878
7979 func A (n) = makeString(v(n), "|")
8080
8181
8282 func B (C) = w(split(C, "|"))
8383
8484
8585 func D (E) = {
8686 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
8787 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
8888 let H = sha256(value(G))
8989 let I = toInt(H, 16)
9090 (I % 37)
9191 }
9292
9393
9494 func J (K,L,M,N) = {
9595 let O = [32, 19, 21, 25, 34, 27, 36, 30, 23, 5, 16, 1, 14, 9, 18, 7, 12, 3]
9696 if (if ((size(M) == 1))
9797 then (N == "num")
9898 else false)
9999 then if ((M[0] == K))
100100 then (L * 36)
101101 else 0
102102 else if ((size(M) == 2))
103103 then if (containsElement(M, K))
104104 then (L * 18)
105105 else 0
106106 else if ((size(M) == 3))
107107 then if (containsElement(M, K))
108108 then (L * 12)
109109 else 0
110110 else if ((size(M) == 4))
111111 then if (containsElement(M, K))
112112 then (L * 9)
113113 else 0
114114 else if ((size(M) == 12))
115115 then if (containsElement(M, K))
116116 then (L * 3)
117117 else 0
118118 else if ((N == "red"))
119119 then if (containsElement(O, K))
120120 then (L * 2)
121121 else 0
122122 else if ((N == "black"))
123123 then if (if (!(containsElement(O, K)))
124124 then (K != 0)
125125 else false)
126126 then (L * 2)
127127 else 0
128128 else if ((N == "odd"))
129129 then if (((K % 2) != 0))
130130 then (L * 2)
131131 else 0
132132 else if ((N == "even"))
133133 then if (((K % 2) == 0))
134134 then (L * 2)
135135 else 0
136136 else if ((size(M) == 18))
137137 then if (containsElement(M, K))
138138 then (L * 2)
139139 else 0
140140 else 0
141141 }
142142
143143
144144 func P (d) = ("bet_Roulette_" + toString(d.caller))
145145
146146
147147 func Q (d) = ("betAmount_Roulette_" + toString(d.caller))
148148
149149
150150 func R (d) = ("selectedNumbers_Roulette_" + toString(d.caller))
151151
152152
153153 func S (d) = ("direction_Roulette_" + toString(d.caller))
154154
155155
156156 func T (d) = ((("log_Roulette_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
157157
158158
159159 func U (d) = ("status_Roulette_" + toString(d.caller))
160160
161161
162162 func V (d) = ("bet_LuckyWheel_" + toString(d.caller))
163163
164164
165165 func W (d) = ("won_LuckyWheel_" + toString(d.caller))
166166
167167
168168 func X (d) = ("randomNumber_LuckyWheel_" + toString(d.caller))
169169
170170
171171 func Y (d) = ((("log_LuckyWheel_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
172172
173173
174174 func Z (aa) = {
175175 let ab = aa
176176 if ((1 == ab))
177177 then a(2)
178178 else if ((3 == ab))
179179 then a(1)
180180 else if ((7 == ab))
181181 then a(6)
182182 else if ((9 == ab))
183183 then a(1)
184184 else 0
185185 }
186186
187187
188188 func ac (d) = ("status_Roulette_" + toString(d.caller))
189189
190190
191191 @Callable(d)
192-func xxx (ad) = throw("!!!")
192+func testRandomNumber (E) = {
193+ let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
194+ let G = valueOrErrorMessage(F.vrf, "unexcpected error")
195+ let H = sha256(value(G))
196+ let K = (toInt(H, 16) % 37)
197+ throw(toString(K))
198+ }
193199
194200
195201
196202 @Callable(d)
197203 func Roulette_commit (L,M,N) = {
198204 let g = d.payments[0]
199205 if (!(c(d, L)))
200206 then throw("Wrong payment amount or asset!")
201207 else [IntegerEntry(P(d), (height + 1)), IntegerEntry(Q(d), L), StringEntry(R(d), A(M)), StringEntry(S(d), N), StringEntry(U(d), ((((("| status: commit | revealBlock: " + toString((height + 1))) + " | betAmount: ") + toString(L)) + " | selectedNumbers: ") + A(M)))]
202208 }
203209
204210
205211
206212 @Callable(d)
207213 func Roulette_reveal () = {
208214 let E = valueOrErrorMessage(getIntegerValue(P(d)), "Bet not found")
209215 let L = valueOrErrorMessage(getIntegerValue(Q(d)), "Bet amount not found")
210- let ae = valueOrErrorMessage(getStringValue(R(d)), "Selected numbers not found")
211- let af = valueOrErrorMessage(getStringValue(S(d)), "Direction not found")
212- let ag = B(ae)
216+ let ad = valueOrErrorMessage(getStringValue(R(d)), "Selected numbers not found")
217+ let ae = valueOrErrorMessage(getStringValue(S(d)), "Direction not found")
218+ let af = B(ad)
213219 if ((E > height))
214220 then throw((("Wait " + toString((E - height))) + " blocks to reveal this id"))
215221 else {
216222 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
217223 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
218224 let H = sha256(value(G))
219225 let K = (toInt(H, 16) % 37)
220- let ah = a(J(K, L, ag, af))
221- let ai = ((((((((("| commitHeight: " + toString(E)) + " | betAmount: ") + toString(L)) + " | winningAmount: ") + toString(ah)) + " | selectedNumbers: ") + A(ag)) + " | randomNumber: ") + toString(K))
222- let aj = ((((((((("| status: reveal | winningAmount: " + toString(ah)) + " | selectedNumbers: ") + A(ag)) + " | randomNumber: ") + toString(K)) + " | betAmount: ") + toString(L)) + " | selectedNumbers: ") + A(ag))
223- if ((ah > 0))
224- then [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), ScriptTransfer(d.caller, ah, unit), StringEntry(T(d), ai), StringEntry(U(d), aj)]
225- else [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), IntegerEntry(T(d), ah), StringEntry(T(d), ai), StringEntry(U(d), aj)]
226+ let ag = a(J(K, L, af, ae))
227+ let ah = ((((((((("| commitHeight: " + toString(E)) + " | betAmount: ") + toString(L)) + " | winningAmount: ") + toString(ag)) + " | selectedNumbers: ") + A(af)) + " | randomNumber: ") + toString(K))
228+ let ai = ((((((((("| status: reveal | winningAmount: " + toString(ag)) + " | selectedNumbers: ") + A(af)) + " | randomNumber: ") + toString(K)) + " | betAmount: ") + toString(L)) + " | selectedNumbers: ") + A(af))
229+ if ((ag > 0))
230+ then [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), ScriptTransfer(d.caller, ag, unit), StringEntry(T(d), ah), StringEntry(U(d), ai)]
231+ else [DeleteEntry(P(d)), DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), IntegerEntry(T(d), ag), StringEntry(T(d), ah), StringEntry(U(d), ai)]
226232 }
227233 }
228234
229235
230236
231237 @Callable(d)
232238 func LuckyWheel_commit () = if (!(c(d, 1)))
233239 then throw("Wrong payment amount or asset")
234240 else [IntegerEntry(V(d), (height + 1)), DeleteEntry(X(d)), DeleteEntry(W(d)), StringEntry(ac(d), "| status: commit")]
235241
236242
237243
238244 @Callable(d)
239245 func LuckyWheel_reveal () = {
240246 let E = valueOrErrorMessage(getIntegerValue(V(d)), "Bet not found")
241247 if ((E > height))
242248 then throw((("Wait " + toString((E - height))) + " blocks to reveal this id"))
243249 else {
244250 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
245251 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
246252 let H = sha256(value(G))
247- let ak = valueOrErrorMessage(blockInfoByHeight((E - 1)), "unexcpected error")
248- let al = valueOrErrorMessage(F.vrf, "unexcpected error")
249- let am = sha256(value(G))
250- let an = (toInt(H, 16) + (toInt(H, 10) / toInt(H, 5)))
251- let K = (an % 12)
252- let ah = Z(K)
253- let aj = (((("| status: reveal | winningAmount: " + toString(ah)) + " | selectedNumbers: ") + " | randomNumber: ") + toString(K))
254- if ((ah > 0))
255- then [DeleteEntry(V(d)), ScriptTransfer(d.caller, ah, unit), IntegerEntry(W(d), ah), IntegerEntry(X(d), K), StringEntry(ac(d), aj)]
256- else [DeleteEntry(V(d)), IntegerEntry(W(d), ah), IntegerEntry(X(d), K), StringEntry(ac(d), aj)]
253+ let aj = valueOrErrorMessage(blockInfoByHeight((E - 1)), "unexcpected error")
254+ let ak = valueOrErrorMessage(F.vrf, "unexcpected error")
255+ let al = sha256(value(G))
256+ let am = (toInt(H, 16) + (toInt(H, 10) / toInt(H, 5)))
257+ let K = (am % 12)
258+ let ag = Z(K)
259+ let ai = (((("| status: reveal | winningAmount: " + toString(ag)) + " | selectedNumbers: ") + " | randomNumber: ") + toString(K))
260+ if ((ag > 0))
261+ then [DeleteEntry(V(d)), ScriptTransfer(d.caller, ag, unit), IntegerEntry(W(d), ag), IntegerEntry(X(d), K), StringEntry(ac(d), ai)]
262+ else [DeleteEntry(V(d)), IntegerEntry(W(d), ag), IntegerEntry(X(d), K), StringEntry(ac(d), ai)]
257263 }
258264 }
259265
260266

github/deemru/w8io/873ac7e 
54.25 ms