tx · DhHhEDJmkz4ugkoeDiZUWTfxZ4gse7fAmeQEZBvZkJtv

3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX:  -0.01000000 Waves

2023.06.08 19:19 [2613926] smart account 3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX > SELF 0.00000000 Waves

{ "type": 13, "id": "DhHhEDJmkz4ugkoeDiZUWTfxZ4gse7fAmeQEZBvZkJtv", "fee": 1000000, "feeAssetId": null, "timestamp": 1686241208809, "version": 2, "chainId": 84, "sender": "3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX", "senderPublicKey": "5iiNX4Sz3qZzcerumQLc1y7u9TH2X46jDV4f9Xivtmtv", "proofs": [ "567eS3n2U9u7dp9jF1wtwLxWhwqTnAUmnKiznvbbeXLNyQGCYcUmTxEvSuhhnih5rSeebrtzF8yo3zKdToY2hf17" ], "script": "base64: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A2FycgkAuQkCCQETbGlzdEludFRvTGlzdFN0cmluZwEFA2FycgIBfAEZc3RyaW5nRGVjb21wcmVzc1RvTGlzdEludAEGYXJyU3RyCQETbGlzdFN0cmluZ1RvTGlzdEluZwEJALUJAgUGYXJyU3RyAgF8AQxMV19nZXRCZXRLZXkBAWkJAKwCAgIPYmV0X0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEMTFdfZ2V0V29uS2V5AQFpCQCsAgICD3dvbl9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBFUxXX2dldFJhbmRvbU51bWJlcktleQEBaQkArAICAhhyYW5kb21OdW1iZXJfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRMb2dLZXkBAWkJAKwCAgkArAICCQCsAgICD2xvZ19MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXICAV8JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAEOTFdfd2hhdFVzZXJXb24BBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAACAAEFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQACAwkAAAIAAwUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEDCQAAAgAHBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEABgMJAAACAAkFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQABAAABD1JfV2luQ2FsY3VsYXRvcgQMcmFuZG9tTnVtYmVyCWJldEFtb3VudBJzZWxlY3RlZE51bWJlckJldHMMYmV0RGlyZWN0aW9uBAtSRURfU0VDVE9SUwkAzAgCACAJAMwIAgATCQDMCAIAFQkAzAgCABkJAMwIAgAiCQDMCAIAGwkAzAgCACQJAMwIAgAeCQDMCAIAFwkAzAgCAAUJAMwIAgAQCQDMCAIAAQkAzAgCAA4JAMwIAgAJCQDMCAIAEgkAzAgCAAcJAMwIAgAMCQDMCAIAAwUDbmlsAwMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwABCQAAAgUMYmV0RGlyZWN0aW9uAgNudW0HAwkAAAIJAJEDAgUSc2VsZWN0ZWROdW1iZXJCZXRzAAAFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAAkAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAAgMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAASAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAAwMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAAMAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMABAMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAAJAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMADAMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAADAAADCQAAAgUMYmV0RGlyZWN0aW9uAgNyZWQDCQEPY29udGFpbnNFbGVtZW50AgULUkVEX1NFQ1RPUlMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAACAAADCQAAAgUMYmV0RGlyZWN0aW9uAgVibGFjawMDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQtSRURfU0VDVE9SUwUMcmFuZG9tTnVtYmVyCQECIT0CBQxyYW5kb21OdW1iZXIAAAcJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIFDGJldERpcmVjdGlvbgIDb2RkAwkBAiE9AgkAagIFDHJhbmRvbU51bWJlcgACAAAJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIFDGJldERpcmVjdGlvbgIEZXZlbgMJAAACCQBqAgUMcmFuZG9tTnVtYmVyAAIAAAkAaAIFCWJldEFtb3VudAACAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAEgMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAACAAAAAAELUl9nZXRCZXRLZXkBAWkJAKwCAgINYmV0X1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBEVJfZ2V0QmV0QW1vdW50S2V5AQFpCQCsAgICE2JldEFtb3VudF9Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyARdSX2dldFNlbGVjdGVkTnVtYmVyc0tleQEBaQkArAICAhlzZWxlY3RlZE51bWJlcnNfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgERUl9nZXREaXJlY3Rpb25LZXkBAWkJAKwCAgITZGlyZWN0aW9uX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBC1JfZ2V0TG9nS2V5AQFpCQCsAgIJAKwCAgkArAICAg1sb2dfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgIBXwkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAQ5SX2dldFN0YXR1c0tleQEBaQkArAICAhBzdGF0dXNfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgEDeHh4AgVhY2N1bQRuZXh0BAtyZXZlYWxCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDtBwEFBG5leHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBAxyYW5kb21OdW1iZXIJAGoCCQCyCQIFCnJhbmRvbUhhc2gAEAAlCQDMCAIJAKQDAQUMcmFuZG9tTnVtYmVyBQVhY2N1bQEEeHh4MgEDYXJyCgACJGwFA2FycgoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEDeHh4AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA1MAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIFAWkBBHRlc3QBDGNvbW1pdEhlaWdodAkBBHh4eDIBCQDMCAIFDGNvbW1pdEhlaWdodAkAzAgCCQBlAgUMY29tbWl0SGVpZ2h0AAEFA25pbAFpAQ9Sb3VsZXR0ZV9jb21taXQDCWJldEFtb3VudBJzZWxlY3RlZE51bWJlckJldHMMYmV0RGlyZWN0aW9uBAFwCQCRAwIIBQFpCHBheW1lbnRzAAADCQEBIQEJAQtpc1BheW1lbnRPawIFAWkFCWJldEFtb3VudAkAAgECHldyb25nIHBheW1lbnQgYW1vdW50IG9yIGFzc2V0IQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBC1JfZ2V0QmV0S2V5AQUBaQkAZAIFBmhlaWdodAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERUl9nZXRCZXRBbW91bnRLZXkBBQFpBQliZXRBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQUBaQkBF2xpc3RJbnRDb21wcmVzc1RvU3RyaW5nAQUSc2VsZWN0ZWROdW1iZXJCZXRzCQDMCAIJAQtTdHJpbmdFbnRyeQIJARFSX2dldERpcmVjdGlvbktleQEFAWkFDGJldERpcmVjdGlvbgkAzAgCCQELU3RyaW5nRW50cnkCCQEOUl9nZXRTdGF0dXNLZXkBBQFpCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIgfCBzdGF0dXM6IGNvbW1pdCB8IHJldmVhbEJsb2NrOiAJAKQDAQkAZAIFBmhlaWdodAABAg4gfCBiZXRBbW91bnQ6IAkApAMBBQliZXRBbW91bnQCFCB8IHNlbGVjdGVkTnVtYmVyczogCQEXbGlzdEludENvbXByZXNzVG9TdHJpbmcBBRJzZWxlY3RlZE51bWJlckJldHMFA25pbAFpAQ9Sb3VsZXR0ZV9yZXZlYWwABAxjb21taXRIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBEUBleHRyTmF0aXZlKDEwNTUpAQkBC1JfZ2V0QmV0S2V5AQUBaQINQmV0IG5vdCBmb3VuZAQJYmV0QW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARFSX2dldEJldEFtb3VudEtleQEFAWkCFEJldCBhbW91bnQgbm90IGZvdW5kBBJzZWxlY3RlZE51bWJlcnNTdHIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBEUBleHRyTmF0aXZlKDEwNTgpAQkBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQUBaQIaU2VsZWN0ZWQgbnVtYmVycyBub3QgZm91bmQECWRpcmVjdGlvbgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQERQGV4dHJOYXRpdmUoMTA1OCkBCQERUl9nZXREaXJlY3Rpb25LZXkBBQFpAhNEaXJlY3Rpb24gbm90IGZvdW5kBA9zZWxlY3RlZE51bWJlcnMJARlzdHJpbmdEZWNvbXByZXNzVG9MaXN0SW50AQUSc2VsZWN0ZWROdW1iZXJzU3RyAwkAZgIFDGNvbW1pdEhlaWdodAUGaGVpZ2h0CQACAQkArAICCQCsAgICBVdhaXQgCQCkAwEJAGUCBQxjb21taXRIZWlnaHQFBmhlaWdodAIZIGJsb2NrcyB0byByZXZlYWwgdGhpcyBpZAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQxjb21taXRIZWlnaHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBAxyYW5kb21OdW1iZXIJAGoCCQCyCQIFCnJhbmRvbUhhc2gAEAAlBA13aW5uaW5nQW1vdW50CQEKbnVtVG9XYXZlcwEJAQ9SX1dpbkNhbGN1bGF0b3IEBQxyYW5kb21OdW1iZXIFCWJldEFtb3VudAUPc2VsZWN0ZWROdW1iZXJzBQlkaXJlY3Rpb24EBmxvZ1N0cgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQfCBjb21taXRIZWlnaHQ6IAkApAMBBQxjb21taXRIZWlnaHQCDiB8IGJldEFtb3VudDogCQCkAwEFCWJldEFtb3VudAISIHwgd2lubmluZ0Ftb3VudDogCQCkAwEFDXdpbm5pbmdBbW91bnQCFCB8IHNlbGVjdGVkTnVtYmVyczogCQEXbGlzdEludENvbXByZXNzVG9TdHJpbmcBBQ9zZWxlY3RlZE51bWJlcnMCESB8IHJhbmRvbU51bWJlcjogCQCkAwEFDHJhbmRvbU51bWJlcgQJc3RhdHVzU3RyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiJ8IHN0YXR1czogcmV2ZWFsIHwgd2lubmluZ0Ftb3VudDogCQCkAwEFDXdpbm5pbmdBbW91bnQCFCB8IHNlbGVjdGVkTnVtYmVyczogCQEXbGlzdEludENvbXByZXNzVG9TdHJpbmcBBQ9zZWxlY3RlZE51bWJlcnMCESB8IHJhbmRvbU51bWJlcjogCQCkAwEFDHJhbmRvbU51bWJlcgIOIHwgYmV0QW1vdW50OiAJAKQDAQUJYmV0QW1vdW50AhQgfCBzZWxlY3RlZE51bWJlcnM6IAkBF2xpc3RJbnRDb21wcmVzc1RvU3RyaW5nAQUPc2VsZWN0ZWROdW1iZXJzAwkAZgIFDXdpbm5pbmdBbW91bnQAAAkAzAgCCQELRGVsZXRlRW50cnkBCQELUl9nZXRCZXRLZXkBBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJARFSX2dldEJldEFtb3VudEtleQEFAWkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQERUl9nZXREaXJlY3Rpb25LZXkBBQFpCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUNd2lubmluZ0Ftb3VudAUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQELUl9nZXRMb2dLZXkBBQFpBQZsb2dTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDlJfZ2V0U3RhdHVzS2V5AQUBaQUJc3RhdHVzU3RyBQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBC1JfZ2V0QmV0S2V5AQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQERUl9nZXRCZXRBbW91bnRLZXkBBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJARdSX2dldFNlbGVjdGVkTnVtYmVyc0tleQEFAWkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEVJfZ2V0RGlyZWN0aW9uS2V5AQUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBC1JfZ2V0TG9nS2V5AQUBaQUNd2lubmluZ0Ftb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQELUl9nZXRMb2dLZXkBBQFpBQZsb2dTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDlJfZ2V0U3RhdHVzS2V5AQUBaQUJc3RhdHVzU3RyBQNuaWwBaQERTHVja3lXaGVlbF9jb21taXQAAwkBASEBCQELaXNQYXltZW50T2sCBQFpAAEJAAIBAh1Xcm9uZyBwYXltZW50IGFtb3VudCBvciBhc3NldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDExXX2dldEJldEtleQEFAWkJAGQCBQZoZWlnaHQAAQkAzAgCCQELRGVsZXRlRW50cnkBCQEVTFdfZ2V0UmFuZG9tTnVtYmVyS2V5AQUBaQkAzAgCCQELRGVsZXRlRW50cnkBCQEMTFdfZ2V0V29uS2V5AQUBaQUDbmlsAWkBEUx1Y2t5V2hlZWxfcmV2ZWFsAAQMY29tbWl0SGVpZ2h0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQxMV19nZXRCZXRLZXkBBQFpAg1CZXQgbm90IGZvdW5kAwkAZgIFDGNvbW1pdEhlaWdodAUGaGVpZ2h0CQACAQkArAICCQCsAgICBVdhaXQgCQCkAwEJAGUCBQxjb21taXRIZWlnaHQFBmhlaWdodAIZIGJsb2NrcyB0byByZXZlYWwgdGhpcyBpZAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQxjb21taXRIZWlnaHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBAxyYW5kb21OdW1iZXIJAGoCCQCyCQIFCnJhbmRvbUhhc2gAEAAMBA13aW5uaW5nQW1vdW50CQEOTFdfd2hhdFVzZXJXb24BBQxyYW5kb21OdW1iZXIEBmxvZ1N0cgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgp8IGNhbGxlcjogCQClCAEIBQFpBmNhbGxlcgISIHwgd2lubmluZ0Ftb3VudDogCQCkAwEFDXdpbm5pbmdBbW91bnQCESB8IHJhbmRvbU51bWJlcjogCQCkAwEFDHJhbmRvbU51bWJlcgIRIHwgY29tbWl0SGVpZ2h0OiAJAKQDAQUMY29tbWl0SGVpZ2h0AwkAZgIFDXdpbm5pbmdBbW91bnQAAAkAzAgCCQELRGVsZXRlRW50cnkBCQEMTFdfZ2V0QmV0S2V5AQUBaQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFDXdpbm5pbmdBbW91bnQFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQxMV19nZXRXb25LZXkBBQFpBQ13aW5uaW5nQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEVTFdfZ2V0UmFuZG9tTnVtYmVyS2V5AQUBaQUMcmFuZG9tTnVtYmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxMV19nZXRMb2dLZXkBBQFpBQZsb2dTdHIFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEMTFdfZ2V0QmV0S2V5AQUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDExXX2dldFdvbktleQEFAWkFDXdpbm5pbmdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARVMV19nZXRSYW5kb21OdW1iZXJLZXkBBQFpBQxyYW5kb21OdW1iZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDExXX2dldExvZ0tleQEFAWkFBmxvZ1N0cgUDbmlsAFFr1Gk=", "height": 2613926, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6Q3C6LL79GMcCAYYkkwx8J7mhv6uAj8r7RgTLZZ3VHab Next: A1Dq6b5gZcGWwQ46pZsvWGwz1zynZiFuS6SJhsSLD4NE Diff:
OldNewDifferences
176176 func V (d) = ("status_Roulette_" + toString(d.caller))
177177
178178
179+func W (i,j) = {
180+ let X = valueOrErrorMessage(blockInfoByHeight(j), "unexcpected error")
181+ let Y = valueOrErrorMessage(X.vrf, "unexcpected error")
182+ let Z = sha256(value(Y))
183+ let L = (toInt(Z, 16) % 37)
184+toString(L) :: i
185+ }
186+
187+
188+func aa (n) = {
189+ let o = n
190+ let p = size(o)
191+ let q = nil
192+ func r (s,t) = if ((t >= p))
193+ then s
194+ else W(s, o[t])
195+
196+ func u (s,t) = if ((t >= p))
197+ then s
198+ else throw("List size exceeds 50")
199+
200+ 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)
201+ }
202+
203+
204+@Callable(d)
205+func test (ab) = aa([ab, (ab - 1)])
206+
207+
208+
179209 @Callable(d)
180210 func Roulette_commit (M,N,O) = {
181211 let g = d.payments[0]
188218
189219 @Callable(d)
190220 func Roulette_reveal () = {
191- let W = valueOrErrorMessage(getIntegerValue(Q(d)), "Bet not found")
221+ let ab = valueOrErrorMessage(getIntegerValue(Q(d)), "Bet not found")
192222 let M = valueOrErrorMessage(getIntegerValue(R(d)), "Bet amount not found")
193- let X = valueOrErrorMessage(getStringValue(S(d)), "Selected numbers not found")
194- let Y = valueOrErrorMessage(getStringValue(T(d)), "Direction not found")
195- let Z = B(X)
196- if ((W > height))
197- then throw((("Wait " + toString((W - height))) + " blocks to reveal this id"))
223+ let ac = valueOrErrorMessage(getStringValue(S(d)), "Selected numbers not found")
224+ let ad = valueOrErrorMessage(getStringValue(T(d)), "Direction not found")
225+ let ae = B(ac)
226+ if ((ab > height))
227+ then throw((("Wait " + toString((ab - height))) + " blocks to reveal this id"))
198228 else {
199- let aa = valueOrErrorMessage(blockInfoByHeight(W), "unexcpected error")
200- let ab = valueOrErrorMessage(aa.vrf, "unexcpected error")
201- let ac = sha256(value(ab))
202- let L = (toInt(ac, 16) % 37)
203- let ad = a(K(L, M, Z, Y))
204- let ae = ((((((((("| commitHeight: " + toString(W)) + " | betAmount: ") + toString(M)) + " | winningAmount: ") + toString(ad)) + " | selectedNumbers: ") + A(Z)) + " | randomNumber: ") + toString(L))
205- let af = ((((((((("| status: reveal | winningAmount: " + toString(ad)) + " | selectedNumbers: ") + A(Z)) + " | randomNumber: ") + toString(L)) + " | betAmount: ") + toString(M)) + " | selectedNumbers: ") + A(Z))
206- if ((ad > 0))
207- then [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), ScriptTransfer(d.caller, ad, unit), StringEntry(U(d), ae), StringEntry(V(d), af)]
208- else [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), IntegerEntry(U(d), ad), StringEntry(U(d), ae), StringEntry(V(d), af)]
229+ let X = valueOrErrorMessage(blockInfoByHeight(ab), "unexcpected error")
230+ let Y = valueOrErrorMessage(X.vrf, "unexcpected error")
231+ let Z = sha256(value(Y))
232+ let L = (toInt(Z, 16) % 37)
233+ let af = a(K(L, M, ae, ad))
234+ let ag = ((((((((("| commitHeight: " + toString(ab)) + " | betAmount: ") + toString(M)) + " | winningAmount: ") + toString(af)) + " | selectedNumbers: ") + A(ae)) + " | randomNumber: ") + toString(L))
235+ let ah = ((((((((("| status: reveal | winningAmount: " + toString(af)) + " | selectedNumbers: ") + A(ae)) + " | randomNumber: ") + toString(L)) + " | betAmount: ") + toString(M)) + " | selectedNumbers: ") + A(ae))
236+ if ((af > 0))
237+ then [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), ScriptTransfer(d.caller, af, unit), StringEntry(U(d), ag), StringEntry(V(d), ah)]
238+ else [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), IntegerEntry(U(d), af), StringEntry(U(d), ag), StringEntry(V(d), ah)]
209239 }
210240 }
211241
220250
221251 @Callable(d)
222252 func LuckyWheel_reveal () = {
223- let W = valueOrErrorMessage(getIntegerValue(D(d)), "Bet not found")
224- if ((W > height))
225- then throw((("Wait " + toString((W - height))) + " blocks to reveal this id"))
253+ let ab = valueOrErrorMessage(getIntegerValue(D(d)), "Bet not found")
254+ if ((ab > height))
255+ then throw((("Wait " + toString((ab - height))) + " blocks to reveal this id"))
226256 else {
227- let aa = valueOrErrorMessage(blockInfoByHeight(W), "unexcpected error")
228- let ab = valueOrErrorMessage(aa.vrf, "unexcpected error")
229- let ac = sha256(value(ab))
230- let L = (toInt(ac, 16) % 12)
231- let ad = H(L)
232- let ae = ((((((("| caller: " + toString(d.caller)) + " | winningAmount: ") + toString(ad)) + " | randomNumber: ") + toString(L)) + " | commitHeight: ") + toString(W))
233- if ((ad > 0))
234- then [DeleteEntry(D(d)), ScriptTransfer(d.caller, ad, unit), IntegerEntry(E(d), ad), IntegerEntry(F(d), L), StringEntry(G(d), ae)]
235- else [DeleteEntry(D(d)), IntegerEntry(E(d), ad), IntegerEntry(F(d), L), StringEntry(G(d), ae)]
257+ let X = valueOrErrorMessage(blockInfoByHeight(ab), "unexcpected error")
258+ let Y = valueOrErrorMessage(X.vrf, "unexcpected error")
259+ let Z = sha256(value(Y))
260+ let L = (toInt(Z, 16) % 12)
261+ let af = H(L)
262+ let ag = ((((((("| caller: " + toString(d.caller)) + " | winningAmount: ") + toString(af)) + " | randomNumber: ") + toString(L)) + " | commitHeight: ") + toString(ab))
263+ if ((af > 0))
264+ then [DeleteEntry(D(d)), ScriptTransfer(d.caller, af, unit), IntegerEntry(E(d), af), IntegerEntry(F(d), L), StringEntry(G(d), ag)]
265+ else [DeleteEntry(D(d)), IntegerEntry(E(d), af), IntegerEntry(F(d), L), StringEntry(G(d), ag)]
236266 }
237- }
238-
239-
240-
241-@Callable(d)
242-func test (W) = {
243- let aa = valueOrErrorMessage(blockInfoByHeight(W), "unexcpected error")
244- let ab = valueOrErrorMessage(aa.vrf, "unexcpected error")
245- let ac = sha256(value(ab))
246- let L = (toInt(ac, 16) % 37)
247- throw(toString(L))
248267 }
249268
250269
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 (d) = ("bet_LuckyWheel_" + toString(d.caller))
8686
8787
8888 func E (d) = ("won_LuckyWheel_" + toString(d.caller))
8989
9090
9191 func F (d) = ("randomNumber_LuckyWheel_" + toString(d.caller))
9292
9393
9494 func G (d) = ((("log_LuckyWheel_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
9595
9696
9797 func H (I) = {
9898 let J = I
9999 if ((1 == J))
100100 then a(2)
101101 else if ((3 == J))
102102 then a(1)
103103 else if ((7 == J))
104104 then a(6)
105105 else if ((9 == J))
106106 then a(1)
107107 else 0
108108 }
109109
110110
111111 func K (L,M,N,O) = {
112112 let P = [32, 19, 21, 25, 34, 27, 36, 30, 23, 5, 16, 1, 14, 9, 18, 7, 12, 3]
113113 if (if ((size(N) == 1))
114114 then (O == "num")
115115 else false)
116116 then if ((N[0] == L))
117117 then (M * 36)
118118 else 0
119119 else if ((size(N) == 2))
120120 then if (containsElement(N, L))
121121 then (M * 18)
122122 else 0
123123 else if ((size(N) == 3))
124124 then if (containsElement(N, L))
125125 then (M * 12)
126126 else 0
127127 else if ((size(N) == 4))
128128 then if (containsElement(N, L))
129129 then (M * 9)
130130 else 0
131131 else if ((size(N) == 12))
132132 then if (containsElement(N, L))
133133 then (M * 3)
134134 else 0
135135 else if ((O == "red"))
136136 then if (containsElement(P, L))
137137 then (M * 2)
138138 else 0
139139 else if ((O == "black"))
140140 then if (if (!(containsElement(P, L)))
141141 then (L != 0)
142142 else false)
143143 then (M * 2)
144144 else 0
145145 else if ((O == "odd"))
146146 then if (((L % 2) != 0))
147147 then (M * 2)
148148 else 0
149149 else if ((O == "even"))
150150 then if (((L % 2) == 0))
151151 then (M * 2)
152152 else 0
153153 else if ((size(N) == 18))
154154 then if (containsElement(N, L))
155155 then (M * 2)
156156 else 0
157157 else 0
158158 }
159159
160160
161161 func Q (d) = ("bet_Roulette_" + toString(d.caller))
162162
163163
164164 func R (d) = ("betAmount_Roulette_" + toString(d.caller))
165165
166166
167167 func S (d) = ("selectedNumbers_Roulette_" + toString(d.caller))
168168
169169
170170 func T (d) = ("direction_Roulette_" + toString(d.caller))
171171
172172
173173 func U (d) = ((("log_Roulette_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
174174
175175
176176 func V (d) = ("status_Roulette_" + toString(d.caller))
177177
178178
179+func W (i,j) = {
180+ let X = valueOrErrorMessage(blockInfoByHeight(j), "unexcpected error")
181+ let Y = valueOrErrorMessage(X.vrf, "unexcpected error")
182+ let Z = sha256(value(Y))
183+ let L = (toInt(Z, 16) % 37)
184+toString(L) :: i
185+ }
186+
187+
188+func aa (n) = {
189+ let o = n
190+ let p = size(o)
191+ let q = nil
192+ func r (s,t) = if ((t >= p))
193+ then s
194+ else W(s, o[t])
195+
196+ func u (s,t) = if ((t >= p))
197+ then s
198+ else throw("List size exceeds 50")
199+
200+ 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)
201+ }
202+
203+
204+@Callable(d)
205+func test (ab) = aa([ab, (ab - 1)])
206+
207+
208+
179209 @Callable(d)
180210 func Roulette_commit (M,N,O) = {
181211 let g = d.payments[0]
182212 if (!(c(d, M)))
183213 then throw("Wrong payment amount or asset!")
184214 else [IntegerEntry(Q(d), (height + 1)), IntegerEntry(R(d), M), StringEntry(S(d), A(N)), StringEntry(T(d), O), StringEntry(V(d), ((((("| status: commit | revealBlock: " + toString((height + 1))) + " | betAmount: ") + toString(M)) + " | selectedNumbers: ") + A(N)))]
185215 }
186216
187217
188218
189219 @Callable(d)
190220 func Roulette_reveal () = {
191- let W = valueOrErrorMessage(getIntegerValue(Q(d)), "Bet not found")
221+ let ab = valueOrErrorMessage(getIntegerValue(Q(d)), "Bet not found")
192222 let M = valueOrErrorMessage(getIntegerValue(R(d)), "Bet amount not found")
193- let X = valueOrErrorMessage(getStringValue(S(d)), "Selected numbers not found")
194- let Y = valueOrErrorMessage(getStringValue(T(d)), "Direction not found")
195- let Z = B(X)
196- if ((W > height))
197- then throw((("Wait " + toString((W - height))) + " blocks to reveal this id"))
223+ let ac = valueOrErrorMessage(getStringValue(S(d)), "Selected numbers not found")
224+ let ad = valueOrErrorMessage(getStringValue(T(d)), "Direction not found")
225+ let ae = B(ac)
226+ if ((ab > height))
227+ then throw((("Wait " + toString((ab - height))) + " blocks to reveal this id"))
198228 else {
199- let aa = valueOrErrorMessage(blockInfoByHeight(W), "unexcpected error")
200- let ab = valueOrErrorMessage(aa.vrf, "unexcpected error")
201- let ac = sha256(value(ab))
202- let L = (toInt(ac, 16) % 37)
203- let ad = a(K(L, M, Z, Y))
204- let ae = ((((((((("| commitHeight: " + toString(W)) + " | betAmount: ") + toString(M)) + " | winningAmount: ") + toString(ad)) + " | selectedNumbers: ") + A(Z)) + " | randomNumber: ") + toString(L))
205- let af = ((((((((("| status: reveal | winningAmount: " + toString(ad)) + " | selectedNumbers: ") + A(Z)) + " | randomNumber: ") + toString(L)) + " | betAmount: ") + toString(M)) + " | selectedNumbers: ") + A(Z))
206- if ((ad > 0))
207- then [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), ScriptTransfer(d.caller, ad, unit), StringEntry(U(d), ae), StringEntry(V(d), af)]
208- else [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), IntegerEntry(U(d), ad), StringEntry(U(d), ae), StringEntry(V(d), af)]
229+ let X = valueOrErrorMessage(blockInfoByHeight(ab), "unexcpected error")
230+ let Y = valueOrErrorMessage(X.vrf, "unexcpected error")
231+ let Z = sha256(value(Y))
232+ let L = (toInt(Z, 16) % 37)
233+ let af = a(K(L, M, ae, ad))
234+ let ag = ((((((((("| commitHeight: " + toString(ab)) + " | betAmount: ") + toString(M)) + " | winningAmount: ") + toString(af)) + " | selectedNumbers: ") + A(ae)) + " | randomNumber: ") + toString(L))
235+ let ah = ((((((((("| status: reveal | winningAmount: " + toString(af)) + " | selectedNumbers: ") + A(ae)) + " | randomNumber: ") + toString(L)) + " | betAmount: ") + toString(M)) + " | selectedNumbers: ") + A(ae))
236+ if ((af > 0))
237+ then [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), ScriptTransfer(d.caller, af, unit), StringEntry(U(d), ag), StringEntry(V(d), ah)]
238+ else [DeleteEntry(Q(d)), DeleteEntry(R(d)), DeleteEntry(S(d)), DeleteEntry(T(d)), IntegerEntry(U(d), af), StringEntry(U(d), ag), StringEntry(V(d), ah)]
209239 }
210240 }
211241
212242
213243
214244 @Callable(d)
215245 func LuckyWheel_commit () = if (!(c(d, 1)))
216246 then throw("Wrong payment amount or asset")
217247 else [IntegerEntry(D(d), (height + 1)), DeleteEntry(F(d)), DeleteEntry(E(d))]
218248
219249
220250
221251 @Callable(d)
222252 func LuckyWheel_reveal () = {
223- let W = valueOrErrorMessage(getIntegerValue(D(d)), "Bet not found")
224- if ((W > height))
225- then throw((("Wait " + toString((W - height))) + " blocks to reveal this id"))
253+ let ab = valueOrErrorMessage(getIntegerValue(D(d)), "Bet not found")
254+ if ((ab > height))
255+ then throw((("Wait " + toString((ab - height))) + " blocks to reveal this id"))
226256 else {
227- let aa = valueOrErrorMessage(blockInfoByHeight(W), "unexcpected error")
228- let ab = valueOrErrorMessage(aa.vrf, "unexcpected error")
229- let ac = sha256(value(ab))
230- let L = (toInt(ac, 16) % 12)
231- let ad = H(L)
232- let ae = ((((((("| caller: " + toString(d.caller)) + " | winningAmount: ") + toString(ad)) + " | randomNumber: ") + toString(L)) + " | commitHeight: ") + toString(W))
233- if ((ad > 0))
234- then [DeleteEntry(D(d)), ScriptTransfer(d.caller, ad, unit), IntegerEntry(E(d), ad), IntegerEntry(F(d), L), StringEntry(G(d), ae)]
235- else [DeleteEntry(D(d)), IntegerEntry(E(d), ad), IntegerEntry(F(d), L), StringEntry(G(d), ae)]
257+ let X = valueOrErrorMessage(blockInfoByHeight(ab), "unexcpected error")
258+ let Y = valueOrErrorMessage(X.vrf, "unexcpected error")
259+ let Z = sha256(value(Y))
260+ let L = (toInt(Z, 16) % 12)
261+ let af = H(L)
262+ let ag = ((((((("| caller: " + toString(d.caller)) + " | winningAmount: ") + toString(af)) + " | randomNumber: ") + toString(L)) + " | commitHeight: ") + toString(ab))
263+ if ((af > 0))
264+ then [DeleteEntry(D(d)), ScriptTransfer(d.caller, af, unit), IntegerEntry(E(d), af), IntegerEntry(F(d), L), StringEntry(G(d), ag)]
265+ else [DeleteEntry(D(d)), IntegerEntry(E(d), af), IntegerEntry(F(d), L), StringEntry(G(d), ag)]
236266 }
237- }
238-
239-
240-
241-@Callable(d)
242-func test (W) = {
243- let aa = valueOrErrorMessage(blockInfoByHeight(W), "unexcpected error")
244- let ab = valueOrErrorMessage(aa.vrf, "unexcpected error")
245- let ac = sha256(value(ab))
246- let L = (toInt(ac, 16) % 37)
247- throw(toString(L))
248267 }
249268
250269

github/deemru/w8io/03bedc9 
88.02 ms