tx · a9WDsvvtRGtMyGwqxUymkougA2zvG4wg29as56HLzu4

3Mungn3ygy3DzpbDUKPbJQaeNKfQHu9fkK8:  -0.01300000 Waves

2022.11.10 20:14 [2311339] smart account 3Mungn3ygy3DzpbDUKPbJQaeNKfQHu9fkK8 > SELF 0.00000000 Waves

{ "type": 13, "id": "a9WDsvvtRGtMyGwqxUymkougA2zvG4wg29as56HLzu4", "fee": 1300000, "feeAssetId": null, "timestamp": 1668100444436, "version": 2, "chainId": 84, "sender": "3Mungn3ygy3DzpbDUKPbJQaeNKfQHu9fkK8", "senderPublicKey": "6L7iBerXuPa5E74WCM6fLSB2VM1bMG9jgASH8tu9orHN", "proofs": [ "v6ZABN7Ftme5utetpwRpo9JJ6yVoyPKcLVEAeQ5Ta1u1qEWWQpMwuCqzGJceLCeFMGCLJo4PfbCGG6rMr4yhwoc" ], "script": "base64:BgIoCAISBwoFAQgBAQgSBgoEAQEICBIDCgEBEgQKAgEIEgQKAhEYEgASACoAD0dBTUVfVFlQRV9HUk9VUAIFR3JvdXAAEUdBTUVfVFlQRV9QTEFUT0ZGAghQbGF5LW9mZgAKR0FNRV9UWVBFUwkAzAgCBQ9HQU1FX1RZUEVfR1JPVVAJAMwIAgURR0FNRV9UWVBFX1BMQVRPRkYFA25pbAAEVVNEVAEgbySjyqsw3FIpmOgsYVruWn8jTcItdbvpnapU4NLQB8EAB01JTl9CRVQAwIQ9AAhPTkVfSE9VUgkAaAIJAGgCAAUAPADoBwARTU9ORVlfQk9YX0FERFJFRVMJAQdBZGRyZXNzAQEaAVSxYgy7BRV2F+zuKtUZtXyHmoiep9yqU84AB0JFVF9GRUUA9AMACUZFRV9TQ0FMRQCQTgAHa0FjdGl2ZQIGYWN0aXZlAAtrQWN0aXZlR2xvYgIUYWN0aXZlX2FsbF9jb250cmFjdHMABmtDYXVzZQIOc2h1dGRvd25fY2F1c2UADWtHYW1lU3RyYVRpbWUCDl9zdGFydEdhbWVUaW1lAAlrR2FtZVR5cGUCCV9HYW1lVHlwZQALa0xhc3RHYW1lSWQCDGxhc3RfZ2FtZV9pZAAKa1RvdGFsQmV0cwIKX3RvdGFsQmV0cwAHa1RvV2luQQIHX3RvV2luQQAHa1RvV2luQgIHX3RvV2luQgAHa09uRHJhdwIHX29uRHJhdwALa0dhbWVSZXN1bHQCB19yZXN1bHQABWtCYW5rAgVfYmFuawAKa0ZpbmFsVGltZQINX2ZpbmFsVGltZeKAnQARa1RvdGFsQmV0c0ZvclR5cGUCEV90b3RhbEJldHNGb3JUeXBlAAhrVXNlckJldAIIX3VzZXJCZXQACmtVc2VyUmVmSWQCBl9yZWZJZAAMa1VzZXJDbGFpbWVkAghfY2xhaW1lZAANa0FkbWluUHViS2V5MQILYWRtaW5fcHViXzEADWtBZG1pblB1YktleTICC2FkbWluX3B1Yl8yAA1rQWRtaW5QdWJLZXkzAgthZG1pbl9wdWJfMwAGb3JhY2xlCQEHQWRkcmVzcwEBGgFXiv8IaJo1ukDNYXTyEjfepjfw+jjO6B44ARNnZXRCYXNlNThGcm9tT3JhY2xlAQNrZXkEByRtYXRjaDAJAJ0IAgUGb3JhY2xlBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZzdHJpbmcFByRtYXRjaDAJANkEAQUGc3RyaW5nBAdub3RoaW5nBQckbWF0Y2gwCQACAQkArAICBQNrZXkCCGlzIGVtcHR5AAxhZG1pblB1YktleTEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MQAMYWRtaW5QdWJLZXkyCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTIADGFkbWluUHViS2V5MwkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkzAAZhY3RpdmUJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUHa0FjdGl2ZQYACmFjdGl2ZUdsb2IJAQt2YWx1ZU9yRWxzZQIJAJsIAgUGb3JhY2xlBQtrQWN0aXZlR2xvYgYBCGlzQWN0aXZlAAMDBQZhY3RpdmUFCmFjdGl2ZUdsb2IHBQR1bml0CQACAQIfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAELaXNBZG1pbkNhbGwBAWkDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQxhZG1pblB1YktleTEJAMwIAgUMYWRtaW5QdWJLZXkyCQDMCAIFDGFkbWluUHViS2V5MwUDbmlsCAUBaQ9jYWxsZXJQdWJsaWNLZXkFBHVuaXQJAAIBAiFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24BB3N1c3BlbmQBBWNhdXNlCQDMCAIJAQxCb29sZWFuRW50cnkCBQdrQWN0aXZlBwkAzAgCCQELU3RyaW5nRW50cnkCBQZrQ2F1c2UFBWNhdXNlBQNuaWwBDWdldFVzZXJCZXRLZXkEBHVzZXIGZ2FtZUlkBHR5cGUGcmVzdWx0CQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFBHVzZXICAV8JAKQDAQUGZ2FtZUlkAgFfCQCkAwEFBHR5cGUCAV8FBnJlc3VsdAUIa1VzZXJCZXQBFmdldFRvdGFsQmV0c0ZvclR5cGVLZXkDBmdhbWVJZAR0eXBlBnJlc3VsdAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKQDAQUGZ2FtZUlkAgFfCQCkAwEFBHR5cGUCAV8FBnJlc3VsdAURa1RvdGFsQmV0c0ZvclR5cGUBC3ZhbGlkYXRlQmV0AwhnYW1lVHlwZQR0eXBlBnJlc3VsdAMJAAACBQR0eXBlAAEDCQECIT0CCQCxAgEFBnJlc3VsdAABCQACAQIvR2FtZSByZXN1bHQgbXVzdCBjb250YWluIG9ubHkgb25lIGxldHRlcjogQSxCLEQDCQEBIQEJAQhjb250YWlucwICA0FCRAUGcmVzdWx0CQACAQIvR2FtZSByZXN1bHQgbXVzdCBjb250YWluIG9ubHkgb25lIGxldHRlcjogQSxCLEQDAwkAAAIFCGdhbWVUeXBlBRFHQU1FX1RZUEVfUExBVE9GRgkBASEBCQEIY29udGFpbnMCAgJBQgUGcmVzdWx0BwkAAgECLUdhbWUgcmVzdWx0IG11c3QgY29udGFpbiBvbmx5IG9uZSBsZXR0ZXI6IEEsQgYDCQAAAgUEdHlwZQACBAdzcGxpdGVkCQC1CQIFBnJlc3VsdAIBXwMJAQIhPQIJAJADAQUHc3BsaXRlZAACCQACAQIWSW5uY29ycmVjdCBnYW1lIHJlc3VsdAQGYmFsbHNBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQdzcGxpdGVkAAACFklubmNvcnJlY3QgZ2FtZSByZXN1bHQEBmJhbGxzQgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUHc3BsaXRlZAABAhZJbm5jb3JyZWN0IGdhbWUgcmVzdWx0AwkAAAIFBmJhbGxzQQUGYmFsbHNCCQACAQIvSW5uY29ycmVjdCBnYW1lIHJlc3VsdC4gQSBhbmQgQiBjYW5ub3QgYmUgZXF1YWwGAwkAAAIFBHR5cGUAAwQHc3BsaXRlZAkAtQkCBQZyZXN1bHQCAV8DCQECIT0CCQCQAwEFB3NwbGl0ZWQAAgkAAgECFklubmNvcnJlY3QgZ2FtZSByZXN1bHQEBHRlYW0JAJEDAgUHc3BsaXRlZAAABAtiYWxsc0Ftb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUHc3BsaXRlZAABAhZJbm5jb3JyZWN0IGdhbWUgcmVzdWx0AwkAZwIAAAULYmFsbHNBbW91bnQJAAIBAjtJbm5jb3JyZWN0IGdhbWUgcmVzdWx0LCBiYWxscyBhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoZW4gMAMDCQECIT0CCQCxAgEFBHRlYW0AAQYJAQEhAQkBCGNvbnRhaW5zAgICQUIFBHRlYW0JAAIBAi1HYW1lIHJlc3VsdCBtdXN0IGNvbnRhaW4gb25seSBvbmUgbGV0dGVyOiBBLEIGBwcBaQERcG90ZW50aWFsV2lubmluZ3MFBmdhbWVJZAt1c2VyQWRkcmVzcwZhbW91bnQEdHlwZQZyZXN1bHQEB3NwbGRSZXMJALUJAgUGcmVzdWx0AgFfBAskdDAzOTkwNDM5OAMJAAACBQR0eXBlAAEDCQAAAgUGcmVzdWx0AgFBCQCVCgMCAzFfMAABAAADCQAAAgUGcmVzdWx0AgFCCQCVCgMCAzBfMQAAAAEJAJUKAwIDMV8xAAEAAQMJAAACBQR0eXBlAAIJAJUKAwUGcmVzdWx0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUHc3BsZFJlcwAACQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUHc3BsZFJlcwABAwkAAAIJAJEDAgUHc3BsZFJlcwAAAgFBCQCVCgMJAKwCAgkAkQMCBQdzcGxkUmVzAAECAl8wCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUHc3BsZFJlcwABAAAJAJUKAwkArAICAgIwXwkAkQMCBQdzcGxkUmVzAAEAAAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFB3NwbGRSZXMAAQQKZ2FtZVJlc3VsdAgFCyR0MDM5OTA0Mzk4Al8xBAZiYWxsc0EIBQskdDAzOTkwNDM5OAJfMgQGYmFsbHNCCAULJHQwMzk5MDQzOTgCXzMEBGRpZmYDCQBmAgUGYmFsbHNBBQZiYWxsc0IJAGUCBQZiYWxsc0EFBmJhbGxzQgkAZQIFBmJhbGxzQgUGYmFsbHNBBAZ3aW5uZXIDCQBmAgUGYmFsbHNBBQZiYWxsc0ICAUEDCQBmAgUGYmFsbHNCBQZiYWxsc0ECAUICAUQEAkcxCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEWZ2V0VG90YWxCZXRzRm9yVHlwZUtleQMFBmdhbWVJZAABBQZ3aW5uZXIAAAMJAAACBQR0eXBlAAEFBmFtb3VudAAABAJHMgkAZAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBFmdldFRvdGFsQmV0c0ZvclR5cGVLZXkDBQZnYW1lSWQAAgUKZ2FtZVJlc3VsdAAAAwkAAAIFBHR5cGUAAgUGYW1vdW50AAAEAkczCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEWZ2V0VG90YWxCZXRzRm9yVHlwZUtleQMFBmdhbWVJZAADCQCsAgIJAKwCAgUGd2lubmVyAgFfCQCkAwEFBGRpZmYAAAMJAAACBQR0eXBlAAMFBmFtb3VudAAABA10b3RhbFdpblZhbHVlCQBkAgkAZAIFAkcxBQJHMgUCRzMECXRvdGFsQmV0cwkAZAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICCQCkAwEFBmdhbWVJZAUKa1RvdGFsQmV0cwAABQZhbW91bnQEC2JhbmtXaXRoRmVlCQBlAgUJdG90YWxCZXRzBQ10b3RhbFdpblZhbHVlBANmZWUJAGsDBQtiYW5rV2l0aEZlZQUHQkVUX0ZFRQUJRkVFX1NDQUxFBAFCCQBlAgULYmFua1dpdGhGZWUFA2ZlZQQDVUIxCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQENZ2V0VXNlckJldEtleQQFC3VzZXJBZGRyZXNzBQZnYW1lSWQAAQUGd2lubmVyAAADCQAAAgUEdHlwZQABBQZhbW91bnQAAAQDVUIyCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQENZ2V0VXNlckJldEtleQQFC3VzZXJBZGRyZXNzBQZnYW1lSWQAAgUKZ2FtZVJlc3VsdAAAAwkAAAIFBHR5cGUAAgUGYW1vdW50AAAEA1VCMwkAZAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBDWdldFVzZXJCZXRLZXkEBQt1c2VyQWRkcmVzcwUGZ2FtZUlkAAMJAKwCAgkArAICBQZ3aW5uZXICAV8JAKQDAQUEZGlmZgAAAwkAAAIFBHR5cGUAAwUGYW1vdW50AAAEEHRvdGFsV2luVmFsdWVNYXgJAGQCCQBkAgUCRzEJAGgCBQJHMgADCQBoAgUCRzMAAgQCRDEDCQAAAgUCRzEAAAAACQBpAgkAaAIJAGQCBQJHMQkAaAIJAGkCBQJHMQUQdG90YWxXaW5WYWx1ZU1heAUBQgUDVUIxBQJHMQQCRDIDCQAAAgUCRzIAAAAACQBpAgkAaAIJAGQCBQJHMgkAaAIJAGkCCQBoAgUCRzIAAwUQdG90YWxXaW5WYWx1ZU1heAUBQgUDVUIyBQJHMgQCRDMDCQAAAgUCRzMAAAAACQBpAgkAaAIJAGQCBQJHMwkAaAIJAGkCCQBoAgUCRzMAAgUQdG90YWxXaW5WYWx1ZU1heAUBQgUDVUIzBQJHMwQLY2xhaW1BbW91bnQJAGQCCQBkAgUCRDEFAkQyBQJEMwkAlAoCBQNuaWwFC2NsYWltQW1vdW50AWkBA2JldAQGZ2FtZUlkBHR5cGUGcmVzdWx0BXJlZklkCQELdmFsdWVPckVsc2UCCQEIaXNBY3RpdmUABAR1c2VyCQClCAEIBQFpBmNhbGxlcgQGZ0lkU3RyCQCkAwEFBmdhbWVJZAQLJHQwNjEyNDYxOTkJAJQKAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQJcG10QW1vdW50CAULJHQwNjEyNDYxOTkCXzEECnBtdEFzc2V0SWQIBQskdDA2MTI0NjE5OQJfMgQNZ2FtZVN0YXJ0VGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQCsAgIJAKQDAQUGZ2FtZUlkBQ1rR2FtZVN0cmFUaW1lAAAECGdhbWVUeXBlCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIJAKQDAQUGZ2FtZUlkBQlrR2FtZVR5cGUDCQECIT0CBQpwbXRBc3NldElkBQRVU0RUCQACAQIeUGFteW1lbnQgbXVzdCBiZSBJbiBVU0RUIGFzc2V0AwkAZgIFB01JTl9CRVQFCXBtdEFtb3VudAkAAgEJAKwCAgkArAICAghNaW4gYmV0IAkApAMBCQBpAgUHTUlOX0JFVADAhD0CBFVTRFQDCQAAAgUNZ2FtZVN0YXJ0VGltZQAACQACAQkArAICAhhUaGVyZSBpcyBubyBnYW1lIHdpdGggaWQJAKQDAQUGZ2FtZUlkAwkAZwIJAGQCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUIT05FX0hPVVIFDWdhbWVTdGFydFRpbWUJAAIBAihCZXRzIG9uIHRoaXMgZ2FtZSBhcmUgbm8gbG9uZ2VyIGFjY2VwdGVkAwkBASEBCQELdmFsaWRhdGVCZXQDBQhnYW1lVHlwZQUEdHlwZQUGcmVzdWx0CQACAQISSW5jb3JyZWN0IGJldCB0eXBlBAdzcGxkUmVzCQC1CQIFBnJlc3VsdAIBXwQKdXNlckJldEtleQkBDWdldFVzZXJCZXRLZXkEBQR1c2VyBQZnYW1lSWQFBHR5cGUFBnJlc3VsdAQWdG90YWxCZXRzRm9yVHlwZUJldEtleQkBFmdldFRvdGFsQmV0c0ZvclR5cGVLZXkDBQZnYW1lSWQFBHR5cGUFBnJlc3VsdAQHdXNlckJldAkAZAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUKdXNlckJldEtleQAABQlwbXRBbW91bnQEE3RvdGFsQmV0c0ZvclR5cGVCZXQJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFFnRvdGFsQmV0c0ZvclR5cGVCZXRLZXkAAAUJcG10QW1vdW50BAl0b3RhbEJldHMJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAKwCAgUGZ0lkU3RyBQprVG90YWxCZXRzAAAFCXBtdEFtb3VudAQGdG9XaW5BCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQCsAgIFBmdJZFN0cgUHa1RvV2luQQAAAwMJAAACBQR0eXBlAAEJAAACBQZyZXN1bHQCAUEHBQlwbXRBbW91bnQDAwkAAAIFBHR5cGUAAgkAZgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQdzcGxkUmVzAAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQdzcGxkUmVzAAEHBQlwbXRBbW91bnQDAwkAAAIFBHR5cGUAAwkAAAIJAJEDAgUHc3BsZFJlcwAAAgFBBwUJcG10QW1vdW50AAAEBnRvV2luQgkAZAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICBQZnSWRTdHIFB2tUb1dpbkIAAAMDCQAAAgUEdHlwZQABCQAAAgUGcmVzdWx0AgFCBwUJcG10QW1vdW50AwMJAAACBQR0eXBlAAIJAGYCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUHc3BsZFJlcwABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUHc3BsZFJlcwAABwUJcG10QW1vdW50AwMJAAACBQR0eXBlAAMJAAACCQCRAwIFB3NwbGRSZXMAAAIBQgcFCXBtdEFtb3VudAAABAZvbkRyYXcJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAKwCAgUGZ0lkU3RyBQdrT25EcmF3AAADAwkAAAIFBHR5cGUAAQkAAAIFBnJlc3VsdAIBRAcFCXBtdEFtb3VudAAACQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFCnVzZXJCZXRLZXkFB3VzZXJCZXQJAMwIAgkBDEludGVnZXJFbnRyeQIFFnRvdGFsQmV0c0ZvclR5cGVCZXRLZXkFE3RvdGFsQmV0c0ZvclR5cGVCZXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUGZ0lkU3RyBQprVG90YWxCZXRzBQl0b3RhbEJldHMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUGZ0lkU3RyBQdrVG9XaW5BBQZ0b1dpbkEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUGZ0lkU3RyBQdrVG9XaW5CBQZ0b1dpbkIJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUGZ0lkU3RyBQdrT25EcmF3BQZvbkRyYXcFA25pbAMJAQEhAQkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwkArAICBQR1c2VyBQprVXNlclJlZklkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdXNlcgUKa1VzZXJSZWZJZAUFcmVmSWQFA25pbAUDbmlsAWkBBWNsYWltAQZnYW1lSWQJAQt2YWx1ZU9yRWxzZQIJAQhpc0FjdGl2ZQAEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBAZnSWRTdHIJAKQDAQUGZ2FtZUlkBAlmaW5hbFRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzCQCsAgIFBmdJZFN0cgUKa0ZpbmFsVGltZQIkWW91IGNhbiBjbGFpbSBvbmx5IGFmdGVyIGdhbWUgZmluaXNoAwkAZgIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQBkAgUJZmluYWxUaW1lBQhPTkVfSE9VUgkAAgECN1lvdSBjYW4gY2xhaW0gb25seSBhZnRlciBvbmUgaG91ciBwYXNzIGFmdGVyIGZpbmFsIHRpbWUDCQEJaXNEZWZpbmVkAQkAmwgCBQR0aGlzCQCsAgIJAKwCAgkArAICBQR1c2VyAgFfBQZnSWRTdHIFDGtVc2VyQ2xhaW1lZAkAAgECFllvdSBhcmUgYWxyZWR5IGNsYWltZWQECmdhbWVSZXN1bHQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUGZ0lkU3RyBQtrR2FtZVJlc3VsdAQHc3BsZFJlcwkAtQkCBQpnYW1lUmVzdWx0AgFfBAZiYWxsc0EJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFB3NwbGRSZXMAAAIWSW5uY29ycmVjdCBnYW1lIHJlc3VsdAQGYmFsbHNCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQdzcGxkUmVzAAECFklubmNvcnJlY3QgZ2FtZSByZXN1bHQEBGRpZmYDCQBmAgUGYmFsbHNBBQZiYWxsc0IJAGUCBQZiYWxsc0EFBmJhbGxzQgkAZQIFBmJhbGxzQgUGYmFsbHNBBAZ3aW5uZXIDCQBmAgUGYmFsbHNBBQZiYWxsc0ICAUEDCQBmAgUGYmFsbHNCBQZiYWxsc0ECAUICAUQEAUIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAKwCAgUGZ0lkU3RyBQVrQmFuawQDVUIxCQELdmFsdWVPckVsc2UCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzCQENZ2V0VXNlckJldEtleQQFBHVzZXIFBmdhbWVJZAABBQZ3aW5uZXIAAAQDVUIyCQELdmFsdWVPckVsc2UCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzCQENZ2V0VXNlckJldEtleQQFBHVzZXIFBmdhbWVJZAACBQpnYW1lUmVzdWx0AAAEA1VCMwkBC3ZhbHVlT3JFbHNlAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwkBDWdldFVzZXJCZXRLZXkEBQR1c2VyBQZnYW1lSWQAAwkArAICCQCsAgIFBndpbm5lcgIBXwkApAMBBQRkaWZmAAAEAkcxCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARZnZXRUb3RhbEJldHNGb3JUeXBlS2V5AwUGZ2FtZUlkAAEFBndpbm5lcgAABAJHMgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEWZ2V0VG90YWxCZXRzRm9yVHlwZUtleQMFBmdhbWVJZAACBQpnYW1lUmVzdWx0AAAEAkczCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARZnZXRUb3RhbEJldHNGb3JUeXBlS2V5AwUGZ2FtZUlkAAMJAKwCAgkArAICBQZ3aW5uZXICAV8JAKQDAQUEZGlmZgAABBB0b3RhbFdpblZhbHVlTWF4CQBkAgkAZAIFAkcxCQBoAgUCRzIAAwkAaAIFAkczAAIEAkQxAwkAAAIFAkcxAAAAAAkAaQIJAGgCCQBkAgUCRzEJAGgCCQBpAgUCRzEFEHRvdGFsV2luVmFsdWVNYXgFAUIFA1VCMQUCRzEEAkQyAwkAAAIFAkcyAAAAAAkAaQIJAGgCCQBkAgUCRzIJAGgCCQBpAgkAaAIFAkcyAAMFEHRvdGFsV2luVmFsdWVNYXgFAUIFA1VCMgUCRzIEAkQzAwkAAAIFAkczAAAAAAkAaQIJAGgCCQBkAgUCRzMJAGgCCQBpAgkAaAIFAkczAAIFEHRvdGFsV2luVmFsdWVNYXgFAUIFA1VCMwUCRzMEC2NsYWltQW1vdW50CQBkAgkAZAIFAkQxBQJEMgUCRDMDCQAAAgULY2xhaW1BbW91bnQAAAkAAgECEE5vdGhpbmcgdG8gY2xhaW0JAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUGZ0lkU3RyBQxrVXNlckNsYWltZWQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULY2xhaW1BbW91bnQFBFVTRFQFA25pbAULY2xhaW1BbW91bnQBaQELZ2FtZVN1bW1hcnkCBmdhbWVJZAZyZXN1bHQEBmdJZFN0cgkApAMBBQZnYW1lSWQEDWdhbWVTdGFydFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICCQCkAwEFBmdhbWVJZAUNa0dhbWVTdHJhVGltZQAAAwkAAAIFDWdhbWVTdGFydFRpbWUAAAkAAgEJAKwCAgIYVGhlcmUgaXMgbm8gZ2FtZSB3aXRoIGlkCQCkAwEFBmdhbWVJZAQHc3BsZFJlcwkAtQkCBQZyZXN1bHQCAV8EBmJhbGxzQQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUHc3BsZFJlcwAAAhZJbm5jb3JyZWN0IGdhbWUgcmVzdWx0BAZiYWxsc0IJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFB3NwbGRSZXMAAQIWSW5uY29ycmVjdCBnYW1lIHJlc3VsdAQEZGlmZgMJAGYCBQZiYWxsc0EFBmJhbGxzQgkAZQIFBmJhbGxzQQUGYmFsbHNCCQBlAgUGYmFsbHNCBQZiYWxsc0EEBndpbm5lcgMJAGYCBQZiYWxsc0EFBmJhbGxzQgIBQQMJAGYCBQZiYWxsc0IFBmJhbGxzQQIBQgIBRAQNdG90YWxXaW5UeXBlMQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEWZ2V0VG90YWxCZXRzRm9yVHlwZUtleQMFBmdhbWVJZAABBQZ3aW5uZXIAAAQNdG90YWxXaW5UeXBlMgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEWZ2V0VG90YWxCZXRzRm9yVHlwZUtleQMFBmdhbWVJZAACBQZyZXN1bHQAAAQNdG90YWxXaW5UeXBlMwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEWZ2V0VG90YWxCZXRzRm9yVHlwZUtleQMFBmdhbWVJZAADCQCsAgIJAKwCAgUGd2lubmVyAgFfCQCkAwEFBGRpZmYAAAQNdG90YWxXaW5WYWx1ZQkAZAIJAGQCBQ10b3RhbFdpblR5cGUxBQ10b3RhbFdpblR5cGUyBQ10b3RhbFdpblR5cGUzBAl0b3RhbEJldHMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICCQCkAwEFBmdhbWVJZAUKa1RvdGFsQmV0cwAABAtiYW5rV2l0aEZlZQkAZQIFCXRvdGFsQmV0cwUNdG90YWxXaW5WYWx1ZQQNJHQwMTE1MTgxMTY3NgMJAAACBQ10b3RhbFdpblZhbHVlAAAJAJQKAgULYmFua1dpdGhGZWUAAAQBZgkAawMFC2JhbmtXaXRoRmVlBQdCRVRfRkVFBQlGRUVfU0NBTEUJAJQKAgUBZgkAZQIFC2JhbmtXaXRoRmVlBQFmBANmZWUIBQ0kdDAxMTUxODExNjc2Al8xBARiYW5rCAUNJHQwMTE1MTgxMTY3NgJfMgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBmdJZFN0cgULa0dhbWVSZXN1bHQFBnJlc3VsdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQZnSWRTdHIFBWtCYW5rBQRiYW5rCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBmdJZFN0cgUKa0ZpbmFsVGltZQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwURTU9ORVlfQk9YX0FERFJFRVMFA2ZlZQUEVVNEVAUDbmlsAWkBCWluaXRHYW1lcwIOc3RhcnRHYW1lVGltZXMFdHlwZXMKAQhpbml0R2FtZQIDYWNjDXN0YXJ0R2FtZVRpbWUEDSR0MDEyMDYwMTIwOTQFA2FjYwQHZW50cmllcwgFDSR0MDEyMDYwMTIwOTQCXzEECmxhc3RHYW1lSWQIBQ0kdDAxMjA2MDEyMDk0Al8yBAFqCAUNJHQwMTIwNjAxMjA5NAJfMwQJbmV3R2FtZUlkCQBkAgUKbGFzdEdhbWVJZAABAwkAZgIIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQ1zdGFydEdhbWVUaW1lCQACAQIjc3RhcnRHYW1lVGltZSBtdXN0IGJlIGluIHRoZSBmdXR1cmUDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQpHQU1FX1RZUEVTCQCRAwIFBXR5cGVzBQFqCQACAQkArAICAiF0eXBlIG11c3QgY29udGFpbiBvbmUgb2YgdmFsdWVzOiAJALkJAgUKR0FNRV9UWVBFUwIBLAQLZ2FtZUVudHJpZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkApAMBBQluZXdHYW1lSWQFDWtHYW1lU3RyYVRpbWUFDXN0YXJ0R2FtZVRpbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCkAwEFCW5ld0dhbWVJZAUJa0dhbWVUeXBlCQCRAwIFBXR5cGVzBQFqBQNuaWwJAJUKAwkAzggCBQdlbnRyaWVzBQtnYW1lRW50cmllcwUJbmV3R2FtZUlkCQBkAgUBagABBApsYXN0R2FtZUlkCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFC2tMYXN0R2FtZUlkAAAEDSR0MDEyNjM3MTI3MjIKAAIkbAUOc3RhcnRHYW1lVGltZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCVCgMFA25pbAUKbGFzdEdhbWVJZAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhpbml0R2FtZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyBAxnYW1lc0VudHJpZXMIBQ0kdDAxMjYzNzEyNzIyAl8xBAduZXdMR0lkCAUNJHQwMTI2MzcxMjcyMgJfMgkAzQgCBQxnYW1lc0VudHJpZXMJAQxJbnRlZ2VyRW50cnkCBQtrTGFzdEdhbWVJZAUHbmV3TEdJZAFpAQhzaHV0ZG93bgADCQEBIQEFBmFjdGl2ZQkAAgEJAKwCAgIiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQZrQ2F1c2UCGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQxhZG1pblB1YktleTEJAMwIAgUMYWRtaW5QdWJLZXkyCQDMCAIFDGFkbWluUHViS2V5MwUDbmlsCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAAIBAiFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQdzdXNwZW5kAQIPUGF1c2VkIGJ5IGFkbWluAWkBCGFjdGl2YXRlAAMFBmFjdGl2ZQkAAgECFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFDGFkbWluUHViS2V5MQkAzAgCBQxhZG1pblB1YktleTIJAMwIAgUMYWRtaW5QdWJLZXkzBQNuaWwIBQFpD2NhbGxlclB1YmxpY0tleQkAAgECIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0FjdGl2ZQYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUGa0NhdXNlBQNuaWwAnPENcA==", "height": 2311339, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ey56cvi11nPBonVsYTRiLmC35Bh3KVLMTgfSFDqNV57h Next: 3dwwLKhoSMJmjsXhKrPU93xySYpTPEh79PBm6b1PJTkH Diff:
OldNewDifferences
177177 let an = (valueOrElse(getInteger(this, Y(V, 1, am)), 0) + (if ((W == 1))
178178 then ah
179179 else 0))
180- let ao = (valueOrElse(getInteger(this, Y(V, 2, X)), 0) + (if ((W == 2))
180+ let ao = (valueOrElse(getInteger(this, Y(V, 2, ak)), 0) + (if ((W == 2))
181181 then ah
182182 else 0))
183183 let ap = (valueOrElse(getInteger(this, Y(V, 3, ((am + "_") + toString(al)))), 0) + (if ((W == 3))
184184 then ah
185185 else 0))
186186 let aq = ((an + ao) + ap)
187- let ar = valueOrElse(getInteger(this, (toString(V) + p)), 0)
187+ let ar = (valueOrElse(getInteger(this, (toString(V) + p)), 0) + ah)
188188 let as = (ar - aq)
189189 let at = fraction(as, h, i)
190190 let au = (as - at)
203203 else (((an + ((an / ay) * au)) * av) / an)
204204 let aA = if ((ao == 0))
205205 then 0
206- else (((ao + ((ao / ay) * au)) * aw) / ao)
206+ else (((ao + (((ao * 3) / ay) * au)) * aw) / ao)
207207 let aB = if ((ap == 0))
208208 then 0
209- else (((ap + ((ap / ay) * au)) * ax) / ap)
209+ else (((ap + (((ap * 2) / ay) * au)) * ax) / ap)
210210 let aC = ((az + aA) + aB)
211211 $Tuple2(nil, aC)
212212 }
313313 else (((an + ((an / ay) * au)) * av) / an)
314314 let aA = if ((ao == 0))
315315 then 0
316- else (((ao + ((ao / ay) * au)) * aw) / ao)
316+ else (((ao + (((ao * 3) / ay) * au)) * aw) / ao)
317317 let aB = if ((ap == 0))
318318 then 0
319- else (((ap + ((ap / ay) * au)) * ax) / ap)
319+ else (((ap + (((ap * 2) / ay) * au)) * ax) / ap)
320320 let aC = ((az + aA) + aB)
321321 if ((aC == 0))
322322 then throw("Nothing to claim")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "Group"
55
66 let b = "Play-off"
77
88 let c = [a, b]
99
1010 let d = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
1111
1212 let e = 1000000
1313
1414 let f = ((5 * 60) * 1000)
1515
1616 let g = Address(base58'3N65zqVKchaFdW4gS7FxCRibjfkVgJvo7PT')
1717
1818 let h = 500
1919
2020 let i = 10000
2121
2222 let j = "active"
2323
2424 let k = "active_all_contracts"
2525
2626 let l = "shutdown_cause"
2727
2828 let m = "_startGameTime"
2929
3030 let n = "_GameType"
3131
3232 let o = "last_game_id"
3333
3434 let p = "_totalBets"
3535
3636 let q = "_toWinA"
3737
3838 let r = "_toWinB"
3939
4040 let s = "_onDraw"
4141
4242 let t = "_result"
4343
4444 let u = "_bank"
4545
4646 let v = "_finalTimeā€"
4747
4848 let w = "_totalBetsForType"
4949
5050 let x = "_userBet"
5151
5252 let y = "_refId"
5353
5454 let z = "_claimed"
5555
5656 let A = "admin_pub_1"
5757
5858 let B = "admin_pub_2"
5959
6060 let C = "admin_pub_3"
6161
6262 let D = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom')
6363
6464 func E (F) = {
6565 let G = getString(D, F)
6666 if ($isInstanceOf(G, "String"))
6767 then {
6868 let H = G
6969 fromBase58String(H)
7070 }
7171 else {
7272 let I = G
7373 throw((F + "is empty"))
7474 }
7575 }
7676
7777
7878 let J = E(A)
7979
8080 let K = E(B)
8181
8282 let L = E(C)
8383
8484 let M = valueOrElse(getBoolean(this, j), true)
8585
8686 let N = valueOrElse(getBoolean(D, k), true)
8787
8888 func O () = if (if (M)
8989 then N
9090 else false)
9191 then unit
9292 else throw("DApp is inactive at this moment")
9393
9494
9595 func P (Q) = if (containsElement([J, K, L], Q.callerPublicKey))
9696 then unit
9797 else throw("Only admin can call this function")
9898
9999
100100 func R (S) = [BooleanEntry(j, false), StringEntry(l, S)]
101101
102102
103103 func T (U,V,W,X) = (((((((U + "_") + toString(V)) + "_") + toString(W)) + "_") + X) + x)
104104
105105
106106 func Y (V,W,X) = (((((toString(V) + "_") + toString(W)) + "_") + X) + w)
107107
108108
109109 func Z (aa,W,X) = if ((W == 1))
110110 then if ((size(X) != 1))
111111 then throw("Game result must contain only one letter: A,B,D")
112112 else if (!(contains("ABD", X)))
113113 then throw("Game result must contain only one letter: A,B,D")
114114 else if (if ((aa == b))
115115 then !(contains("AB", X))
116116 else false)
117117 then throw("Game result must contain only one letter: A,B")
118118 else true
119119 else if ((W == 2))
120120 then {
121121 let ab = split(X, "_")
122122 if ((size(ab) != 2))
123123 then throw("Inncorrect game result")
124124 else {
125125 let ac = valueOrErrorMessage(parseInt(ab[0]), "Inncorrect game result")
126126 let ad = valueOrErrorMessage(parseInt(ab[1]), "Inncorrect game result")
127127 if ((ac == ad))
128128 then throw("Inncorrect game result. A and B cannot be equal")
129129 else true
130130 }
131131 }
132132 else if ((W == 3))
133133 then {
134134 let ab = split(X, "_")
135135 if ((size(ab) != 2))
136136 then throw("Inncorrect game result")
137137 else {
138138 let ae = ab[0]
139139 let af = valueOrErrorMessage(parseInt(ab[1]), "Inncorrect game result")
140140 if ((0 >= af))
141141 then throw("Inncorrect game result, balls amount must be greater then 0")
142142 else if (if ((size(ae) != 1))
143143 then true
144144 else !(contains("AB", ae)))
145145 then throw("Game result must contain only one letter: A,B")
146146 else true
147147 }
148148 }
149149 else false
150150
151151
152152 @Callable(Q)
153153 func potentialWinnings (V,ag,ah,W,X) = {
154154 let ai = split(X, "_")
155155 let aj = if ((W == 1))
156156 then if ((X == "A"))
157157 then $Tuple3("1_0", 1, 0)
158158 else if ((X == "B"))
159159 then $Tuple3("0_1", 0, 1)
160160 else $Tuple3("1_1", 1, 1)
161161 else if ((W == 2))
162162 then $Tuple3(X, parseIntValue(ai[0]), parseIntValue(ai[1]))
163163 else if ((ai[0] == "A"))
164164 then $Tuple3((ai[1] + "_0"), parseIntValue(ai[1]), 0)
165165 else $Tuple3(("0_" + ai[1]), 0, parseIntValue(ai[1]))
166166 let ak = aj._1
167167 let ac = aj._2
168168 let ad = aj._3
169169 let al = if ((ac > ad))
170170 then (ac - ad)
171171 else (ad - ac)
172172 let am = if ((ac > ad))
173173 then "A"
174174 else if ((ad > ac))
175175 then "B"
176176 else "D"
177177 let an = (valueOrElse(getInteger(this, Y(V, 1, am)), 0) + (if ((W == 1))
178178 then ah
179179 else 0))
180- let ao = (valueOrElse(getInteger(this, Y(V, 2, X)), 0) + (if ((W == 2))
180+ let ao = (valueOrElse(getInteger(this, Y(V, 2, ak)), 0) + (if ((W == 2))
181181 then ah
182182 else 0))
183183 let ap = (valueOrElse(getInteger(this, Y(V, 3, ((am + "_") + toString(al)))), 0) + (if ((W == 3))
184184 then ah
185185 else 0))
186186 let aq = ((an + ao) + ap)
187- let ar = valueOrElse(getInteger(this, (toString(V) + p)), 0)
187+ let ar = (valueOrElse(getInteger(this, (toString(V) + p)), 0) + ah)
188188 let as = (ar - aq)
189189 let at = fraction(as, h, i)
190190 let au = (as - at)
191191 let av = (valueOrElse(getInteger(this, T(ag, V, 1, am)), 0) + (if ((W == 1))
192192 then ah
193193 else 0))
194194 let aw = (valueOrElse(getInteger(this, T(ag, V, 2, ak)), 0) + (if ((W == 2))
195195 then ah
196196 else 0))
197197 let ax = (valueOrElse(getInteger(this, T(ag, V, 3, ((am + "_") + toString(al)))), 0) + (if ((W == 3))
198198 then ah
199199 else 0))
200200 let ay = ((an + (ao * 3)) + (ap * 2))
201201 let az = if ((an == 0))
202202 then 0
203203 else (((an + ((an / ay) * au)) * av) / an)
204204 let aA = if ((ao == 0))
205205 then 0
206- else (((ao + ((ao / ay) * au)) * aw) / ao)
206+ else (((ao + (((ao * 3) / ay) * au)) * aw) / ao)
207207 let aB = if ((ap == 0))
208208 then 0
209- else (((ap + ((ap / ay) * au)) * ax) / ap)
209+ else (((ap + (((ap * 2) / ay) * au)) * ax) / ap)
210210 let aC = ((az + aA) + aB)
211211 $Tuple2(nil, aC)
212212 }
213213
214214
215215
216216 @Callable(Q)
217217 func bet (V,W,X,aD) = valueOrElse(O(), {
218218 let U = toString(Q.caller)
219219 let aE = toString(V)
220220 let aF = $Tuple2(Q.payments[0].amount, Q.payments[0].assetId)
221221 let aG = aF._1
222222 let aH = aF._2
223223 let aI = valueOrElse(getInteger(this, (toString(V) + m)), 0)
224224 let aa = getStringValue(this, (toString(V) + n))
225225 if ((aH != d))
226226 then throw("Pamyment must be In USDT asset")
227227 else if ((e > aG))
228228 then throw((("Min bet " + toString((e / 1000000))) + "USDT"))
229229 else if ((aI == 0))
230230 then throw(("There is no game with id" + toString(V)))
231231 else if (((lastBlock.timestamp + f) >= aI))
232232 then throw("Bets on this game are no longer accepted")
233233 else if (!(Z(aa, W, X)))
234234 then throw("Incorrect bet type")
235235 else {
236236 let ai = split(X, "_")
237237 let aJ = T(U, V, W, X)
238238 let aK = Y(V, W, X)
239239 let aL = (valueOrElse(getInteger(this, aJ), 0) + aG)
240240 let aM = (valueOrElse(getInteger(this, aK), 0) + aG)
241241 let ar = (valueOrElse(getInteger(this, (aE + p)), 0) + aG)
242242 let aN = (valueOrElse(getInteger(this, (aE + q)), 0) + (if (if ((W == 1))
243243 then (X == "A")
244244 else false)
245245 then aG
246246 else if (if ((W == 2))
247247 then (parseIntValue(ai[0]) > parseIntValue(ai[1]))
248248 else false)
249249 then aG
250250 else if (if ((W == 3))
251251 then (ai[0] == "A")
252252 else false)
253253 then aG
254254 else 0))
255255 let aO = (valueOrElse(getInteger(this, (aE + r)), 0) + (if (if ((W == 1))
256256 then (X == "B")
257257 else false)
258258 then aG
259259 else if (if ((W == 2))
260260 then (parseIntValue(ai[1]) > parseIntValue(ai[0]))
261261 else false)
262262 then aG
263263 else if (if ((W == 3))
264264 then (ai[0] == "B")
265265 else false)
266266 then aG
267267 else 0))
268268 let aP = (valueOrElse(getInteger(this, (aE + s)), 0) + (if (if ((W == 1))
269269 then (X == "D")
270270 else false)
271271 then aG
272272 else 0))
273273 ([IntegerEntry(aJ, aL), IntegerEntry(aK, aM), IntegerEntry((aE + p), ar), IntegerEntry((aE + q), aN), IntegerEntry((aE + r), aO), IntegerEntry((aE + s), aP)] ++ (if (!(isDefined(getString(this, (U + y)))))
274274 then [StringEntry((U + y), aD)]
275275 else nil))
276276 }
277277 })
278278
279279
280280
281281 @Callable(Q)
282282 func claim (V) = valueOrElse(O(), {
283283 let U = toString(Q.caller)
284284 let aE = toString(V)
285285 let aQ = valueOrErrorMessage(getInteger(this, (aE + v)), "You can claim only after game finish")
286286 if ((lastBlock.timestamp > (aQ + f)))
287287 then throw("You can claim only after one hour pass after final time")
288288 else if (isDefined(getBoolean(this, (((U + "_") + aE) + z))))
289289 then throw("You are alredy claimed")
290290 else {
291291 let ak = getStringValue(this, (aE + t))
292292 let ai = split(ak, "_")
293293 let ac = valueOrErrorMessage(parseInt(ai[0]), "Inncorrect game result")
294294 let ad = valueOrErrorMessage(parseInt(ai[1]), "Inncorrect game result")
295295 let al = if ((ac > ad))
296296 then (ac - ad)
297297 else (ad - ac)
298298 let am = if ((ac > ad))
299299 then "A"
300300 else if ((ad > ac))
301301 then "B"
302302 else "D"
303303 let au = getIntegerValue(this, (aE + u))
304304 let av = valueOrElse(getIntegerValue(this, T(U, V, 1, am)), 0)
305305 let aw = valueOrElse(getIntegerValue(this, T(U, V, 2, ak)), 0)
306306 let ax = valueOrElse(getIntegerValue(this, T(U, V, 3, ((am + "_") + toString(al)))), 0)
307307 let an = valueOrElse(getInteger(this, Y(V, 1, am)), 0)
308308 let ao = valueOrElse(getInteger(this, Y(V, 2, ak)), 0)
309309 let ap = valueOrElse(getInteger(this, Y(V, 3, ((am + "_") + toString(al)))), 0)
310310 let ay = ((an + (ao * 3)) + (ap * 2))
311311 let az = if ((an == 0))
312312 then 0
313313 else (((an + ((an / ay) * au)) * av) / an)
314314 let aA = if ((ao == 0))
315315 then 0
316- else (((ao + ((ao / ay) * au)) * aw) / ao)
316+ else (((ao + (((ao * 3) / ay) * au)) * aw) / ao)
317317 let aB = if ((ap == 0))
318318 then 0
319- else (((ap + ((ap / ay) * au)) * ax) / ap)
319+ else (((ap + (((ap * 2) / ay) * au)) * ax) / ap)
320320 let aC = ((az + aA) + aB)
321321 if ((aC == 0))
322322 then throw("Nothing to claim")
323323 else $Tuple2([BooleanEntry((((U + "_") + aE) + z), true), ScriptTransfer(Q.caller, aC, d)], aC)
324324 }
325325 })
326326
327327
328328
329329 @Callable(Q)
330330 func gameSummary (V,X) = {
331331 let aE = toString(V)
332332 let aI = valueOrElse(getInteger(this, (toString(V) + m)), 0)
333333 if ((aI == 0))
334334 then throw(("There is no game with id" + toString(V)))
335335 else {
336336 let ai = split(X, "_")
337337 let ac = valueOrErrorMessage(parseInt(ai[0]), "Inncorrect game result")
338338 let ad = valueOrErrorMessage(parseInt(ai[1]), "Inncorrect game result")
339339 let al = if ((ac > ad))
340340 then (ac - ad)
341341 else (ad - ac)
342342 let am = if ((ac > ad))
343343 then "A"
344344 else if ((ad > ac))
345345 then "B"
346346 else "D"
347347 let aR = valueOrElse(getInteger(this, Y(V, 1, am)), 0)
348348 let aS = valueOrElse(getInteger(this, Y(V, 2, X)), 0)
349349 let aT = valueOrElse(getInteger(this, Y(V, 3, ((am + "_") + toString(al)))), 0)
350350 let aq = ((aR + aS) + aT)
351351 let ar = valueOrElse(getInteger(this, (toString(V) + p)), 0)
352352 let as = (ar - aq)
353353 let aU = if ((aq == 0))
354354 then $Tuple2(as, 0)
355355 else {
356356 let aV = fraction(as, h, i)
357357 $Tuple2(aV, (as - aV))
358358 }
359359 let at = aU._1
360360 let aW = aU._2
361361 [StringEntry((aE + t), X), IntegerEntry((aE + u), aW), IntegerEntry((aE + v), lastBlock.timestamp), ScriptTransfer(g, at, d)]
362362 }
363363 }
364364
365365
366366
367367 @Callable(Q)
368368 func initGames (aX,aY) = {
369369 func aZ (ba,bb) = {
370370 let bc = ba
371371 let bd = bc._1
372372 let be = bc._2
373373 let bf = bc._3
374374 let bg = (be + 1)
375375 if ((lastBlock.timestamp > bb))
376376 then throw("startGameTime must be in the future")
377377 else if (!(containsElement(c, aY[bf])))
378378 then throw(("type must contain one of values: " + makeString(c, ",")))
379379 else {
380380 let bh = [IntegerEntry((toString(bg) + m), bb), StringEntry((toString(bg) + n), aY[bf])]
381381 $Tuple3((bd ++ bh), bg, (bf + 1))
382382 }
383383 }
384384
385385 let be = valueOrElse(getInteger(this, o), 0)
386386 let bi = {
387387 let bj = aX
388388 let bk = size(bj)
389389 let bl = $Tuple3(nil, be, 0)
390390 func bm (bn,bo) = if ((bo >= bk))
391391 then bn
392392 else aZ(bn, bj[bo])
393393
394394 func bp (bn,bo) = if ((bo >= bk))
395395 then bn
396396 else throw("List size exceeds 50")
397397
398398 bp(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bl, 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)
399399 }
400400 let bq = bi._1
401401 let br = bi._2
402402 (bq :+ IntegerEntry(o, br))
403403 }
404404
405405
406406
407407 @Callable(Q)
408408 func shutdown () = if (!(M))
409409 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, l), "the cause wasn't specified")))
410410 else if (!(containsElement([J, K, L], Q.callerPublicKey)))
411411 then throw("Only admin can call this function")
412412 else R("Paused by admin")
413413
414414
415415
416416 @Callable(Q)
417417 func activate () = if (M)
418418 then throw("DApp is already active")
419419 else if (!(containsElement([J, K, L], Q.callerPublicKey)))
420420 then throw("Only admin can call this function")
421421 else [BooleanEntry(j, true), DeleteEntry(l)]
422422
423423

github/deemru/w8io/026f985 
54.77 ms