tx · BvDuUbMwXNgvGidu2nvZNTWVoMo9Fr4Md3iX529aF4S8

3P9vKqQKjUdmpXAfiWau8krREYAY1Xr69pE:  -0.01900000 Waves

2022.12.06 22:37 [3414374] smart account 3P9vKqQKjUdmpXAfiWau8krREYAY1Xr69pE > SELF 0.00000000 Waves

{ "type": 13, "id": "BvDuUbMwXNgvGidu2nvZNTWVoMo9Fr4Md3iX529aF4S8", "fee": 1900000, "feeAssetId": null, "timestamp": 1670359025012, "version": 1, "sender": "3P9vKqQKjUdmpXAfiWau8krREYAY1Xr69pE", "senderPublicKey": "7AUMX54ukYMYvPmma7yoFf5NjZhs4Bu5nz3Ez9EV8sur", "proofs": [ "ezBdRaeKqbto196KpYN2H7HNU6bdwzZR1gPTRQzDLeV9twSSbqPPF3VitcKDTqJ1yP8xNYu9HP6Qub69BYtHeFR" ], "script": "base64:BgIrCAISBwoFAQgIAQESBQoDCAgIEgASAwoBCBIDCgEIEgYKBAgIAQESAwoBCEEAA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDgAgMLXLwAKV0FWRVNJRFNUUgIFV0FWRVMAB1dBVkVTSUQJANkEAQUKV0FWRVNJRFNUUgEMZ2V0SW50T3JGYWlsAQNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzBQNrZXkJAKwCAgkArAICAg9NYW5kYXRvcnkgdGhpcy4FA2tleQIPIGlzIG5vdCBkZWZpbmVkAQxnZXRTdHJPckVsc2UDB2FkZHJlc3MDa2V5CmRlZmF1bHRWYWwJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUHYWRkcmVzcwUDa2V5BQpkZWZhdWx0VmFsAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQCsAgIJAKwCAgIPTWFuZGF0b3J5IHRoaXMuBQNrZXkCDyBpcyBub3QgZGVmaW5lZAEQZ2V0QWRkcmVzc09yRmFpbAEDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMFA2tleQkArAICCQCsAgICFUZhaWwgdG8gY29udmVydCB0aGlzLgUDa2V5AhMgdmFsdWUgaW50byBBZGRyZXNzAQlhc0FueUxpc3QBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAUKdmFsQW55TGlzdAkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFpBQckbWF0Y2gwBQFpCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQthc0J5dGVWZWNvdAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFpBQckbWF0Y2gwBQFpCQACAQIcZmFpbCB0byBjYXN0IGludG8gQnl0ZVZlY3RvcgEVdmFsaWRhdGVBZGRyZXNzT3JGYWlsAQphZGRyZXNzU3RyBAdhZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUKYWRkcmVzc1N0cgkArAICAh1mYWlsIHRvIGNvbnZlcnQgaW50byBhZGRyZXNzIAUKYWRkcmVzc1N0cgMJAGYCAAAICQDvBwEFB2FkZHJlc3MJYXZhaWxhYmxlCQEFdGhyb3cABQphZGRyZXNzU3RyAQ9rZXlOb2RlUmVnaXN0cnkBB2FkZHJlc3MJAKwCAgIEJXNfXwUHYWRkcmVzcwEUa2V5Tm9kZVJld2FyZHNUb3RhbHMBB2FkZHJlc3MJAKwCAgIOJXMlc19fdG90YWxzX18FB2FkZHJlc3MBE2tleUFwcHJvdmVkTm9kZUxpc3QAAhQlc19fYXBwcm92ZWROb2RlTGlzdAEQa2V5RGVwb3NpdEFtb3VudAACGCVzJXNfX2NmZ19fZGVwb3NpdEFtb3VudAEVa2V5TmV1dHJpbm9BZGRyZXNzU3RyAAIaJXMlc19fY2ZnX19uZXV0cmlub0FkZHJlc3MBF2tleU1hc3Rlck5vZGVBZGRyZXNzU3RyAAIiJXMlc19fY2ZnX19tYWluTmV1dHJpbm9Ob2RlQWRkcmVzcwERa2V5UHJvdG9jb2xQYXJ0WDYAAhklcyVzX19jZmdfX3Byb3RvY29sUGFydFg2ARNrZXlCZW5pZmljYXJ5UGFydFg2AAIbJXMlc19fY2ZnX19iZW5pZmljYXJ5UGFydFg2ARZrZXlNaW5EaXN0cmlidXRlQW1vdW50AAIeJXMlc19fY2ZnX19taW5EaXN0cmlidXRlQW1vdW50ARxrZXlTd29wZmlVc2R0VXNkblBvb2xBZGRyZXNzAAIkJXMlc19fY2ZnX19zd29wZmlVc2R0VXNkblBvb2xBZGRyZXNzARFrZXlTYXZpbmdzQWRkcmVzcwACGSVzJXNfX2NmZ19fc2F2aW5nc0FkZHJlc3MBFWtleUJlbmVmaWNpYXJ5QWRkcmVzcwACHSVzJXNfX2NmZ19fYmVuZWZpY2lhcnlBZGRyZXNzABlJZHhDb250cm9sQ2ZnTmV1dHJpbm9EYXBwAAEAGElkeENvbnRyb2xDZmdBdWN0aW9uRGFwcAACABRJZHhDb250cm9sQ2ZnUnBkRGFwcAADABVJZHhDb250cm9sQ2ZnTWF0aERhcHAABAAcSWR4Q29udHJvbENmZ0xpcXVpZGF0aW9uRGFwcAAFABVJZHhDb250cm9sQ2ZnUmVzdERhcHAABgAdSWR4Q29udHJvbENmZ05vZGVSZWdpc3RyeURhcHAABwAcSWR4Q29udHJvbENmZ05zYnRTdGFraW5nRGFwcAAIABlJZHhDb250cm9sQ2ZnTWVkaWF0b3JEYXBwAAkAHElkeENvbnRyb2xDZmdTdXJmU3Rha2luZ0RhcHAACgAgSWR4Q29udHJvbENmZ0duc2J0Q29udHJvbGxlckRhcHAACwAXSWR4Q29udHJvbENmZ1Jlc3RWMkRhcHAADAAbSWR4Q29udHJvbENmZ0dvdmVybmFuY2VEYXBwAA0BEWtleUNvbnRyb2xBZGRyZXNzAAIcJXMlc19fY29uZmlnX19jb250cm9sQWRkcmVzcwENa2V5Q29udHJvbENmZwACESVzX19jb250cm9sQ29uZmlnAQ5rZXlVc2RuQXNzZXRJZAACEW5ldXRyaW5vX2Fzc2V0X2lkARRyZWFkQ29udHJvbENmZ09yRmFpbAEHY29udHJvbAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUHY29udHJvbAkBDWtleUNvbnRyb2xDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIKY29udHJvbENmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFCmNvbnRyb2xDZmcFA2lkeAkArAICAi1Db250cm9sIGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AA9jb250cm9sQ29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBEWtleUNvbnRyb2xBZGRyZXNzAAIjM1A1QmZkNThQUGZOdkJNMkh5OFFmYmNEcU1lTnR6ZzdLZlAACmNvbnRyb2xDZmcJARRyZWFkQ29udHJvbENmZ09yRmFpbAEFD2NvbnRyb2xDb250cmFjdAAQbmV1dHJpbm9Db250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCmNvbnRyb2xDZmcFGUlkeENvbnRyb2xDZmdOZXV0cmlub0RhcHAADnVzZG5Bc3NldElkU3RyCQEMZ2V0U3RyT3JFbHNlAwUQbmV1dHJpbm9Db250cmFjdAkBDmtleVVzZG5Bc3NldElkAAIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAAC3VzZG5Bc3NldElkCQDZBAEFDnVzZG5Bc3NldElkU3RyAAxuUmVnSWR4VHhBZGQAAQAQblJlZ0lkeEhlaWdodEFkZAACAA5uUmVnSWR4VGltZUFkZAADAA5uUmVnSWR4RGVwb0FtdAAEABJuUmVnSWR4RGVwb0FtdExlZnQABQANblJlZ0lkeFN0YXR1cwAGABluUmVnSWR4U3RhdHVzQ2hhbmdlSGVpZ2h0AAcAF25SZWdJZHhTdGF0dXNDaGFuZ2VUaW1lAAgBEGZvcm1hdERlcG9zaXRBZGQEB3R4SWRTdHINZGVwb3NpdEFtb3VudBZyZW1haW5pbmdEZXBvc2l0QW1vdW50BnN0YXR1cwkAuQkCCQDMCAICECVzJWQlZCVkJWQlcyVkJWQJAMwIAgUHdHhJZFN0cgkAzAgCCQCkAwEIBQlsYXN0QmxvY2sGaGVpZ2h0CQDMCAIJAKQDAQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkApAMBBQ1kZXBvc2l0QW1vdW50CQDMCAIJAKQDAQUWcmVtYWluaW5nRGVwb3NpdEFtb3VudAkAzAgCBQZzdGF0dXMJAMwIAgIBMAkAzAgCAgEwBQNuaWwFA1NFUAEZZm9ybWF0RGVwb3NpdENoYW5nZVN0YXR1cwIFb3JpZ1MJbmV3U3RhdHVzBARvcmlnCQC1CQIFBW9yaWdTBQNTRVAJALkJAgkAzAgCAhAlcyVkJWQlZCVkJXMlZCVkCQDMCAIJAJEDAgUEb3JpZwUMblJlZ0lkeFR4QWRkCQDMCAIJAJEDAgUEb3JpZwUQblJlZ0lkeEhlaWdodEFkZAkAzAgCCQCRAwIFBG9yaWcFDm5SZWdJZHhUaW1lQWRkCQDMCAIJAJEDAgUEb3JpZwUOblJlZ0lkeERlcG9BbXQJAMwIAgkAkQMCBQRvcmlnBRJuUmVnSWR4RGVwb0FtdExlZnQJAMwIAgUJbmV3U3RhdHVzCQDMCAIJAKQDAQgFCWxhc3RCbG9jawZoZWlnaHQJAMwIAgkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUDbmlsBQNTRVABEGtleVJld2FyZEhpc3RvcnkCC25vZGVBZGRyZXNzBHR4SWQJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIHaGlzdG9yeQkAzAgCCQClCAEFC25vZGVBZGRyZXNzCQDMCAIJANgEAQUEdHhJZAUDbmlsBQNTRVABEWRhdGFSZXdhcmRIaXN0b3J5BRB3YXZlc0Ftb3VudFRvdGFsDmJlbmVmaWNpYXJ5QW10C3Byb3RvY29sQW10EHByb3RvY29sQW10UGFydDEQcHJvdG9jb2xBbXRQYXJ0MgkAuQkCCQDMCAICDiVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQgFCWxhc3RCbG9jawZoZWlnaHQJAMwIAgkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQCkAwEFEHdhdmVzQW1vdW50VG90YWwJAMwIAgkApAMBBQ5iZW5lZmljaWFyeUFtdAkAzAgCCQCkAwEFC3Byb3RvY29sQW10CQDMCAIJAKQDAQUQcHJvdG9jb2xBbXRQYXJ0MQkAzAgCCQCkAwEFEHByb3RvY29sQW10UGFydDIFA25pbAUDU0VQARJSZXdhcmRIaXN0b3J5RW50cnkHC25vZGVBZGRyZXNzBHR4SWQIbWluZWRBbXQOYmVuZWZpY2lhcnlBbXQLcHJvdG9jb2xBbXQMcHJvdG9jb2xBbXQxDHByb3RvY29sQW10MgkBC1N0cmluZ0VudHJ5AgkBEGtleVJld2FyZEhpc3RvcnkCBQtub2RlQWRkcmVzcwUEdHhJZAkBEWRhdGFSZXdhcmRIaXN0b3J5BQUIbWluZWRBbXQFDmJlbmVmaWNpYXJ5QW10BQtwcm90b2NvbEFtdAUMcHJvdG9jb2xBbXQxBQxwcm90b2NvbEFtdDIBEGRhdGFSZXdhcmRUb3RhbHMFCG1pbmVkQW10DmJlbmVmaWNpYXJ5QW10C3Byb3RvY29sQW10EHByb3RvY29sQW10UGFydDEQcHJvdG9jb2xBbXRQYXJ0MgkAuQkCCQDMCAICCiVkJWQlZCVkJWQJAMwIAgkApAMBBQhtaW5lZEFtdAkAzAgCCQCkAwEFDmJlbmVmaWNpYXJ5QW10CQDMCAIJAKQDAQULcHJvdG9jb2xBbXQJAMwIAgkApAMBBRBwcm90b2NvbEFtdFBhcnQxCQDMCAIJAKQDAQUQcHJvdG9jb2xBbXRQYXJ0MgUDbmlsBQNTRVABEVJld2FyZFRvdGFsc0VudHJ5BgVtaW5lcghtaW5lZEFtdA5iZW5lZmljaWFyeUFtdAtwcm90b2NvbEFtdBBwcm90b2NvbEFtdFBhcnQxEHByb3RvY29sQW10UGFydDIEFG5vZGVSZXdhcmRzVG90YWxzS0VZCQEUa2V5Tm9kZVJld2FyZHNUb3RhbHMBCQClCAEFBW1pbmVyBBBub2RlUmV3YXJkc0FycmF5CQC1CQIJAQxnZXRTdHJPckVsc2UDBQR0aGlzBRRub2RlUmV3YXJkc1RvdGFsc0tFWQkBEGRhdGFSZXdhcmRUb3RhbHMFAAAAAAAAAAAAAAUDU0VQBAtuZXdNaW5lZEFtdAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBRBub2RlUmV3YXJkc0FycmF5AAEFCG1pbmVkQW10BBFuZXdCZW5lZmljaWFyeUFtdAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBRBub2RlUmV3YXJkc0FycmF5AAIFDmJlbmVmaWNpYXJ5QW10BA5uZXdQcm90b2NvbEFtdAkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBRBub2RlUmV3YXJkc0FycmF5AAMFC3Byb3RvY29sQW10BBNuZXdQcm90b2NvbEFtdFBhcnQxCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFEG5vZGVSZXdhcmRzQXJyYXkABAUQcHJvdG9jb2xBbXRQYXJ0MQQTbmV3UHJvdG9jb2xBbXRQYXJ0MgkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBRBub2RlUmV3YXJkc0FycmF5AAUFEHByb3RvY29sQW10UGFydDIJAQtTdHJpbmdFbnRyeQIFFG5vZGVSZXdhcmRzVG90YWxzS0VZCQEQZGF0YVJld2FyZFRvdGFscwUFC25ld01pbmVkQW10BRFuZXdCZW5lZmljaWFyeUFtdAUObmV3UHJvdG9jb2xBbXQFE25ld1Byb3RvY29sQW10UGFydDEFE25ld1Byb3RvY29sQW10UGFydDIBFHJlc29sdmVCZW5lZmljaWFyaWVzAgxtaW5lckFkZHJlc3MUYmVuZWZpY2lhcnlGcm9tUGFyYW0EGWJlbmVmaWNpYXJ5RnJvbU1pbmVyU3RhdGUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ9nZXRTdHJpbmdPckZhaWwCBQxtaW5lckFkZHJlc3MJARVrZXlCZW5lZmljaWFyeUFkZHJlc3MAAwkAAAIJAPEHAQUMbWluZXJBZGRyZXNzBQR1bml0BRRiZW5lZmljaWFyeUZyb21QYXJhbQUZYmVuZWZpY2lhcnlGcm9tTWluZXJTdGF0ZQEdcmVhZE5vZGVEYXRhQW5kVmFsaWRhdGVTdGF0dXMCCG5vZGVBZGRyDmV4cGVjdGVkU3RhdHVzBAtub2RlRGF0YU9wdAkAoggBCQEPa2V5Tm9kZVJlZ2lzdHJ5AQUIbm9kZUFkZHIDCQEBIQEJAQlpc0RlZmluZWQBBQtub2RlRGF0YU9wdAkAAgEJAKwCAgINVW5rbm93biBOb2RlIAUIbm9kZUFkZHIEC25vZGVEYXRhU3RyCQEFdmFsdWUBBQtub2RlRGF0YU9wdAQIbm9kZURhdGEJALUJAgULbm9kZURhdGFTdHIFA1NFUAQKbm9kZVN0YXR1cwMJAGcCCQCQAwEFCG5vZGVEYXRhAAkJAJEDAgUIbm9kZURhdGEFDW5SZWdJZHhTdGF0dXMCB1BFTkRJTkcDCQECIT0CBQpub2RlU3RhdHVzBQ5leHBlY3RlZFN0YXR1cwkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgVOb2RlIAUIbm9kZUFkZHICEiBzdGF0dXMgc2hvdWxkIGJlIAUOZXhwZWN0ZWRTdGF0dXMCDywgYnV0IGFjdHVhbGx5IAUKbm9kZVN0YXR1cwULbm9kZURhdGFTdHIHAWkBC2NvbnN0cnVjdG9yBQ1kZXBvc2l0QW1vdW50Em5ldXRyaW5vQWRkcmVzc1N0chRtYXN0ZXJOb2RlQWRkcmVzc1N0cg5wcm90b2NvbFBhcnRYNhBiZW5pZmljYXJ5UGFydFg2AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIScGVybWlzc2lvbnMgZGVuaWVkAwkAZgIAAAUNZGVwb3NpdEFtb3VudAkAAgECHGRlcG9zaXRBbW91bnQgbGVzcyB0aGVuIHplcm8DCQBmAgAABQ5wcm90b2NvbFBhcnRYNgkAAgECHXByb3RvY29sUGFydFg2IGxlc3MgdGhlbiB6ZXJvAwkAZgIAAAUQYmVuaWZpY2FyeVBhcnRYNgkAAgECH2JlbmlmaWNhcnlQYXJ0WDYgbGVzcyB0aGVuIHplcm8DCQECIT0CCQBkAgUOcHJvdG9jb2xQYXJ0WDYFEGJlbmlmaWNhcnlQYXJ0WDYFBU1VTFQ2CQACAQITcGFydHMgc3VtIG11c3QgYmUgMQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleURlcG9zaXRBbW91bnQABQ1kZXBvc2l0QW1vdW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJARVrZXlOZXV0cmlub0FkZHJlc3NTdHIACQEVdmFsaWRhdGVBZGRyZXNzT3JGYWlsAQUSbmV1dHJpbm9BZGRyZXNzU3RyCQDMCAIJAQtTdHJpbmdFbnRyeQIJARdrZXlNYXN0ZXJOb2RlQWRkcmVzc1N0cgAJARV2YWxpZGF0ZUFkZHJlc3NPckZhaWwBBRRtYXN0ZXJOb2RlQWRkcmVzc1N0cgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEWtleVByb3RvY29sUGFydFg2AAUOcHJvdG9jb2xQYXJ0WDYJAMwIAgkBDEludGVnZXJFbnRyeQIJARNrZXlCZW5pZmljYXJ5UGFydFg2AAUQYmVuaWZpY2FyeVBhcnRYNgUDbmlsAWkBDWNvbnN0cnVjdG9yVjIDEHN3b3BmaUFkZHJlc3NTdHIRY29udHJvbEFkZHJlc3NTdHIRc2F2aW5nc0FkZHJlc3NTdHIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBHGtleVN3b3BmaVVzZHRVc2RuUG9vbEFkZHJlc3MACQEVdmFsaWRhdGVBZGRyZXNzT3JGYWlsAQUQc3dvcGZpQWRkcmVzc1N0cgkAzAgCCQELU3RyaW5nRW50cnkCCQERa2V5Q29udHJvbEFkZHJlc3MACQEVdmFsaWRhdGVBZGRyZXNzT3JGYWlsAQURY29udHJvbEFkZHJlc3NTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEWtleVNhdmluZ3NBZGRyZXNzAAkBFXZhbGlkYXRlQWRkcmVzc09yRmFpbAEFEXNhdmluZ3NBZGRyZXNzU3RyBQNuaWwBaQERc3VtYml0QXBwbGljYXRpb24AAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIgZXhhY3QgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQDCQECIT0CCAUBaQZjYWxsZXIIBQFpDG9yaWdpbkNhbGxlcgkAAgECImRhcHAgdG8gZGFwcCBjYWxscyBhcmUgbm90IGFsbG93ZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAdkZXBvc2l0CAUDcG10BmFtb3VudAQKcG10QXNzZXRJZAkBC3ZhbHVlT3JFbHNlAggFA3BtdAdhc3NldElkBQdXQVZFU0lEBBVleHBlY3RlZERlcG9zaXRBbW91bnQJAQxnZXRJbnRPckZhaWwBCQEQa2V5RGVwb3NpdEFtb3VudAAEBHR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQLbm9kZUFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBA9ub2RlUmVnaXN0cnlLRVkJAQ9rZXlOb2RlUmVnaXN0cnkBBQtub2RlQWRkcmVzcwMJAQIhPQIFCnBtdEFzc2V0SWQFB1dBVkVTSUQJAAIBAiJvbmx5IFdhdmVzIGNhbiBiZSB1c2VkIGZvciBkZXBvc2l0AwkBAiE9AgUHZGVwb3NpdAUVZXhwZWN0ZWREZXBvc2l0QW1vdW50CQACAQkArAICCQCsAgICCGV4YWN0bHkgCQCkAwEFFWV4cGVjdGVkRGVwb3NpdEFtb3VudAIWIFdhdmVsZXRzIGFyZSBleHBlY3RlZAMJAQIhPQIJAQxnZXRTdHJPckVsc2UDBQR0aGlzBQ9ub2RlUmVnaXN0cnlLRVkCAAIACQACAQIceW91ciBub2RlIGFscmVhZHkgcmVnaXN0ZXJlZAkAzAgCCQELU3RyaW5nRW50cnkCBQ9ub2RlUmVnaXN0cnlLRVkJARBmb3JtYXREZXBvc2l0QWRkBAUEdHhJZAUHZGVwb3NpdAUHZGVwb3NpdAIHUEVORElORwUDbmlsAWkBFWRpc3RyaWJ1dGVNaW5lclJld2FyZAEVYmVuZWZpY2lhcnlBZGRyZXNzU3RyBBNtaW5EaXN0cmlidXRlQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARZrZXlNaW5EaXN0cmlidXRlQW1vdW50AAkAaAIAGAUFTVVMVDgDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiBleGFjdCAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAMJAQIhPQIIBQFpBmNhbGxlcggFAWkMb3JpZ2luQ2FsbGVyCQACAQIiZGFwcCB0byBkYXBwIGNhbGxzIGFyZSBub3QgYWxsb3dlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAECnBtdEFzc2V0SWQJAQt2YWx1ZU9yRWxzZQIIBQNwbXQHYXNzZXRJZAUHV0FWRVNJRAQGZmVlQW10CAUBaQNmZWUECmZlZUFzc2V0SWQJAQt2YWx1ZU9yRWxzZQIIBQFpCmZlZUFzc2V0SWQFB1dBVkVTSUQECmNhbGxSZXdhcmQJAGgCBQZmZWVBbXQAAwQIbWluZWRBbXQJAGUCCAUDcG10BmFtb3VudAUKY2FsbFJld2FyZAMJAQIhPQIIBQNwbXQGYW1vdW50BRNtaW5EaXN0cmlidXRlQW1vdW50CQACAQkArAICCQCsAgICH2F0dGFjaGVkIHBheW1lbnQgbXVzdCBiZSBleGFjdCAJAKQDAQUTbWluRGlzdHJpYnV0ZUFtb3VudAIJIFdhdmVsZXRzAwkBAiE9AgUKcG10QXNzZXRJZAUHV0FWRVNJRAkAAgECIW9ubHkgV2F2ZXMgY2FuIGJlIHVzZWQgaW4gcGF5bWVudAMJAQIhPQIFCmZlZUFzc2V0SWQFB1dBVkVTSUQJAAIBAh5vbmx5IFdhdmVzIGNhbiBiZSB1c2VkIGluIGZlZXMDCQECIT0CBQZmZWVBbXQJAGkCCQBoAgAFBQVNVUxUOADoBwkAAgECIGZlZSBhbW91bnQgY291bGRuJ3QgZXhjZWVkIDAuMDA1BA9uZXV0cmlub0FkZHJlc3MJARBnZXRBZGRyZXNzT3JGYWlsAQkBFWtleU5ldXRyaW5vQWRkcmVzc1N0cgAEEW1hc3Rlck5vZGVBZGRyZXNzCQEQZ2V0QWRkcmVzc09yRmFpbAEJARdrZXlNYXN0ZXJOb2RlQWRkcmVzc1N0cgAEDG1pbmVyQWRkcmVzcwgFAWkGY2FsbGVyBBRiZW5lZmljaWFyeUZyb21QYXJhbQkBEUBleHRyTmF0aXZlKDEwNjIpAQUVYmVuZWZpY2lhcnlBZGRyZXNzU3RyBBJiZW5lZmljaWFyeUFkZHJlc3MJARRyZXNvbHZlQmVuZWZpY2lhcmllcwIFDG1pbmVyQWRkcmVzcwUUYmVuZWZpY2lhcnlGcm9tUGFyYW0EEHR4UmV3YXJkUmVjZWl2ZXIFFGJlbmVmaWNpYXJ5RnJvbVBhcmFtBAxwcm90b2NvbFBhcnQJAQxnZXRJbnRPckZhaWwBCQERa2V5UHJvdG9jb2xQYXJ0WDYABA9iZW5lZmljaWFyeVBhcnQJAQxnZXRJbnRPckZhaWwBCQETa2V5QmVuaWZpY2FyeVBhcnRYNgAEDmJlbmVmaWNpYXJ5QW10CQBrAwUIbWluZWRBbXQFD2JlbmVmaWNpYXJ5UGFydAUFTVVMVDYEC3Byb3RvY29sQW10CQBlAgUIbWluZWRBbXQFDmJlbmVmaWNpYXJ5QW10BAxwcm90b2NvbEFtdDEAAAQMcHJvdG9jb2xBbXQyCQBlAgULcHJvdG9jb2xBbXQFDHByb3RvY29sQW10MQQOc2F2aW5nc0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQxnZXRTdHJPckVsc2UDBQR0aGlzCQERa2V5U2F2aW5nc0FkZHJlc3MAAiMzUEM3REJpbWF1eUt5dHg4dFhoS281dTJFQ2I2RnNuZFlLSAQKc2F2aW5nc0FtdAkBBWFzSW50AQkA/AcEBQ5zYXZpbmdzQWRkcmVzcwIId2l0aGRyYXcJAMwIAgUMcHJvdG9jb2xBbXQyBQNuaWwFA25pbAQNc3dvcGZpQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBDGdldFN0ck9yRWxzZQMFBHRoaXMJARxrZXlTd29wZmlVc2R0VXNkblBvb2xBZGRyZXNzAAIjM1BIYU5nb21Ca3J2RUwyUW51SmFyUVZKYTcxd2p3OXFpcUcEDHN3b3BmaVJlc3VsdAkBCWFzQW55TGlzdAEJAPwHBAUNc3dvcGZpQWRkcmVzcwIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQJAGQCBQxwcm90b2NvbEFtdDIFCnNhdmluZ3NBbXQFA25pbAQPcmVjZWl2ZWRVc2RuQW10CQEFYXNJbnQBCQCRAwIFDHN3b3BmaVJlc3VsdAAABA9yZWNlaXZlZEFzc2V0SWQJAQthc0J5dGVWZWNvdAEJAJEDAgUMc3dvcGZpUmVzdWx0AAEDCQECIT0CBQt1c2RuQXNzZXRJZAUPcmVjZWl2ZWRBc3NldElkCQACAQIwaW52YWxpZCBhc3NldCBpZCByZWNlaXZlZCBkdXJpbmcgc3dvcGZpIGV4Y2hhbmdlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFEmJlbmVmaWNpYXJ5QWRkcmVzcwUOYmVuZWZpY2lhcnlBbXQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwURbWFzdGVyTm9kZUFkZHJlc3MFD3JlY2VpdmVkVXNkbkFtdAULdXNkbkFzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUQdHhSZXdhcmRSZWNlaXZlcgUKY2FsbFJld2FyZAUEdW5pdAkAzAgCCQESUmV3YXJkSGlzdG9yeUVudHJ5BwUMbWluZXJBZGRyZXNzCAUBaQ10cmFuc2FjdGlvbklkBQhtaW5lZEFtdAUOYmVuZWZpY2lhcnlBbXQFC3Byb3RvY29sQW10BQxwcm90b2NvbEFtdDEFDHByb3RvY29sQW10MgkAzAgCCQERUmV3YXJkVG90YWxzRW50cnkGBQxtaW5lckFkZHJlc3MFCG1pbmVkQW10BQ5iZW5lZmljaWFyeUFtdAULcHJvdG9jb2xBbXQFDHByb3RvY29sQW10MQUMcHJvdG9jb2xBbXQyBQNuaWwBaQEadmFsaWRhdGVBbmRBcHByb3ZlTGVhc2luZ3MBBm5MaXN0UwQFbklkeHMJAMwIAgAACQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwUDbmlsBAVuTGlzdAkAtQkCBQZuTGlzdFMFA1NFUAQNZXhwZWN0ZWRDb3VudAkAkAMBBQVuSWR4cwQPbmV1dHJpbm9BZGRyZXNzCQEQZ2V0QWRkcmVzc09yRmFpbAEJARVrZXlOZXV0cmlub0FkZHJlc3NTdHIAAwkBAiE9AggFAWkGY2FsbGVyBQ9uZXV0cmlub0FkZHJlc3MJAAIBAil2YWxpZGF0ZUFuZEFwcHJvdmVMZWFzaW5ncyBub3QgYXV0aG9yaXplZAMJAQIhPQIJAGoCCQCQAwEFBW5MaXN0AAIAAAkAAgECJE9ubHkgZXZlbiBudW1iZXIgb2Ygbm9kZXMgaXMgYWxsb3dlZAMJAQIhPQIJAJADAQUFbkxpc3QFDWV4cGVjdGVkQ291bnQJAAIBCQCsAgIJAKwCAgIFT25seSAJAKQDAQUNZXhwZWN0ZWRDb3VudAIiIG9mIG5vZGVzJyBhZGRyZXNzZXMgY2FuIGJlIHBhc3NlZAoBF2ZvckVhY2hOb2RlQ2hhbmdlU3RhdHVzAgNhY2MBaQQIbm9kZUFkZHIJAJEDAgUFbkxpc3QFAWkEC25vZGVEYXRhU3RyCQEdcmVhZE5vZGVEYXRhQW5kVmFsaWRhdGVTdGF0dXMCBQhub2RlQWRkcgIHUEVORElORwkAzQgCBQNhY2MJAQtTdHJpbmdFbnRyeQIJAQ9rZXlOb2RlUmVnaXN0cnkBBQhub2RlQWRkcgkBGWZvcm1hdERlcG9zaXRDaGFuZ2VTdGF0dXMCBQtub2RlRGF0YVN0cgIIQVBQUk9WRUQEEWFwcHJvdmVkTm9kZXNEYXRhCgACJGwFBW5JZHhzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARdmb3JFYWNoTm9kZUNoYW5nZVN0YXR1cwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgOAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgJAJQKAgURYXBwcm92ZWROb2Rlc0RhdGEFA25pbAFpARNyZXBsYWNlQXBwcm92ZWROb2RlBA5vbGROb2RlQWRkclN0cg5uZXdOb2RlQWRkclN0cghncm91cE51bQ1wZW5hbHR5QW1vdW50AwkBAiE9AggFAWkGY2FsbGVyBRBuZXV0cmlub0NvbnRyYWN0CQACAQIScGVybWlzc2lvbnMgZGVuaWVkBApvbGREYXRhU3RyCQEdcmVhZE5vZGVEYXRhQW5kVmFsaWRhdGVTdGF0dXMCBQ5vbGROb2RlQWRkclN0cgIIQVBQUk9WRUQECm5ld0RhdGFTdHIJAR1yZWFkTm9kZURhdGFBbmRWYWxpZGF0ZVN0YXR1cwIFDm5ld05vZGVBZGRyU3RyAgdQRU5ESU5HBBFhcHByb3ZlZE5vZGVMaXN0UwkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMJARNrZXlBcHByb3ZlZE5vZGVMaXN0AAMJAQEhAQkBCGNvbnRhaW5zAgURYXBwcm92ZWROb2RlTGlzdFMFDm9sZE5vZGVBZGRyU3RyCQACAQkArAICAiJhcHByb3ZlZE5vZGVMaXN0IGRvZXMgbm90IGNvbnRhaW4gBQ5vbGROb2RlQWRkclN0cgQQdXBkYXRlZE5vZGVMaXN0UwkAugkCCQC8CQIFEWFwcHJvdmVkTm9kZUxpc3RTBQ5vbGROb2RlQWRkclN0cgUObmV3Tm9kZUFkZHJTdHIEC29sZE5vZGVBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBBQ5vbGROb2RlQWRkclN0cgQSYmVuZWZpY2lhcnlBZGRyZXNzCQEUcmVzb2x2ZUJlbmVmaWNpYXJpZXMCBQtvbGROb2RlQWRkcgULb2xkTm9kZUFkZHIECmRlcG9BbW91bnQJAQ1wYXJzZUludFZhbHVlAQkAkQMCCQC1CQIFCm9sZERhdGFTdHIFA1NFUAUOblJlZ0lkeERlcG9BbXQEB2FjdGlvbnMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleUFwcHJvdmVkTm9kZUxpc3QABRB1cGRhdGVkTm9kZUxpc3RTCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ9rZXlOb2RlUmVnaXN0cnkBBQ5vbGROb2RlQWRkclN0cgkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5Tm9kZVJlZ2lzdHJ5AQUObmV3Tm9kZUFkZHJTdHIJARlmb3JtYXREZXBvc2l0Q2hhbmdlU3RhdHVzAgUKbmV3RGF0YVN0cgIIQVBQUk9WRUQFA25pbAkAlAoCAwkAZgIFCmRlcG9BbW91bnQFDXBlbmFsdHlBbW91bnQJAM0IAgUHYWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwUSYmVuZWZpY2lhcnlBZGRyZXNzCQBlAgUKZGVwb0Ftb3VudAUNcGVuYWx0eUFtb3VudAUEdW5pdAUHYWN0aW9ucwUEdW5pdAFpAQ1yZXR1cm5EZXBvc2l0AQ5ub2RlQWRkcmVzc1N0cgMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECE05vIHBheW1lbnRzIGFsbG93ZWQEDWNhbGxlckFkZHJlc3MIBQFpBmNhbGxlcgQPbm9kZVJlZ2lzdHJ5S0VZCQEPa2V5Tm9kZVJlZ2lzdHJ5AQUObm9kZUFkZHJlc3NTdHIEC25vZGVEYXRhT3B0CQCdCAIFBHRoaXMFD25vZGVSZWdpc3RyeUtFWQMJAQEhAQkBCWlzRGVmaW5lZAEFC25vZGVEYXRhT3B0CQACAQkArAICAilBZGRyZXNzIGlzIG5vdCBhcHBsaWVkIGFzIG5ldXRyaW5vIG5vZGU6IAUObm9kZUFkZHJlc3NTdHIEEGFwcHJvdmVkTm9kZUxpc3QJAQ9nZXRTdHJpbmdPckZhaWwCBQR0aGlzCQETa2V5QXBwcm92ZWROb2RlTGlzdAADCQEIY29udGFpbnMCBRBhcHByb3ZlZE5vZGVMaXN0BQ5ub2RlQWRkcmVzc1N0cgkAAgECTEltcG9zc2libGUgdG8gcmV0dXJuIGRlcG9zaXQgZnJvbSBhcHByb3ZlZCBOb2RlLCBwbGVhc2UgY29udGFjdCBzdXBwb3J0IHRlYW0ECG5vZGVEYXRhCQC1CQIJAQV2YWx1ZQEFC25vZGVEYXRhT3B0BQNTRVAEBnN0YXR1cwMJAGcCCQCQAwEFCG5vZGVEYXRhAAkJAJEDAgUIbm9kZURhdGEFDW5SZWdJZHhTdGF0dXMCB1BFTkRJTkcDCQECIT0CBQZzdGF0dXMCB1BFTkRJTkcJAAIBAiJBcHBsaWNhdGlvbiBzdGF0dXMgaXMgbm90IFBFTkRJTkchBApkZXBvQW1vdW50CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIbm9kZURhdGEFDm5SZWdJZHhEZXBvQW10BAtub2RlQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQUObm9kZUFkZHJlc3NTdHIEEmJlbmVmaWNpYXJ5QWRkcmVzcwkBFHJlc29sdmVCZW5lZmljaWFyaWVzAgULbm9kZUFkZHJlc3MFC25vZGVBZGRyZXNzAwkBASEBAwMJAAACBQ1jYWxsZXJBZGRyZXNzBQR0aGlzBgMJAQIhPQIFEmJlbmVmaWNpYXJ5QWRkcmVzcwULbm9kZUFkZHJlc3MJAAACBQ1jYWxsZXJBZGRyZXNzBRJiZW5lZmljaWFyeUFkZHJlc3MHBgMJAAACBRJiZW5lZmljaWFyeUFkZHJlc3MFC25vZGVBZGRyZXNzCQAAAgUNY2FsbGVyQWRkcmVzcwULbm9kZUFkZHJlc3MHCQACAQIgcmV0dXJuRGVwb3NpdCBwZXJtaXNzaW9ucyBkZW5pZWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQUPbm9kZVJlZ2lzdHJ5S0VZCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFEmJlbmVmaWNpYXJ5QWRkcmVzcwUKZGVwb0Ftb3VudAUEdW5pdAUDbmlsAE+Xsvo=", "chainId": 87, "height": 3414374, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: De8F2gNrSRteu2mpi8V44r7ZTggt6aCGBRgVJL6u62Tq Next: EprFcFzPMKaojzkUsQfx5J2tt6nki6cWfvQ7KPCFutL1 Diff:
OldNewDifferences
370370 if (!(contains(cd, bX)))
371371 then throw(("approvedNodeList does not contain " + bX))
372372 else {
373- let ce = makeString(split_4C(cd, bX), bY)
373+ let ce = makeString_2C(split_4C(cd, bX), bY)
374374 let cf = addressFromStringValue(bX)
375375 let bz = aV(cf, cf)
376376 let cg = parseIntValue(split(cb, a)[ak])
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 1000000
77
88 let c = 100000000
99
1010 let d = "WAVES"
1111
1212 let e = fromBase58String(d)
1313
1414 func f (g) = valueOrErrorMessage(getInteger(this, g), (("Mandatory this." + g) + " is not defined"))
1515
1616
1717 func h (i,g,j) = valueOrElse(getString(i, g), j)
1818
1919
2020 func k (i,g) = valueOrErrorMessage(getString(i, g), (("Mandatory this." + g) + " is not defined"))
2121
2222
2323 func l (g) = valueOrErrorMessage(addressFromString(k(this, g)), (("Fail to convert this." + g) + " value into Address"))
2424
2525
2626 func m (n) = {
2727 let o = n
2828 if ($isInstanceOf(o, "List[Any]"))
2929 then {
3030 let p = o
3131 p
3232 }
3333 else throw("fail to cast into List[Any]")
3434 }
3535
3636
3737 func q (r) = {
3838 let o = r
3939 if ($isInstanceOf(o, "Int"))
4040 then {
4141 let s = o
4242 s
4343 }
4444 else throw("fail to cast into Int")
4545 }
4646
4747
4848 func t (r) = {
4949 let o = r
5050 if ($isInstanceOf(o, "ByteVector"))
5151 then {
5252 let s = o
5353 s
5454 }
5555 else throw("fail to cast into ByteVector")
5656 }
5757
5858
5959 func u (v) = {
6060 let i = valueOrErrorMessage(addressFromString(v), ("fail to convert into address " + v))
6161 if ((0 > wavesBalance(i).available))
6262 then throw()
6363 else v
6464 }
6565
6666
6767 func w (i) = ("%s__" + i)
6868
6969
7070 func x (i) = ("%s%s__totals__" + i)
7171
7272
7373 func y () = "%s__approvedNodeList"
7474
7575
7676 func z () = "%s%s__cfg__depositAmount"
7777
7878
7979 func A () = "%s%s__cfg__neutrinoAddress"
8080
8181
8282 func B () = "%s%s__cfg__mainNeutrinoNodeAddress"
8383
8484
8585 func C () = "%s%s__cfg__protocolPartX6"
8686
8787
8888 func D () = "%s%s__cfg__benificaryPartX6"
8989
9090
9191 func E () = "%s%s__cfg__minDistributeAmount"
9292
9393
9494 func F () = "%s%s__cfg__swopfiUsdtUsdnPoolAddress"
9595
9696
9797 func G () = "%s%s__cfg__savingsAddress"
9898
9999
100100 func H () = "%s%s__cfg__beneficiaryAddress"
101101
102102
103103 let I = 1
104104
105105 let J = 2
106106
107107 let K = 3
108108
109109 let L = 4
110110
111111 let M = 5
112112
113113 let N = 6
114114
115115 let O = 7
116116
117117 let P = 8
118118
119119 let Q = 9
120120
121121 let R = 10
122122
123123 let S = 11
124124
125125 let T = 12
126126
127127 let U = 13
128128
129129 func V () = "%s%s__config__controlAddress"
130130
131131
132132 func W () = "%s__controlConfig"
133133
134134
135135 func X () = "neutrino_asset_id"
136136
137137
138138 func Y (Z) = split_4C(k(Z, W()), a)
139139
140140
141141 func aa (ab,ac) = valueOrErrorMessage(addressFromString(ab[ac]), ("Control cfg doesn't contain address at index " + toString(ac)))
142142
143143
144144 let ad = addressFromStringValue(valueOrElse(getString(this, V()), "3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP"))
145145
146146 let ab = Y(ad)
147147
148148 let ae = aa(ab, I)
149149
150150 let af = h(ae, X(), "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p")
151151
152152 let ag = fromBase58String(af)
153153
154154 let ah = 1
155155
156156 let ai = 2
157157
158158 let aj = 3
159159
160160 let ak = 4
161161
162162 let al = 5
163163
164164 let am = 6
165165
166166 let an = 7
167167
168168 let ao = 8
169169
170170 func ap (aq,ar,as,at) = makeString(["%s%d%d%d%d%s%d%d", aq, toString(lastBlock.height), toString(lastBlock.timestamp), toString(ar), toString(as), at, "0", "0"], a)
171171
172172
173173 func au (av,aw) = {
174174 let ax = split(av, a)
175175 makeString(["%s%d%d%d%d%s%d%d", ax[ah], ax[ai], ax[aj], ax[ak], ax[al], aw, toString(lastBlock.height), toString(lastBlock.timestamp)], a)
176176 }
177177
178178
179179 func ay (az,aA) = makeString(["%s%s%s", "history", toString(az), toBase58String(aA)], a)
180180
181181
182182 func aB (aC,aD,aE,aF,aG) = makeString(["%d%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(aC), toString(aD), toString(aE), toString(aF), toString(aG)], a)
183183
184184
185185 func aH (az,aA,aI,aD,aE,aJ,aK) = StringEntry(ay(az, aA), aB(aI, aD, aE, aJ, aK))
186186
187187
188188 func aL (aI,aD,aE,aF,aG) = makeString(["%d%d%d%d%d", toString(aI), toString(aD), toString(aE), toString(aF), toString(aG)], a)
189189
190190
191191 func aM (aN,aI,aD,aE,aF,aG) = {
192192 let aO = x(toString(aN))
193193 let aP = split(h(this, aO, aL(0, 0, 0, 0, 0)), a)
194194 let aQ = (parseIntValue(aP[1]) + aI)
195195 let aR = (parseIntValue(aP[2]) + aD)
196196 let aS = (parseIntValue(aP[3]) + aE)
197197 let aT = (parseIntValue(aP[4]) + aF)
198198 let aU = (parseIntValue(aP[5]) + aG)
199199 StringEntry(aO, aL(aQ, aR, aS, aT, aU))
200200 }
201201
202202
203203 func aV (aW,aX) = {
204204 let aY = addressFromStringValue(k(aW, H()))
205205 if ((scriptHash(aW) == unit))
206206 then aX
207207 else aY
208208 }
209209
210210
211211 func aZ (ba,bb) = {
212212 let bc = getString(w(ba))
213213 if (!(isDefined(bc)))
214214 then throw(("Unknown Node " + ba))
215215 else {
216216 let bd = value(bc)
217217 let be = split(bd, a)
218218 let bf = if ((size(be) >= 9))
219219 then be[am]
220220 else "PENDING"
221221 if ((bf != bb))
222222 then throw(((((("Node " + ba) + " status should be ") + bb) + ", but actually ") + bf))
223223 else bd
224224 }
225225 }
226226
227227
228228 @Callable(s)
229229 func constructor (ar,bg,bh,bi,bj) = if ((s.caller != this))
230230 then throw("permissions denied")
231231 else if ((0 > ar))
232232 then throw("depositAmount less then zero")
233233 else if ((0 > bi))
234234 then throw("protocolPartX6 less then zero")
235235 else if ((0 > bj))
236236 then throw("benificaryPartX6 less then zero")
237237 else if (((bi + bj) != b))
238238 then throw("parts sum must be 1")
239239 else [IntegerEntry(z(), ar), StringEntry(A(), u(bg)), StringEntry(B(), u(bh)), IntegerEntry(C(), bi), IntegerEntry(D(), bj)]
240240
241241
242242
243243 @Callable(s)
244244 func constructorV2 (bk,bl,bm) = if ((s.caller != this))
245245 then throw("permissions denied")
246246 else [StringEntry(F(), u(bk)), StringEntry(V(), u(bl)), StringEntry(G(), u(bm))]
247247
248248
249249
250250 @Callable(s)
251251 func sumbitApplication () = if ((size(s.payments) != 1))
252252 then throw("exact 1 payment must be attached")
253253 else if ((s.caller != s.originCaller))
254254 then throw("dapp to dapp calls are not allowed")
255255 else {
256256 let bn = s.payments[0]
257257 let bo = bn.amount
258258 let bp = valueOrElse(bn.assetId, e)
259259 let bq = f(z())
260260 let aA = toBase58String(s.transactionId)
261261 let az = toString(s.caller)
262262 let br = w(az)
263263 if ((bp != e))
264264 then throw("only Waves can be used for deposit")
265265 else if ((bo != bq))
266266 then throw((("exactly " + toString(bq)) + " Wavelets are expected"))
267267 else if ((h(this, br, "") != ""))
268268 then throw("your node already registered")
269269 else [StringEntry(br, ap(aA, bo, bo, "PENDING"))]
270270 }
271271
272272
273273
274274 @Callable(s)
275275 func distributeMinerReward (bs) = {
276276 let bt = valueOrElse(getInteger(this, E()), (24 * c))
277277 if ((size(s.payments) != 1))
278278 then throw("exact 1 payment must be attached")
279279 else if ((s.caller != s.originCaller))
280280 then throw("dapp to dapp calls are not allowed")
281281 else {
282282 let bn = s.payments[0]
283283 let bp = valueOrElse(bn.assetId, e)
284284 let bu = s.fee
285285 let bv = valueOrElse(s.feeAssetId, e)
286286 let bw = (bu * 3)
287287 let aI = (bn.amount - bw)
288288 if ((bn.amount != bt))
289289 then throw((("attached payment must be exact " + toString(bt)) + " Wavelets"))
290290 else if ((bp != e))
291291 then throw("only Waves can be used in payment")
292292 else if ((bv != e))
293293 then throw("only Waves can be used in fees")
294294 else if ((bu != ((5 * c) / 1000)))
295295 then throw("fee amount couldn't exceed 0.005")
296296 else {
297297 let bx = l(A())
298298 let by = l(B())
299299 let aW = s.caller
300300 let aX = addressFromStringValue(bs)
301301 let bz = aV(aW, aX)
302302 let bA = aX
303303 let bB = f(C())
304304 let bC = f(D())
305305 let aD = fraction(aI, bC, b)
306306 let aE = (aI - aD)
307307 let aJ = 0
308308 let aK = (aE - aJ)
309309 let bD = addressFromStringValue(h(this, G(), "3PC7DBimauyKytx8tXhKo5u2ECb6FsndYKH"))
310310 let bE = q(invoke(bD, "withdraw", [aK], nil))
311311 let bF = addressFromStringValue(h(this, F(), "3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"))
312312 let bG = m(invoke(bF, "exchange", [1], [AttachedPayment(unit, (aK + bE))]))
313313 let bH = q(bG[0])
314314 let bI = t(bG[1])
315315 if ((ag != bI))
316316 then throw("invalid asset id received during swopfi exchange")
317317 else [ScriptTransfer(bz, aD, unit), ScriptTransfer(by, bH, ag), ScriptTransfer(bA, bw, unit), aH(aW, s.transactionId, aI, aD, aE, aJ, aK), aM(aW, aI, aD, aE, aJ, aK)]
318318 }
319319 }
320320 }
321321
322322
323323
324324 @Callable(s)
325325 func validateAndApproveLeasings (bJ) = {
326326 let bK = [0, 1, 2, 3, 4, 5, 6, 7]
327327 let bL = split(bJ, a)
328328 let bM = size(bK)
329329 let bx = l(A())
330330 if ((s.caller != bx))
331331 then throw("validateAndApproveLeasings not authorized")
332332 else if (((size(bL) % 2) != 0))
333333 then throw("Only even number of nodes is allowed")
334334 else if ((size(bL) != bM))
335335 then throw((("Only " + toString(bM)) + " of nodes' addresses can be passed"))
336336 else {
337337 func bN (bO,s) = {
338338 let ba = bL[s]
339339 let bd = aZ(ba, "PENDING")
340340 (bO :+ StringEntry(w(ba), au(bd, "APPROVED")))
341341 }
342342
343343 let bP = {
344344 let bQ = bK
345345 let bR = size(bQ)
346346 let bS = nil
347347 func bT (bU,bV) = if ((bV >= bR))
348348 then bU
349349 else bN(bU, bQ[bV])
350350
351351 func bW (bU,bV) = if ((bV >= bR))
352352 then bU
353353 else throw("List size exceeds 8")
354354
355355 bW(bT(bT(bT(bT(bT(bT(bT(bT(bS, 0), 1), 2), 3), 4), 5), 6), 7), 8)
356356 }
357357 $Tuple2(bP, nil)
358358 }
359359 }
360360
361361
362362
363363 @Callable(s)
364364 func replaceApprovedNode (bX,bY,bZ,ca) = if ((s.caller != ae))
365365 then throw("permissions denied")
366366 else {
367367 let cb = aZ(bX, "APPROVED")
368368 let cc = aZ(bY, "PENDING")
369369 let cd = k(this, y())
370370 if (!(contains(cd, bX)))
371371 then throw(("approvedNodeList does not contain " + bX))
372372 else {
373- let ce = makeString(split_4C(cd, bX), bY)
373+ let ce = makeString_2C(split_4C(cd, bX), bY)
374374 let cf = addressFromStringValue(bX)
375375 let bz = aV(cf, cf)
376376 let cg = parseIntValue(split(cb, a)[ak])
377377 let ch = [StringEntry(y(), ce), DeleteEntry(w(bX)), StringEntry(w(bY), au(cc, "APPROVED"))]
378378 $Tuple2(if ((cg > ca))
379379 then (ch :+ ScriptTransfer(bz, (cg - ca), unit))
380380 else ch, unit)
381381 }
382382 }
383383
384384
385385
386386 @Callable(s)
387387 func returnDeposit (ci) = if ((size(s.payments) != 0))
388388 then throw("No payments allowed")
389389 else {
390390 let cj = s.caller
391391 let br = w(ci)
392392 let bc = getString(this, br)
393393 if (!(isDefined(bc)))
394394 then throw(("Address is not applied as neutrino node: " + ci))
395395 else {
396396 let ck = k(this, y())
397397 if (contains(ck, ci))
398398 then throw("Impossible to return deposit from approved Node, please contact support team")
399399 else {
400400 let be = split(value(bc), a)
401401 let at = if ((size(be) >= 9))
402402 then be[am]
403403 else "PENDING"
404404 if ((at != "PENDING"))
405405 then throw("Application status is not PENDING!")
406406 else {
407407 let cg = parseIntValue(be[ak])
408408 let az = addressFromStringValue(ci)
409409 let bz = aV(az, az)
410410 if (!(if (if ((cj == this))
411411 then true
412412 else if ((bz != az))
413413 then (cj == bz)
414414 else false)
415415 then true
416416 else if ((bz == az))
417417 then (cj == az)
418418 else false))
419419 then throw("returnDeposit permissions denied")
420420 else [DeleteEntry(br), ScriptTransfer(bz, cg, unit)]
421421 }
422422 }
423423 }
424424 }
425425
426426

github/deemru/w8io/3ef1775 
66.56 ms