tx · Fuqph3uTgyS6qgsxgT2YLKEQtKjoTsUqzhASvKXqFzjD

3N7XWpdx1UJKZp5stTtFMXPEygyfZ7j4PyC:  -0.01400000 Waves

2024.05.16 17:39 [3108709] smart account 3N7XWpdx1UJKZp5stTtFMXPEygyfZ7j4PyC > SELF 0.00000000 Waves

{ "type": 13, "id": "Fuqph3uTgyS6qgsxgT2YLKEQtKjoTsUqzhASvKXqFzjD", "fee": 1400000, "feeAssetId": null, "timestamp": 1715870402784, "version": 2, "chainId": 84, "sender": "3N7XWpdx1UJKZp5stTtFMXPEygyfZ7j4PyC", "senderPublicKey": "APsCCjsKHFx7rbr1mG8Pca43pccTbH2G4FZj4keEqKJ5", "proofs": [ "ryVsBzcRnWkwG53wGFocRmdKbJQbdxA22vs3CuzsC6mqLSqQLnUtxKKZXTDKG78zEgS79S8Uzy5TkfdQKai2JZD" ], "script": "base64:BgItCAISAwoBCBIHCgUBAQERGBIHCgUBCAEIARIHCgUBEhERCBIDCgEBEgASABIAJgAHV2F2ZXNJZAIFV0FWRVMACE1pbmVyRmVlAAUAEVBheW91dEVtcHR5U3RhdHVzAAAAFVBheW91dEluaXRpYXRlZFN0YXR1cwABABVQYXlvdXRDb21wbGV0ZWRTdGF0dXMAAgASQmxvY2tzQmF0Y2hNYXhTaXplAAoAFlJlY2lwaWVudHNCYXRjaE1heFNpemUAZAAGSGVpZ2h0BQZoZWlnaHQABUFycjEwCQDMCAIAAAkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFCQDMCAIABgkAzAgCAAcJAMwIAgAICQDMCAIACQUDbmlsABBDb25maWdBZGRyZXNzS2V5Ag1jb25maWdBZGRyZXNzAA1MYXN0UGF5b3V0S2V5AgpsYXN0UGF5b3V0ABNNYXNzVHJhbnNmZXJGZWVzS2V5AhBtYXNzVHJhbnNmZXJGZWVzAApDaGFpbklkS2V5AgdjaGFpbklkABBEYWVtb25BZGRyZXNzS2V5Ag1kYWVtb25BZGRyZXNzABJEYWVtb25QdWJsaWNLZXlLZXkCD2RhZW1vblB1YmxpY0tleQAUTWFpbnRhaW5lckFkZHJlc3NLZXkCEW1haW50YWluZXJBZGRyZXNzABpQdXp6bGVBZ2dyZWdhdG9yQWRkcmVzc0tleQIXcHV6emxlQWdncmVnYXRvckFkZHJlc3MAF1B1enpsZUJ1eWJhY2tBZGRyZXNzS2V5AhRwdXp6bGVCdXliYWNrQWRkcmVzcwASU2V0dGluZ3NBZGRyZXNzS2V5Ag9zZXR0aW5nc0FkZHJlc3MAElNpZ25lclB1YmxpY0tleUtleQIPc2lnbmVyUHVibGljS2V5ABlXYXZlc0Rhb0ZhY3RvcnlBZGRyZXNzS2V5AhZ3YXZlc0Rhb0ZhY3RvcnlBZGRyZXNzAA1Db25maWdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRBDb25maWdBZGRyZXNzS2V5AAdDaGFpbklkCQERQGV4dHJOYXRpdmUoMTA1MCkCBQ1Db25maWdBZGRyZXNzBQpDaGFpbklkS2V5AA1EYWVtb25BZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1Db25maWdBZGRyZXNzBRBEYWVtb25BZGRyZXNzS2V5AA9EYWVtb25QdWJsaWNLZXkJARFAZXh0ck5hdGl2ZSgxMDUyKQIFDUNvbmZpZ0FkZHJlc3MFEkRhZW1vblB1YmxpY0tleUtleQARTWFpbnRhaW5lckFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFDUNvbmZpZ0FkZHJlc3MFFE1haW50YWluZXJBZGRyZXNzS2V5ABdQdXp6bGVBZ2dyZWdhdG9yQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUNQ29uZmlnQWRkcmVzcwUaUHV6emxlQWdncmVnYXRvckFkZHJlc3NLZXkAFFB1enpsZUJ1eWJhY2tBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1Db25maWdBZGRyZXNzBRdQdXp6bGVCdXliYWNrQWRkcmVzc0tleQAPU2V0dGluZ3NBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1Db25maWdBZGRyZXNzBRJTZXR0aW5nc0FkZHJlc3NLZXkAD1NpZ25lclB1YmxpY0tleQkAnAgCBQ1Db25maWdBZGRyZXNzBRJTaWduZXJQdWJsaWNLZXlLZXkAFldhdmVzRGFvRmFjdG9yeUFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFDUNvbmZpZ0FkZHJlc3MFGVdhdmVzRGFvRmFjdG9yeUFkZHJlc3NLZXkBEW1ha2VQYXlvdXREYXRhS2V5AQhwYXlvdXRJZAkArAICAgtwYXlvdXREYXRhXwkApAMBBQhwYXlvdXRJZAETbWFrZVBheW91dFN0YXR1c0tleQEIcGF5b3V0SWQJAKwCAgINcGF5b3V0U3RhdHVzXwkApAMBBQhwYXlvdXRJZAEebWFrZVBheW91dEFkZGl0aW9uYWxSZXdhcmRzS2V5AQhwYXlvdXRJZAkArAICAhhwYXlvdXRBZGRpdGlvbmFsUmV3YXJkc18JAKQDAQUIcGF5b3V0SWQBDWdldExhc3RQYXlvdXQACQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1MYXN0UGF5b3V0S2V5AQ1nZXRQYXlvdXREYXRhAQhwYXlvdXRJZAQMcGF5b3V0U3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1OCkBCQERbWFrZVBheW91dERhdGFLZXkBBQhwYXlvdXRJZAQOcGF5b3V0RGF0YUxpc3QJALUJAgUMcGF5b3V0U3RyaW5nAgFfBAtzdGFydEhlaWdodAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDnBheW91dERhdGFMaXN0AAAECWVuZEhlaWdodAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDnBheW91dERhdGFMaXN0AAEJAJQKAgULc3RhcnRIZWlnaHQFCWVuZEhlaWdodAEPZ2V0UGF5b3V0U3RhdHVzAQhwYXlvdXRJZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQETbWFrZVBheW91dFN0YXR1c0tleQEFCHBheW91dElkBRFQYXlvdXRFbXB0eVN0YXR1cwEaZ2V0UGF5b3V0QWRkaXRpb25hbFJld2FyZHMBCHBheW91dElkCQELdmFsdWVPckVsc2UCCQCfCAEJAR5tYWtlUGF5b3V0QWRkaXRpb25hbFJld2FyZHNLZXkBBQhwYXlvdXRJZAAACAFpAQVzZXR1cAENY29uZmlnQWRkcmVzcwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECDUFjY2VzcyBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhdQYXltZW50cyBhcmUgcHJvaGliaXRlZAMJAAACCQCmCAEFDWNvbmZpZ0FkZHJlc3MFBHVuaXQJAAIBCQCsAgICF0ludmFsaWQgY29uZmlnQWRkcmVzczogBQ1jb25maWdBZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEENvbmZpZ0FkZHJlc3NLZXkFDWNvbmZpZ0FkZHJlc3MFA25pbAFpAQ5pbml0aWF0ZVBheW91dAUIcGF5b3V0SWQLc3RhcnRIZWlnaHQJZW5kSGVpZ2h0B2Ftb3VudHMGYXNzZXRzAwkBAiE9AggFAWkGY2FsbGVyBQ1EYWVtb25BZGRyZXNzCQACAQINQWNjZXNzIGRlbmllZAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECF1BheW1lbnRzIGFyZSBwcm9oaWJpdGVkBApsYXN0UGF5b3V0CQENZ2V0TGFzdFBheW91dAADCQECIT0CBQhwYXlvdXRJZAkAZAIFCmxhc3RQYXlvdXQAAQkAAgEJAKwCAgkArAICCQCsAgICEFdyb25nIHBheW91dElkOiAJAKQDAQUIcGF5b3V0SWQCDSwgc2hvdWxkIGJlOiAJAKQDAQkAZAIFCmxhc3RQYXlvdXQAAQQQbGFzdFBheW91dFN0YXR1cwkBD2dldFBheW91dFN0YXR1cwEFCmxhc3RQYXlvdXQDCQECIT0CBRBsYXN0UGF5b3V0U3RhdHVzBRVQYXlvdXRDb21wbGV0ZWRTdGF0dXMJAAIBCQCsAgIJAKwCAgINTGFzdCBwYXlvdXQ6IAkApAMBBQpsYXN0UGF5b3V0AhIgd2FzIG5vdCBjb21wbGV0ZWQECyR0MDM2NjYzNzMwCQENZ2V0UGF5b3V0RGF0YQEFCmxhc3RQYXlvdXQED2xhc3RTdGFydEhlaWdodAgFCyR0MDM2NjYzNzMwAl8xBA1sYXN0RW5kSGVpZ2h0CAULJHQwMzY2NjM3MzACXzIDCQECIT0CBQtzdGFydEhlaWdodAkAZAIFDWxhc3RFbmRIZWlnaHQAAQkAAgEJAKwCAgkArAICCQCsAgICE1dyb25nIHN0YXJ0SGVpZ2h0OiAJAKQDAQULc3RhcnRIZWlnaHQCDSwgc2hvdWxkIGJlOiAJAKQDAQkAZAIFDWxhc3RFbmRIZWlnaHQAAQMJAGYCBQtzdGFydEhlaWdodAUJZW5kSGVpZ2h0CQACAQkArAICCQCsAgIJAKwCAgILZW5kSGVpZ2h0OiAJAKQDAQUJZW5kSGVpZ2h0AhggbGVzcyB0aGFuIHN0YXJ0SGVpZ2h0OiAJAKQDAQULc3RhcnRIZWlnaHQEDmlucHV0c1F1YW50aXR5CQERQGV4dHJOYXRpdmUoMTA1MCkCBQ9TZXR0aW5nc0FkZHJlc3MCDmlucHV0c1F1YW50aXR5BAthbW91bnRzU2l6ZQkAkAMBBQdhbW91bnRzBAphc3NldHNTaXplCQCQAwEFBmFzc2V0cwMDCQECIT0CBQthbW91bnRzU2l6ZQUKYXNzZXRzU2l6ZQYJAQIhPQIFC2Ftb3VudHNTaXplBQ5pbnB1dHNRdWFudGl0eQkAAgECH1dyb25nIHNpemUgb2YgYW1vdW50cyBvciBhc3NldHMEGmF2YWlsYWJsZVdhdmVzRGFvTHBUb0NsYWltCQELdmFsdWVPckVsc2UCCQCaCAIFFldhdmVzRGFvRmFjdG9yeUFkZHJlc3MJAKwCAgIRJXMlc19fYXZhaWxhYmxlX18JAKUIAQUEdGhpcwAABBp3YXZlc0Rhb05leHRCbG9ja1RvUHJvY2VzcwkBEUBleHRyTmF0aXZlKDEwNTApAgUWV2F2ZXNEYW9GYWN0b3J5QWRkcmVzcwIWJXNfX25leHRCbG9ja1RvUHJvY2VzcwQNd2F2ZXNEbHBDbGFpbQMDCQBmAgUaYXZhaWxhYmxlV2F2ZXNEYW9McFRvQ2xhaW0AAAkAZwIJAGQCBRp3YXZlc0Rhb05leHRCbG9ja1RvUHJvY2VzcwUSQmxvY2tzQmF0Y2hNYXhTaXplBQZIZWlnaHQHCQD8BwQFFldhdmVzRGFvRmFjdG9yeUFkZHJlc3MCB2NsYWltTFAFA25pbAUDbmlsBQR1bml0AwkAAAIFDXdhdmVzRGxwQ2xhaW0FDXdhdmVzRGxwQ2xhaW0EGGN1cnJlbnRBZGRpdGlvbmFsUmV3YXJkcwkBGmdldFBheW91dEFkZGl0aW9uYWxSZXdhcmRzAQUIcGF5b3V0SWQKAQphc3NldHNGb2xkAgVhY2N1bQVpbmRleAMJAGcCBQVpbmRleAUKYXNzZXRzU2l6ZQUFYWNjdW0ECGFzc2V0U3RyCQCRAwIFBmFzc2V0cwUFaW5kZXgDCQAAAgkAmggCBQ9TZXR0aW5nc0FkZHJlc3MJAKwCAgIQaW5wdXRBc3NldEluZGV4XwUIYXNzZXRTdHIFBHVuaXQJAAIBCQCsAgICD1Vua25vd24gaW5wdXQ6IAUIYXNzZXRTdHIECyR0MDUxMzI1MzExAwkAAAIFCGFzc2V0U3RyBQdXYXZlc0lkCQCUCgIFBHVuaXQJAGQCCQCRAwIFB2Ftb3VudHMFBWluZGV4BRhjdXJyZW50QWRkaXRpb25hbFJld2FyZHMJAJQKAgkA2QQBBQhhc3NldFN0cgkAkQMCBQdhbW91bnRzBQVpbmRleAQFYXNzZXQIBQskdDA1MTMyNTMxMQJfMQQGYW1vdW50CAULJHQwNTEzMjUzMTECXzIDCQBmAgAABQZhbW91bnQJAAIBCQCsAgIJAKwCAgIUV3JvbmcgYXNzZXQgYW1vdW50OiAJAKQDAQUGYW1vdW50AhwsIHNob3VsZCBiZSBwb3NpdGl2ZSBvciB6ZXJvBAhtaW5lckZlZQkAawMFBmFtb3VudAUITWluZXJGZWUAZAQNbWFpbnRhaW5lckZlZQkAaQIFCG1pbmVyRmVlAAIEEHB1enpsZUJ1eWJhY2tGZWUJAGUCBQhtaW5lckZlZQUNbWFpbnRhaW5lckZlZQQNbGVzc29yc0Ftb3VudAkAZQIJAGUCBQZhbW91bnQFDW1haW50YWluZXJGZWUFEHB1enpsZUJ1eWJhY2tGZWUJAJQKAgkAzQgCCQDNCAIIBQVhY2N1bQJfMQkBDlNjcmlwdFRyYW5zZmVyAwURTWFpbnRhaW5lckFkZHJlc3MFDW1haW50YWluZXJGZWUFBWFzc2V0CQEOU2NyaXB0VHJhbnNmZXIDBRRQdXp6bGVCdXliYWNrQWRkcmVzcwUQcHV6emxlQnV5YmFja0ZlZQUFYXNzZXQJAM0IAggFBWFjY3VtAl8yCQCkAwEFDWxlc3NvcnNBbW91bnQECyR0MDU4OTU1OTYyCgACJGwFBUFycjEwCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKYXNzZXRzRm9sZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQJdHJhbnNmZXJzCAULJHQwNTg5NTU5NjICXzEECmFtb3VudEtleXMIBQskdDA1ODk1NTk2MgJfMgQNbmV3UGF5b3V0RGF0YQkAuQkCCQDOCAIJAMwIAgkApAMBBQtzdGFydEhlaWdodAkAzAgCCQCkAwEFCWVuZEhlaWdodAUDbmlsBQphbW91bnRLZXlzAgFfCQDOCAIFCXRyYW5zZmVycwkAzAgCCQEMSW50ZWdlckVudHJ5AgUNTGFzdFBheW91dEtleQUIcGF5b3V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEW1ha2VQYXlvdXREYXRhS2V5AQUIcGF5b3V0SWQFDW5ld1BheW91dERhdGEJAMwIAgkBDEludGVnZXJFbnRyeQIJARNtYWtlUGF5b3V0U3RhdHVzS2V5AQUIcGF5b3V0SWQFFVBheW91dEluaXRpYXRlZFN0YXR1cwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBHN3YXAFCHBheW91dElkCHN3YXBGcm9tCGFtb3VudEluBXJvdXRlDG1pblRvUmVjZWl2ZQMJAQIhPQIIBQFpBmNhbGxlcgUNRGFlbW9uQWRkcmVzcwkAAgECDUFjY2VzcyBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhdQYXltZW50cyBhcmUgcHJvaGliaXRlZAQKbGFzdFBheW91dAkBDWdldExhc3RQYXlvdXQAAwkBAiE9AgUKbGFzdFBheW91dAUIcGF5b3V0SWQJAAIBCQCsAgIJAKwCAgkArAICAhBXcm9uZyBwYXlvdXRJZDogCQCkAwEFCHBheW91dElkAg0sIHNob3VsZCBiZTogCQCkAwEFCmxhc3RQYXlvdXQEDHBheW91dFN0YXR1cwkBD2dldFBheW91dFN0YXR1cwEFCHBheW91dElkAwkBAiE9AgUMcGF5b3V0U3RhdHVzBRVQYXlvdXRJbml0aWF0ZWRTdGF0dXMJAAIBCQCsAgIJAKwCAgIVV3JvbmcgcGF5b3V0IHN0YXR1czogCQCkAwEFDHBheW91dFN0YXR1cwINLCBzaG91bGQgYmUgMQQLJHQwNjkxMzcxNjIDCQAAAgUIc3dhcEZyb20FB1dhdmVzSWQJAJQKAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFBHVuaXQEB2Fzc2V0SWQJANkEAQUIc3dhcEZyb20JAJQKAgkA8AcCBQR0aGlzBQdhc3NldElkBQdhc3NldElkBBNiYWxhbmNlSW5CZWZvcmVTd2FwCAULJHQwNjkxMzcxNjICXzEECnN3YXBGcm9tSWQIBQskdDA2OTEzNzE2MgJfMgQKc3dhcEludm9rZQkA/AcEBRdQdXp6bGVBZ2dyZWdhdG9yQWRkcmVzcwIQc3dhcFdpdGhSZWZlcnJhbAkAzAgCBQVyb3V0ZQkAzAgCBQxtaW5Ub1JlY2VpdmUJAMwIAgIKcHV6emxlbm9kZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpzd2FwRnJvbUlkBQhhbW91bnRJbgUDbmlsAwkAAAIFCnN3YXBJbnZva2UFCnN3YXBJbnZva2UEEmJhbGFuY2VJbkFmdGVyU3dhcAMJAAACBQhzd2FwRnJvbQUHV2F2ZXNJZAgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAPAHAgUEdGhpcwkBBXZhbHVlAQUKc3dhcEZyb21JZAQGcmVmdW5kCQBlAgUSYmFsYW5jZUluQWZ0ZXJTd2FwCQBlAgUTYmFsYW5jZUluQmVmb3JlU3dhcAUIYW1vdW50SW4DCQBmAgUGcmVmdW5kAAoJAAIBCQCsAgICHFJvbGxiYWNrIGFnZ3JlZ2F0b3IgcmVmdW5kOiAJAKQDAQUGcmVmdW5kBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQZGlzdHJpYnV0ZVRva2VucwUIcGF5b3V0SWQKcmVjaXBpZW50cwdhbW91bnRzBmFzc2V0cwphdHRhY2htZW50AwkBAiE9AggFAWkGY2FsbGVyBQ1EYWVtb25BZGRyZXNzCQACAQINQWNjZXNzIGRlbmllZAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECF1BheW1lbnRzIGFyZSBwcm9oaWJpdGVkBApsYXN0UGF5b3V0CQENZ2V0TGFzdFBheW91dAADCQECIT0CBQpsYXN0UGF5b3V0BQhwYXlvdXRJZAkAAgEJAKwCAgkArAICCQCsAgICEFdyb25nIHBheW91dElkOiAJAKQDAQUIcGF5b3V0SWQCDSwgc2hvdWxkIGJlOiAJAKQDAQUKbGFzdFBheW91dAQMcGF5b3V0U3RhdHVzCQEPZ2V0UGF5b3V0U3RhdHVzAQUIcGF5b3V0SWQDCQECIT0CBQxwYXlvdXRTdGF0dXMFFVBheW91dEluaXRpYXRlZFN0YXR1cwkAAgEJAKwCAgkArAICAhVXcm9uZyBwYXlvdXQgc3RhdHVzOiAJAKQDAQUMcGF5b3V0U3RhdHVzAg0sIHNob3VsZCBiZSAxBA5yZWNpcGllbnRzU2l6ZQkAkAMBBQpyZWNpcGllbnRzBAthbW91bnRzU2l6ZQkAkAMBBQdhbW91bnRzBAphc3NldHNTaXplCQCQAwEFBmFzc2V0cwMDCQECIT0CBQ5yZWNpcGllbnRzU2l6ZQULYW1vdW50c1NpemUGCQECIT0CBQ5yZWNpcGllbnRzU2l6ZQUKYXNzZXRzU2l6ZQkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhdXcm9uZyByZWNpcGllbnRzIHNpemU6IAkApAMBBQ5yZWNpcGllbnRzU2l6ZQIQLCBhbW91bnRzIHNpemU6IAkApAMBBQthbW91bnRzU2l6ZQIPLCBhc3NldHMgc2l6ZTogCQCkAwEFCmFzc2V0c1NpemUDCQAAAgUOcmVjaXBpZW50c1NpemUAAAkAAgECI1JlY2lwaWVudHMgbGlzdCBzaG91bGQgbm90IGJlIGVtcHR5AwkAZgIFDnJlY2lwaWVudHNTaXplBRZSZWNpcGllbnRzQmF0Y2hNYXhTaXplCQACAQkArAICCQCsAgIJAKwCAgIbU2hvdWxkIGJlIG5vdCBncmVhdGVyIHRoYW4gCQCkAwEFFlJlY2lwaWVudHNCYXRjaE1heFNpemUCFiByZWNpcGllbnRzLCBjdXJyZW50OiAJAKQDAQUOcmVjaXBpZW50c1NpemUECW1hZ2ljQnl0ZQkAygECCQCaAwEAAQAHBAtjaGFpbklkQnl0ZQkAygECCQCaAwEFB0NoYWluSWQABwQNYWRkcmVzc1ByZWZpeAkAywECBQltYWdpY0J5dGUFC2NoYWluSWRCeXRlCgETc2NyaXB0VHJhbnNmZXJzRm9sZAIFYWNjdW0FaW5kZXgDCQBnAgUFaW5kZXgFDnJlY2lwaWVudHNTaXplBQVhY2N1bQQNcHVibGljS2V5SGFzaAkAkQMCBQpyZWNpcGllbnRzBQVpbmRleAQLYWRkcmVzc0RhdGEJAMsBAgUN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bmcgcGF5b3V0IHN0YXR1czogCQCkAwEFDHBheW91dFN0YXR1cwIOLCBzaG91bGQgYmU6IDEJAMwIAgkBDEludGVnZXJFbnRyeQIJARNtYWtlUGF5b3V0U3RhdHVzS2V5AQUKbGFzdFBheW91dAUVUGF5b3V0Q29tcGxldGVkU3RhdHVzBQNuaWwBaQEUYWRkQWRkaXRpb25hbFJld2FyZHMAAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQInQXQgbGVhc3Qgb25lIHBheW1lbnQgc2hvdWxkIGJlIGF0dGFjaGVkAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQR1bml0CQACAQIaT25seSB3YXZlcyBjYW4gYmUgYXR0YWNoZWQECmxhc3RQYXlvdXQJAQ1nZXRMYXN0UGF5b3V0AAQQbGFzdFBheW91dFN0YXR1cwkBD2dldFBheW91dFN0YXR1cwEFCmxhc3RQYXlvdXQDCQECIT0CBRBsYXN0UGF5b3V0U3RhdHVzBRVQYXlvdXRDb21wbGV0ZWRTdGF0dXMJAAIBCQCsAgIJAKwCAgINTGFzdCBwYXlvdXQ6IAkApAMBBQpsYXN0UGF5b3V0AhIgd2FzIG5vdCBjb21wbGV0ZWQEDG5leHRQYXlvdXRJZAkAZAIFCmxhc3RQYXlvdXQAAQQYY3VycmVudEFkZGl0aW9uYWxSZXdhcmRzCQEaZ2V0UGF5b3V0QWRkaXRpb25hbFJld2FyZHMBBQxuZXh0UGF5b3V0SWQEFG5ld0FkZGl0aW9uYWxSZXdhcmRzCQBkAgUYY3VycmVudEFkZGl0aW9uYWxSZXdhcmRzCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHm1ha2VQYXlvdXRBZGRpdGlvbmFsUmV3YXJkc0tleQEFDG5leHRQYXlvdXRJZAUUbmV3QWRkaXRpb25hbFJld2FyZHMFA25pbAFpARNhZGRNYXNzVHJhbnNmZXJGZWVzAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECJ0F0IGxlYXN0IG9uZSBwYXltZW50IHNob3VsZCBiZSBhdHRhY2hlZAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAgECGk9ubHkgd2F2ZXMgY2FuIGJlIGF0dGFjaGVkBBdjdXJyZW50TWFzc1RyYW5zZmVyRmVlcwkBC3ZhbHVlT3JFbHNlAgkAnwgBBRNNYXNzVHJhbnNmZXJGZWVzS2V5AAAEE25ld01hc3NUcmFuc2ZlckZlZXMJAGQCBRdjdXJyZW50TWFzc1RyYW5zZmVyRmVlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFE01hc3NUcmFuc2ZlckZlZXNLZXkFE25ld01hc3NUcmFuc2ZlckZlZXMFA25pbAFpARh3aXRoZHJhd01hc3NUcmFuc2ZlckZlZXMAAwkBAiE9AggFAWkGY2FsbGVyBRFNYWludGFpbmVyQWRkcmVzcwkAAgECDUFjY2VzcyBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhdQYXltZW50cyBhcmUgcHJvaGliaXRlZAQXY3VycmVudE1hc3NUcmFuc2ZlckZlZXMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUTTWFzc1RyYW5zZmVyRmVlc0tleQAAAwkAAAIFF2N1cnJlbnRNYXNzVHJhbnNmZXJGZWVzAAAJAAIBAhNOb3RoaW5nIHRvIHdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNNYXNzVHJhbnNmZXJGZWVzS2V5AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwURTWFpbnRhaW5lckFkZHJlc3MFF2N1cnJlbnRNYXNzVHJhbnNmZXJGZWVzBQR1bml0BQNuaWwBAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAhdNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgQGbWFzc1R4BQckbWF0Y2gwBBBjb25maWdBZGRyZXNzU3RyCQCdCAIFBHRoaXMFEENvbmZpZ0FkZHJlc3NLZXkEDWNvbmZpZ0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEFEGNvbmZpZ0FkZHJlc3NTdHIECXB1YmxpY0tleQMJAQlpc0RlZmluZWQBBRBjb25maWdBZGRyZXNzU3RyCQELdmFsdWVPckVsc2UCCQCcCAIFDWNvbmZpZ0FkZHJlc3MFEkRhZW1vblB1YmxpY0tleUtleQgFAnR4D3NlbmRlclB1YmxpY0tleQgFAnR4D3NlbmRlclB1YmxpY0tleQkAxBMDCAUGbWFzc1R4CWJvZHlCeXRlcwkAkQMCCAUGbWFzc1R4BnByb29mcwAABQlwdWJsaWNLZXkDCQABAgUHJG1hdGNoMAIXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24ECGludm9rZVR4BQckbWF0Y2gwBBF2YWxpZEZ1bmN0aW9uTmFtZQMDAwkAAAIIBQhpbnZva2VUeAhmdW5jdGlvbgIPZXh0ZW5kTWFpbkNoYWluBgkAAAIIBQhpbnZva2VUeAhmdW5jdGlvbgILYXBwZW5kQmxvY2sGCQAAAggFCGludm9rZVR4CGZ1bmN0aW9uAg1zdGFydEFsdENoYWluBgkAAAIIBQhpbnZva2VUeAhmdW5jdGlvbgIOZXh0ZW5kQWx0Q2hhaW4EEGNvbmZpZ0FkZHJlc3NTdHIJAJ0IAgUEdGhpcwUQQ29uZmlnQWRkcmVzc0tleQQNY29uZmlnQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQUQY29uZmlnQWRkcmVzc1N0cgQUdW5pdHNDaGFpbkFkZHJlc3NTdHIJAJ0IAgUNY29uZmlnQWRkcmVzcwkArAICAgt1bml0c0NoYWluXwkApQgBCgABQAgFCGludm9rZVR4BGRBcHADCQABAgUBQAIHQWRkcmVzcwUBQAkAAgEJAKwCAgkAAwEFAUACHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEFkZHJlc3MED3NpZ25lclB1YmxpY0tleQkBC3ZhbHVlT3JFbHNlAgkAnAgCBQ1jb25maWdBZGRyZXNzBRJTaWduZXJQdWJsaWNLZXlLZXkIBQJ0eA9zZW5kZXJQdWJsaWNLZXkECXB1YmxpY0tleQMJAQlpc0RlZmluZWQBBRBjb25maWdBZGRyZXNzU3RyAwMJAQlpc0RlZmluZWQBBRR1bml0c0NoYWluQWRkcmVzc1N0cgURdmFsaWRGdW5jdGlvbk5hbWUHCAUCdHgPc2VuZGVyUHVibGljS2V5BQ9zaWduZXJQdWJsaWNLZXkIBQJ0eA9zZW5kZXJQdWJsaWNLZXkJAMQTAwgFCGludm9rZVR4CWJvZHlCeXRlcwkAkQMCCAUIaW52b2tlVHgGcHJvb2ZzAAAFCXB1YmxpY0tleQQQY29uZmlnQWRkcmVzc1N0cgkAnQgCBQR0aGlzBRBDb25maWdBZGRyZXNzS2V5BA1jb25maWdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBBRBjb25maWdBZGRyZXNzU3RyBAlwdWJsaWNLZXkDCQEJaXNEZWZpbmVkAQUQY29uZmlnQWRkcmVzc1N0cgkBC3ZhbHVlT3JFbHNlAgkAnAgCBQ1jb25maWdBZGRyZXNzBRJTaWduZXJQdWJsaWNLZXlLZXkIBQJ0eA9zZW5kZXJQdWJsaWNLZXkIBQJ0eA9zZW5kZXJQdWJsaWNLZXkJAMgTAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCXB1YmxpY0tlee79/hQ=", "height": 3108709, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HT69Nu1VNhAkR5uYH9mDrp1tzdFvHnxWdmS1P9d5awwS Next: Bw3dyDDD8Uefsw52sC2yRSTsi3KPZdjV7YjWfvZWETL6 Diff:
OldNewDifferences
377377 else if ($isInstanceOf(bi, "InvokeScriptTransaction"))
378378 then {
379379 let bm = bi
380- let bn = if (if ((bm.function == "extendMainChain"))
380+ let bn = if (if (if ((bm.function == "extendMainChain"))
381+ then true
382+ else (bm.function == "appendBlock"))
381383 then true
382384 else (bm.function == "startAltChain"))
383385 then true
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "WAVES"
55
66 let b = 5
77
88 let c = 0
99
1010 let d = 1
1111
1212 let e = 2
1313
1414 let f = 10
1515
1616 let g = 100
1717
1818 let h = height
1919
2020 let i = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2121
2222 let j = "configAddress"
2323
2424 let k = "lastPayout"
2525
2626 let l = "massTransferFees"
2727
2828 let m = "chainId"
2929
3030 let n = "daemonAddress"
3131
3232 let o = "daemonPublicKey"
3333
3434 let p = "maintainerAddress"
3535
3636 let q = "puzzleAggregatorAddress"
3737
3838 let r = "puzzleBuybackAddress"
3939
4040 let s = "settingsAddress"
4141
4242 let t = "signerPublicKey"
4343
4444 let u = "wavesDaoFactoryAddress"
4545
4646 let v = addressFromStringValue(getStringValue(this, j))
4747
4848 let w = getIntegerValue(v, m)
4949
5050 let x = addressFromStringValue(getStringValue(v, n))
5151
5252 let y = getBinaryValue(v, o)
5353
5454 let z = addressFromStringValue(getStringValue(v, p))
5555
5656 let A = addressFromStringValue(getStringValue(v, q))
5757
5858 let B = addressFromStringValue(getStringValue(v, r))
5959
6060 let C = addressFromStringValue(getStringValue(v, s))
6161
6262 let D = getBinary(v, t)
6363
6464 let E = addressFromStringValue(getStringValue(v, u))
6565
6666 func F (G) = ("payoutData_" + toString(G))
6767
6868
6969 func H (G) = ("payoutStatus_" + toString(G))
7070
7171
7272 func I (G) = ("payoutAdditionalRewards_" + toString(G))
7373
7474
7575 func J () = getIntegerValue(this, k)
7676
7777
7878 func K (G) = {
7979 let L = getStringValue(F(G))
8080 let M = split(L, "_")
8181 let N = parseIntValue(M[0])
8282 let O = parseIntValue(M[1])
8383 $Tuple2(N, O)
8484 }
8585
8686
8787 func P (G) = valueOrElse(getInteger(H(G)), c)
8888
8989
9090 func Q (G) = valueOrElse(getInteger(I(G)), 0)
9191
9292
9393 @Callable(R)
9494 func setup (S) = if ((R.caller != this))
9595 then throw("Access denied")
9696 else if ((size(R.payments) != 0))
9797 then throw("Payments are prohibited")
9898 else if ((addressFromString(S) == unit))
9999 then throw(("Invalid configAddress: " + S))
100100 else [StringEntry(j, S)]
101101
102102
103103
104104 @Callable(R)
105105 func initiatePayout (G,N,O,T,U) = if ((R.caller != x))
106106 then throw("Access denied")
107107 else if ((size(R.payments) != 0))
108108 then throw("Payments are prohibited")
109109 else {
110110 let V = J()
111111 if ((G != (V + 1)))
112112 then throw(((("Wrong payoutId: " + toString(G)) + ", should be: ") + toString((V + 1))))
113113 else {
114114 let W = P(V)
115115 if ((W != e))
116116 then throw((("Last payout: " + toString(V)) + " was not completed"))
117117 else {
118118 let X = K(V)
119119 let Y = X._1
120120 let Z = X._2
121121 if ((N != (Z + 1)))
122122 then throw(((("Wrong startHeight: " + toString(N)) + ", should be: ") + toString((Z + 1))))
123123 else if ((N > O))
124124 then throw(((("endHeight: " + toString(O)) + " less than startHeight: ") + toString(N)))
125125 else {
126126 let aa = getIntegerValue(C, "inputsQuantity")
127127 let ab = size(T)
128128 let ac = size(U)
129129 if (if ((ab != ac))
130130 then true
131131 else (ab != aa))
132132 then throw("Wrong size of amounts or assets")
133133 else {
134134 let ad = valueOrElse(getInteger(E, ("%s%s__available__" + toString(this))), 0)
135135 let ae = getIntegerValue(E, "%s__nextBlockToProcess")
136136 let af = if (if ((ad > 0))
137137 then ((ae + f) >= h)
138138 else false)
139139 then invoke(E, "claimLP", nil, nil)
140140 else unit
141141 if ((af == af))
142142 then {
143143 let ag = Q(G)
144144 func ah (ai,aj) = if ((aj >= ac))
145145 then ai
146146 else {
147147 let ak = U[aj]
148148 if ((getInteger(C, ("inputAssetIndex_" + ak)) == unit))
149149 then throw(("Unknown input: " + ak))
150150 else {
151151 let al = if ((ak == a))
152152 then $Tuple2(unit, (T[aj] + ag))
153153 else $Tuple2(fromBase58String(ak), T[aj])
154154 let am = al._1
155155 let an = al._2
156156 if ((0 > an))
157157 then throw((("Wrong asset amount: " + toString(an)) + ", should be positive or zero"))
158158 else {
159159 let ao = fraction(an, b, 100)
160160 let ap = (ao / 2)
161161 let aq = (ao - ap)
162162 let ar = ((an - ap) - aq)
163163 $Tuple2(((ai._1 :+ ScriptTransfer(z, ap, am)) :+ ScriptTransfer(B, aq, am)), (ai._2 :+ toString(ar)))
164164 }
165165 }
166166 }
167167
168168 let as = {
169169 let at = i
170170 let au = size(at)
171171 let av = $Tuple2(nil, nil)
172172 func aw (ax,ay) = if ((ay >= au))
173173 then ax
174174 else ah(ax, at[ay])
175175
176176 func az (ax,ay) = if ((ay >= au))
177177 then ax
178178 else throw("List size exceeds 10")
179179
180180 az(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(av, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
181181 }
182182 let aA = as._1
183183 let aB = as._2
184184 let aC = makeString(([toString(N), toString(O)] ++ aB), "_")
185185 (aA ++ [IntegerEntry(k, G), StringEntry(F(G), aC), IntegerEntry(H(G), d)])
186186 }
187187 else throw("Strict value is not equal to itself.")
188188 }
189189 }
190190 }
191191 }
192192 }
193193
194194
195195
196196 @Callable(R)
197197 func swap (G,aD,aE,aF,aG) = if ((R.caller != x))
198198 then throw("Access denied")
199199 else if ((size(R.payments) != 0))
200200 then throw("Payments are prohibited")
201201 else {
202202 let V = J()
203203 if ((V != G))
204204 then throw(((("Wrong payoutId: " + toString(G)) + ", should be: ") + toString(V)))
205205 else {
206206 let aH = P(G)
207207 if ((aH != d))
208208 then throw((("Wrong payout status: " + toString(aH)) + ", should be 1"))
209209 else {
210210 let aI = if ((aD == a))
211211 then $Tuple2(wavesBalance(this).available, unit)
212212 else {
213213 let aJ = fromBase58String(aD)
214214 $Tuple2(assetBalance(this, aJ), aJ)
215215 }
216216 let aK = aI._1
217217 let aL = aI._2
218218 let aM = invoke(A, "swapWithReferral", [aF, aG, "puzzlenode"], [AttachedPayment(aL, aE)])
219219 if ((aM == aM))
220220 then {
221221 let aN = if ((aD == a))
222222 then wavesBalance(this).available
223223 else assetBalance(this, value(aL))
224224 let aO = (aN - (aK - aE))
225225 if ((aO > 10))
226226 then throw(("Rollback aggregator refund: " + toString(aO)))
227227 else nil
228228 }
229229 else throw("Strict value is not equal to itself.")
230230 }
231231 }
232232 }
233233
234234
235235
236236 @Callable(R)
237237 func distributeTokens (G,aP,T,U,aQ) = if ((R.caller != x))
238238 then throw("Access denied")
239239 else if ((size(R.payments) != 0))
240240 then throw("Payments are prohibited")
241241 else {
242242 let V = J()
243243 if ((V != G))
244244 then throw(((("Wrong payoutId: " + toString(G)) + ", should be: ") + toString(V)))
245245 else {
246246 let aH = P(G)
247247 if ((aH != d))
248248 then throw((("Wrong payout status: " + toString(aH)) + ", should be 1"))
249249 else {
250250 let aR = size(aP)
251251 let ab = size(T)
252252 let ac = size(U)
253253 if (if ((aR != ab))
254254 then true
255255 else (aR != ac))
256256 then throw(((((("Wrong recipients size: " + toString(aR)) + ", amounts size: ") + toString(ab)) + ", assets size: ") + toString(ac)))
257257 else if ((aR == 0))
258258 then throw("Recipients list should not be empty")
259259 else if ((aR > g))
260260 then throw(((("Should be not greater than " + toString(g)) + " recipients, current: ") + toString(aR)))
261261 else {
262262 let aS = drop(toBytes(1), 7)
263263 let aT = drop(toBytes(w), 7)
264264 let aU = (aS + aT)
265265 func aV (ai,aj) = if ((aj >= aR))
266266 then ai
267267 else {
268268 let aW = aP[aj]
269269 let aX = (aU + aW)
270270 let aY = take(keccak256(blake2b256(aX)), 4)
271271 let aZ = Address((aX + aY))
272272 let an = T[aj]
273273 let ba = U[aj]
274274 let aJ = getBinaryValue(C, ("assetId_" + toString(ba)))
275275 let am = if ((aJ == base58''))
276276 then unit
277277 else aJ
278278 (ai :+ ScriptTransfer(aZ, an, am))
279279 }
280280
281281 let bb = [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]
282282 let at = bb
283283 let au = size(at)
284284 let av = nil
285285 func aw (ax,ay) = if ((ay >= au))
286286 then ax
287287 else aV(ax, at[ay])
288288
289289 func az (ax,ay) = if ((ay >= au))
290290 then ax
291291 else throw("List size exceeds 100")
292292
293293 az(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(aw(av, 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)
294294 }
295295 }
296296 }
297297 }
298298
299299
300300
301301 @Callable(R)
302302 func finalizePayout (G) = if ((R.caller != x))
303303 then throw("Access denied")
304304 else {
305305 let V = J()
306306 if ((V != G))
307307 then throw(((("Wrong payoutId: " + toString(G)) + ", should be: ") + toString(V)))
308308 else {
309309 let aH = P(V)
310310 if ((aH != d))
311311 then throw((("Wrong payout status: " + toString(aH)) + ", should be: 1"))
312312 else [IntegerEntry(H(V), e)]
313313 }
314314 }
315315
316316
317317
318318 @Callable(R)
319319 func addAdditionalRewards () = if ((size(R.payments) != 1))
320320 then throw("At least one payment should be attached")
321321 else if ((R.payments[0].assetId != unit))
322322 then throw("Only waves can be attached")
323323 else {
324324 let V = J()
325325 let W = P(V)
326326 if ((W != e))
327327 then throw((("Last payout: " + toString(V)) + " was not completed"))
328328 else {
329329 let bc = (V + 1)
330330 let ag = Q(bc)
331331 let bd = (ag + R.payments[0].amount)
332332 [IntegerEntry(I(bc), bd)]
333333 }
334334 }
335335
336336
337337
338338 @Callable(R)
339339 func addMassTransferFees () = if ((size(R.payments) != 1))
340340 then throw("At least one payment should be attached")
341341 else if ((R.payments[0].assetId != unit))
342342 then throw("Only waves can be attached")
343343 else {
344344 let be = valueOrElse(getInteger(l), 0)
345345 let bf = (be + R.payments[0].amount)
346346 [IntegerEntry(l, bf)]
347347 }
348348
349349
350350
351351 @Callable(R)
352352 func withdrawMassTransferFees () = if ((R.caller != z))
353353 then throw("Access denied")
354354 else if ((size(R.payments) != 0))
355355 then throw("Payments are prohibited")
356356 else {
357357 let be = valueOrElse(getInteger(l), 0)
358358 if ((be == 0))
359359 then throw("Nothing to withdraw")
360360 else [IntegerEntry(l, 0), ScriptTransfer(z, be, unit)]
361361 }
362362
363363
364364 @Verifier(bg)
365365 func bh () = {
366366 let bi = bg
367367 if ($isInstanceOf(bi, "MassTransferTransaction"))
368368 then {
369369 let bj = bi
370370 let bk = getString(this, j)
371371 let S = addressFromStringValue(value(bk))
372372 let bl = if (isDefined(bk))
373373 then valueOrElse(getBinary(S, o), bg.senderPublicKey)
374374 else bg.senderPublicKey
375375 sigVerify_8Kb(bj.bodyBytes, bj.proofs[0], bl)
376376 }
377377 else if ($isInstanceOf(bi, "InvokeScriptTransaction"))
378378 then {
379379 let bm = bi
380- let bn = if (if ((bm.function == "extendMainChain"))
380+ let bn = if (if (if ((bm.function == "extendMainChain"))
381+ then true
382+ else (bm.function == "appendBlock"))
381383 then true
382384 else (bm.function == "startAltChain"))
383385 then true
384386 else (bm.function == "extendAltChain")
385387 let bk = getString(this, j)
386388 let S = addressFromStringValue(value(bk))
387389 let bo = getString(S, ("unitsChain_" + toString({
388390 let bp = bm.dApp
389391 if ($isInstanceOf(bp, "Address"))
390392 then bp
391393 else throw(($getType(bp) + " couldn't be cast to Address"))
392394 })))
393395 let bq = valueOrElse(getBinary(S, t), bg.senderPublicKey)
394396 let bl = if (isDefined(bk))
395397 then if (if (isDefined(bo))
396398 then bn
397399 else false)
398400 then bg.senderPublicKey
399401 else bq
400402 else bg.senderPublicKey
401403 sigVerify_8Kb(bm.bodyBytes, bm.proofs[0], bl)
402404 }
403405 else {
404406 let bk = getString(this, j)
405407 let S = addressFromStringValue(value(bk))
406408 let bl = if (isDefined(bk))
407409 then valueOrElse(getBinary(S, t), bg.senderPublicKey)
408410 else bg.senderPublicKey
409411 sigVerify_128Kb(bg.bodyBytes, bg.proofs[0], bl)
410412 }
411413 }
412414

github/deemru/w8io/026f985 
49.70 ms