tx · 3xGRpNi79qZFMKjysXhtreHHa7rCK2iLnaA4bjVcM94L

3MwMR1ZFfy712trHVLisizYmvRQwsg8z9Bn:  -0.01400000 Waves

2020.03.27 15:40 [927846] smart account 3MwMR1ZFfy712trHVLisizYmvRQwsg8z9Bn > SELF 0.00000000 Waves

{ "type": 13, "id": "3xGRpNi79qZFMKjysXhtreHHa7rCK2iLnaA4bjVcM94L", "fee": 1400000, "feeAssetId": null, "timestamp": 1585312809918, "version": 1, "sender": "3MwMR1ZFfy712trHVLisizYmvRQwsg8z9Bn", "senderPublicKey": "97T1f7qUWzkowGZkQrhKdK7mb6NMiCypcdgw9AJkb7Lx", "proofs": [ "3AZoS63i8872RMX1oF9h3jrTncAyBewMcMJtjbZ8rhu2bCS1YBQNCGYbCuYtAd9Wd378Qbo3nxNhLYRmQkWL1tUm" ], "script": "base64:AAIDAAAAAAAAABUIARIAEgASBAoCCAESABIDCgEIEgAAAABTAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAADGdldEJvb2xCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQcBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBwEAAAAVZ2V0TnVtYmVyRnJvbU9wdGlvbmFsAAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAAAAAAMU0VORFRYRVhQSVJFAAAAAAAAAAAeAAAAAA9MSVNUU1BMSVRTWU1CT0wCAAAAAV8AAAAADkxJU1REQVRBU1lNQk9MAgAAAAErAAAAAAdXQVZFTEVUAAAAAAAF9eEAAAAAAAVQQVVMSQAAAAAAAA9CQAAAAAANREVGSUNJVE9GRlNFVAAAAAAAAAAABQAAAAASTmV1dHJpbm9Bc3NldElkS2V5AgAAABFuZXV0cmlub19hc3NldF9pZAAAAAAOQm9uZEFzc2V0SWRLZXkCAAAADWJvbmRfYXNzZXRfaWQAAAAAEkF1Y3Rpb25Db250cmFjdEtleQIAAAAQYXVjdGlvbl9jb250cmFjdAAAAAAWTGlxdWlkYXRpb25Db250cmFjdEtleQIAAAAUbGlxdWlkYXRpb25fY29udHJhY3QAAAAADlJQRENvbnRyYWN0S2V5AgAAAAxycGRfY29udHJhY3QAAAAAEUNvbnRvbENvbnRyYWN0S2V5AgAAABBjb250cm9sX2NvbnRyYWN0AAAAABtCYWxhbmNlV2F2ZXNMb2NrSW50ZXJ2YWxLZXkCAAAAG2JhbGFuY2Vfd2F2ZXNfbG9ja19pbnRlcnZhbAAAAAAeQmFsYW5jZU5ldXRyaW5vTG9ja0ludGVydmFsS2V5AgAAAB5iYWxhbmNlX25ldXRyaW5vX2xvY2tfaW50ZXJ2YWwAAAAAFU1pbldhdmVzU3dhcEFtb3VudEtleQIAAAAVbWluX3dhdmVzX3N3YXBfYW1vdW50AAAAABhNaW5OZXV0cmlub1N3YXBBbW91bnRLZXkCAAAAGG1pbl9uZXV0cmlub19zd2FwX2Ftb3VudAAAAAAbTm9kZU9yYWNsZVByb3ZpZGVyUHViS2V5S2V5AgAAABRub2RlX29yYWNsZV9wcm92aWRlcgAAAAAWU3BvbnNvcmVkRmVlTG93ZXJCb3VuZAAAAAAAAAAAMgAAAAAWU3BvbnNvcmVkRmVlVXBwZXJCb3VuZAAAAAAAAAAAZAAAAAAOTUlOVFJBTlNGRVJGRUUAAAAAAAABhqAAAAAAD2N1cnJlbnRDb25maWdJZAIAAAARY3VycmVudF9jb25maWdfaWQBAAAADmdldEZlZVByaWNlS2V5AAAAAQAAAAJpZAkAASwAAAACAgAAAApwcmljZV9mZWVfBQAAAAJpZAEAAAAMZ2V0TWluRmVlS2V5AAAAAQAAAAJpZAkAASwAAAACAgAAAAttaW5mZWVfZmVlXwUAAAACaWQBAAAAEmdldENvbmZpZ1N0YXR1c0tleQAAAAEAAAACaWQJAAEsAAAAAgIAAAASZmVlX2NvbmZpZ19zdGF0dXNfBQAAAAJpZAAAAAANUlBEQmFsYW5jZUtleQIAAAALcnBkX2JhbGFuY2UBAAAAGGdldFJQRENvbnRyYWN0QmFsYW5jZUtleQAAAAEAAAAHYXNzZXRJZAkAASwAAAACCQABLAAAAAIFAAAADVJQREJhbGFuY2VLZXkCAAAAAV8JAAJYAAAAAQUAAAAHYXNzZXRJZAAAAAAIUHJpY2VLZXkCAAAABXByaWNlAAAAAA1QcmljZUluZGV4S2V5AgAAAAtwcmljZV9pbmRleAAAAAAMSXNCbG9ja2VkS2V5AgAAAAppc19ibG9ja2VkAQAAABJnZXRQcmljZUhpc3RvcnlLZXkAAAABAAAABWJsb2NrCQABLAAAAAIJAAEsAAAAAgUAAAAIUHJpY2VLZXkCAAAAAV8JAAGkAAAAAQUAAAAFYmxvY2sBAAAAGGdldEhlaWdodFByaWNlQnlJbmRleEtleQAAAAEAAAAFaW5kZXgJAAEsAAAAAgkAASwAAAACBQAAAA1QcmljZUluZGV4S2V5AgAAAAFfCQABpAAAAAEFAAAABWluZGV4AAAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAANYmFsYW5jZV9sb2NrXwAAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAV3YXZlcwAAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAhuZXV0cmlubwEAAAAgZ2V0UlBEU25hcHNob3RDb250cmFjdEJhbGFuY2VLZXkAAAACAAAABWNvdW50AAAAB2Fzc2V0SWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANUlBEQmFsYW5jZUtleQIAAAABXwkAAlgAAAABBQAAAAdhc3NldElkAgAAAAFfCQABpAAAAAEFAAAABWNvdW50AQAAAB1nZXRDYW5jZWxMZWFzZVR4UmVzZXJ2ZUZlZUtleQAAAAEAAAAEaGFzaAkAASwAAAACCQABLAAAAAICAAAAG2NhbmNlbF9sZWFzZV90eF9yZXNlcnZlX2ZlZQIAAAABXwUAAAAEaGFzaAEAAAAYZ2V0V2F2ZXNMb2NrZWRCYWxhbmNlS2V5AAAAAQAAAAVvd25lcgkAASwAAAACCQABLAAAAAIFAAAAFVdhdmVzTG9ja2VkQmFsYW5jZUtleQIAAAABXwUAAAAFb3duZXIBAAAAG2dldE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAEAAAAFb3duZXIJAAEsAAAAAgkAASwAAAACBQAAABhOZXV0cmlub0xvY2tlZEJhbGFuY2VLZXkCAAAAAV8FAAAABW93bmVyAQAAABhnZXRCYWxhbmNlVW5sb2NrQmxvY2tLZXkAAAABAAAABW93bmVyCQABLAAAAAICAAAAFWJhbGFuY2VfdW5sb2NrX2Jsb2NrXwUAAAAFb3duZXIBAAAAD2dldFJQRFByb2ZpdEtleQAAAAEAAAAFY291bnQJAAEsAAAAAgkAASwAAAACAgAAAApycGRfcHJvZml0AgAAAAFfCQABpAAAAAEFAAAABWNvdW50AQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQAAAAAAAAAAGQFAAAABXByaWNlBQAAAAdXQVZFTEVUBQAAAAVQQVVMSQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50BQAAAAVwcmljZQAAAAAAAAAAZAUAAAAFUEFVTEkFAAAAB1dBVkVMRVQBAAAAEmNvbnZlcnRXYXZlc1RvQm9uZAAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABAAAACWpzb25BcnJheQkABLUAAAACBQAAAAlqc29uQXJyYXkCAAAAASwAAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAFkxpcXVpZGF0aW9uQ29udHJhY3RLZXkAAAAAFW5ldXRyaW5vQXNzZXRJZFN0cmluZwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAASTmV1dHJpbm9Bc3NldElkS2V5AAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQUAAAAVbmV1dHJpbm9Bc3NldElkU3RyaW5nAAAAAA9hdWN0aW9uQ29udHJhY3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAEkF1Y3Rpb25Db250cmFjdEtleQAAAAALcnBkQ29udHJhY3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADlJQRENvbnRyYWN0S2V5AAAAAA9jb250cm9sQ29udHJhY3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAEUNvbnRvbENvbnRyYWN0S2V5AAAAAApwcmljZUluZGV4CQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0BQAAAA1QcmljZUluZGV4S2V5AAAAAAlpc0Jsb2NrZWQJAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0BQAAAAxJc0Jsb2NrZWRLZXkAAAAAGG5vZGVPcmFjbGVQcm92aWRlclB1YktleQkAAlkAAAABCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABtOb2RlT3JhY2xlUHJvdmlkZXJQdWJLZXlLZXkAAAAAGGJhbGFuY2VXYXZlc0xvY2tJbnRlcnZhbAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAAbQmFsYW5jZVdhdmVzTG9ja0ludGVydmFsS2V5AAAAABtiYWxhbmNlTmV1dHJpbm9Mb2NrSW50ZXJ2YWwJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAAHkJhbGFuY2VOZXV0cmlub0xvY2tJbnRlcnZhbEtleQAAAAASbWluV2F2ZXNTd2FwQW1vdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABVNaW5XYXZlc1N3YXBBbW91bnRLZXkAAAAAFW1pbk5ldXRyaW5vU3dhcEFtb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAAYTWluTmV1dHJpbm9Td2FwQW1vdW50S2V5AAAAAAtib25kQXNzZXRJZAkAAlkAAAABAgAAACw2blNwVnlOSDd5TTY5ZWc0NDZ3clFSOTRpcGJiY21aTVUxRU5Qd2FuQzk3ZwAAAAAVZGVwcmVjYXRlZEJvbmRBc3NldElkCQACWQAAAAECAAAALDk3NWFrWkJmbk1qNTEzVTdNWmFIS3pRcm1zRXg1YUUzd2RXS1RySEJoYmpGAAAAABBuZXV0cmlub0NvbnRyYWN0BQAAAAR0aGlzAAAAAAxjdXJyZW50UHJpY2UJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QFAAAACFByaWNlS2V5AAAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAASd2F2ZXNMb2NrZWRCYWxhbmNlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABVXYXZlc0xvY2tlZEJhbGFuY2VLZXkAAAAAB3Jlc2VydmUJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAEndhdmVzTG9ja2VkQmFsYW5jZQAAAAAObmV1dHJpbm9TdXBwbHkJAABlAAAAAgkAAGUAAAACCQAAZAAAAAIFAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQgJAQAAAAdleHRyYWN0AAAAAQkAA+wAAAABBQAAAA9uZXV0cmlub0Fzc2V0SWQAAAAIcXVhbnRpdHkJAAPrAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAPbmV1dHJpbm9Bc3NldElkCQAD6wAAAAIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAATbGlxdWlkYXRpb25Db250cmFjdAUAAAAPbmV1dHJpbm9Bc3NldElkAAAAAAdzdXJwbHVzCQAAZQAAAAIJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAHcmVzZXJ2ZQUAAAAMY3VycmVudFByaWNlBQAAAA5uZXV0cmlub1N1cHBseQAAAAAHZGVmaWNpdAkAAGUAAAACBQAAAA5uZXV0cmlub1N1cHBseQkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAdyZXNlcnZlBQAAAAxjdXJyZW50UHJpY2UBAAAAG2NoZWNrSXNWYWxpZE1pblNwb25zb3JlZEZlZQAAAAEAAAACdHgEAAAAAmNwAAAAAAAAAABaBAAAAA9yZWFsTmV1dHJpbm9GZWUJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAOTUlOVFJBTlNGRVJGRUUFAAAAAmNwBAAAAAhleGFjdEZlZQkAAGQAAAACCQAAawAAAAMFAAAAD3JlYWxOZXV0cmlub0ZlZQUAAAAWU3BvbnNvcmVkRmVlVXBwZXJCb3VuZAAAAAAAAAAAZAkAAGsAAAADBQAAAA9yZWFsTmV1dHJpbm9GZWUFAAAAFlNwb25zb3JlZEZlZUxvd2VyQm91bmQAAAAAAAAAAGQEAAAAB2NvcnJlY3QJAAGkAAAAAQkBAAAAFWdldE51bWJlckZyb21PcHRpb25hbAAAAAEIBQAAAAJ0eAAAABRtaW5TcG9uc29yZWRBc3NldEZlZQQAAAAGYWN0dWFsCQABpAAAAAEFAAAACGV4YWN0RmVlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADUNvcnJlY3QgZmVlOiAFAAAAB2NvcnJlY3QCAAAACjsgQWN0dWFsOiAFAAAABmFjdHVhbAEAAAAVZ2V0UlBEQ29udHJhY3RCYWxhbmNlAAAAAQAAAAdhc3NldElkCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAALcnBkQ29udHJhY3QJAQAAABhnZXRSUERDb250cmFjdEJhbGFuY2VLZXkAAAABBQAAAAdhc3NldElkAQAAAA9nZXRQcmljZUhpc3RvcnkAAAABAAAABWJsb2NrCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0CQEAAAASZ2V0UHJpY2VIaXN0b3J5S2V5AAAAAQUAAAAFYmxvY2sBAAAAFWdldEhlaWdodFByaWNlQnlJbmRleAAAAAEAAAAFaW5kZXgJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QJAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABBQAAAAVpbmRleAEAAAAaZ2V0Q2FuY2VsTGVhc2VUeFJlc2VydmVGZWUAAAABAAAABGhhc2gJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAB1nZXRDYW5jZWxMZWFzZVR4UmVzZXJ2ZUZlZUtleQAAAAEFAAAABGhhc2gBAAAAFWdldFdhdmVzTG9ja2VkQmFsYW5jZQAAAAEAAAAFb3duZXIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABhnZXRXYXZlc0xvY2tlZEJhbGFuY2VLZXkAAAABBQAAAAVvd25lcgEAAAAYZ2V0TmV1dHJpbm9Mb2NrZWRCYWxhbmNlAAAAAQAAAAVvd25lcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAG2dldE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAEFAAAABW93bmVyAQAAABVnZXRVbmxvY2tCYWxhbmNlQmxvY2sAAAABAAAABW93bmVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAYZ2V0QmFsYW5jZVVubG9ja0Jsb2NrS2V5AAAAAQUAAAAFb3duZXIBAAAADGdldFJQRFByb2ZpdAAAAAEAAAAFY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRSUERQcm9maXRLZXkAAAABBQAAAAVjb3VudAAAAAYAAAABaQEAAAATc3dhcFdhdmVzVG9OZXV0cmlubwAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAdhY2NvdW50CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAABmAAAAAgUAAAASbWluV2F2ZXNTd2FwQW1vdW50CAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAABAVGhlIHNwZWNpZmllZCBXYXZlcyBhbW91bnQgaXMgbGVzcyB0aGFuIHRoZSByZXF1aXJlZCBtaW5pbXVtIG9mIAkAAaQAAAABBQAAABJtaW5XYXZlc1N3YXBBbW91bnQCAAAACiB3YXZlbGV0cy4DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAKU9ubHkgV2F2ZXMgdG9rZW4gaXMgYWxsb3dlZCBmb3Igc3dhcHBpbmcuAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWmNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWxsIHJlYWN0aXZhdGlvbiBieSBlbWVyZ2VuY3kgb3JhY2xlcwMJAABmAAAAAgkBAAAAFWdldFVubG9ja0JhbGFuY2VCbG9jawAAAAEFAAAAB2FjY291bnQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGYXdhaXQgCQABpAAAAAEJAABlAAAAAgkBAAAAFWdldFVubG9ja0JhbGFuY2VCbG9jawAAAAEFAAAAB2FjY291bnQFAAAABmhlaWdodAIAAAAHIGJsb2NrcwMDCQEAAAACIT0AAAACCQEAAAAYZ2V0TmV1dHJpbm9Mb2NrZWRCYWxhbmNlAAAAAQUAAAAHYWNjb3VudAAAAAAAAAAAAAYJAQAAAAIhPQAAAAIJAQAAABVnZXRXYXZlc0xvY2tlZEJhbGFuY2UAAAABBQAAAAdhY2NvdW50AAAAAAAAAAAACQAAAgAAAAECAAAAInBsZWFzZSB3aXRoZHJhdyBsb2NrZWQgZnVuZHMgZmlyc3QJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRXYXZlc0xvY2tlZEJhbGFuY2VLZXkAAAABBQAAAAdhY2NvdW50CAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEJhbGFuY2VVbmxvY2tCbG9ja0tleQAAAAEFAAAAB2FjY291bnQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAABhiYWxhbmNlV2F2ZXNMb2NrSW50ZXJ2YWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFVdhdmVzTG9ja2VkQmFsYW5jZUtleQkAAGQAAAACBQAAABJ3YXZlc0xvY2tlZEJhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BQAAAANuaWwAAAABaQEAAAATc3dhcE5ldXRyaW5vVG9XYXZlcwAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAdhY2NvdW50CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAABmAAAAAgUAAAAVbWluTmV1dHJpbm9Td2FwQW1vdW50CAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAABDVGhlIHNwZWNpZmllZCBOZXV0cmlubyBhbW91bnQgaXMgbGVzcyB0aGFuIHRoZSByZXF1aXJlZCBtaW5pbXVtIG9mIAkAAaQAAAABBQAAABVtaW5OZXV0cmlub1N3YXBBbW91bnQCAAAAECBOZXV0cmlubyBjZW50cy4DBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABhVGhlIGNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOLiBQbGVhc2Ugd2FpdCBmb3IgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAPbmV1dHJpbm9Bc3NldElkCQAAAgAAAAECAAAAOk9ubHkgYXBwcm9wcmlhdGUgTmV1dHJpbm8gdG9rZW5zIGFyZSBhbGxvd2VkIGZvciBzd2FwcGluZy4DCQAAZgAAAAIJAQAAABVnZXRVbmxvY2tCYWxhbmNlQmxvY2sAAAABBQAAAAdhY2NvdW50BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAABmF3YWl0IAkAAaQAAAABCQAAZQAAAAIJAQAAABVnZXRVbmxvY2tCYWxhbmNlQmxvY2sAAAABBQAAAAdhY2NvdW50BQAAAAZoZWlnaHQCAAAAByBibG9ja3MDAwkBAAAAAiE9AAAAAgkBAAAAGGdldE5ldXRyaW5vTG9ja2VkQmFsYW5jZQAAAAEFAAAAB2FjY291bnQAAAAAAAAAAAAGCQEAAAACIT0AAAACCQEAAAAVZ2V0V2F2ZXNMb2NrZWRCYWxhbmNlAAAAAQUAAAAHYWNjb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAACJwbGVhc2Ugd2l0aGRyYXcgbG9ja2VkIGZ1bmRzIGZpcnN0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAbZ2V0TmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5AAAAAQUAAAAHYWNjb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRCYWxhbmNlVW5sb2NrQmxvY2tLZXkAAAABBQAAAAdhY2NvdW50CQAAZAAAAAIFAAAABmhlaWdodAUAAAAbYmFsYW5jZU5ldXRyaW5vTG9ja0ludGVydmFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABhOZXV0cmlub0xvY2tlZEJhbGFuY2VLZXkJAABkAAAAAgUAAAAVbmV1dHJpbm9Mb2NrZWRCYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAdhY2NvdW50AAAABWluZGV4BAAAAAx1bmxvY2tIZWlnaHQJAQAAABVnZXRVbmxvY2tCYWxhbmNlQmxvY2sAAAABBQAAAAdhY2NvdW50BAAAABZ1c2VyV2F2ZXNMb2NrZWRCYWxhbmNlCQEAAAAVZ2V0V2F2ZXNMb2NrZWRCYWxhbmNlAAAAAQUAAAAHYWNjb3VudAQAAAAZdXNlck5ldXRyaW5vTG9ja2VkQmFsYW5jZQkBAAAAGGdldE5ldXRyaW5vTG9ja2VkQmFsYW5jZQAAAAEFAAAAB2FjY291bnQEAAAAC2luZGV4SGVpZ2h0CQEAAAAVZ2V0SGVpZ2h0UHJpY2VCeUluZGV4AAAAAQUAAAAFaW5kZXgEAAAAD3ByZXZJbmRleEhlaWdodAkBAAAAFWdldEhlaWdodFByaWNlQnlJbmRleAAAAAEJAABlAAAAAgUAAAAFaW5kZXgAAAAAAAAAAAEEAAAADHByaWNlQnlJbmRleAkBAAAAD2dldFByaWNlSGlzdG9yeQAAAAEFAAAAC2luZGV4SGVpZ2h0BAAAAA5uZXV0cmlub0Ftb3VudAkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAABZ1c2VyV2F2ZXNMb2NrZWRCYWxhbmNlBQAAAAxwcmljZUJ5SW5kZXgEAAAAC3dhdmVzQW1vdW50CQEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIFAAAAGXVzZXJOZXV0cmlub0xvY2tlZEJhbGFuY2UFAAAADHByaWNlQnlJbmRleAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQAAZgAAAAIFAAAADHVubG9ja0hlaWdodAUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFwbGVhc2Ugd2FpdCBmb3I6IAkAAaQAAAABBQAAAAx1bmxvY2tIZWlnaHQCAAAAJSBibG9jayBoZWlnaHQgdG8gd2l0aGRyYXcgV0FWRVMgZnVuZHMDAwMJAABmAAAAAgUAAAAFaW5kZXgFAAAACnByaWNlSW5kZXgGCQAAZgAAAAIFAAAADHVubG9ja0hlaWdodAUAAAALaW5kZXhIZWlnaHQGAwkBAAAAAiE9AAAAAgUAAAAPcHJldkluZGV4SGVpZ2h0AAAAAAAAAAAACQAAZwAAAAIFAAAAD3ByZXZJbmRleEhlaWdodAUAAAAMdW5sb2NrSGVpZ2h0BwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACNpbnZhbGlkIHByaWNlIGhpc3RvcnkgaW5kZXg6IGluZGV4PQkAAaQAAAABBQAAAAVpbmRleAIAAAAMIHByaWNlSW5kZXg9CQABpAAAAAEFAAAACnByaWNlSW5kZXgCAAAADSBpbmRleEhlaWdodD0JAAGkAAAAAQUAAAALaW5kZXhIZWlnaHQCAAAADiB1bmxvY2tIZWlnaHQ9CQABpAAAAAEFAAAADHVubG9ja0hlaWdodAIAAAARIHByZXZJbmRleEhlaWdodD0JAAGkAAAAAQUAAAAPcHJldkluZGV4SGVpZ2h0AwMJAABnAAAAAgAAAAAAAAAAAAUAAAAObmV1dHJpbm9BbW91bnQJAABnAAAAAgAAAAAAAAAAAAUAAAALd2F2ZXNBbW91bnQHCQAAAgAAAAECAAAAE2JhbGFuY2UgZXF1YWxzIHplcm8JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0V2F2ZXNMb2NrZWRCYWxhbmNlS2V5AAAAAQUAAAAHYWNjb3VudAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAG2dldE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAEFAAAAB2FjY291bnQAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFVdhdmVzTG9ja2VkQmFsYW5jZUtleQkAAGUAAAACBQAAABJ3YXZlc0xvY2tlZEJhbGFuY2UFAAAAFnVzZXJXYXZlc0xvY2tlZEJhbGFuY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQkAAGUAAAACBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UFAAAAGXVzZXJOZXV0cmlub0xvY2tlZEJhbGFuY2UFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAB2FjY291bnQFAAAAC3dhdmVzQW1vdW50BQAAAAR1bml0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAHYWNjb3VudAUAAAAObmV1dHJpbm9BbW91bnQFAAAAD25ldXRyaW5vQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAAEXRyYW5zZmVyVG9BdWN0aW9uAAAAAAQAAAARZGVmaWNpdEJvbmRBbW91bnQJAABlAAAAAgUAAAAHZGVmaWNpdAkAA+sAAAACCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAD2F1Y3Rpb25Db250cmFjdAUAAAALYm9uZEFzc2V0SWQEAAAACm1pbkRlZmljaXQJAABrAAAAAwUAAAAObmV1dHJpbm9TdXBwbHkFAAAADURFRklDSVRPRkZTRVQAAAAAAAAAAGQEAAAAFnN1cnBsdXNXaXRoTGlxdWlkYXRpb24JAABlAAAAAgUAAAAHc3VycGx1cwkAA+sAAAACCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDAwkAAGYAAAACBQAAABFkZWZpY2l0Qm9uZEFtb3VudAUAAAAKbWluRGVmaWNpdAkAAGYAAAACBQAAABFkZWZpY2l0Qm9uZEFtb3VudAAAAAAAAAAAAAcJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAA9hdWN0aW9uQ29udHJhY3QFAAAAEWRlZmljaXRCb25kQW1vdW50BQAAAAtib25kQXNzZXRJZAUAAAADbmlsAwkAAGcAAAACBQAAABZzdXJwbHVz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", "chainId": 84, "height": 927846, "spentComplexity": 0 } View: original | compacted Prev: 8xuFNJNJAnHK7jSef61Jhwopp5b8sRfRXnrVHBmNakgz Next: 8mkWFhGc8FLAReKxiayVQ46bAjmEsSDD7ovZjovsJ1nT Diff:
OldNewDifferences
118118
119119 let F = 100000
120120
121-let G = "new"
121+let G = "current_config_id"
122122
123-let H = "ok"
124-
125-let I = "current_config_id"
126-
127-func J (K) = ("price_fee_" + K)
123+func H (I) = ("price_fee_" + I)
128124
129125
130-func L (K) = ("minfee_fee_" + K)
126+func J (I) = ("minfee_fee_" + I)
131127
132128
133-func M (K) = ("fee_config_status_" + K)
129+func K (I) = ("fee_config_status_" + I)
134130
135131
136-let N = "rpd_balance"
132+let L = "rpd_balance"
137133
138-func O (P) = ((N + "_") + toBase58String(P))
134+func M (N) = ((L + "_") + toBase58String(N))
139135
140136
141-let Q = "price"
137+let O = "price"
142138
143-let R = "price_index"
139+let P = "price_index"
144140
145-let S = "is_blocked"
141+let Q = "is_blocked"
146142
147-func T (U) = ((Q + "_") + toString(U))
143+func R (S) = ((O + "_") + toString(S))
148144
149145
150-func V (W) = ((R + "_") + toString(W))
146+func T (U) = ((P + "_") + toString(U))
151147
152148
153-let X = "balance_lock_"
149+let V = "balance_lock_"
154150
155-let Y = (X + "waves")
151+let W = (V + "waves")
156152
157-let Z = (X + "neutrino")
153+let X = (V + "neutrino")
158154
159-func aa (ab,P) = ((((N + "_") + toBase58String(P)) + "_") + toString(ab))
155+func Y (Z,N) = ((((L + "_") + toBase58String(N)) + "_") + toString(Z))
160156
161157
162-func ac (ad) = (("cancel_lease_tx_reserve_fee" + "_") + ad)
158+func aa (ab) = (("cancel_lease_tx_reserve_fee" + "_") + ab)
163159
164160
165-func ae (af) = ((Y + "_") + af)
161+func ac (ad) = ((W + "_") + ad)
166162
167163
168-func ag (af) = ((Z + "_") + af)
164+func ae (ad) = ((X + "_") + ad)
169165
170166
171-func ah (af) = ("balance_unlock_block_" + af)
167+func af (ad) = ("balance_unlock_block_" + ad)
172168
173169
174-func ai (ab) = (("rpd_profit" + "_") + toString(ab))
170+func ag (Z) = (("rpd_profit" + "_") + toString(Z))
175171
176172
177-func aj (ak,al) = fraction(fraction(ak, 100, al), p, q)
173+func ah (ai,aj) = fraction(fraction(ai, 100, aj), p, q)
178174
179175
180-func am (ak,al) = fraction(fraction(ak, al, 100), q, p)
176+func ak (ai,aj) = fraction(fraction(ai, aj, 100), q, p)
181177
182178
183-func an (ak,al) = am(ak, al)
179+func al (ai,aj) = ak(ai, aj)
184180
185181
186-func ao (ap) = split(ap, ",")
182+func am (an) = split(an, ",")
187183
188184
189-let aq = e(v)
185+let ao = e(v)
190186
191-let ar = e(s)
187+let ap = e(s)
192188
193-let as = fromBase58String(ar)
189+let aq = fromBase58String(ap)
194190
195-let at = e(u)
191+let ar = e(u)
196192
197-let au = e(w)
193+let as = e(w)
198194
199-let av = e(x)
195+let at = e(x)
200196
201-let aw = g(av, R)
197+let au = g(at, P)
202198
203-let ax = j(av, S)
199+let av = j(at, Q)
204200
205-let ay = fromBase58String(e(C))
201+let aw = fromBase58String(e(C))
206202
207-let az = a(y)
203+let ax = a(y)
208204
209-let aA = a(z)
205+let ay = a(z)
210206
211-let aB = a(A)
207+let az = a(A)
212208
213-let aC = a(B)
209+let aA = a(B)
214210
215-let aD = fromBase58String("6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g")
211+let aB = fromBase58String("6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g")
216212
217-let aE = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF")
213+let aC = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF")
218214
219-let aF = this
215+let aD = this
220216
221-let aG = g(av, Q)
217+let aE = g(at, O)
222218
223-let aH = a(Z)
219+let aF = a(X)
224220
225-let aI = a(Y)
221+let aG = a(W)
226222
227-let aJ = (wavesBalance(aF) - aI)
223+let aH = (wavesBalance(aD) - aG)
228224
229-let aK = (((aH + extract(assetInfo(as)).quantity) - assetBalance(aF, as)) - assetBalance(addressFromStringValue(aq), as))
225+let aI = (((aF + extract(assetInfo(aq)).quantity) - assetBalance(aD, aq)) - assetBalance(addressFromStringValue(ao), aq))
230226
231-let aL = (am(aJ, aG) - aK)
227+let aJ = (ak(aH, aE) - aI)
232228
233-let aM = (aK - am(aJ, aG))
229+let aK = (aI - ak(aH, aE))
234230
235-func aN (aO) = {
236- let aP = am(F, aG)
237- let aQ = fraction(am(F, (k(aO.minSponsoredAssetFee) - aP)), 100, aP)
238- if ((aQ >= E))
239- then (D >= aQ)
240- else false
231+func aL (aM) = {
232+ let aN = 90
233+ let aO = ak(F, aN)
234+ let aP = (fraction(aO, E, 100) + fraction(aO, D, 100))
235+ let aQ = toString(k(aM.minSponsoredAssetFee))
236+ let aR = toString(aP)
237+ throw(((("Correct fee: " + aQ) + "; Actual: ") + aR))
241238 }
242239
243240
244-func aR (P) = g(au, O(P))
241+func aS (N) = g(as, M(N))
245242
246243
247-func aS (U) = g(av, T(U))
244+func aT (S) = g(at, R(S))
248245
249246
250-func aT (W) = g(av, V(W))
247+func aU (U) = g(at, T(U))
251248
252249
253-func aU (ad) = a(ac(ad))
250+func aV (ab) = a(aa(ab))
254251
255252
256-func aV (af) = a(ae(af))
253+func aW (ad) = a(ac(ad))
257254
258255
259-func aW (af) = a(ag(af))
256+func aX (ad) = a(ae(ad))
260257
261258
262-func aX (af) = a(ah(af))
259+func aY (ad) = a(af(ad))
263260
264261
265-func aY (ab) = a(ai(ab))
262+func aZ (Z) = a(ag(Z))
266263
267264
268-@Callable(aZ)
265+@Callable(ba)
269266 func swapWavesToNeutrino () = {
270- let ba = extract(aZ.payment)
271- let bb = toString(aZ.caller)
272- if ((aB > ba.amount))
273- then throw((("The specified Waves amount is less than the required minimum of " + toString(aB)) + " wavelets."))
274- else if (isDefined(ba.assetId))
267+ let bb = extract(ba.payment)
268+ let bc = toString(ba.caller)
269+ if ((az > bb.amount))
270+ then throw((("The specified Waves amount is less than the required minimum of " + toString(az)) + " wavelets."))
271+ else if (isDefined(bb.assetId))
275272 then throw("Only Waves token is allowed for swapping.")
276- else if (ax)
273+ else if (av)
277274 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
278- else if ((aX(bb) > height))
279- then throw((("await " + toString((aX(bb) - height))) + " blocks"))
280- else if (if ((aW(bb) != 0))
275+ else if ((aY(bc) > height))
276+ then throw((("await " + toString((aY(bc) - height))) + " blocks"))
277+ else if (if ((aX(bc) != 0))
281278 then true
282- else (aV(bb) != 0))
279+ else (aW(bc) != 0))
283280 then throw("please withdraw locked funds first")
284- else WriteSet([DataEntry(ae(bb), ba.amount), DataEntry(ah(bb), (height + az)), DataEntry(Y, (aI + ba.amount))])
281+ else WriteSet([DataEntry(ac(bc), bb.amount), DataEntry(af(bc), (height + ax)), DataEntry(W, (aG + bb.amount))])
285282 }
286283
287284
288285
289-@Callable(aZ)
286+@Callable(ba)
290287 func swapNeutrinoToWaves () = {
291- let ba = extract(aZ.payment)
292- let bb = toString(aZ.caller)
293- if ((aC > ba.amount))
294- then throw((("The specified Neutrino amount is less than the required minimum of " + toString(aC)) + " Neutrino cents."))
295- else if (ax)
288+ let bb = extract(ba.payment)
289+ let bc = toString(ba.caller)
290+ if ((aA > bb.amount))
291+ then throw((("The specified Neutrino amount is less than the required minimum of " + toString(aA)) + " Neutrino cents."))
292+ else if (av)
296293 then throw("The contract is blocked by EMERGENCY SHUTDOWN. Please wait for reactivation by emergency oracles.")
297- else if ((ba.assetId != as))
294+ else if ((bb.assetId != aq))
298295 then throw("Only appropriate Neutrino tokens are allowed for swapping.")
299- else if ((aX(bb) > height))
300- then throw((("await " + toString((aX(bb) - height))) + " blocks"))
301- else if (if ((aW(bb) != 0))
296+ else if ((aY(bc) > height))
297+ then throw((("await " + toString((aY(bc) - height))) + " blocks"))
298+ else if (if ((aX(bc) != 0))
302299 then true
303- else (aV(bb) != 0))
300+ else (aW(bc) != 0))
304301 then throw("please withdraw locked funds first")
305- else WriteSet([DataEntry(ag(bb), ba.amount), DataEntry(ah(bb), (height + aA)), DataEntry(Z, (aH + ba.amount))])
302+ else WriteSet([DataEntry(ae(bc), bb.amount), DataEntry(af(bc), (height + ay)), DataEntry(X, (aF + bb.amount))])
306303 }
307304
308305
309306
310-@Callable(aZ)
311-func withdraw (bb,W) = {
312- let bc = aX(bb)
313- let bd = aV(bb)
314- let be = aW(bb)
315- let bf = aT(W)
316- let bg = aT((W - 1))
317- let bh = aS(bf)
318- let bi = am(bd, bh)
319- let bj = aj(be, bh)
320- if (ax)
307+@Callable(ba)
308+func withdraw (bc,U) = {
309+ let bd = aY(bc)
310+ let be = aW(bc)
311+ let bf = aX(bc)
312+ let bg = aU(U)
313+ let bh = aU((U - 1))
314+ let bi = aT(bg)
315+ let bj = ak(be, bi)
316+ let bk = ah(bf, bi)
317+ if (av)
321318 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
322- else if ((bc > height))
323- then throw((("please wait for: " + toString(bc)) + " block height to withdraw WAVES funds"))
324- else if (if (if ((W > aw))
319+ else if ((bd > height))
320+ then throw((("please wait for: " + toString(bd)) + " block height to withdraw WAVES funds"))
321+ else if (if (if ((U > au))
325322 then true
326- else (bc > bf))
323+ else (bd > bg))
327324 then true
328- else if ((bg != 0))
329- then (bg >= bc)
325+ else if ((bh != 0))
326+ then (bh >= bd)
330327 else false)
331- then throw(((((((((("invalid price history index: index=" + toString(W)) + " priceIndex=") + toString(aw)) + " indexHeight=") + toString(bf)) + " unlockHeight=") + toString(bc)) + " prevIndexHeight=") + toString(bg)))
332- else if (if ((0 >= bi))
333- then (0 >= bj)
328+ then throw(((((((((("invalid price history index: index=" + toString(U)) + " priceIndex=") + toString(au)) + " indexHeight=") + toString(bg)) + " unlockHeight=") + toString(bd)) + " prevIndexHeight=") + toString(bh)))
329+ else if (if ((0 >= bj))
330+ then (0 >= bk)
334331 else false)
335332 then throw("balance equals zero")
336- else ScriptResult(WriteSet([DataEntry(ae(bb), 0), DataEntry(ag(bb), 0), DataEntry(Y, (aI - bd)), DataEntry(Z, (aH - be))]), TransferSet([ScriptTransfer(addressFromStringValue(bb), bj, unit), ScriptTransfer(addressFromStringValue(bb), bi, as)]))
333+ else ScriptResult(WriteSet([DataEntry(ac(bc), 0), DataEntry(ae(bc), 0), DataEntry(W, (aG - be)), DataEntry(X, (aF - bf))]), TransferSet([ScriptTransfer(addressFromStringValue(bc), bk, unit), ScriptTransfer(addressFromStringValue(bc), bj, aq)]))
337334 }
338335
339336
340337
341-@Callable(aZ)
338+@Callable(ba)
342339 func transferToAuction () = {
343- let bk = (aM - assetBalance(addressFromStringValue(at), aD))
344- let bl = fraction(aK, r, 100)
345- let bm = (aL - assetBalance(addressFromStringValue(aq), as))
346- if (ax)
340+ let bl = (aK - assetBalance(addressFromStringValue(ar), aB))
341+ let bm = fraction(aI, r, 100)
342+ let bn = (aJ - assetBalance(addressFromStringValue(ao), aq))
343+ if (av)
347344 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
348- else if (if ((bk > bl))
349- then (bk > 0)
345+ else if (if ((bl > bm))
346+ then (bl > 0)
350347 else false)
351- then TransferSet([ScriptTransfer(addressFromStringValue(at), bk, aD)])
352- else if ((bm >= (1 * q)))
353- then TransferSet([ScriptTransfer(addressFromStringValue(aq), bm, as)])
354- else throw(((((((("bond were generated or do not need it. Deficit:" + toString(bk)) + "|") + toString(bl)) + ". Surplus:") + toString(bm)) + "|") + toString(aL)))
348+ then TransferSet([ScriptTransfer(addressFromStringValue(ar), bl, aB)])
349+ else if ((bn >= (1 * q)))
350+ then TransferSet([ScriptTransfer(addressFromStringValue(ao), bn, aq)])
351+ else throw(((((((("bond were generated or do not need it. Deficit:" + toString(bl)) + "|") + toString(bm)) + ". Surplus:") + toString(bn)) + "|") + toString(aJ)))
355352 }
356353
357354
358355
359-@Callable(aZ)
360-func transfer (bb) = {
361- let ba = extract(aZ.payment)
362- TransferSet([ScriptTransfer(addressFromStringValue(bb), ba.amount, ba.assetId)])
356+@Callable(ba)
357+func transfer (bc) = {
358+ let bb = extract(ba.payment)
359+ TransferSet([ScriptTransfer(addressFromStringValue(bc), bb.amount, bb.assetId)])
363360 }
364361
365362
366363
367-@Callable(aZ)
364+@Callable(ba)
368365 func migrationUSDNB2NSBTSwap () = {
369- let ba = extract(aZ.payment)
370- let bb = aZ.caller
371- if ((aE != ba.assetId))
366+ let bb = extract(ba.payment)
367+ let bc = ba.caller
368+ if ((aC != bb.assetId))
372369 then throw("error: attempt to swap not USDNB tokens")
373- else TransferSet([ScriptTransfer(bb, (ba.amount * q), aD)])
370+ else TransferSet([ScriptTransfer(bc, (bb.amount * q), aB)])
374371 }
375372
373+
374+@Verifier(aM)
375+func bo () = {
376+ let I = toBase58String(aM.id)
377+ let c = aM
378+ if (if ($isInstanceOf(c, "LeaseCancelTransaction"))
379+ then true
380+ else $isInstanceOf(c, "LeaseTransaction"))
381+ then {
382+ let bp = c
383+ sigVerify(aM.bodyBytes, aM.proofs[0], aw)
384+ }
385+ else if ($isInstanceOf(c, "SponsorFeeTransaction"))
386+ then {
387+ let bq = c
388+ if (sigVerify(aM.bodyBytes, aM.proofs[0], aw))
389+ then aL(bq)
390+ else false
391+ }
392+ else true
393+ }
376394
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = getInteger(this, b)
66 if ($isInstanceOf(c, "Int"))
77 then {
88 let d = c
99 d
1010 }
1111 else 0
1212 }
1313
1414
1515 func e (b) = {
1616 let c = getString(this, b)
1717 if ($isInstanceOf(c, "String"))
1818 then {
1919 let d = c
2020 d
2121 }
2222 else ""
2323 }
2424
2525
2626 func f (b) = {
2727 let c = getBoolean(this, b)
2828 if ($isInstanceOf(c, "Boolean"))
2929 then {
3030 let d = c
3131 d
3232 }
3333 else false
3434 }
3535
3636
3737 func g (h,b) = {
3838 let c = getInteger(addressFromStringValue(h), b)
3939 if ($isInstanceOf(c, "Int"))
4040 then {
4141 let d = c
4242 d
4343 }
4444 else 0
4545 }
4646
4747
4848 func i (h,b) = {
4949 let c = getString(addressFromStringValue(h), b)
5050 if ($isInstanceOf(c, "String"))
5151 then {
5252 let d = c
5353 d
5454 }
5555 else ""
5656 }
5757
5858
5959 func j (h,b) = {
6060 let c = getBoolean(addressFromStringValue(h), b)
6161 if ($isInstanceOf(c, "Boolean"))
6262 then {
6363 let d = c
6464 d
6565 }
6666 else false
6767 }
6868
6969
7070 func k (l) = {
7171 let c = l
7272 if ($isInstanceOf(c, "Int"))
7373 then {
7474 let d = c
7575 d
7676 }
7777 else 0
7878 }
7979
8080
8181 let m = 30
8282
8383 let n = "_"
8484
8585 let o = "+"
8686
8787 let p = 100000000
8888
8989 let q = 1000000
9090
9191 let r = 5
9292
9393 let s = "neutrino_asset_id"
9494
9595 let t = "bond_asset_id"
9696
9797 let u = "auction_contract"
9898
9999 let v = "liquidation_contract"
100100
101101 let w = "rpd_contract"
102102
103103 let x = "control_contract"
104104
105105 let y = "balance_waves_lock_interval"
106106
107107 let z = "balance_neutrino_lock_interval"
108108
109109 let A = "min_waves_swap_amount"
110110
111111 let B = "min_neutrino_swap_amount"
112112
113113 let C = "node_oracle_provider"
114114
115115 let D = 50
116116
117117 let E = 100
118118
119119 let F = 100000
120120
121-let G = "new"
121+let G = "current_config_id"
122122
123-let H = "ok"
124-
125-let I = "current_config_id"
126-
127-func J (K) = ("price_fee_" + K)
123+func H (I) = ("price_fee_" + I)
128124
129125
130-func L (K) = ("minfee_fee_" + K)
126+func J (I) = ("minfee_fee_" + I)
131127
132128
133-func M (K) = ("fee_config_status_" + K)
129+func K (I) = ("fee_config_status_" + I)
134130
135131
136-let N = "rpd_balance"
132+let L = "rpd_balance"
137133
138-func O (P) = ((N + "_") + toBase58String(P))
134+func M (N) = ((L + "_") + toBase58String(N))
139135
140136
141-let Q = "price"
137+let O = "price"
142138
143-let R = "price_index"
139+let P = "price_index"
144140
145-let S = "is_blocked"
141+let Q = "is_blocked"
146142
147-func T (U) = ((Q + "_") + toString(U))
143+func R (S) = ((O + "_") + toString(S))
148144
149145
150-func V (W) = ((R + "_") + toString(W))
146+func T (U) = ((P + "_") + toString(U))
151147
152148
153-let X = "balance_lock_"
149+let V = "balance_lock_"
154150
155-let Y = (X + "waves")
151+let W = (V + "waves")
156152
157-let Z = (X + "neutrino")
153+let X = (V + "neutrino")
158154
159-func aa (ab,P) = ((((N + "_") + toBase58String(P)) + "_") + toString(ab))
155+func Y (Z,N) = ((((L + "_") + toBase58String(N)) + "_") + toString(Z))
160156
161157
162-func ac (ad) = (("cancel_lease_tx_reserve_fee" + "_") + ad)
158+func aa (ab) = (("cancel_lease_tx_reserve_fee" + "_") + ab)
163159
164160
165-func ae (af) = ((Y + "_") + af)
161+func ac (ad) = ((W + "_") + ad)
166162
167163
168-func ag (af) = ((Z + "_") + af)
164+func ae (ad) = ((X + "_") + ad)
169165
170166
171-func ah (af) = ("balance_unlock_block_" + af)
167+func af (ad) = ("balance_unlock_block_" + ad)
172168
173169
174-func ai (ab) = (("rpd_profit" + "_") + toString(ab))
170+func ag (Z) = (("rpd_profit" + "_") + toString(Z))
175171
176172
177-func aj (ak,al) = fraction(fraction(ak, 100, al), p, q)
173+func ah (ai,aj) = fraction(fraction(ai, 100, aj), p, q)
178174
179175
180-func am (ak,al) = fraction(fraction(ak, al, 100), q, p)
176+func ak (ai,aj) = fraction(fraction(ai, aj, 100), q, p)
181177
182178
183-func an (ak,al) = am(ak, al)
179+func al (ai,aj) = ak(ai, aj)
184180
185181
186-func ao (ap) = split(ap, ",")
182+func am (an) = split(an, ",")
187183
188184
189-let aq = e(v)
185+let ao = e(v)
190186
191-let ar = e(s)
187+let ap = e(s)
192188
193-let as = fromBase58String(ar)
189+let aq = fromBase58String(ap)
194190
195-let at = e(u)
191+let ar = e(u)
196192
197-let au = e(w)
193+let as = e(w)
198194
199-let av = e(x)
195+let at = e(x)
200196
201-let aw = g(av, R)
197+let au = g(at, P)
202198
203-let ax = j(av, S)
199+let av = j(at, Q)
204200
205-let ay = fromBase58String(e(C))
201+let aw = fromBase58String(e(C))
206202
207-let az = a(y)
203+let ax = a(y)
208204
209-let aA = a(z)
205+let ay = a(z)
210206
211-let aB = a(A)
207+let az = a(A)
212208
213-let aC = a(B)
209+let aA = a(B)
214210
215-let aD = fromBase58String("6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g")
211+let aB = fromBase58String("6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g")
216212
217-let aE = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF")
213+let aC = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF")
218214
219-let aF = this
215+let aD = this
220216
221-let aG = g(av, Q)
217+let aE = g(at, O)
222218
223-let aH = a(Z)
219+let aF = a(X)
224220
225-let aI = a(Y)
221+let aG = a(W)
226222
227-let aJ = (wavesBalance(aF) - aI)
223+let aH = (wavesBalance(aD) - aG)
228224
229-let aK = (((aH + extract(assetInfo(as)).quantity) - assetBalance(aF, as)) - assetBalance(addressFromStringValue(aq), as))
225+let aI = (((aF + extract(assetInfo(aq)).quantity) - assetBalance(aD, aq)) - assetBalance(addressFromStringValue(ao), aq))
230226
231-let aL = (am(aJ, aG) - aK)
227+let aJ = (ak(aH, aE) - aI)
232228
233-let aM = (aK - am(aJ, aG))
229+let aK = (aI - ak(aH, aE))
234230
235-func aN (aO) = {
236- let aP = am(F, aG)
237- let aQ = fraction(am(F, (k(aO.minSponsoredAssetFee) - aP)), 100, aP)
238- if ((aQ >= E))
239- then (D >= aQ)
240- else false
231+func aL (aM) = {
232+ let aN = 90
233+ let aO = ak(F, aN)
234+ let aP = (fraction(aO, E, 100) + fraction(aO, D, 100))
235+ let aQ = toString(k(aM.minSponsoredAssetFee))
236+ let aR = toString(aP)
237+ throw(((("Correct fee: " + aQ) + "; Actual: ") + aR))
241238 }
242239
243240
244-func aR (P) = g(au, O(P))
241+func aS (N) = g(as, M(N))
245242
246243
247-func aS (U) = g(av, T(U))
244+func aT (S) = g(at, R(S))
248245
249246
250-func aT (W) = g(av, V(W))
247+func aU (U) = g(at, T(U))
251248
252249
253-func aU (ad) = a(ac(ad))
250+func aV (ab) = a(aa(ab))
254251
255252
256-func aV (af) = a(ae(af))
253+func aW (ad) = a(ac(ad))
257254
258255
259-func aW (af) = a(ag(af))
256+func aX (ad) = a(ae(ad))
260257
261258
262-func aX (af) = a(ah(af))
259+func aY (ad) = a(af(ad))
263260
264261
265-func aY (ab) = a(ai(ab))
262+func aZ (Z) = a(ag(Z))
266263
267264
268-@Callable(aZ)
265+@Callable(ba)
269266 func swapWavesToNeutrino () = {
270- let ba = extract(aZ.payment)
271- let bb = toString(aZ.caller)
272- if ((aB > ba.amount))
273- then throw((("The specified Waves amount is less than the required minimum of " + toString(aB)) + " wavelets."))
274- else if (isDefined(ba.assetId))
267+ let bb = extract(ba.payment)
268+ let bc = toString(ba.caller)
269+ if ((az > bb.amount))
270+ then throw((("The specified Waves amount is less than the required minimum of " + toString(az)) + " wavelets."))
271+ else if (isDefined(bb.assetId))
275272 then throw("Only Waves token is allowed for swapping.")
276- else if (ax)
273+ else if (av)
277274 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
278- else if ((aX(bb) > height))
279- then throw((("await " + toString((aX(bb) - height))) + " blocks"))
280- else if (if ((aW(bb) != 0))
275+ else if ((aY(bc) > height))
276+ then throw((("await " + toString((aY(bc) - height))) + " blocks"))
277+ else if (if ((aX(bc) != 0))
281278 then true
282- else (aV(bb) != 0))
279+ else (aW(bc) != 0))
283280 then throw("please withdraw locked funds first")
284- else WriteSet([DataEntry(ae(bb), ba.amount), DataEntry(ah(bb), (height + az)), DataEntry(Y, (aI + ba.amount))])
281+ else WriteSet([DataEntry(ac(bc), bb.amount), DataEntry(af(bc), (height + ax)), DataEntry(W, (aG + bb.amount))])
285282 }
286283
287284
288285
289-@Callable(aZ)
286+@Callable(ba)
290287 func swapNeutrinoToWaves () = {
291- let ba = extract(aZ.payment)
292- let bb = toString(aZ.caller)
293- if ((aC > ba.amount))
294- then throw((("The specified Neutrino amount is less than the required minimum of " + toString(aC)) + " Neutrino cents."))
295- else if (ax)
288+ let bb = extract(ba.payment)
289+ let bc = toString(ba.caller)
290+ if ((aA > bb.amount))
291+ then throw((("The specified Neutrino amount is less than the required minimum of " + toString(aA)) + " Neutrino cents."))
292+ else if (av)
296293 then throw("The contract is blocked by EMERGENCY SHUTDOWN. Please wait for reactivation by emergency oracles.")
297- else if ((ba.assetId != as))
294+ else if ((bb.assetId != aq))
298295 then throw("Only appropriate Neutrino tokens are allowed for swapping.")
299- else if ((aX(bb) > height))
300- then throw((("await " + toString((aX(bb) - height))) + " blocks"))
301- else if (if ((aW(bb) != 0))
296+ else if ((aY(bc) > height))
297+ then throw((("await " + toString((aY(bc) - height))) + " blocks"))
298+ else if (if ((aX(bc) != 0))
302299 then true
303- else (aV(bb) != 0))
300+ else (aW(bc) != 0))
304301 then throw("please withdraw locked funds first")
305- else WriteSet([DataEntry(ag(bb), ba.amount), DataEntry(ah(bb), (height + aA)), DataEntry(Z, (aH + ba.amount))])
302+ else WriteSet([DataEntry(ae(bc), bb.amount), DataEntry(af(bc), (height + ay)), DataEntry(X, (aF + bb.amount))])
306303 }
307304
308305
309306
310-@Callable(aZ)
311-func withdraw (bb,W) = {
312- let bc = aX(bb)
313- let bd = aV(bb)
314- let be = aW(bb)
315- let bf = aT(W)
316- let bg = aT((W - 1))
317- let bh = aS(bf)
318- let bi = am(bd, bh)
319- let bj = aj(be, bh)
320- if (ax)
307+@Callable(ba)
308+func withdraw (bc,U) = {
309+ let bd = aY(bc)
310+ let be = aW(bc)
311+ let bf = aX(bc)
312+ let bg = aU(U)
313+ let bh = aU((U - 1))
314+ let bi = aT(bg)
315+ let bj = ak(be, bi)
316+ let bk = ah(bf, bi)
317+ if (av)
321318 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
322- else if ((bc > height))
323- then throw((("please wait for: " + toString(bc)) + " block height to withdraw WAVES funds"))
324- else if (if (if ((W > aw))
319+ else if ((bd > height))
320+ then throw((("please wait for: " + toString(bd)) + " block height to withdraw WAVES funds"))
321+ else if (if (if ((U > au))
325322 then true
326- else (bc > bf))
323+ else (bd > bg))
327324 then true
328- else if ((bg != 0))
329- then (bg >= bc)
325+ else if ((bh != 0))
326+ then (bh >= bd)
330327 else false)
331- then throw(((((((((("invalid price history index: index=" + toString(W)) + " priceIndex=") + toString(aw)) + " indexHeight=") + toString(bf)) + " unlockHeight=") + toString(bc)) + " prevIndexHeight=") + toString(bg)))
332- else if (if ((0 >= bi))
333- then (0 >= bj)
328+ then throw(((((((((("invalid price history index: index=" + toString(U)) + " priceIndex=") + toString(au)) + " indexHeight=") + toString(bg)) + " unlockHeight=") + toString(bd)) + " prevIndexHeight=") + toString(bh)))
329+ else if (if ((0 >= bj))
330+ then (0 >= bk)
334331 else false)
335332 then throw("balance equals zero")
336- else ScriptResult(WriteSet([DataEntry(ae(bb), 0), DataEntry(ag(bb), 0), DataEntry(Y, (aI - bd)), DataEntry(Z, (aH - be))]), TransferSet([ScriptTransfer(addressFromStringValue(bb), bj, unit), ScriptTransfer(addressFromStringValue(bb), bi, as)]))
333+ else ScriptResult(WriteSet([DataEntry(ac(bc), 0), DataEntry(ae(bc), 0), DataEntry(W, (aG - be)), DataEntry(X, (aF - bf))]), TransferSet([ScriptTransfer(addressFromStringValue(bc), bk, unit), ScriptTransfer(addressFromStringValue(bc), bj, aq)]))
337334 }
338335
339336
340337
341-@Callable(aZ)
338+@Callable(ba)
342339 func transferToAuction () = {
343- let bk = (aM - assetBalance(addressFromStringValue(at), aD))
344- let bl = fraction(aK, r, 100)
345- let bm = (aL - assetBalance(addressFromStringValue(aq), as))
346- if (ax)
340+ let bl = (aK - assetBalance(addressFromStringValue(ar), aB))
341+ let bm = fraction(aI, r, 100)
342+ let bn = (aJ - assetBalance(addressFromStringValue(ao), aq))
343+ if (av)
347344 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
348- else if (if ((bk > bl))
349- then (bk > 0)
345+ else if (if ((bl > bm))
346+ then (bl > 0)
350347 else false)
351- then TransferSet([ScriptTransfer(addressFromStringValue(at), bk, aD)])
352- else if ((bm >= (1 * q)))
353- then TransferSet([ScriptTransfer(addressFromStringValue(aq), bm, as)])
354- else throw(((((((("bond were generated or do not need it. Deficit:" + toString(bk)) + "|") + toString(bl)) + ". Surplus:") + toString(bm)) + "|") + toString(aL)))
348+ then TransferSet([ScriptTransfer(addressFromStringValue(ar), bl, aB)])
349+ else if ((bn >= (1 * q)))
350+ then TransferSet([ScriptTransfer(addressFromStringValue(ao), bn, aq)])
351+ else throw(((((((("bond were generated or do not need it. Deficit:" + toString(bl)) + "|") + toString(bm)) + ". Surplus:") + toString(bn)) + "|") + toString(aJ)))
355352 }
356353
357354
358355
359-@Callable(aZ)
360-func transfer (bb) = {
361- let ba = extract(aZ.payment)
362- TransferSet([ScriptTransfer(addressFromStringValue(bb), ba.amount, ba.assetId)])
356+@Callable(ba)
357+func transfer (bc) = {
358+ let bb = extract(ba.payment)
359+ TransferSet([ScriptTransfer(addressFromStringValue(bc), bb.amount, bb.assetId)])
363360 }
364361
365362
366363
367-@Callable(aZ)
364+@Callable(ba)
368365 func migrationUSDNB2NSBTSwap () = {
369- let ba = extract(aZ.payment)
370- let bb = aZ.caller
371- if ((aE != ba.assetId))
366+ let bb = extract(ba.payment)
367+ let bc = ba.caller
368+ if ((aC != bb.assetId))
372369 then throw("error: attempt to swap not USDNB tokens")
373- else TransferSet([ScriptTransfer(bb, (ba.amount * q), aD)])
370+ else TransferSet([ScriptTransfer(bc, (bb.amount * q), aB)])
374371 }
375372
373+
374+@Verifier(aM)
375+func bo () = {
376+ let I = toBase58String(aM.id)
377+ let c = aM
378+ if (if ($isInstanceOf(c, "LeaseCancelTransaction"))
379+ then true
380+ else $isInstanceOf(c, "LeaseTransaction"))
381+ then {
382+ let bp = c
383+ sigVerify(aM.bodyBytes, aM.proofs[0], aw)
384+ }
385+ else if ($isInstanceOf(c, "SponsorFeeTransaction"))
386+ then {
387+ let bq = c
388+ if (sigVerify(aM.bodyBytes, aM.proofs[0], aw))
389+ then aL(bq)
390+ else false
391+ }
392+ else true
393+ }
376394

github/deemru/w8io/169f3d6 
526.64 ms