tx · Hgf3NUYYrT5U5WL7PWTqQ4BDUCgEfCGJAXPBWsLhmR2o

3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd:  -0.10000000 Waves

2021.12.17 00:48 [1837385] smart account 3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd > SELF 0.00000000 Waves

{ "type": 13, "id": "Hgf3NUYYrT5U5WL7PWTqQ4BDUCgEfCGJAXPBWsLhmR2o", "fee": 10000000, "feeAssetId": null, "timestamp": 1639691266978, "version": 2, "chainId": 84, "sender": "3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd", "senderPublicKey": "7Hi4o6vBstRs79NMVMjEove52dmP87RAcvNDAXN8C4Wi", "proofs": [ "3T7HQjPrB3MVRYq8wpa3Z3EffnJjUzXUNG2RB227p7dU5cbyRw85LTkLrjouZcCBFbKK9oCsfmU8aTmBVYJomBxJ" ], "script": "base64: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dERlY2sAAAABBQAAAARkZWNrCQEAAAAOZ2V0U2l4TmV3RGVja3MAAAAAAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwAAAAVtZUtleQAAAA1jYWxsZXJBZGRyZXNzAAAABGRlY2sEAAAAB2F2RGVjazIJAQAAAAdnZXREZWNrAAAAAQUAAAAEZGVjawQAAAAMY2FyZFBvc2l0aW9uCQEAAAAPZ2V0UmFuZG9tTnVtYmVyAAAAAwkAASwAAAACCQABLAAAAAIFAAAABW1lS2V5CQAEuQAAAAIFAAAAB2F2RGVjazIFAAAACXNlcGFyYXRvcgUAAAANY2FsbGVyQWRkcmVzcwkBAAAAF2dldFByZXZpb3VzUmFuZG9tTnVtYmVyAAAAAQUAAAANY2FsbGVyQWRkcmVzcwkAAZAAAAABBQAAAAdhdkRlY2syBAAAAARjYXJkCQABkQAAAAIFAAAAB2F2RGVjazIJAABqAAAAAgUAAAAMY2FyZFBvc2l0aW9uCQABkAAAAAEFAAAAB2F2RGVjazIEAAAAB2F2RGVjazMJAARRAAAAAgUAAAAHYXZEZWNrMgkAAGoAAAACBQAAAAxjYXJkUG9zaXRpb24JAAGQAAAAAQUAAAAHYXZEZWNrMgkABRUAAAADBQAAAARjYXJkBQAAAAxjYXJkUG9zaXRpb24FAAAAB2F2RGVjazMBAAAAD2dldEN1cnJlbnRSb3VuZAAAAAIAAAALY3VzdG9tUm91bmQAAAANY2FsbGVyQWRkcmVzcwMJAAAAAAAAAgUAAAALY3VzdG9tUm91bmQAAAAAAAAAAAAEAAAADGN1cnJlbnRSb3VuZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABl9yb3VuZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAGFVuYWJsZSB0byBmaW5kIHRoZSByb3VuZAUAAAAMY3VycmVudFJvdW5kBQAAAAtjdXN0b21Sb3VuZAAAAAMAAAABaQEAAAADYmV0AAAAAgAAAAlub3JtYWxCZXQAAAAGdGllQmV0BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAAXAJAQAAAAtnZXRQYXltZW50cwAAAAEFAAAAAWkEAAAADGN1cnJlbnRSb3VuZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABl9yb3VuZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwCQAAZAAAAAIFAAAAAWEAAAAAAAAAAAEAAAAAAAAAAAEEAAAABXJvdW5kCQABLAAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAAxjdXJyZW50Um91bmQDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXJvdW5kAgAAAAVfc3RvcAkAAAIAAAABAgAAABxUaGlzIHJvdW5kIGlzIGFscmVhZHkgcGxheWVkAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwUAAAAFcm91bmQJAAACAAAAAQIAAAAbWW91IGNhbm5vdCBiZXQgb24gdGhpcyBnYW1lAwkBAAAAAiE9AAAAAgUAAAABcAkAAGQAAAACBQAAAAlub3JtYWxCZXQFAAAABnRpZUJldAkAAAIAAAABAgAAADNub3JtYWwgYmV0ICsgdGllIGJldCBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIHBheW1lbnQDCQAAZgAAAAIFAAAAAXAFAAAABm1heEJldAkAAAIAAAABCQABLAAAAAICAAAAKFRoZSBiZXQgbmVlZHMgdG8gYmUgbG93ZXIgb3IgZXF1YWwgdGhhbiAJAAGkAAAAAQUAAAAGbWF4QmV0BAAAAA1hdmFpbGFibGVQcm9wCQABLAAAAAIFAAAABXJvdW5kAgAAAAVfZGVjawQAAAAGYXZEZWNrCQEAAAAQZ2V0QXZhaWxhYmxlRGVjawAAAAIFAAAABHRoaXMFAAAADWF2YWlsYWJsZVByb3AEAAAACyR0MDM4ODAzOTg3CQEAAAAlZ2V0UGxheWVyQ2FyZEFuZFBvc2l0aW9uQW5kVXBkYXRlRGVjawAAAAMFAAAABXJvdW5kBQAAAAVyb3VuZAUAAAAGYXZEZWNrBAAAAApjYXJkUGxheWVyCAUAAAALJHQwMzg4MDM5ODcAAAACXzEEAAAAEmNhcmRQb3NpdGlvblBsYXllcggFAAAACyR0MDM4ODAzOTg3AAAAAl8yBAAAAAdhdkRlY2sxCAUAAAALJHQwMzg4MDM5ODcAAAACXzMEAAAACyR0MDM5OTI0MTExCQEAAAAlZ2V0UGxheWVyQ2FyZEFuZFBvc2l0aW9uQW5kVXBkYXRlRGVjawAAAAMJAAEsAAAAAgUAAAAFcm91bmQFAAAACmNhcmRQbGF5ZXIFAAAABXJvdW5kBQAAAAdhdkRlY2sxBAAAAApjYXJkQ2FzaW5vCAUAAAALJHQwMzk5MjQxMTEAAAACXzEEAAAAEmNhcmRQb3NpdGlvbkNhc2lubwgFAAAACyR0MDM5OTI0MTExAAAAAl8yBAAAAAdhdkRlY2syCAUAAAALJHQwMzk5MjQxMTEAAAACXzMDCQAAAAAAAAIJAQAAAAxnZXRDYXJkVmFsdWUAAAABBQAAAApjYXJkUGxheWVyCQEAAAAMZ2V0Q2FyZFZhbHVlAAAAAQUAAAAKY2FyZENhc2lubwQAAAAMY3VycmVudERyYXdzAAAAAAAAAAABAwkBAAAAAiE9AAAAAgUAAAAGdGllQmV0AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABl9yb3VuZAUAAAAMY3VycmVudFJvdW5kCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAVyb3VuZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nhc2lub0NhcmQFAAAACmNhcmRDYXNpbm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAADV9kcmF3U2VxdWVuY2UFAAAADGN1cnJlbnREcmF3cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAAKX2JldEFtb3VudAUAAAAJbm9ybWFsQmV0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGQAAAACCQAAZAAAAAIJAABoAAAAAgUAAAAGdGllQmV0AAAAAAAAAAAKBQAAAAZ0aWVCZXQIBQAAAAFpAAAAA2ZlZQUAAAAEdW5pdAUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABl9yb3VuZAUAAAAMY3VycmVudFJvdW5kCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAVyb3VuZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nhc2lub0NhcmQFAAAACmNhcmRDYXNpbm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAADV9kcmF3U2VxdWVuY2UFAAAADGN1cnJlbnREcmF3cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAAKX2JldEFtb3VudAUAAAAJbm9ybWFsQmV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfaW5pdGlhbEZlZQgFAAAAAWkAAAADZmVlBQAAAANuaWwDCQEAAAAOaXNQbGF5ZXJXaW5uZXIAAAACBQAAAApjYXJkUGxheWVyBQAAAApjYXJkQ2FzaW5vCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAVyb3VuZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAAGX3JvdW5kBQAAAAxjdXJyZW50Um91bmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nhc2lub0NhcmQFAAAACmNhcmRDYXNpbm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAACl9iZXRBbW91bnQFAAAACW5vcm1hbEJldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2luaXRpYWxGZWUIBQAAAAFpAAAAA2ZlZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABkAAAAAgUAAAAJbm9ybWFsQmV0CAUAAAABaQAAAANmZWUFAAAABHVuaXQJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9zdG9wBgUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAVyb3VuZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAAGX3JvdW5kBQAAAAxjdXJyZW50Um91bmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nhc2lub0NhcmQFAAAACmNhcmRDYXNpbm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAACl9iZXRBbW91bnQFAAAACW5vcm1hbEJldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2luaXRpYWxGZWUIBQAAAAFpAAAAA2ZlZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAAFX3N0b3AGBQAAAANuaWwAAAABaQEAAAAJc3VycmVuZGVyAAAAAQAAAAtjdXN0b21Sb3VuZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAApyb3VuZFRvVXNlCQEAAAAPZ2V0Q3VycmVudFJvdW5kAAAAAgUAAAALY3VzdG9tUm91bmQFAAAADWNhbGxlckFkZHJlc3MEAAAABXJvdW5kCQABLAAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAApyb3VuZFRvVXNlAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzBQAAAAVyb3VuZAkAAAIAAAABAgAAABhUaGlzIHJvdW5kIGlzIG5vdCBwbGF5ZWQDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXJvdW5kAgAAAAVfc3RvcAkAAAIAAAABAgAAABxUaGlzIHJvdW5kIGlzIGFscmVhZHkgcGxheWVkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXJvdW5kAgAAAA1fZHJhd1NlcXVlbmNlCQAAAgAAAAECAAAAF1RoaXMgZ2FtZSBpcyBub3Qgb24gd2FyBAAAAAliZXRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAVyb3VuZAIAAAAKX2JldEFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAIlVuYWJsZSB0byBmaW5kIG9yaWdpbmFsIGJldCBhbW91bnQEAAAAAWYJAQAAAAZnZXRGZWUAAAABCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfaW5pdGlhbEZlZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABkAAAAAgkAAGkAAAACBQAAAAliZXRBbW91bnQAAAAAAAAAAAIFAAAAAWYFAAAABHVuaXQJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9zdG9wBgUAAAADbmlsAAAAAWkBAAAAB2dvVG9XYXIAAAABAAAAC2N1c3RvbVJvdW5kBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACnJvdW5kVG9Vc2UJAQAAAA9nZXRDdXJyZW50Um91bmQAAAACBQAAAAtjdXN0b21Sb3VuZAUAAAANY2FsbGVyQWRkcmVzcwQAAAAFcm91bmQJAAEsAAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAACnJvdW5kVG9Vc2UDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMFAAAABXJvdW5kCQAAAgAAAAECAAAAGFRoaXMgcm91bmQgaXMgbm90IHBsYXllZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9zdG9wCQAAAgAAAAECAAAAHFRoaXMgcm91bmQgaXMgYWxyZWFkeSBwbGF5ZWQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFcm91bmQCAAAADV9kcmF3U2VxdWVuY2UJAAACAAAAAQIAAAAXVGhpcyBnYW1lIGlzIG5vdCBvbiB3YXIEAAAACWJldEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXJvdW5kAgAAAApfYmV0QW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAiVW5hYmxlIHRvIGZpbmQgb3JpZ2luYWwgYmV0IGFtb3VudAQAAAABcAkBAAAAC2dldFBheW1lbnRzAAAAAQUAAAABaQQAAAABZgkBAAAABmdldEZlZQAAAAEJAAEsAAAAAgUAAAAFcm91bmQCAAAAC19pbml0aWFsRmVlAwkBAAAAAiE9AAAAAgUAAAABcAUAAAAJYmV0QW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAVb3JpZ2luYWwgYmV0IGFtb3VudCAoCQABpAAAAAEFAAAACWJldEFtb3VudAIAAAAkKSBkaWZmZXJlbnQgdG8gdGhlIGN1cnJlbnQgcGF5bWVudCAoCQABpAAAAAEFAAAAAXACAAAAASkEAAAADWF2YWlsYWJsZVByb3AJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9kZWNrBAAAAAZhdkRlY2sJAQAAABBnZXRBdmFpbGFibGVEZWNrAAAAAgUAAAAEdGhpcwUAAAANYXZhaWxhYmxlUHJvcAQAAAALJHQwOTM0MDk0NDAJAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwUAAAAFcm91bmQFAAAABXJvdW5kBQAAAAZhdkRlY2sEAAAAB2J1cm5lZDEIBQAAAAskdDA5MzQwOTQ0MAAAAAJfMQQAAAAKYnVybmVkUG9zMQgFAAAACyR0MDkzNDA5NDQwAAAAAl8yBAAAAAtidXJuZWREZWNrMQgFAAAACyR0MDkzNDA5NDQwAAAAAl8zBAAAAAskdDA5NDUzOTU2NgkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADCQABLAAAAAIFAAAABXJvdW5kBQAAAAdidXJuZWQxBQAAAAVyb3VuZAUAAAALYnVybmVkRGVjazEEAAAAB2J1cm5lZDIIBQAAAAskdDA5NDUzOTU2NgAAAAJfMQQAAAAKYnVybmVkUG9zMggFAAAACyR0MDk0NTM5NTY2AAAAAl8yBAAAAAtidXJuZWREZWNrMggFAAAACyR0MDk0NTM5NTY2AAAAAl8zBAAAAAskdDA5NTc5OTY5MgkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADCQABLAAAAAIFAAAABXJvdW5kBQAAAAdidXJuZWQyBQAAAAVyb3VuZAUAAAALYnVybmVkRGVjazIEAAAAB2J1cm5lZDMIBQAAAAskdDA5NTc5OTY5MgAAAAJfMQQAAAAKYnVybmVkUG9zMwgFAAAACyR0MDk1Nzk5NjkyAAAAAl8yBAAAAAtidXJuZWREZWNrMwgFAAAACyR0MDk1Nzk5NjkyAAAAAl8zBAAAAAskdDA5NzA1OTgyNQkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADCQABLAAAAAIFAAAABXJvdW5kBQAAAAdidXJuZWQzBQAAAAVyb3VuZAUAAAALYnVybmVkRGVjazMEAAAACmNhcmRQbGF5ZXIIBQAAAAskdDA5NzA1OTgyNQAAAAJfMQQAAAASY2FyZFBvc2l0aW9uUGxheWVyCAUAAAALJHQwOTcwNTk4MjUAAAACXzIEAAAAB2F2RGVjazEIBQAAAAskdDA5NzA1OTgyNQAAAAJfMwQAAAALJHQwOTgzODk5NTcJAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwkAASwAAAACBQAAAAVyb3VuZAUAAAAKY2FyZFBsYXllcgUAAAAFcm91bmQFAAAAB2F2RGVjazEEAAAACmNhcmRDYXNpbm8IBQAAAAskdDA5ODM4OTk1NwAAAAJfMQQAAAASY2FyZFBvc2l0aW9uQ2FzaW5vCAUAAAALJHQwOTgzODk5NTcAAAACXzIEAAAAB2F2RGVjazIIBQAAAAskdDA5ODM4OTk1NwAAAAJfMwMJAAAAAAAAAgkBAAAADGdldENhcmRWYWx1ZQAAAAEFAAAACmNhcmRQbGF5ZXIJAQAAAAxnZXRDYXJkVmFsdWUAAAABBQAAAApjYXJkQ2FzaW5vBAAAAAxjdXJyZW50RHJhd3MEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAVyb3VuZAIAAAANX2RyYXdTZXF1ZW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwCQAAZAAAAAIFAAAAAWEAAAAAAAAAAAEAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANYXZhaWxhYmxlUHJvcAkABLkAAAACBQAAAAdhdkRlY2syBQAAAAlzZXBhcmF0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nhc2lub0NhcmQFAAAACmNhcmRDYXNpbm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAADV9kcmF3U2VxdWVuY2UFAAAADGN1cnJlbnREcmF3cwUAAAADbmlsAwkBAAAADmlzUGxheWVyV2lubmVyAAAAAgUAAAAKY2FyZFBsYXllcgUAAAAKY2FyZENhc2lubwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1hdmFpbGFibGVQcm9wCQAEuQAAAAIFAAAAB2F2RGVjazIFAAAACXNlcGFyYXRvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAARX0xhc3RSYW5kb25OdW1iZXIFAAAAEmNhcmRQb3NpdGlvbkNhc2lubwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfcGxheWVyQ2FyZAUAAAAKY2FyZFBsYXllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfY2FzaW5vQ2FyZAUAAAAKY2FyZENhc2lubwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABkAAAAAgUAAAABcAUAAAABZgUAAAAEdW5pdAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAAFX3N0b3AGBQAAAANuaWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANYXZhaWxhYmxlUHJvcAkABLkAAAACBQAAAAdhdkRlY2syBQAAAAlzZXBhcmF0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nhc2lub0NhcmQFAAAACmNhcmRDYXNpbm8JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9zdG9wBgUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXlhOHbM", "height": 1837385, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BfYdezzdzLy4uDFu2pHoJB9EDmGqM81MWcEyxhEEbPXg Next: C4ZjhaLPsYA3FW1p2S1EZZnrTCLRdRy3t9kYJMg2LqAK Diff:
OldNewDifferences
134134 then {
135135 let currentDraws = 1
136136 if ((tieBet != 0))
137- then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), p), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit)]
138- else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), p), IntegerEntry((round + "_initialFee"), i.fee)]
137+ then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit)]
138+ else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee)]
139139 }
140140 else if (isPlayerWinner(cardPlayer, cardCasino))
141- then [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), p), IntegerEntry((round + "_initialFee"), i.fee), ScriptTransfer(i.caller, (p + i.fee), unit), BooleanEntry((round + "_stop"), true)]
142- else [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), p), IntegerEntry((round + "_initialFee"), i.fee), BooleanEntry((round + "_stop"), true)]
141+ then [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee), ScriptTransfer(i.caller, (normalBet + i.fee), unit), BooleanEntry((round + "_stop"), true)]
142+ else [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee), BooleanEntry((round + "_stop"), true)]
143143 }
144144 }
145145
195195 else {
196196 let availableProp = (round + "_deck")
197197 let avDeck = getAvailableDeck(this, availableProp)
198- let $t093009400 = getPlayerCardAndPositionAndUpdateDeck(round, round, avDeck)
199- let burned1 = $t093009400._1
200- let burnedPos1 = $t093009400._2
201- let burnedDeck1 = $t093009400._3
202- let $t094139526 = getPlayerCardAndPositionAndUpdateDeck((round + burned1), round, burnedDeck1)
203- let burned2 = $t094139526._1
204- let burnedPos2 = $t094139526._2
205- let burnedDeck2 = $t094139526._3
206- let $t095399652 = getPlayerCardAndPositionAndUpdateDeck((round + burned2), round, burnedDeck2)
207- let burned3 = $t095399652._1
208- let burnedPos3 = $t095399652._2
209- let burnedDeck3 = $t095399652._3
210- let $t096659785 = getPlayerCardAndPositionAndUpdateDeck((round + burned3), round, burnedDeck3)
211- let cardPlayer = $t096659785._1
212- let cardPositionPlayer = $t096659785._2
213- let avDeck1 = $t096659785._3
214- let $t097989917 = getPlayerCardAndPositionAndUpdateDeck((round + cardPlayer), round, avDeck1)
215- let cardCasino = $t097989917._1
216- let cardPositionCasino = $t097989917._2
217- let avDeck2 = $t097989917._3
198+ let $t093409440 = getPlayerCardAndPositionAndUpdateDeck(round, round, avDeck)
199+ let burned1 = $t093409440._1
200+ let burnedPos1 = $t093409440._2
201+ let burnedDeck1 = $t093409440._3
202+ let $t094539566 = getPlayerCardAndPositionAndUpdateDeck((round + burned1), round, burnedDeck1)
203+ let burned2 = $t094539566._1
204+ let burnedPos2 = $t094539566._2
205+ let burnedDeck2 = $t094539566._3
206+ let $t095799692 = getPlayerCardAndPositionAndUpdateDeck((round + burned2), round, burnedDeck2)
207+ let burned3 = $t095799692._1
208+ let burnedPos3 = $t095799692._2
209+ let burnedDeck3 = $t095799692._3
210+ let $t097059825 = getPlayerCardAndPositionAndUpdateDeck((round + burned3), round, burnedDeck3)
211+ let cardPlayer = $t097059825._1
212+ let cardPositionPlayer = $t097059825._2
213+ let avDeck1 = $t097059825._3
214+ let $t098389957 = getPlayerCardAndPositionAndUpdateDeck((round + cardPlayer), round, avDeck1)
215+ let cardCasino = $t098389957._1
216+ let cardPositionCasino = $t098389957._2
217+ let avDeck2 = $t098389957._3
218218 if ((getCardValue(cardPlayer) == getCardValue(cardCasino)))
219219 then {
220220 let currentDraws = match getInteger(this, (round + "_drawSequence")) {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = ","
55
66 let maxBet = 100000000
77
88 func getFee (key) = match getInteger(this, key) {
99 case n: Int =>
1010 n
1111 case _ =>
1212 throw("Initial fee cannot be found")
1313 }
1414
1515
1616 func getNewDeck () = ["01C", "02C", "03C", "04C", "05C", "06C", "07C", "08C", "09C", "10C", "11C", "12C", "13C", "01D", "02D", "03D", "04D", "05D", "06D", "07D", "08D", "09D", "10D", "11D", "12D", "13D", "01H", "02H", "03H", "04H", "05H", "06H", "07H", "08H", "09H", "10H", "11H", "12H", "13H", "01S", "02S", "03S", "04S", "05S", "06S", "07S", "08S", "09S", "10S", "11S", "12S", "13S"]
1717
1818
1919 func getSixNewDecks () = (((((getNewDeck() ++ getNewDeck()) ++ getNewDeck()) ++ getNewDeck()) ++ getNewDeck()) ++ getNewDeck())
2020
2121
2222 func getDeck (deck) = if ((0 >= size(deck)))
2323 then getSixNewDecks()
2424 else deck
2525
2626
2727 func getRandomNumber (salt1,salt2,answersCount) = {
2828 let hash = sha256(toBytes((salt1 + salt2)))
2929 let index = toInt(hash)
3030 let rand = (index % answersCount)
3131 if ((0 > rand))
3232 then ((-1 * rand) + 1)
3333 else (rand + 1)
3434 }
3535
3636
3737 func getPreviousRandomNumber (address) = match getInteger(this, (address + "_LastRandonNumber")) {
3838 case n: Int =>
3939 toString(n)
4040 case _ =>
4141 address
4242 }
4343
4444
4545 func getPayments (i) = if ((size(i.payments) == 0))
4646 then throw("Payment must be attached")
4747 else if ((size(i.payments) == 1))
4848 then {
4949 let pmt = i.payments[0]
5050 if (isDefined(pmt.assetId))
5151 then throw("This function accepts WAVES tokens only (0)")
5252 else pmt.amount
5353 }
5454 else throw("There should be only one payment")
5555
5656
5757 func getCardValue (stringCard) = {
5858 let p = parseIntValue(take(stringCard, 2))
5959 if ((p == 1))
6060 then 20
6161 else p
6262 }
6363
6464
6565 func isPlayerWinner (cardPlayer,cardCasino) = {
6666 let p = getCardValue(cardPlayer)
6767 let o = getCardValue(cardCasino)
6868 (p > o)
6969 }
7070
7171
7272 func getAvailableDeck (this,availableProp) = if (isDefined(getString(this, availableProp)))
7373 then {
7474 let stringDeck = getStringValue(this, availableProp)
7575 let deck = split(stringDeck, separator)
7676 getDeck(deck)
7777 }
7878 else getSixNewDecks()
7979
8080
8181 func getPlayerCardAndPositionAndUpdateDeck (meKey,callerAddress,deck) = {
8282 let avDeck2 = getDeck(deck)
8383 let cardPosition = getRandomNumber(((meKey + makeString(avDeck2, separator)) + callerAddress), getPreviousRandomNumber(callerAddress), size(avDeck2))
8484 let card = avDeck2[(cardPosition % size(avDeck2))]
8585 let avDeck3 = removeByIndex(avDeck2, (cardPosition % size(avDeck2)))
8686 $Tuple3(card, cardPosition, avDeck3)
8787 }
8888
8989
9090 func getCurrentRound (customRound,callerAddress) = if ((customRound == 0))
9191 then {
9292 let currentRound = match getInteger(this, (callerAddress + "_round")) {
9393 case a: Int =>
9494 a
9595 case _ =>
9696 throw("Unable to find the round")
9797 }
9898 currentRound
9999 }
100100 else customRound
101101
102102
103103 @Callable(i)
104104 func bet (normalBet,tieBet) = {
105105 let callerAddress = toBase58String(i.caller.bytes)
106106 let p = getPayments(i)
107107 let currentRound = match getInteger(this, (callerAddress + "_round")) {
108108 case a: Int =>
109109 (a + 1)
110110 case _ =>
111111 1
112112 }
113113 let round = ((callerAddress + "_") + toString(currentRound))
114114 if (isDefined(getBoolean(this, (round + "_stop"))))
115115 then throw("This round is already played")
116116 else if (isDefined(getString(this, round)))
117117 then throw("You cannot bet on this game")
118118 else if ((p != (normalBet + tieBet)))
119119 then throw("normal bet + tie bet should be equal to the payment")
120120 else if ((p > maxBet))
121121 then throw(("The bet needs to be lower or equal than " + toString(maxBet)))
122122 else {
123123 let availableProp = (round + "_deck")
124124 let avDeck = getAvailableDeck(this, availableProp)
125125 let $t038803987 = getPlayerCardAndPositionAndUpdateDeck(round, round, avDeck)
126126 let cardPlayer = $t038803987._1
127127 let cardPositionPlayer = $t038803987._2
128128 let avDeck1 = $t038803987._3
129129 let $t039924111 = getPlayerCardAndPositionAndUpdateDeck((round + cardPlayer), round, avDeck1)
130130 let cardCasino = $t039924111._1
131131 let cardPositionCasino = $t039924111._2
132132 let avDeck2 = $t039924111._3
133133 if ((getCardValue(cardPlayer) == getCardValue(cardCasino)))
134134 then {
135135 let currentDraws = 1
136136 if ((tieBet != 0))
137- then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), p), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit)]
138- else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), p), IntegerEntry((round + "_initialFee"), i.fee)]
137+ then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit)]
138+ else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee)]
139139 }
140140 else if (isPlayerWinner(cardPlayer, cardCasino))
141- then [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), p), IntegerEntry((round + "_initialFee"), i.fee), ScriptTransfer(i.caller, (p + i.fee), unit), BooleanEntry((round + "_stop"), true)]
142- else [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), p), IntegerEntry((round + "_initialFee"), i.fee), BooleanEntry((round + "_stop"), true)]
141+ then [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee), ScriptTransfer(i.caller, (normalBet + i.fee), unit), BooleanEntry((round + "_stop"), true)]
142+ else [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee), BooleanEntry((round + "_stop"), true)]
143143 }
144144 }
145145
146146
147147
148148 @Callable(i)
149149 func surrender (customRound) = {
150150 let callerAddress = toBase58String(i.caller.bytes)
151151 let roundToUse = getCurrentRound(customRound, callerAddress)
152152 let round = ((callerAddress + "_") + toString(roundToUse))
153153 if (!(isDefined(getBoolean(this, round))))
154154 then throw("This round is not played")
155155 else if (isDefined(getBoolean(this, (round + "_stop"))))
156156 then throw("This round is already played")
157157 else if (!(isDefined(getInteger(this, (round + "_drawSequence")))))
158158 then throw("This game is not on war")
159159 else {
160160 let betAmount = match getInteger(this, (round + "_betAmount")) {
161161 case a: Int =>
162162 a
163163 case _ =>
164164 throw("Unable to find original bet amount")
165165 }
166166 let f = getFee((round + "_initialFee"))
167167 [ScriptTransfer(i.caller, ((betAmount / 2) + f), unit), BooleanEntry((round + "_stop"), true)]
168168 }
169169 }
170170
171171
172172
173173 @Callable(i)
174174 func goToWar (customRound) = {
175175 let callerAddress = toBase58String(i.caller.bytes)
176176 let roundToUse = getCurrentRound(customRound, callerAddress)
177177 let round = ((callerAddress + "_") + toString(roundToUse))
178178 if (!(isDefined(getBoolean(this, round))))
179179 then throw("This round is not played")
180180 else if (isDefined(getBoolean(this, (round + "_stop"))))
181181 then throw("This round is already played")
182182 else if (!(isDefined(getInteger(this, (round + "_drawSequence")))))
183183 then throw("This game is not on war")
184184 else {
185185 let betAmount = match getInteger(this, (round + "_betAmount")) {
186186 case a: Int =>
187187 a
188188 case _ =>
189189 throw("Unable to find original bet amount")
190190 }
191191 let p = getPayments(i)
192192 let f = getFee((round + "_initialFee"))
193193 if ((p != betAmount))
194194 then throw((((("original bet amount (" + toString(betAmount)) + ") different to the current payment (") + toString(p)) + ")"))
195195 else {
196196 let availableProp = (round + "_deck")
197197 let avDeck = getAvailableDeck(this, availableProp)
198- let $t093009400 = getPlayerCardAndPositionAndUpdateDeck(round, round, avDeck)
199- let burned1 = $t093009400._1
200- let burnedPos1 = $t093009400._2
201- let burnedDeck1 = $t093009400._3
202- let $t094139526 = getPlayerCardAndPositionAndUpdateDeck((round + burned1), round, burnedDeck1)
203- let burned2 = $t094139526._1
204- let burnedPos2 = $t094139526._2
205- let burnedDeck2 = $t094139526._3
206- let $t095399652 = getPlayerCardAndPositionAndUpdateDeck((round + burned2), round, burnedDeck2)
207- let burned3 = $t095399652._1
208- let burnedPos3 = $t095399652._2
209- let burnedDeck3 = $t095399652._3
210- let $t096659785 = getPlayerCardAndPositionAndUpdateDeck((round + burned3), round, burnedDeck3)
211- let cardPlayer = $t096659785._1
212- let cardPositionPlayer = $t096659785._2
213- let avDeck1 = $t096659785._3
214- let $t097989917 = getPlayerCardAndPositionAndUpdateDeck((round + cardPlayer), round, avDeck1)
215- let cardCasino = $t097989917._1
216- let cardPositionCasino = $t097989917._2
217- let avDeck2 = $t097989917._3
198+ let $t093409440 = getPlayerCardAndPositionAndUpdateDeck(round, round, avDeck)
199+ let burned1 = $t093409440._1
200+ let burnedPos1 = $t093409440._2
201+ let burnedDeck1 = $t093409440._3
202+ let $t094539566 = getPlayerCardAndPositionAndUpdateDeck((round + burned1), round, burnedDeck1)
203+ let burned2 = $t094539566._1
204+ let burnedPos2 = $t094539566._2
205+ let burnedDeck2 = $t094539566._3
206+ let $t095799692 = getPlayerCardAndPositionAndUpdateDeck((round + burned2), round, burnedDeck2)
207+ let burned3 = $t095799692._1
208+ let burnedPos3 = $t095799692._2
209+ let burnedDeck3 = $t095799692._3
210+ let $t097059825 = getPlayerCardAndPositionAndUpdateDeck((round + burned3), round, burnedDeck3)
211+ let cardPlayer = $t097059825._1
212+ let cardPositionPlayer = $t097059825._2
213+ let avDeck1 = $t097059825._3
214+ let $t098389957 = getPlayerCardAndPositionAndUpdateDeck((round + cardPlayer), round, avDeck1)
215+ let cardCasino = $t098389957._1
216+ let cardPositionCasino = $t098389957._2
217+ let avDeck2 = $t098389957._3
218218 if ((getCardValue(cardPlayer) == getCardValue(cardCasino)))
219219 then {
220220 let currentDraws = match getInteger(this, (round + "_drawSequence")) {
221221 case a: Int =>
222222 (a + 1)
223223 case _ =>
224224 0
225225 }
226226 [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws)]
227227 }
228228 else if (isPlayerWinner(cardPlayer, cardCasino))
229229 then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), ScriptTransfer(i.caller, (p + f), unit), BooleanEntry((round + "_stop"), true)]
230230 else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), BooleanEntry((round + "_stop"), true)]
231231 }
232232 }
233233 }
234234
235235
236236 @Verifier(tx)
237237 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
238238

github/deemru/w8io/026f985 
110.93 ms