tx · 7cW213AvGoKvVVNrKP8iGi9n8yrpNSsSXXDEo4zQAhwL

3N7XWpdx1UJKZp5stTtFMXPEygyfZ7j4PyC:  -0.01100000 Waves

2024.05.08 17:30 [3097182] smart account 3N7XWpdx1UJKZp5stTtFMXPEygyfZ7j4PyC > SELF 0.00000000 Waves

{ "type": 13, "id": "7cW213AvGoKvVVNrKP8iGi9n8yrpNSsSXXDEo4zQAhwL", "fee": 1100000, "feeAssetId": null, "timestamp": 1715178625212, "version": 2, "chainId": 84, "sender": "3N7XWpdx1UJKZp5stTtFMXPEygyfZ7j4PyC", "senderPublicKey": "APsCCjsKHFx7rbr1mG8Pca43pccTbH2G4FZj4keEqKJ5", "proofs": [ "35E76npMCHSorXdp6BFAudtacK1hYbr1D1HdtHkQCyG4nhH4enQd6ttvmWRRm11MSjinv19wUq8cGee9TUn5yo8W" ], "script": "base64:BgIoCAISBwoFAQEBERgSBwoFAQgBCAESBwoFARIREQgSAwoBARIAEgASABkACE1pbmVyRmVlAAUAEVBheW91dEVtcHR5U3RhdHVzAAAAFVBheW91dEluaXRpYXRlZFN0YXR1cwABABVQYXlvdXRDb21wbGV0ZWRTdGF0dXMAAgASQmxvY2tzQmF0Y2hNYXhTaXplAAoAFlJlY2lwaWVudHNCYXRjaE1heFNpemUAZAAGSGVpZ2h0BQZoZWlnaHQAB0NoYWluSWQAVAAFQXJyMTAJAMwIAgAACQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwkAzAgCAAgJAMwIAgAJBQNuaWwADUNhbGxlckFkZHJlc3MJAQdBZGRyZXNzAQEaAVTyivfVKpPlEk6umrrIyi00GQZQXD9/r7cAFldhdmVzRGFvRmFjdG9yeUFkZHJlc3MJAQdBZGRyZXNzAQEaAVQ8hf55dL/LZOPYRZ/ELezKrvBEP8q22ucAD1NldHRpbmdzQWRkcmVzcwkBB0FkZHJlc3MBARoBVIyem88MXqbW0vyDLXrGPL3YKtq0d10DywAXUHV6emxlQWdncmVnYXRvckFkZHJlc3MJAQdBZGRyZXNzAQEaAVRm7xqFUqyaFp12W7Ab26ot0BH8kdGysjYAEU1haW50YWluZXJBZGRyZXNzCQEHQWRkcmVzcwEBGgFUxiXqda6CeRYRI9j88x/9aIxmWSLU0HHjABRQdXp6bGVCdXliYWNrQWRkcmVzcwkBB0FkZHJlc3MBARoBVGjNKEmg/z0JB/oK/n7OPG0GmbpXKjrLFAAHV2F2ZXNJZAIFV0FWRVMADUxhc3RQYXlvdXRLZXkCCmxhc3RQYXlvdXQAE01hc3NUcmFuc2ZlckZlZXNLZXkCEG1hc3NUcmFuc2ZlckZlZXMBEW1ha2VQYXlvdXREYXRhS2V5AQhwYXlvdXRJZAkArAICAgtwYXlvdXREYXRhXwkApAMBBQhwYXlvdXRJZAETbWFrZVBheW91dFN0YXR1c0tleQEIcGF5b3V0SWQJAKwCAgINcGF5b3V0U3RhdHVzXwkApAMBBQhwYXlvdXRJZAEebWFrZVBheW91dEFkZGl0aW9uYWxSZXdhcmRzS2V5AQhwYXlvdXRJZAkArAICAhhwYXlvdXRBZGRpdGlvbmFsUmV3YXJkc18JAKQDAQUIcGF5b3V0SWQBDWdldExhc3RQYXlvdXQACQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1MYXN0UGF5b3V0S2V5AQ1nZXRQYXlvdXREYXRhAQhwYXlvdXRJZAQMcGF5b3V0U3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1OCkBCQERbWFrZVBheW91dERhdGFLZXkBBQhwYXlvdXRJZAQOcGF5b3V0RGF0YUxpc3QJALUJAgUMcGF5b3V0U3RyaW5nAgFfBAtzdGFydEhlaWdodAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDnBheW91dERhdGFMaXN0AAAECWVuZEhlaWdodAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDnBheW91dERhdGFMaXN0AAEJAJQKAgULc3RhcnRIZWlnaHQFCWVuZEhlaWdodAEPZ2V0UGF5b3V0U3RhdHVzAQhwYXlvdXRJZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQETbWFrZVBheW91dFN0YXR1c0tleQEFCHBheW91dElkBRFQYXlvdXRFbXB0eVN0YXR1cwEaZ2V0UGF5b3V0QWRkaXRpb25hbFJld2FyZHMBCHBheW91dElkCQELdmFsdWVPckVsc2UCCQCfCAEJAR5tYWtlUGF5b3V0QWRkaXRpb25hbFJld2FyZHNLZXkBBQhwYXlvdXRJZAAABwFpAQ5pbml0aWF0ZVBheW91dAUIcGF5b3V0SWQLc3RhcnRIZWlnaHQJZW5kSGVpZ2h0B2Ftb3VudHMGYXNzZXRzAwkBAiE9AggFAWkGY2FsbGVyBQ1DYWxsZXJBZGRyZXNzCQACAQINQWNjZXNzIGRlbmllZAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECF1BheW1lbnRzIGFyZSBwcm9oaWJpdGVkBApsYXN0UGF5b3V0CQENZ2V0TGFzdFBheW91dAADCQECIT0CBQhwYXlvdXRJZAkAZAIFCmxhc3RQYXlvdXQAAQkAAgEJAKwCAgkArAICCQCsAgICEFdyb25nIHBheW91dElkOiAJAKQDAQUIcGF5b3V0SWQCDSwgc2hvdWxkIGJlOiAJAKQDAQkAZAIFCmxhc3RQYXlvdXQAAQQQbGFzdFBheW91dFN0YXR1cwkBD2dldFBheW91dFN0YXR1cwEFCmxhc3RQYXlvdXQDCQECIT0CBRBsYXN0UGF5b3V0U3RhdHVzBRVQYXlvdXRDb21wbGV0ZWRTdGF0dXMJAAIBCQCsAgIJAKwCAgINTGFzdCBwYXlvdXQ6IAkApAMBBQpsYXN0UGF5b3V0AhIgd2FzIG5vdCBjb21wbGV0ZWQECyR0MDI0NDkyNTEzCQENZ2V0UGF5b3V0RGF0YQEFCmxhc3RQYXlvdXQED2xhc3RTdGFydEhlaWdodAgFCyR0MDI0NDkyNTEzAl8xBA1sYXN0RW5kSGVpZ2h0CAULJHQwMjQ0OTI1MTMCXzIDCQECIT0CBQtzdGFydEhlaWdodAkAZAIFDWxhc3RFbmRIZWlnaHQAAQkAAgEJAKwCAgkArAICCQCsAgICE1dyb25nIHN0YXJ0SGVpZ2h0OiAJAKQDAQULc3RhcnRIZWlnaHQCDSwgc2hvdWxkIGJlOiAJAKQDAQkAZAIFDWxhc3RFbmRIZWlnaHQAAQMJAGYCBQtzdGFydEhlaWdodAUJZW5kSGVpZ2h0CQACAQkArAICCQCsAgIJAKwCAgILZW5kSGVpZ2h0OiAJAKQDAQUJZW5kSGVpZ2h0AhggbGVzcyB0aGFuIHN0YXJ0SGVpZ2h0OiAJAKQDAQULc3RhcnRIZWlnaHQEDmlucHV0c1F1YW50aXR5CQERQGV4dHJOYXRpdmUoMTA1MCkCBQ9TZXR0aW5nc0FkZHJlc3MCDmlucHV0c1F1YW50aXR5BAthbW91bnRzU2l6ZQkAkAMBBQdhbW91bnRzBAphc3NldHNTaXplCQCQAwEFBmFzc2V0cwMDCQECIT0CBQthbW91bnRzU2l6ZQUKYXNzZXRzU2l6ZQYJAQIhPQIFC2Ftb3VudHNTaXplBQ5pbnB1dHNRdWFudGl0eQkAAgECH1dyb25nIHNpemUgb2YgYW1vdW50cyBvciBhc3NldHMEGmF2YWlsYWJsZVdhdmVzRGFvTHBUb0NsYWltCQELdmFsdWVPckVsc2UCCQCaCAIFFldhdmVzRGFvRmFjdG9yeUFkZHJlc3MJAKwCAgIRJXMlc19fYXZhaWxhYmxlX18JAKUIAQUEdGhpcwAABBp3YXZlc0Rhb05leHRCbG9ja1RvUHJvY2VzcwkBEUBleHRyTmF0aXZlKDEwNTApAgUWV2F2ZXNEYW9GYWN0b3J5QWRkcmVzcwIWJXNfX25leHRCbG9ja1RvUHJvY2VzcwQNd2F2ZXNEbHBDbGFpbQMDCQBmAgUaYXZhaWxhYmxlV2F2ZXNEYW9McFRvQ2xhaW0AAAkAZwIJAGQCBRp3YXZlc0Rhb05leHRCbG9ja1RvUHJvY2VzcwUSQmxvY2tzQmF0Y2hNYXhTaXplBQZIZWlnaHQHCQD8BwQFFldhdmVzRGFvRmFjdG9yeUFkZHJlc3MCB2NsYWltTFAFA25pbAUDbmlsBQR1bml0AwkAAAIFDXdhdmVzRGxwQ2xhaW0FDXdhdmVzRGxwQ2xhaW0EGGN1cnJlbnRBZGRpdGlvbmFsUmV3YXJkcwkBGmdldFBheW91dEFkZGl0aW9uYWxSZXdhcmRzAQUIcGF5b3V0SWQKAQphc3NldHNGb2xkAgVhY2N1bQVpbmRleAMJAGcCBQVpbmRleAUKYXNzZXRzU2l6ZQUFYWNjdW0ECGFzc2V0U3RyCQCRAwIFBmFzc2V0cwUFaW5kZXgDCQAAAgkAmggCBQ9TZXR0aW5nc0FkZHJlc3MJAKwCAgIQaW5wdXRBc3NldEluZGV4XwUIYXNzZXRTdHIFBHVuaXQJAAIBCQCsAgICD1Vua25vd24gaW5wdXQ6IAUIYXNzZXRTdHIECyR0MDM5MTU0MDk0AwkAAAIFCGFzc2V0U3RyBQdXYXZlc0lkCQCUCgIFBHVuaXQJAGQCCQCRAwIFB2Ftb3VudHMFBWluZGV4BRhjdXJyZW50QWRkaXRpb25hbFJld2FyZHMJAJQKAgkA2QQBBQhhc3NldFN0cgkAkQMCBQdhbW91bnRzBQVpbmRleAQFYXNzZXQIBQskdDAzOTE1NDA5NAJfMQQGYW1vdW50CAULJHQwMzkxNTQwOTQCXzIDCQBmAgAABQZhbW91bnQJAAIBCQCsAgIJAKwCAgIUV3JvbmcgYXNzZXQgYW1vdW50OiAJAKQDAQUGYW1vdW50AhwsIHNob3VsZCBiZSBwb3NpdGl2ZSBvciB6ZXJvBAhtaW5lckZlZQkAawMFBmFtb3VudAUITWluZXJGZWUAZAQNbWFpbnRhaW5lckZlZQkAaQIFCG1pbmVyRmVlAAIEDXB1enpsZVRlYW1GZWUJAGUCBQhtaW5lckZlZQUNbWFpbnRhaW5lckZlZQQNbGVzc29yc0Ftb3VudAkAZQIJAGUCBQZhbW91bnQFDW1haW50YWluZXJGZWUFDXB1enpsZVRlYW1GZWUJAJQKAgkAzQgCCQDNCAIIBQVhY2N1bQJfMQkBDlNjcmlwdFRyYW5zZmVyAwURTWFpbnRhaW5lckFkZHJlc3MFDW1haW50YWluZXJGZWUFBWFzc2V0CQEOU2NyaXB0VHJhbnNmZXIDBRRQdXp6bGVCdXliYWNrQWRkcmVzcwUNcHV6emxlVGVhbUZlZQUFYXNzZXQJAM0IAggFBWFjY3VtAl8yCQCkAwEFDWxlc3NvcnNBbW91bnQECyR0MDQ2Njk0NzM2CgACJGwFBUFycjEwCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKYXNzZXRzRm9sZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQJdHJhbnNmZXJzCAULJHQwNDY2OTQ3MzYCXzEECmFtb3VudEtleXMIBQskdDA0NjY5NDczNgJfMgQNbmV3UGF5b3V0RGF0YQkAuQkCCQDOCAIJAMwIAgkApAMBBQtzdGFydEhlaWdodAkAzAgCCQCkAwEFCWVuZEhlaWdodAUDbmlsBQphbW91bnRLZXlzAgFfCQDOCAIFCXRyYW5zZmVycwkAzAgCCQEMSW50ZWdlckVudHJ5AgUNTGFzdFBheW91dEtleQUIcGF5b3V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEW1ha2VQYXlvdXREYXRhS2V5AQUIcGF5b3V0SWQFDW5ld1BheW91dERhdGEJAMwIAgkBDEludGVnZXJFbnRyeQIJARNtYWtlUGF5b3V0U3RhdHVzS2V5AQUIcGF5b3V0SWQFFVBheW91dEluaXRpYXRlZFN0YXR1cwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBHN3YXAFCHBheW91dElkCHN3YXBGcm9tCGFtb3VudEluBXJvdXRlDG1pblRvUmVjZWl2ZQMJAQIhPQIIBQFpBmNhbGxlcgUNQ2FsbGVyQWRkcmVzcwkAAgECDUFjY2VzcyBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhdQYXltZW50cyBhcmUgcHJvaGliaXRlZAQKbGFzdFBheW91dAkBDWdldExhc3RQYXlvdXQAAwkBAiE9AgUKbGFzdFBheW91dAUIcGF5b3V0SWQJAAIBCQCsAgIJAKwCAgkArAICAhBXcm9uZyBwYXlvdXRJZDogCQCkAwEFCHBheW91dElkAg0sIHNob3VsZCBiZTogCQCkAwEFCmxhc3RQYXlvdXQEDHBheW91dFN0YXR1cwkBD2dldFBheW91dFN0YXR1cwEFCHBheW91dElkAwkBAiE9AgUMcGF5b3V0U3RhdHVzBRVQYXlvdXRJbml0aWF0ZWRTdGF0dXMJAAIBCQCsAgIJAKwCAgIVV3JvbmcgcGF5b3V0IHN0YXR1czogCQCkAwEFDHBheW91dFN0YXR1cwINLCBzaG91bGQgYmUgMQQLJHQwNTY4NzU5MzYDCQAAAgUIc3dhcEZyb20FB1dhdmVzSWQJAJQKAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFBHVuaXQEB2Fzc2V0SWQJANkEAQUIc3dhcEZyb20JAJQKAgkA8AcCBQR0aGlzBQdhc3NldElkBQdhc3NldElkBBNiYWxhbmNlSW5CZWZvcmVTd2FwCAULJHQwNTY4NzU5MzYCXzEECnN3YXBGcm9tSWQIBQskdDA1Njg3NTkzNgJfMgQKc3dhcEludm9rZQkA/AcEBRdQdXp6bGVBZ2dyZWdhdG9yQWRkcmVzcwIQc3dhcFdpdGhSZWZlcnJhbAkAzAgCBQVyb3V0ZQkAzAgCBQxtaW5Ub1JlY2VpdmUJAMwIAgIKcHV6emxlbm9kZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpzd2FwRnJvbUlkBQhhbW91bnRJbgUDbmlsAwkAAAIFCnN3YXBJbnZva2UFCnN3YXBJbnZva2UEEmJhbGFuY2VJbkFmdGVyU3dhcAMJAAACBQhzd2FwRnJvbQUHV2F2ZXNJZAgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAPAHAgUEdGhpcwkBBXZhbHVlAQUKc3dhcEZyb21JZAQGcmVmdW5kCQBlAgUSYmFsYW5jZUluQWZ0ZXJTd2FwCQBlAgUTYmFsYW5jZUluQmVmb3JlU3dhcAUIYW1vdW50SW4DCQBmAgUGcmVmdW5kAAoJAAIBCQCsAgICHFJvbGxiYWNrIGFnZ3JlZ2F0b3IgcmVmdW5kOiAJAKQDAQUGcmVmdW5kBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQZGlzdHJpYnV0ZVRva2VucwUIcGF5b3V0SWQKcmVjaXBpZW50cwdhbW91bnRzBmFzc2V0cwphdHRhY2htZW50AwkBAiE9AggFAWkGY2FsbGVyBQ1DYWxsZXJBZGRyZXNzCQACAQINQWNjZXNzIGRlbmllZAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECF1BheW1lbnRzIGFyZSBwcm9oaWJpdGVkBApsYXN0UGF5b3V0CQENZ2V0TGFzdFBheW91dAADCQECIT0CBQpsYXN0UGF5b3V0BQhwYXlvdXRJZAkAAgEJAKwCAgkArAICCQCsAgICEFdyb25nIHBheW91dElkOiAJAKQDAQUIcGF5b3V0SWQCDSwgc2hvdWxkIGJlOiAJAKQDAQUKbGFzdFBheW91dAQMcGF5b3V0U3RhdHVzCQEPZ2V0UGF5b3V0U3RhdHVzAQUIcGF5b3V0SWQDCQECIT0CBQxwYXlvdXRTdGF0dXMFFVBheW91dEluaXRpYXRlZFN0YXR1cwkAAgEJAKwCAgkArAICAhVXcm9uZyBwYXlvdXQgc3RhdHVzOiAJAKQDAQUMcGF5b3V0U3RhdHVzAg0sIHNob3VsZCBiZSAxBA5yZWNpcGllbnRzU2l6ZQkAkAMBBQpyZWNpcGllbnRzBAthbW91bnRzU2l6ZQkAkAMBBQdhbW91bnRzBAphc3NldHNTaXplCQCQAwEFBmFzc2V0cwMDCQECIT0CBQ5yZWNpcGllbnRzU2l6ZQULYW1vdW50c1NpemUGCQECIT0CBQ5yZWNpcGllbnRzU2l6ZQUKYXNzZXRzU2l6ZQkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhdXcm9uZyByZWNpcGllbnRzIHNpemU6IAkApAMBBQ5yZWNpcGllbnRzU2l6ZQIQLCBhbW91bnRzIHNpemU6IAkApAMBBQthbW91bnRzU2l6ZQIPLCBhc3NldHMgc2l6ZTogCQCkAwEFCmFzc2V0c1NpemUDCQAAAgUOcmVjaXBpZW50c1NpemUAAAkAAgECI1JlY2lwaWVudHMgbGlzdCBzaG91bGQgbm90IGJlIGVtcHR5AwkAZgIFDnJlY2lwaWVudHNTaXplBRZSZWNpcGllbnRzQmF0Y2hNYXhTaXplCQACAQkArAICCQCsAgIJAKwCAgIbU2hvdWxkIGJlIG5vdCBncmVhdGVyIHRoYW4gCQCkAwEFFlJlY2lwaWVudHNCYXRjaE1heFNpemUCFiByZWNpcGllbnRzLCBjdXJyZW50OiAJAKQDAQUOcmVjaXBpZW50c1NpemUECW1hZ2ljQnl0ZQkAygECCQCaAwEAAQAHBAtjaGFpbklkQnl0ZQkAygECCQCaAwEFB0NoYWluSWQABwQNYWRkcmVzc1ByZWZpeAkAywECBQltYWdpY0J5dGUFC2NoYWluSWRCeXRlCgETc2NyaXB0VHJhbnNmZXJzRm9sZAIFYWNjdW0FaW5kZXgDCQBnAgUFaW5kZXgFDnJlY2lwaWVudHNTaXplBQVhY2N1bQQNcHVibGljS2V5SGFzaAkAkQMCBQpyZWNpcGllbnRzBQVpbmRleAQLYWRkcmVzc0RhdGEJAMsBAgUNYWRkcmVzc1ByZWZpeAUNcHVibGljS2V5SGFzaAQPYWRkcmVzc0NoZWNrc3VtCQDJAQIJAPUDAQkA9gMBBQthZGRyZXNzRGF0YQAEBAlyZWNpcGllbnQJAQdBZGRyZXNzAQkAywECBQthZGRyZXNzRGF0YQUPYWRkcmVzc0NoZWNrc3VtBAZhbW91bnQJAJEDAgUHYW1vdW50cwUFaW5kZXgECmFzc2V0SW5kZXgJAJEDAgUGYXNzZXRzBQVpbmRleAQHYXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTIpAgUPU2V0dGluZ3NBZGRyZXNzCQCsAgICCGFzc2V0SWRfCQCkAwEFCmFzc2V0SW5k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BQR1bml0CQACAQIaT25seSB3YXZlcyBjYW4gYmUgYXR0YWNoZWQECmxhc3RQYXlvdXQJAQ1nZXRMYXN0UGF5b3V0AAQQbGFzdFBheW91dFN0YXR1cwkBD2dldFBheW91dFN0YXR1cwEFCmxhc3RQYXlvdXQDCQECIT0CBRBsYXN0UGF5b3V0U3RhdHVzBRVQYXlvdXRDb21wbGV0ZWRTdGF0dXMJAAIBCQCsAgIJAKwCAgINTGFzdCBwYXlvdXQ6IAkApAMBBQpsYXN0UGF5b3V0AhIgd2FzIG5vdCBjb21wbGV0ZWQEDG5leHRQYXlvdXRJZAkAZAIFCmxhc3RQYXlvdXQAAQQYY3VycmVudEFkZGl0aW9uYWxSZXdhcmRzCQEaZ2V0UGF5b3V0QWRkaXRpb25hbFJld2FyZHMBBQxuZXh0UGF5b3V0SWQEFG5ld0FkZGl0aW9uYWxSZXdhcmRzCQBkAgUYY3VycmVudEFkZGl0aW9uYWxSZXdhcmRzCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHm1ha2VQYXlvdXRBZGRpdGlvbmFsUmV3YXJkc0tleQEFDG5leHRQYXlvdXRJZAUUbmV3QWRkaXRpb25hbFJld2FyZHMFA25pbAFpARNhZGRNYXNzVHJhbnNmZXJGZWVzAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECJ0F0IGxlYXN0IG9uZSBwYXltZW50IHNob3VsZCBiZSBhdHRhY2hlZAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAgECGk9ubHkgd2F2ZXMgY2FuIGJlIGF0dGFjaGVkBBdjdXJyZW50TWFzc1RyYW5zZmVyRmVlcwkBC3ZhbHVlT3JFbHNlAgkAnwgBBRNNYXNzVHJhbnNmZXJGZWVzS2V5AAAEE25ld01hc3NUcmFuc2ZlckZlZXMJAGQCBRdjdXJyZW50TWFzc1RyYW5zZmVyRmVlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFE01hc3NUcmFuc2ZlckZlZXNLZXkFE25ld01hc3NUcmFuc2ZlckZlZXMFA25pbAFpARh3aXRoZHJhd01hc3NUcmFuc2ZlckZlZXMAAwkBAiE9AggFAWkGY2FsbGVyBRFNYWludGFpbmVyQWRkcmVzcwkAAgECDUFjY2VzcyBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhdQYXltZW50cyBhcmUgcHJvaGliaXRlZAQXY3VycmVudE1hc3NUcmFuc2ZlckZlZXMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUTTWFzc1RyYW5zZmVyRmVlc0tleQAAAwkAAAIFF2N1cnJlbnRNYXNzVHJhbnNmZXJGZWVzAAAJAAIBAhNOb3RoaW5nIHRvIHdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNNYXNzVHJhbnNmZXJGZWVzS2V5AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwURTWFpbnRhaW5lckFkZHJlc3MFF2N1cnJlbnRNYXNzVHJhbnNmZXJGZWVzBQR1bml0BQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5kKzhJg==", "height": 3097182, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6MyTkzm8fjJC1dAw43qfkmcDjMHjHuZ3SmdeukpWpvRf Next: 5AhQAXEViBmhNMBB3dbQQTy6c9qjc81moApEszPmsBxP Diff:
OldNewDifferences
325325
326326
327327 @Verifier(aS)
328-func aT () = {
329- let aU = aS
330- if ($isInstanceOf(aU, "MassTransferTransaction"))
331- then {
332- let aV = aU
333- sigVerify_128Kb(aV.bodyBytes, aV.proofs[0], base58'3ezR5yaSmZAzqGt8iqRkYESRWpH1uaTKZ9ZffHD3C2Wc')
334- }
335- else sigVerify_128Kb(aS.bodyBytes, aS.proofs[0], base58'48u6HN3ArS3YcgWAwiuq3aAnviVc2uPwuEj2QuFcV4bd')
336- }
328+func aT () = sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
337329
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 5
55
66 let b = 0
77
88 let c = 1
99
1010 let d = 2
1111
1212 let e = 10
1313
1414 let f = 100
1515
1616 let g = height
1717
1818 let h = 84
1919
2020 let i = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2121
2222 let j = Address(base58'3NC2Xn1tUKEc7YxJS9oxdtY4x5NaQHhpH2e')
2323
2424 let k = Address(base58'3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx')
2525
2626 let l = Address(base58'3N2jcP6cAcDJoVpfsQ5tVDTQrNgJcVUjj4v')
2727
2828 let m = Address(base58'3MyJM8hLxAMYFrPzdh68QqeMdFSSWufQqw3')
2929
3030 let n = Address(base58'3N7ynzLr2PzVg9bCkrwLezNLVmoEyFmJtPL')
3131
3232 let o = Address(base58'3MyUDpTMG43mkmScfDKgG9gep4reUboH9YF')
3333
3434 let p = "WAVES"
3535
3636 let q = "lastPayout"
3737
3838 let r = "massTransferFees"
3939
4040 func s (t) = ("payoutData_" + toString(t))
4141
4242
4343 func u (t) = ("payoutStatus_" + toString(t))
4444
4545
4646 func v (t) = ("payoutAdditionalRewards_" + toString(t))
4747
4848
4949 func w () = getIntegerValue(this, q)
5050
5151
5252 func x (t) = {
5353 let y = getStringValue(s(t))
5454 let z = split(y, "_")
5555 let A = parseIntValue(z[0])
5656 let B = parseIntValue(z[1])
5757 $Tuple2(A, B)
5858 }
5959
6060
6161 func C (t) = valueOrElse(getInteger(u(t)), b)
6262
6363
6464 func D (t) = valueOrElse(getInteger(v(t)), 0)
6565
6666
6767 @Callable(E)
6868 func initiatePayout (t,A,B,F,G) = if ((E.caller != j))
6969 then throw("Access denied")
7070 else if ((size(E.payments) != 0))
7171 then throw("Payments are prohibited")
7272 else {
7373 let H = w()
7474 if ((t != (H + 1)))
7575 then throw(((("Wrong payoutId: " + toString(t)) + ", should be: ") + toString((H + 1))))
7676 else {
7777 let I = C(H)
7878 if ((I != d))
7979 then throw((("Last payout: " + toString(H)) + " was not completed"))
8080 else {
8181 let J = x(H)
8282 let K = J._1
8383 let L = J._2
8484 if ((A != (L + 1)))
8585 then throw(((("Wrong startHeight: " + toString(A)) + ", should be: ") + toString((L + 1))))
8686 else if ((A > B))
8787 then throw(((("endHeight: " + toString(B)) + " less than startHeight: ") + toString(A)))
8888 else {
8989 let M = getIntegerValue(l, "inputsQuantity")
9090 let N = size(F)
9191 let O = size(G)
9292 if (if ((N != O))
9393 then true
9494 else (N != M))
9595 then throw("Wrong size of amounts or assets")
9696 else {
9797 let P = valueOrElse(getInteger(k, ("%s%s__available__" + toString(this))), 0)
9898 let Q = getIntegerValue(k, "%s__nextBlockToProcess")
9999 let R = if (if ((P > 0))
100100 then ((Q + e) >= g)
101101 else false)
102102 then invoke(k, "claimLP", nil, nil)
103103 else unit
104104 if ((R == R))
105105 then {
106106 let S = D(t)
107107 func T (U,V) = if ((V >= O))
108108 then U
109109 else {
110110 let W = G[V]
111111 if ((getInteger(l, ("inputAssetIndex_" + W)) == unit))
112112 then throw(("Unknown input: " + W))
113113 else {
114114 let X = if ((W == p))
115115 then $Tuple2(unit, (F[V] + S))
116116 else $Tuple2(fromBase58String(W), F[V])
117117 let Y = X._1
118118 let Z = X._2
119119 if ((0 > Z))
120120 then throw((("Wrong asset amount: " + toString(Z)) + ", should be positive or zero"))
121121 else {
122122 let aa = fraction(Z, a, 100)
123123 let ab = (aa / 2)
124124 let ac = (aa - ab)
125125 let ad = ((Z - ab) - ac)
126126 $Tuple2(((U._1 :+ ScriptTransfer(n, ab, Y)) :+ ScriptTransfer(o, ac, Y)), (U._2 :+ toString(ad)))
127127 }
128128 }
129129 }
130130
131131 let ae = {
132132 let af = i
133133 let ag = size(af)
134134 let ah = $Tuple2(nil, nil)
135135 func ai (aj,ak) = if ((ak >= ag))
136136 then aj
137137 else T(aj, af[ak])
138138
139139 func al (aj,ak) = if ((ak >= ag))
140140 then aj
141141 else throw("List size exceeds 10")
142142
143143 al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
144144 }
145145 let am = ae._1
146146 let an = ae._2
147147 let ao = makeString(([toString(A), toString(B)] ++ an), "_")
148148 (am ++ [IntegerEntry(q, t), StringEntry(s(t), ao), IntegerEntry(u(t), c)])
149149 }
150150 else throw("Strict value is not equal to itself.")
151151 }
152152 }
153153 }
154154 }
155155 }
156156
157157
158158
159159 @Callable(E)
160160 func swap (t,ap,aq,ar,as) = if ((E.caller != j))
161161 then throw("Access denied")
162162 else if ((size(E.payments) != 0))
163163 then throw("Payments are prohibited")
164164 else {
165165 let H = w()
166166 if ((H != t))
167167 then throw(((("Wrong payoutId: " + toString(t)) + ", should be: ") + toString(H)))
168168 else {
169169 let at = C(t)
170170 if ((at != c))
171171 then throw((("Wrong payout status: " + toString(at)) + ", should be 1"))
172172 else {
173173 let au = if ((ap == p))
174174 then $Tuple2(wavesBalance(this).available, unit)
175175 else {
176176 let av = fromBase58String(ap)
177177 $Tuple2(assetBalance(this, av), av)
178178 }
179179 let aw = au._1
180180 let ax = au._2
181181 let ay = invoke(m, "swapWithReferral", [ar, as, "puzzlenode"], [AttachedPayment(ax, aq)])
182182 if ((ay == ay))
183183 then {
184184 let az = if ((ap == p))
185185 then wavesBalance(this).available
186186 else assetBalance(this, value(ax))
187187 let aA = (az - (aw - aq))
188188 if ((aA > 10))
189189 then throw(("Rollback aggregator refund: " + toString(aA)))
190190 else nil
191191 }
192192 else throw("Strict value is not equal to itself.")
193193 }
194194 }
195195 }
196196
197197
198198
199199 @Callable(E)
200200 func distributeTokens (t,aB,F,G,aC) = if ((E.caller != j))
201201 then throw("Access denied")
202202 else if ((size(E.payments) != 0))
203203 then throw("Payments are prohibited")
204204 else {
205205 let H = w()
206206 if ((H != t))
207207 then throw(((("Wrong payoutId: " + toString(t)) + ", should be: ") + toString(H)))
208208 else {
209209 let at = C(t)
210210 if ((at != c))
211211 then throw((("Wrong payout status: " + toString(at)) + ", should be 1"))
212212 else {
213213 let aD = size(aB)
214214 let N = size(F)
215215 let O = size(G)
216216 if (if ((aD != N))
217217 then true
218218 else (aD != O))
219219 then throw(((((("Wrong recipients size: " + toString(aD)) + ", amounts size: ") + toString(N)) + ", assets size: ") + toString(O)))
220220 else if ((aD == 0))
221221 then throw("Recipients list should not be empty")
222222 else if ((aD > f))
223223 then throw(((("Should be not greater than " + toString(f)) + " recipients, current: ") + toString(aD)))
224224 else {
225225 let aE = drop(toBytes(1), 7)
226226 let aF = drop(toBytes(h), 7)
227227 let aG = (aE + aF)
228228 func aH (U,V) = if ((V >= aD))
229229 then U
230230 else {
231231 let aI = aB[V]
232232 let aJ = (aG + aI)
233233 let aK = take(keccak256(blake2b256(aJ)), 4)
234234 let aL = Address((aJ + aK))
235235 let Z = F[V]
236236 let aM = G[V]
237237 let av = getBinaryValue(l, ("assetId_" + toString(aM)))
238238 let Y = if ((av == base58''))
239239 then unit
240240 else av
241241 (U :+ ScriptTransfer(aL, Z, Y))
242242 }
243243
244244 let aN = [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, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
245245 let af = aN
246246 let ag = size(af)
247247 let ah = nil
248248 func ai (aj,ak) = if ((ak >= ag))
249249 then aj
250250 else aH(aj, af[ak])
251251
252252 func al (aj,ak) = if ((ak >= ag))
253253 then aj
254254 else throw("List size exceeds 100")
255255
256256 al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 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), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
257257 }
258258 }
259259 }
260260 }
261261
262262
263263
264264 @Callable(E)
265265 func finalizePayout (t) = if ((E.caller != j))
266266 then throw("Access denied")
267267 else {
268268 let H = w()
269269 if ((H != t))
270270 then throw(((("Wrong payoutId: " + toString(t)) + ", should be: ") + toString(H)))
271271 else {
272272 let at = C(H)
273273 if ((at != c))
274274 then throw((("Wrong payout status: " + toString(at)) + ", should be: 1"))
275275 else [IntegerEntry(u(H), d)]
276276 }
277277 }
278278
279279
280280
281281 @Callable(E)
282282 func addAdditionalRewards () = if ((size(E.payments) != 1))
283283 then throw("At least one payment should be attached")
284284 else if ((E.payments[0].assetId != unit))
285285 then throw("Only waves can be attached")
286286 else {
287287 let H = w()
288288 let I = C(H)
289289 if ((I != d))
290290 then throw((("Last payout: " + toString(H)) + " was not completed"))
291291 else {
292292 let aO = (H + 1)
293293 let S = D(aO)
294294 let aP = (S + E.payments[0].amount)
295295 [IntegerEntry(v(aO), aP)]
296296 }
297297 }
298298
299299
300300
301301 @Callable(E)
302302 func addMassTransferFees () = if ((size(E.payments) != 1))
303303 then throw("At least one payment should be attached")
304304 else if ((E.payments[0].assetId != unit))
305305 then throw("Only waves can be attached")
306306 else {
307307 let aQ = valueOrElse(getInteger(r), 0)
308308 let aR = (aQ + E.payments[0].amount)
309309 [IntegerEntry(r, aR)]
310310 }
311311
312312
313313
314314 @Callable(E)
315315 func withdrawMassTransferFees () = if ((E.caller != n))
316316 then throw("Access denied")
317317 else if ((size(E.payments) != 0))
318318 then throw("Payments are prohibited")
319319 else {
320320 let aQ = valueOrElse(getInteger(r), 0)
321321 if ((aQ == 0))
322322 then throw("Nothing to withdraw")
323323 else [IntegerEntry(r, 0), ScriptTransfer(n, aQ, unit)]
324324 }
325325
326326
327327 @Verifier(aS)
328-func aT () = {
329- let aU = aS
330- if ($isInstanceOf(aU, "MassTransferTransaction"))
331- then {
332- let aV = aU
333- sigVerify_128Kb(aV.bodyBytes, aV.proofs[0], base58'3ezR5yaSmZAzqGt8iqRkYESRWpH1uaTKZ9ZffHD3C2Wc')
334- }
335- else sigVerify_128Kb(aS.bodyBytes, aS.proofs[0], base58'48u6HN3ArS3YcgWAwiuq3aAnviVc2uPwuEj2QuFcV4bd')
336- }
328+func aT () = sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
337329

github/deemru/w8io/3ef1775 
60.32 ms