tx · DLJNxx1MhP32KXMiNhxTd6X1XbMdouvba2eMQzG7fP6d

3Mxd5o7PwH76ZkN8zG4xwDLubEnbkaihKzi:  -0.04000000 Waves

2022.07.04 22:46 [2125365] smart account 3Mxd5o7PwH76ZkN8zG4xwDLubEnbkaihKzi > SELF 0.00000000 Waves

{ "type": 13, "id": "DLJNxx1MhP32KXMiNhxTd6X1XbMdouvba2eMQzG7fP6d", "fee": 4000000, "feeAssetId": null, "timestamp": 1656964041992, "version": 1, "sender": "3Mxd5o7PwH76ZkN8zG4xwDLubEnbkaihKzi", "senderPublicKey": "BwVRZtTzoCigEsffCvQ9uo7WvkoBNNGVjX4nat5X5zyQ", "proofs": [ "2ox35qvPwmV7yxpLEbvc2VX6QsVdXYbahxs1x6231eaGZtFCPmuacbVGxSUnPZw7FfcghtzVF4ygTZFomito8CJD" ], "script": "base64:AAIFAAAAAAAAADsIAhIFCgMICAgSABIDCgEIEgQKAggBEgMKAQESBAoCAQgSBgoEAQEBARIECgIBARIECgIBCBIAEgASAAAAAFoAAAAAC3JldmlzaW9uTnVtAgAAAAAAAAAABkVVTEVSOAAAAAAAEDPE1gAAAAAFTVVMVDYAAAAAAAAPQkAAAAAABk1VTFRYNgkAATYAAAABAAAAAAAAD0JAAAAAAAVNVUxUOAAAAAAABfXhAAAAAAAGTVVMVFg4CQABNgAAAAEAAAAAAAX14QAAAAAABk1VTFQxMgAAAADo1KUQAAAAAAAGTVVMVDE4CQABNgAAAAEADeC2s6dkAAAAAAAAA1NFUAIAAAACX18AAAAAB1dBVkVTSUQJAAJZAAAAAQIAAAAFV0FWRVMAAAAAD25NZXRyaWNJZHhQcmljZQAAAAAAAAAAAAAAAAAbbk1ldHJpY0lkeFVzZG5Mb2NrZWRCYWxhbmNlAAAAAAAAAAABAAAAABxuTWV0cmljSWR4V2F2ZXNMb2NrZWRCYWxhbmNlAAAAAAAAAAACAAAAABFuTWV0cmljSWR4UmVzZXJ2ZQAAAAAAAAAAAwAAAAAXbk1ldHJpY0lkeFJlc2VydmVJblVzZG4AAAAAAAAAAAQAAAAAFG5NZXRyaWNJZHhVc2RuU3VwcGx5AAAAAAAAAAAFAAAAABFuTWV0cmljSWR4U3VycGx1cwAAAAAAAAAABgAAAAAYbk1ldHJpY0lkeFN1cnBsdXNQZXJjZW50AAAAAAAAAAAHAAAAAAxuTWV0cmljSWR4QlIAAAAAAAAAAAgAAAAAFG5NZXRyaWNJZHhOc2J0U3VwcGx5AAAAAAAAAAAJAAAAABduTWV0cmljSWR4TWF4TnNidFN1cHBseQAAAAAAAAAACgAAAAAUbk1ldHJpY0lkeFN1cmZTdXBwbHkAAAAAAAAAAAsAAAAADGJGdW5jSWR4U3VyZgAAAAAAAAAAAAAAAAANYkZ1bmNJZHhXYXZlcwAAAAAAAAAAAQAAAAAMYkZ1bmNJZHhVc2RuAAAAAAAAAAACAAAAABRiRnVuY0lkeFJlc2VydmVTdGFydAAAAAAAAAAAAwAAAAATYkZ1bmNJZHhTdXBwbHlTdGFydAAAAAAAAAAABAAAAAAPYkZ1bmNJZHhCUlN0YXJ0AAAAAAAAAAAFAAAAABJiRnVuY0lkeFJlc2VydmVFbmQAAAAAAAAAAAYAAAAAEWJGdW5jSWR4U3VwcGx5RW5kAAAAAAAAAAAHAAAAAA1iRnVuY0lkeEJSRW5kAAAAAAAAAAAIAAAAABFiRnVuY0lkeFJlc3RXYXZlcwAAAAAAAAAACQAAAAAQYkZ1bmNJZHhSZXN0VXNkbgAAAAAAAAAACgAAAAASYkZ1bmNJZHhXYXZlc1ByaWNlAAAAAAAAAAALAQAAABJrZXlOZXV0cmlub0FkZHJlc3MAAAAAAgAAAB0lcyVzX19jb25maWdfX25ldXRyaW5vQWRkcmVzcwEAAAASa2V5TmV1dHJpbm9Bc3NldElkAAAAAAIAAAARbmV1dHJpbm9fYXNzZXRfaWQBAAAAHWtleUxpcXVpZGF0aW9uQ29udHJhY3RBZGRyZXNzAAAAAAIAAAAUbGlxdWlkYXRpb25fY29udHJhY3QBAAAADmtleVJQRENvbnRyYWN0AAAAAAIAAAAMcnBkX2NvbnRyYWN0AQAAABJrZXlBdWN0aW9uQ29udHJhY3QAAAAAAgAAABBhdWN0aW9uX2NvbnRyYWN0AQAAABFrZXlDb250b2xDb250cmFjdAAAAAACAAAAEGNvbnRyb2xfY29udHJhY3QBAAAADmtleU5zYnRBc3NldElkAAAAAAIAAAANYm9uZF9hc3NldF9pZAEAAAAOa2V5U3VyZkFzc2V0SWQAAAAAAgAAAA1zdXJmX2Fzc2V0X2lkAQAAABBrZXlCYWxhbmNlTG9ja2VkAAAAAAIAAAANYmFsYW5jZV9sb2NrXwEAAAAVa2V5V2F2ZXNMb2NrZWRCYWxhbmNlAAAAAAkAASwAAAACCQEAAAAQa2V5QmFsYW5jZUxvY2tlZAAAAAACAAAABXdhdmVzAQAAABhrZXlOZXV0cmlub0xvY2tlZEJhbGFuY2UAAAAACQABLAAAAAIJAQAAABBrZXlCYWxhbmNlTG9ja2VkAAAAAAIAAAAIbmV1dHJpbm8BAAAAFWtleU1pbldhdmVzU3dhcEFtb3VudAAAAAACAAAAFW1pbl93YXZlc19zd2FwX2Ftb3VudAEAAAAYa2V5TWluTmV1dHJpbm9Td2FwQW1vdW50AAAAAAIAAAAYbWluX25ldXRyaW5vX3N3YXBfYW1vdW50AQAAABJrZXlXYXZlc091dEZlZVBhcnQAAAAAAgAAABV3YXZlc091dF9zd2FwX2ZlZVBhcnQBAAAAFWtleU5ldXRyaW5vT3V0RmVlUGFydAAAAAACAAAAGG5ldXRyaW5vT3V0X3N3YXBfZmVlUGFydAEAAAATa2V5TnNidExvY2tDb250cmFjdAAAAAACAAAAFCVzX19uc2J0TG9ja0NvbnRyYWN0AQAAAA9rZXlNYXRoQ29udHJhY3QAAAAAAgAAABAlc19fbWF0aENvbnRyYWN0AQAAABtrZXlCYWxhbmNlV2F2ZXNMb2NrSW50ZXJ2YWwAAAAAAgAAABtiYWxhbmNlX3dhdmVzX2xvY2tfaW50ZXJ2YWwBAAAAHmtleUJhbGFuY2VOZXV0cmlub0xvY2tJbnRlcnZhbAAAAAACAAAAHmJhbGFuY2VfbmV1dHJpbm9fbG9ja19pbnRlcnZhbAEAAAAIa2V5UHJpY2UAAAAAAgAAAAVwcmljZQEAAAAWa2V5TG9ja1BhcmFtU3RhcnRCbG9jawAAAAEAAAALdXNlckFkZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgIAAAALcGFyYW1CeVVzZXIJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgIAAAAFc3RhcnQFAAAAA25pbAUAAAADU0VQAQAAAAtrZXlIYWxmTGlmZQAAAAACAAAADCVzX19oYWxmTGlmZQEAAAAQa2V5TWluTG9ja0Ftb3VudAAAAAACAAAAESVzX19taW5Mb2NrQW1vdW50AQAAABVrZXlNaW5XYXZlc0Zvck5zYnRCdXkAAAAAAgAAABJtaW5fd2F2ZXNfbnNidF9idXkBAAAADmtleU1pbk5zYnRTZWxsAAAAAAIAAAANbWluX25zYnRfc2VsbAEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkABLkAAAACCQAETAAAAAICAAAACm1hbmRhdG9yeSAJAARMAAAAAgkABCUAAAABBQAAAAdhZGRyZXNzCQAETAAAAAICAAAAAS4JAARMAAAAAgUAAAADa2V5CQAETAAAAAICAAAADyBpcyBub3Qg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Y2FsZU11bHQFAAAABk1VTFQxOAAAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAABHRoaXMJAQAAABJrZXlOZXV0cmlub0FkZHJlc3MAAAAAAAAAAA9jb250cm9sQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAARa2V5Q29udG9sQ29udHJhY3QAAAAAAAAAAA9hdWN0aW9uQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAASa2V5QXVjdGlvbkNvbnRyYWN0AAAAAAAAAAATbGlxdWlkYXRpb25Db250cmFjdAkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAB1rZXlMaXF1aWRhdGlvbkNvbnRyYWN0QWRkcmVzcwAAAAAAAAAAC3JwZENvbnRyYWN0CQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAADmtleVJQRENvbnRyYWN0AAAAAAAAAAAMbWF0aENvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAEdGhpcwkBAAAAD2tleU1hdGhDb250cmFjdAAAAAAAAAAAE25zYnRTdGFraW5nQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAR0aGlzCQEAAAATa2V5TnNidExvY2tDb250cmFjdAAAAAAAAAAAFW5ldXRyaW5vQXNzZXRJZFN0cmluZwkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABJrZXlOZXV0cmlub0Fzc2V0SWQAAAAAAAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQUAAAAVbmV1dHJpbm9Bc3NldElkU3RyaW5nAAAAAA5uc2J0QXNzZXRJZFN0cgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAADmtleU5zYnRBc3NldElkAAAAAAAAAAALbnNidEFzc2V0SWQJAAJZAAAAAQUAAAAObnNidEFzc2V0SWRTdHIAAAAADnN1cmZBc3NldElkU3RyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAA9hdWN0aW9uQ29udHJhY3QJAQAAAA5rZXlTdXJmQXNzZXRJZAAAAAAAAAAAC3N1cmZBc3NldElkCQACWQAAAAEFAAAADnN1cmZBc3NldElkU3RyAQAAABJtaW5XYXZlc0Zvck5zYnRCdXkAAAAACQEAAAAFYXNJbnQAAAABCQAD/AAAAAQFAAAAD2F1Y3Rpb25Db250cmFjdAIAAAAgbWluV2F2ZXNBbW91bnROc2J0QnV5U1lTUkVBRE9OTFkFAAAAA25pbAUAAAADbmlsAQAAAA5taW5Oc2J0Rm9yU2VsbAAAAAAJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAPYXVjdGlvbkNvbnRyYWN0AgAAAB9taW5Oc2J0QW1vdW50Rm9yU2VsbFNZU1JFQURPTkxZBQAAAANuaWwFAAAAA25pbAEAAAASbWluV2F2ZXNGb3JTdXJmQnV5AAAAAAkBAAAABWFzSW50AAAAAQkAA/wAAAAEBQAAAA9hdWN0aW9uQ29udHJhY3QCAAAAIG1pbldhdmVzQW1vdW50U3VyZkJ1eVNZU1JFQURPTkxZBQAAAANuaWwFAAAAA25pbAEAAAARbWluVXNkbkZvclN1cmZCdXkAAAAACQEAAAAFYXNJbnQAAAABCQAD/AAAAAQFAAAAD2F1Y3Rpb25Db250cmFjdAIAAAAfbWluVXNkbkFtb3VudFN1cmZCdXlTWVNSRUFET05MWQUAAAADbmlsBQAAAANuaWwBAAAAFHByaXZhdGVOc2J0UHJpY2VSRVNUAAAAAAQAAAAGcHJpY2VzCQEAAAAJYXNBbnlMaXN0AAAAAQkAA/wAAAAEBQAAAAxtYXRoQ29udHJhY3QCAAAAIGNhbGNDb250cmFjdE5zYnRQcmljZVNZU1JFQURPTkxZCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAUAAAADbmlsBAAAAA5uc2J0MnVzZG5QcmljZQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAAEAAAAD25zYnQyd2F2ZXNQcmljZQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAEJAAUUAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADm5zYnQydXNkblByaWNlBQAAAA5uc2J0MnVzZG5QcmljZQkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAD25zYnQyd2F2ZXNQcmljZQUAAAAPbnNidDJ3YXZlc1ByaWNlAAAADAAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAMAAAAPbmV1dHJpbm9BZGRyZXNzAAAAD25zYnRMb2NrQWRkcmVzcwAAAAttYXRoQWRkcmVzcwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAAA5ub3QgYXV0aG9yaXplZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5TmV1dHJpbm9BZGRyZXNzAAAAAAUAAAAPbmV1dHJpbm9BZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlOc2J0TG9ja0NvbnRyYWN0AAAAAAUAAAAPbnNidExvY2tBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9rZXlNYXRoQ29udHJhY3QAAAAABQAAAAttYXRoQWRkcmVzcwUAAAADbmlsAAAAAWkBAAAAFW5ldXRyaW5vU3RhdHNSRUFET05MWQAAAAAEAAAAD25ldXRyaW5vTWV0cmljcwkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAABpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUAAAADbmlsBQAAAANuaWwEAAAABnByaWNlcwkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAACBjYWxjQ29udHJhY3ROc2J0UHJpY2VTWVNSRUFET05MWQkABEwAAAACAAAAAAAAAAAABQAAAANuaWwFAAAAA25pbAQAAAAMY3VycmVudFByaWNlCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAPbk1ldHJpY0lkeFByaWNlBAAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzBQAAABtuTWV0cmljSWR4VXNkbkxvY2tlZEJhbGFuY2UEAAAAEndhdmVzTG9ja2VkQmFsYW5jZQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAHG5NZXRyaWNJZHhXYXZlc0xvY2tlZEJhbGFuY2UEAAAAD3Jlc2VydmVzSW5XYXZlcwkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAEW5NZXRyaWNJZHhSZXNlcnZlBAAAAA5yZXNlcnZlc0luVXNkbgkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAF25NZXRyaWNJZHhSZXNlcnZlSW5Vc2RuBAAAAA5uZXV0cmlub1N1cHBseQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAFG5NZXRyaWNJZHhVc2RuU3VwcGx5BAAAAAdzdXJwbHVzCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAARbk1ldHJpY0lkeFN1cnBsdXMEAAAADnN1cnBsdXNQZXJjZW50CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAYbk1ldHJpY0lkeFN1cnBsdXNQZXJjZW50BAAAAAJCUgkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAADG5NZXRyaWNJZHhCUgQAAAAKbnNidFN1cHBseQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAFG5NZXRyaWNJZHhOc2J0U3VwcGx5BAAAAA1tYXhOc2J0U3VwcGx5CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAXbk1ldHJpY0lkeE1heE5zYnRTdXBwbHkEAAAADm5zYnQydXNkblByaWNlCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAAQAAAAPbnNidDJ3YXZlc1ByaWNlCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAQQAAAAQbWluV2F2ZXM0TnNidEJ1eQkBAAAAEm1pbldhdmVzRm9yTnNidEJ1eQAAAAAEAAAAC21pbk5zYnRzZWxsCQEAAAAObWluTnNidEZvclNlbGwAAAAABAAAAA5taW5Oc2J0TG9ja0FtdAkBAAAADGdldEludE9yRmFpbAAAAAIFAAAAE25zYnRTdGFraW5nQ29udHJhY3QJAQAAABBrZXlNaW5Mb2NrQW1vdW50AAAAAAQAAAAQbWluV2F2ZXM0U3VyZkJ1eQkBAAAAEm1pbldhdmVzRm9yU3VyZkJ1eQAAAAAEAAAAD21pblVzZG40U3VyZkJ1eQkBAAAAEW1pblVzZG5Gb3JTdXJmQnV5AAAAAAQAAAAQbWF4V2F2ZXMyQnV5U3VyZgkAAGUAAAACCQAAawAAAAMFAAAADm5ldXRyaW5vU3VwcGx5BQAAAAVNVUxUOAUAAAAMY3VycmVudFByaWNlBQAAAA9yZXNlcnZlc0luV2F2ZXMEAAAAD21heFVzZG4yQnV5U3VyZgkAAGUAAAACBQAAAA5uZXV0cmlub1N1cHBseQUAAAAOcmVzZXJ2ZXNJblVzZG4EAAAAD3N1cmZQcmljZUluVXNkbgkAAGsAAAADBQAAAA9yZXNlcnZlc0luV2F2ZXMFAAAADGN1cnJlbnRQcmljZQUAAAAObmV1dHJpbm9TdXBwbHkEAAAAEHN1cmZQcmljZUluV2F2ZXMJAABrAAAAAwUAAAAPcmVzZXJ2ZXNJbldhdmVzAAAAAAAAAAABBQAAAA5uZXV0cmlub1N1cHBseQkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAACwlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAADGN1cnJlbnRQcmljZQkABEwAAAACCQABpAAAAAEFAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQkABEwAAAACCQABpAAAAAEFAAAAEndhdmVzTG9ja2VkQmFsYW5jZQkABEwAAAACCQABpAAAAAEFAAAAD3Jlc2VydmVzSW5XYXZlcwkABEwAAAACCQABpAAAAAEFAAAADnJlc2VydmVzSW5Vc2RuCQAETAAAAAIJAAGkAAAAAQUAAAAObmV1dHJpbm9TdXBwbHkJAARMAAAAAgkAAaQAAAABBQAAAAdzdXJwbHVzCQAETAAAAAIJAAGkAAAAAQUAAAAOc3VycGx1c1BlcmNlbnQJAARMAAAAAgkAAaQAAAABBQAAAAJCUgkABEwAAAACCQABpAAAAAEFAAAACm5zYnRTdXBwbHkJAARMAAAAAgkAAaQAAAABBQAAAA1tYXhOc2J0U3VwcGx5CQAETAAAAAIJAAGkAAAAAQUAAAAObnNidDJ1c2RuUHJpY2UJAARMAAAAAgkAAaQAAAABBQAAAA9uc2J0MndhdmVzUHJpY2UJAARMAAAAAgkAAaQAAAABBQAAABBtaW5XYXZlczROc2J0QnV5CQAETAAAAAIJAAGkAAAAAQUAAAALbWluTnNidHNlbGwJAARMAAAAAgkAAaQAAAABBQAAAA5taW5Oc2J0TG9ja0FtdAkABEwAAAACCQABpAAAAAEFAAAAEG1pbldhdmVzNFN1cmZCdXkJAARMAAAAAgkAAaQAAAABBQAAAA9taW5Vc2RuNFN1cmZCdXkJAARMAAAAAgkAAaQAAAABBQAAABBtYXhXYXZlczJCdXlTdXJmCQAETAAAAAIJAAGkAAAAAQUAAAAPbWF4VXNkbjJCdXlTdXJmCQAETAAAAAIJAAGkAAAAAQUAAAAPc3VyZlByaWNlSW5Vc2RuCQAETAAAAAIJAAGkAAAAAQUAAAAQc3VyZlByaWNlSW5XYXZlcwUAAAADbmlsBQAAAANTRVAAAAABaQEAAAAQc3dhcEluZm9SRUFET05MWQAAAAEAAAARdXNlckFkZHJlc3NTdHJPcHQEAAAADGN1cnJlbnRQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAPY29udHJvbENvbnRyYWN0CQEAAAAIa2V5UHJpY2UAAAAABAAAAA9taW5XYXZlc1N3YXBBbXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABVrZXlNaW5XYXZlc1N3YXBBbW91bnQAAAAABAAAAA5taW5Vc2RuU3dhcEFtdAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAGGtleU1pbk5ldXRyaW5vU3dhcEFtb3VudAAAAAAEAAAADXdhdmVzMlVzZG5GZWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABJrZXlXYXZlc091dEZlZVBhcnQAAAAABAAAAA11c2RuMldhdmVzRmVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAVa2V5TmV1dHJpbm9PdXRGZWVQYXJ0AAAAAAQAAAAVdXNkblN3YXBEZWxheUR1cmF0aW9uCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAea2V5QmFsYW5jZU5ldXRyaW5vTG9ja0ludGVydmFsAAAAAAQAAAAWd2F2ZXNTd2FwRGVsYXlEdXJhdGlvbgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAG2tleUJhbGFuY2VXYXZlc0xvY2tJbnRlcnZhbAAAAAAEAAAADSR0MDEwNDU0MTA2MTgJAQAAABJhc1N3YXBQYXJhbXNTVFJVQ1QAAAABCQAD/AAAAAQFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkABEwAAAACBQAAABF1c2VyQWRkcmVzc1N0ck9wdAkABEwAAAACAAAAAAAAAAAABQAAAANuaWwFAAAAA25pbAQAAAAQc3dhcExpbWl0TWF4VXNkbggFAAAADSR0MDEwNDU0MTA2MTgAAAACXzEEAAAAEnN3YXBMaW1pdFNwZW50VXNkbggFAAAADSR0MDEwNDU0MTA2MTgAAAACXzIEAAAADmJsY2tzMkxtdFJlc2V0CAUAAAANJHQwMTA0NTQxMDYxOAAAAAJfMwQAAAARc3dhcExpbWl0TWF4V2F2ZXMJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAQc3dhcExpbWl0TWF4VXNkbgUAAAAMY3VycmVudFByaWNlCQAFFAAAAAIFAAAAA25pbAkABLkAAAACCQAETAAAAAICAAAAFiVkJWQlZCVkJWQlZCVkJWQlZCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkAAaQAAAABBQAAAA9taW5XYXZlc1N3YXBBbXQJAARMAAAAAgkAAaQAAAABBQAAAA5taW5Vc2RuU3dhcEFtdAkABEwAAAACCQABpAAAAAEFAAAADXdhdmVzMlVzZG5GZWUJAARMAAAAAgkAAaQAAAABBQAAAA11c2RuMldhdmVzRmVlCQAETAAAAAIJAAGkAAAAAQUAAAAVdXNkblN3YXBEZWxheUR1cmF0aW9uCQAETAAAAAIJAAGkAAAAAQUAAAAWd2F2ZXNTd2FwRGVsYXlEdXJhdGlvbgkABEwAAAACCQABpAAAAAEFAAAADmJsY2tzMkxtdFJlc2V0CQAETAAAAAIJAAGkAAAAAQUAAAARc3dhcExpbWl0TWF4V2F2ZXMJAARMAAAAAgkAAaQAAAABBQAAABBzd2FwTGltaXRNYXhVc2RuCQAETAAAAAIJAAGkAAAAAQUAAAASc3dhcExpbWl0U3BlbnRVc2RuBQAAAANuaWwFAAAAA1NFUAAAAAFpAQAAABFnbnNidEluZm9SRUFET05MWQAAAAIAAAARdXNlckFkZHJlc3NTdHJPcHQAAAALbnNidEFtdERpZmYEAAAADGN1cnJlbnRQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAPY29udHJvbENvbnRyYWN0CQEAAAAIa2V5UHJpY2UAAAAABAAAAA0kdDAxMTYyNDExODA3CQEAAAASYXNTd2FwUGFyYW1zU1RSVUNUAAAAAQkAA/wAAAAEBQAAABBuZXV0cmlub0NvbnRyYWN0AgAAABtzd2FwUGFyYW1zQnlVc2VyU1lTUkVBRE9OTFkJAARMAAAAAgUAAAARdXNlckFkZHJlc3NTdHJPcHQJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsBQAAAANuaWwEAAAADGxpbWl0TWF4VXNkbggFAAAADSR0MDExNjI0MTE4MDcAAAACXzEEAAAACmxpbWl0U3BlbnQIBQAAAA0kdDAxMTYyNDExODA3AAAAAl8yBAAAAA5ibGNrczJMbXRSZXNldAgFAAAADSR0MDExNjI0MTE4MDcAAAACXzMEAAAACGduc2J0QW10CAUAAAANJHQwMTE2MjQxMTgwNwAAAAJfNAQAAAANZ25zYnRBbXRUb3RhbAgFAAAADSR0MDExNjI0MTE4MDcAAAACXzUEAAAADSR0MDExODExMTIwMTkJAQAAABJhc1N3YXBQYXJhbXNTVFJVQ1QAAAABCQAD/AAAAAQFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkABEwAAAACBQAAABF1c2VyQWRkcmVzc1N0ck9wdAkABEwAAAACBQAAAAtuc2J0QW10RGlmZgUAAAADbmlsBQAAAANuaWwEAAAAD2xpbWl0TWF4VXNkbk5FVwgFAAAADSR0MDExODExMTIwMTkAAAACXzEEAAAADWxpbWl0U3BlbnRORVcIBQAAAA0kdDAxMTgxMTEyMDE5AAAAAl8yBAAAABFibGNrczJMbXRSZXNldE5FVwgFAAAADSR0MDExODExMTIwMTkAAAACXzMEAAAAC2duc2J0QW10TkVXCAUAAAANJHQwMTE4MTExMjAxOQAAAAJfNAQAAAAQZ25zYnRBbXRUb3RhbE5FVwgFAAAADSR0MDExODExMTIwMTkAAAACXzUEAAAADWxpbWl0TWF4V2F2ZXMJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAMbGltaXRNYXhVc2RuBQAAAAxjdXJyZW50UHJpY2UEAAAAEGxpbWl0TWF4V2F2ZXNORVcJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAPbGltaXRNYXhVc2RuTkVXBQAAAAxjdXJyZW50UHJpY2UEAAAACmduc2J0U2hhcmUDCQEAAAACIT0AAAACBQAAAA1nbnNidEFtdFRvdGFsAAAAAAAAAAAACQAAawAAAAMJAABoAAAAAgUAAAAIZ25zYnRBbXQAAAAAAAAAAGQFAAAABk1VTFQxMgUAAAANZ25zYnRBbXRUb3RhbAAAAAAAAAAAAAQAAAANZ25zYnRTaGFyZU5FVwMJAQAAAAIhPQAAAAIFAAAAEGduc2J0QW10VG90YWxORVcAAAAAAAAAAAAJAABrAAAAAwkAAGgAAAACBQAAAAtnbnNidEFtdE5FVwAAAAAAAAAAZAUAAAAGTVVMVDEyBQAAABBnbnNidEFtdFRvdGFsTkVXAAAAAAAAAAAABAAAAApyZXdhcmRJbmZvCQEAAAAIYXNTdHJpbmcAAAABCQAD/AAAAAQFAAAAE25zYnRTdGFraW5nQ29udHJhY3QCAAAAGHVuY2xhaW1lZFJld2FyZHNSRUFET05MWQkABEwAAAACBQAAABF1c2VyQWRkcmVzc1N0ck9wdAUAAAADbmlsBQAAAANuaWwEAAAAB25zYnRBbXQFAAAACGduc2J0QW10BAAAAApuc2J0QW10TmV3BQAAAAtnbnNidEFtdE5FVwQAAAASbnNidEFtdFN0YWtlZFRvdGFsBQAAAA1nbnNidEFtdFRvdGFsBAAAABVuc2J0QW10U3Rha2VkVG90YWxOZXcFAAAAEGduc2J0QW10VG90YWxORVcEAAAACG5zYnREYXRhCQEAAAAJYXNBbnlMaXN0AAAAAQkAA/wAAAAEBQAAABNuc2J0U3Rha2luZ0NvbnRyYWN0AgAAABZuc2J0U3Rha2luZ1NZU1JFQURPTkxZCQAETAAAAAIFAAAAEXVzZXJBZGRyZXNzU3RyT3B0BQAAAANuaWwFAAAAA25pbAQAAAASaXNFbXB0eU5zYnRCYWxhbmNlAwkAAAAAAAACBQAAAAhnbnNidEFtdAAAAAAAAAAAAAkAAAAAAAACBQAAAAtnbnNidEFtdE5FVwAAAAAAAAAAAAcEAAAAC3N0YXJ0SGVpZ2h0AwUAAAASaXNFbXB0eU5zYnRCYWxhbmNlAP//////////CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAACG5zYnREYXRhAAAAAAAAAAACBAAAAA5zdGFydFRpbWVzdGFtcAkBAAAAC3RvVGltZXN0YW1wAAAAAQUAAAALc3RhcnRIZWlnaHQEAAAACGhhbGZMaWZlCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAATbnNidFN0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A25pbAkABLkAAAACCQAETAAAAAICAAAAAiVkCQAETAAAAAIJAAGkAAAAAQUAAAABYQUAAAADbmlsBQAAAANTRVAJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAEW5ldXRyaW5vU3RhdGVSRVNUAAAAAAQAAAAPbmV1dHJpbm9NZXRyaWNzCQEAAAAJYXNBbnlMaXN0AAAAAQkAA/wAAAAEBQAAAAxtYXRoQ29udHJhY3QCAAAAGmNhbGNOZXV0aW5vTWV0cmljc1JFQURPTkxZBQAAAANuaWwFAAAAA25pbAQAAAAMY3VycmVudFByaWNlCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAPbk1ldHJpY0lkeFByaWNlBAAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzBQAAABtuTWV0cmljSWR4VXNkbkxvY2tlZEJhbGFuY2UEAAAAEndhdmVzTG9ja2VkQmFsYW5jZQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAHG5NZXRyaWNJZHhXYXZlc0xvY2tlZEJhbGFuY2UEAAAAD3Jlc2VydmVzSW5XYXZlcwkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAEW5NZXRyaWNJZHhSZXNlcnZlBAAAAA5yZXNlcnZlc0luVXNkbgkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAF25NZXRyaWNJZHhSZXNlcnZlSW5Vc2RuBAAAAA5uZXV0cmlub1N1cHBseQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAFG5NZXRyaWNJZHhVc2RuU3VwcGx5BAAAAAdzdXJwbHVzCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAARbk1ldHJpY0lkeFN1cnBsdXMEAAAADnN1cnBsdXNQZXJjZW50CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAYbk1ldHJpY0lkeFN1cnBsdXNQZXJjZW50BAAAAAJCUgkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAADG5NZXRyaWNJZHhCUgQAAAAKbnNidFN1cHBseQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAFG5NZXRyaWNJZHhOc2J0U3VwcGx5BAAAAA1uc2J0U3VwcGx5TWF4CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAXbk1ldHJpY0lkeE1heE5zYnRTdXBwbHkEAAAACnN1cmZTdXBwbHkJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzBQAAABRuTWV0cmljSWR4U3VyZlN1cHBseQkAAAIAAAABCQAEuQAAAAIJAARMAAAAAgIAAAAXcmVzdWx0TmV1dHJpbm9TdGF0ZVJFU1QJAARMAAAAAgkAAaQAAAABBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkAAaQAAAABBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAARMAAAAAgkAAaQAAAABBQAAABJ3YXZlc0xvY2tlZEJhbGFuY2UJAARMAAAAAgkAAaQAAAABBQAAAA9yZXNlcnZlc0luV2F2ZXMJAARMAAAAAgkAAaQAAAABBQAAAA5yZXNlcnZlc0luVXNkbgkABEwAAAACCQABpAAAAAEFAAAADm5ldXRyaW5vU3VwcGx5CQAETAAAAAIJAAGkAAAAAQUAAAAHc3VycGx1cwkABEwAAAACCQABpAAAAAEFAAAADnN1cnBsdXNQZXJjZW50CQAETAAAAAIJAAGkAAAAAQUAAAACQlIJAARMAAAAAgkAAaQAAAABBQAAAApuc2J0U3VwcGx5CQAETAAAAAIJAAGkAAAAAQUAAAANbnNidFN1cHBseU1heAkABEwAAAACCQABpAAAAAEFAAAACnN1cmZTdXBwbHkFAAAAA25pbAIAAAACX18AAAABaQEAAAANbnNidFByaWNlUkVTVAAAAAAEAAAABnByaWNlcwkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAACBjYWxjQ29udHJhY3ROc2J0UHJpY2VTWVNSRUFET05MWQkABEwAAAACAAAAAAAAAAAABQAAAANuaWwFAAAAA25pbAQAAAAObnNidDJ1c2RuUHJpY2UJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAABAAAAA9uc2J0MndhdmVzUHJpY2UJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAABBAAAAAhyZXN0RGF0YQkABLkAAAACCQAETAAAAAICAAAAEnN0YXJ0TnNidFByaWNlUkVTVAkABEwAAAACCQABpAAAAAEFAAAADm5zYnQydXNkblByaWNlCQAETAAAAAIJAAGkAAAAAQUAAAAPbnNidDJ3YXZlc1ByaWNlCQAETAAAAAICAAAAEGVuZE5zYnRQcmljZVJFU1QFAAAAA25pbAIAAAACX18JAAACAAAAAQUAAAAIcmVzdERhdGEAAAABaQEAAAANc3VyZlByaWNlUkVTVAAAAAAEAAAAD25ldXRyaW5vTWV0cmljcwkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAABpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUAAAADbmlsBQAAAANuaWwEAAAADGN1cnJlbnRQcmljZQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MFAAAAD25NZXRyaWNJZHhQcmljZQQAAAAPcmVzZXJ2ZXNJbldhdmVzCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAARbk1ldHJpY0lkeFJlc2VydmUEAAAADm5ldXRyaW5vU3VwcGx5CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwUAAAAUbk1ldHJpY0lkeFVzZG5TdXBwbHkEAAAAD3N1cmZQcmljZUluVXNkbgkAAGsAAAADBQAAAA9yZXNlcnZlc0luV2F2ZXMFAAAADGN1cnJlbnRQcmljZQUAAAAObmV1dHJpbm9TdXBwbHkEAAAAEHN1cmZQcmljZUluV2F2ZXMJAABrAAAAAwUAAAAPcmVzZXJ2ZXNJbldhdmVzAAAAAAAAAAABBQAAAA5uZXV0cmlub1N1cHBseQQAAAAIcmVzdERhdGEJAAS5AAAAAgkABEwAAAACAgAAABJzdGFydFN1cmZQcmljZVJFU1QJAARMAAAAAgkAAaQAAAABBQAAAA9zdXJmUHJpY2VJblVzZG4JAARMAAAAAgkAAaQAAAABBQAAABBzdXJmUHJpY2VJbldhdmVzCQAETAAAAAICAAAAEGVuZFN1cmZQcmljZVJFU1QFAAAAA25pbAIAAAACX18JAAACAAAAAQUAAAAIcmVzdERhdGEAAAAA3DbnuQ==", "chainId": 84, "height": 2125365, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3jGn9Qg3c76ABfCdDn3DHGHFAC4CrkEGRxYQZkXABGPQ Next: HBf8DqhJj8QtA7XJfe2qPz8jWzTUTxmoQ4WfswDrCRzF Diff:
OldNewDifferences
6767
6868 let G = 10
6969
70-func H () = "%s%s__config__neutrinoAddress"
70+let H = 11
71+
72+func I () = "%s%s__config__neutrinoAddress"
7173
7274
73-func I () = "neutrino_asset_id"
75+func J () = "neutrino_asset_id"
7476
7577
76-func J () = "liquidation_contract"
78+func K () = "liquidation_contract"
7779
7880
79-func K () = "rpd_contract"
81+func L () = "rpd_contract"
8082
8183
82-func L () = "auction_contract"
84+func M () = "auction_contract"
8385
8486
85-func M () = "control_contract"
87+func N () = "control_contract"
8688
8789
88-func N () = "bond_asset_id"
90+func O () = "bond_asset_id"
8991
9092
91-func O () = "surf_asset_id"
93+func P () = "surf_asset_id"
9294
9395
94-func P () = "balance_lock_"
96+func Q () = "balance_lock_"
9597
9698
97-func Q () = (P() + "waves")
99+func R () = (Q() + "waves")
98100
99101
100-func R () = (P() + "neutrino")
102+func S () = (Q() + "neutrino")
101103
102104
103-func S () = "min_waves_swap_amount"
105+func T () = "min_waves_swap_amount"
104106
105107
106-func T () = "min_neutrino_swap_amount"
108+func U () = "min_neutrino_swap_amount"
107109
108110
109-func U () = "wavesOut_swap_feePart"
111+func V () = "wavesOut_swap_feePart"
110112
111113
112-func V () = "neutrinoOut_swap_feePart"
114+func W () = "neutrinoOut_swap_feePart"
113115
114116
115-func W () = "%s__nsbtLockContract"
117+func X () = "%s__nsbtLockContract"
116118
117119
118-func X () = "%s__mathContract"
120+func Y () = "%s__mathContract"
119121
120122
121-func Y () = "balance_waves_lock_interval"
123+func Z () = "balance_waves_lock_interval"
122124
123125
124-func Z () = "balance_neutrino_lock_interval"
126+func aa () = "balance_neutrino_lock_interval"
125127
126128
127-func aa () = "price"
129+func ab () = "price"
128130
129131
130-func ab (ac) = makeString(["%s%s%s", "paramByUser", ac, "start"], i)
132+func ac (ad) = makeString(["%s%s%s", "paramByUser", ad, "start"], i)
131133
132134
133-func ad () = "%s__halfLife"
135+func ae () = "%s__halfLife"
134136
135137
136-func ae () = "%s__minLockAmount"
138+func af () = "%s__minLockAmount"
137139
138140
139-func af () = "min_waves_nsbt_buy"
141+func ag () = "min_waves_nsbt_buy"
140142
141143
142-func ag () = "min_nsbt_sell"
144+func ah () = "min_nsbt_sell"
143145
144146
145-func ah (ai,aj) = valueOrErrorMessage(getString(ai, aj), makeString(["mandatory ", toString(ai), ".", aj, " is not defined"], ""))
147+func ai (aj,ak) = valueOrErrorMessage(getString(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
146148
147149
148-func ak (ai,aj) = valueOrErrorMessage(getInteger(ai, aj), makeString(["mandatory ", toString(ai), ".", aj, " is not defined"], ""))
150+func al (aj,ak) = valueOrErrorMessage(getInteger(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
149151
150152
151-func al (ai,aj) = valueOrErrorMessage(getBoolean(ai, aj), makeString(["mandatory ", toString(ai), ".", aj, " is not defined"], ""))
153+func am (aj,ak) = valueOrErrorMessage(getBoolean(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
152154
153155
154-func am (an,ao) = fraction(an, e, ao)
156+func an (ao,ap) = fraction(ao, e, ap)
155157
156158
157-func ap (an,ao) = fraction(an, ao, e)
159+func aq (ao,ap) = fraction(ao, ap, e)
158160
159161
160-func aq (ar) = {
161- let as = ar
162- if ($isInstanceOf(as, "List[Any]"))
162+func ar (as) = {
163+ let at = as
164+ if ($isInstanceOf(at, "List[Any]"))
163165 then {
164- let at = as
165- at
166+ let au = at
167+ au
166168 }
167169 else throw("fail to cast into List[Any]")
168170 }
169171
170172
171-func au (ar) = {
172- let as = ar
173- if ($isInstanceOf(as, "Int"))
173+func av (as) = {
174+ let at = as
175+ if ($isInstanceOf(at, "Int"))
174176 then {
175- let av = as
176- av
177+ let aw = at
178+ aw
177179 }
178180 else throw("fail to cast into Int")
179181 }
180182
181183
182-func aw (ar) = {
183- let as = ar
184- if ($isInstanceOf(as, "String"))
184+func ax (as) = {
185+ let at = as
186+ if ($isInstanceOf(at, "String"))
185187 then {
186- let ax = as
187- ax
188+ let ay = at
189+ ay
188190 }
189191 else throw("fail to cast into String")
190192 }
191193
192194
193-func ay (ar) = {
194- let as = ar
195- if ($isInstanceOf(as, "(Int, Int)"))
195+func az (as) = {
196+ let at = as
197+ if ($isInstanceOf(at, "(Int, Int)"))
196198 then {
197- let az = as
198- az
199+ let aA = at
200+ aA
199201 }
200202 else throw("fail to cast into Tuple2 ints")
201203 }
202204
203205
204-func aA (ar) = {
205- let as = ar
206- if ($isInstanceOf(as, "(Int, Int, Int, Int, Int)"))
206+func aB (as) = {
207+ let at = as
208+ if ($isInstanceOf(at, "(Int, Int, Int, Int, Int)"))
207209 then {
208- let aB = as
209- aB
210+ let aC = at
211+ aC
210212 }
211213 else throw("fail to cast into Int")
212214 }
213215
214216
215-func aC (aD) = if ((0 > aD))
217+func aD (aE) = if ((0 > aE))
216218 then -1
217219 else {
218- let as = blockInfoByHeight(aD)
219- if ($isInstanceOf(as, "BlockInfo"))
220+ let at = blockInfoByHeight(aE)
221+ if ($isInstanceOf(at, "BlockInfo"))
220222 then {
221- let aE = as
222- aE.timestamp
223+ let aF = at
224+ aF.timestamp
223225 }
224226 else -1
225227 }
226228
227229
228-func aF (aG,aH) = fraction(toBigInt(aG), h, toBigInt(aH))
230+func aG (aH,aI) = fraction(toBigInt(aH), h, toBigInt(aI))
229231
230232
231-func aI (ar,aJ) = toInt(fraction(ar, toBigInt(aJ), h))
233+func aJ (as,aK) = toInt(fraction(as, toBigInt(aK), h))
232234
233235
234-let aK = addressFromStringValue(ah(this, H()))
236+let aL = addressFromStringValue(ai(this, I()))
235237
236-let aL = addressFromStringValue(ah(aK, M()))
238+let aM = addressFromStringValue(ai(aL, N()))
237239
238-let aM = addressFromStringValue(ah(aK, L()))
240+let aN = addressFromStringValue(ai(aL, M()))
239241
240-let aN = ah(aK, J())
242+let aO = ai(aL, K())
241243
242-let aO = ah(aK, K())
244+let aP = ai(aL, L())
243245
244-let aP = addressFromStringValue(ah(this, X()))
246+let aQ = addressFromStringValue(ai(this, Y()))
245247
246-let aQ = addressFromStringValue(ah(this, W()))
248+let aR = addressFromStringValue(ai(this, X()))
247249
248-let aR = ah(aK, I())
250+let aS = ai(aL, J())
249251
250-let aS = fromBase58String(aR)
252+let aT = fromBase58String(aS)
251253
252-let aT = getStringValue(aK, N())
254+let aU = getStringValue(aL, O())
253255
254-let aU = fromBase58String(aT)
256+let aV = fromBase58String(aU)
255257
256-let aV = getStringValue(aM, O())
258+let aW = getStringValue(aN, P())
257259
258-let aW = fromBase58String(aV)
260+let aX = fromBase58String(aW)
259261
260-func aX () = au(invoke(aM, "minWavesAmountNsbtBuySYSREADONLY", nil, nil))
262+func aY () = av(invoke(aN, "minWavesAmountNsbtBuySYSREADONLY", nil, nil))
261263
262264
263-func aY () = au(invoke(aM, "minNsbtAmountForSellSYSREADONLY", nil, nil))
265+func aZ () = av(invoke(aN, "minNsbtAmountForSellSYSREADONLY", nil, nil))
264266
265267
266-func aZ () = au(invoke(aM, "minWavesAmountSurfBuySYSREADONLY", nil, nil))
268+func ba () = av(invoke(aN, "minWavesAmountSurfBuySYSREADONLY", nil, nil))
267269
268270
269-func ba () = au(invoke(aM, "minUsdnAmountSurfBuySYSREADONLY", nil, nil))
271+func bb () = av(invoke(aN, "minUsdnAmountSurfBuySYSREADONLY", nil, nil))
270272
271273
272-func bb () = {
273- let bc = aq(invoke(aP, "calcContractNsbtPriceSYSREADONLY", [0], nil))
274- let bd = au(bc[0])
275- let be = au(bc[1])
276- $Tuple2(IntegerEntry("nsbt2usdnPrice", bd), IntegerEntry("nsbt2wavesPrice", be))
274+func bc () = {
275+ let bd = ar(invoke(aQ, "calcContractNsbtPriceSYSREADONLY", [0], nil))
276+ let be = av(bd[0])
277+ let bf = av(bd[1])
278+ $Tuple2(IntegerEntry("nsbt2usdnPrice", be), IntegerEntry("nsbt2wavesPrice", bf))
277279 }
278280
279281
280-@Callable(bf)
281-func constructor (bg,bh,bi) = if ((bf.caller != this))
282+@Callable(bg)
283+func constructor (bh,bi,bj) = if ((bg.caller != this))
282284 then throw("not authorized")
283- else [StringEntry(H(), bg), StringEntry(W(), bh), StringEntry(X(), bi)]
285+ else [StringEntry(I(), bh), StringEntry(X(), bi), StringEntry(Y(), bj)]
284286
285287
286288
287-@Callable(bf)
289+@Callable(bg)
288290 func neutrinoStatsREADONLY () = {
289- let bj = aq(invoke(aP, "calcNeutinoMetricsREADONLY", nil, nil))
290- let bc = aq(invoke(aP, "calcContractNsbtPriceSYSREADONLY", [0], nil))
291- let bk = au(bj[k])
292- let bl = au(bj[l])
293- let bm = au(bj[m])
294- let bn = au(bj[n])
295- let bo = au(bj[o])
296- let bp = au(bj[p])
297- let bq = au(bj[q])
298- let br = au(bj[r])
299- let bs = au(bj[s])
300- let bt = au(bj[t])
301- let bu = au(bj[u])
302- let bd = au(bc[0])
303- let be = au(bc[1])
304- let bv = aX()
291+ let bk = ar(invoke(aQ, "calcNeutinoMetricsREADONLY", nil, nil))
292+ let bd = ar(invoke(aQ, "calcContractNsbtPriceSYSREADONLY", [0], nil))
293+ let bl = av(bk[k])
294+ let bm = av(bk[l])
295+ let bn = av(bk[m])
296+ let bo = av(bk[n])
297+ let bp = av(bk[o])
298+ let bq = av(bk[p])
299+ let br = av(bk[q])
300+ let bs = av(bk[r])
301+ let bt = av(bk[s])
302+ let bu = av(bk[t])
303+ let bv = av(bk[u])
304+ let be = av(bd[0])
305+ let bf = av(bd[1])
305306 let bw = aY()
306- let bx = ak(aQ, ae())
307- let by = aZ()
307+ let bx = aZ()
308+ let by = al(aR, af())
308309 let bz = ba()
309- let bA = (fraction(bp, e, bk) - bn)
310- let bB = (bp - bo)
311- let bC = fraction(bn, bk, bp)
312- let bD = fraction(bn, 1, bp)
313- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", toString(bk), toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(bu), toString(bd), toString(be), toString(bv), toString(bw), toString(bx), toString(by), toString(bz), toString(bA), toString(bB), toString(bC), toString(bD)], i))
310+ let bA = bb()
311+ let bB = (fraction(bq, e, bl) - bo)
312+ let bC = (bq - bp)
313+ let bD = fraction(bo, bl, bq)
314+ let bE = fraction(bo, 1, bq)
315+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(bu), toString(bv), toString(be), toString(bf), toString(bw), toString(bx), toString(by), toString(bz), toString(bA), toString(bB), toString(bC), toString(bD), toString(bE)], i))
314316 }
315317
316318
317319
318-@Callable(bf)
319-func swapInfoREADONLY (bE) = {
320- let bk = getIntegerValue(aL, aa())
321- let bF = getIntegerValue(aK, S())
322- let bG = getIntegerValue(aK, T())
323- let bH = getIntegerValue(aK, U())
324- let bI = getIntegerValue(aK, V())
325- let bJ = getIntegerValue(aK, Z())
326- let bK = getIntegerValue(aK, Y())
327- let bL = aA(invoke(aK, "swapParamsByUserSYSREADONLY", [bE, 0], nil))
328- let bM = bL._1
329- let bN = bL._2
330- let bO = bL._3
331- let bP = am(bM, bk)
332- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d", toString(bk), toString(bF), toString(bG), toString(bH), toString(bI), toString(bJ), toString(bK), toString(bO), toString(bP), toString(bM), toString(bN)], i))
320+@Callable(bg)
321+func swapInfoREADONLY (bF) = {
322+ let bl = getIntegerValue(aM, ab())
323+ let bG = getIntegerValue(aL, T())
324+ let bH = getIntegerValue(aL, U())
325+ let bI = getIntegerValue(aL, V())
326+ let bJ = getIntegerValue(aL, W())
327+ let bK = getIntegerValue(aL, aa())
328+ let bL = getIntegerValue(aL, Z())
329+ let bM = aB(invoke(aL, "swapParamsByUserSYSREADONLY", [bF, 0], nil))
330+ let bN = bM._1
331+ let bO = bM._2
332+ let bP = bM._3
333+ let bQ = an(bN, bl)
334+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d", toString(bl), toString(bG), toString(bH), toString(bI), toString(bJ), toString(bK), toString(bL), toString(bP), toString(bQ), toString(bN), toString(bO)], i))
333335 }
334336
335337
336338
337-@Callable(bf)
338-func gnsbtInfoREADONLY (bE,bQ) = {
339- let bk = getIntegerValue(aL, aa())
340- let bR = aA(invoke(aK, "swapParamsByUserSYSREADONLY", [bE, 0], nil))
341- let bS = bR._1
342- let bT = bR._2
343- let bO = bR._3
344- let bU = bR._4
345- let bV = bR._5
346- let bW = aA(invoke(aK, "swapParamsByUserSYSREADONLY", [bE, bQ], nil))
347- let bX = bW._1
348- let bY = bW._2
349- let bZ = bW._3
350- let ca = bW._4
351- let cb = bW._5
352- let cc = am(bS, bk)
353- let cd = am(bX, bk)
354- let ce = if ((bV != 0))
355- then fraction((bU * 100), g, bV)
339+@Callable(bg)
340+func gnsbtInfoREADONLY (bF,bR) = {
341+ let bl = getIntegerValue(aM, ab())
342+ let bS = aB(invoke(aL, "swapParamsByUserSYSREADONLY", [bF, 0], nil))
343+ let bT = bS._1
344+ let bU = bS._2
345+ let bP = bS._3
346+ let bV = bS._4
347+ let bW = bS._5
348+ let bX = aB(invoke(aL, "swapParamsByUserSYSREADONLY", [bF, bR], nil))
349+ let bY = bX._1
350+ let bZ = bX._2
351+ let ca = bX._3
352+ let cb = bX._4
353+ let cc = bX._5
354+ let cd = an(bT, bl)
355+ let ce = an(bY, bl)
356+ let cf = if ((bW != 0))
357+ then fraction((bV * 100), g, bW)
356358 else 0
357- let cf = if ((cb != 0))
358- then fraction((ca * 100), g, cb)
359+ let cg = if ((cc != 0))
360+ then fraction((cb * 100), g, cc)
359361 else 0
360- let cg = aw(invoke(aQ, "unclaimedRewardsREADONLY", [bE], nil))
361- let ch = bU
362- let ci = ca
363- let cj = bV
364- let ck = cb
365- let cl = aq(invoke(aQ, "nsbtStakingSYSREADONLY", [bE], nil))
366- let cm = if ((bU == 0))
367- then (ca == 0)
362+ let ch = ax(invoke(aR, "unclaimedRewardsREADONLY", [bF], nil))
363+ let ci = bV
364+ let cj = cb
365+ let ck = bW
366+ let cl = cc
367+ let cm = ar(invoke(aR, "nsbtStakingSYSREADONLY", [bF], nil))
368+ let cn = if ((bV == 0))
369+ then (cb == 0)
368370 else false
369- let cn = if (cm)
371+ let co = if (cn)
370372 then -1
371- else au(cl[2])
372- let co = aC(cn)
373- let cp = ak(aQ, ad())
374- let cq = if (cm)
373+ else av(cm[2])
374+ let cp = aD(co)
375+ let cq = al(aR, ae())
376+ let cr = if (cn)
375377 then -1
376- else au(invoke(aP, "mergeStakesREADONLY", [bU, cn, ca, height, cp], nil))
377- let cr = aC(cq)
378- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s%d%d%d%d%d%d%d%d", toString(bU), toString(ca), toString(ce), toString(cf), toString(bS), toString(cc), toString(bX), toString(cd), cg, toString(ch), toString(ci), toString(cj), toString(ck), toString(cn), toString(co), toString(cq), toString(cr)], i))
378+ else av(invoke(aQ, "mergeStakesREADONLY", [bV, co, cb, height, cq], nil))
379+ let cs = aD(cr)
380+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s%d%d%d%d%d%d%d%d", toString(bV), toString(cb), toString(cf), toString(cg), toString(bT), toString(cd), toString(bY), toString(ce), ch, toString(ci), toString(cj), toString(ck), toString(cl), toString(co), toString(cp), toString(cr), toString(cs)], i))
379381 }
380382
381383
382384
383-@Callable(bf)
384-func buyNsbtREADONLY (cs) = {
385- let ct = aX()
386- if ((ct > cs))
387- then throw((("min " + toString(ct)) + " waves expected"))
385+@Callable(bg)
386+func buyNsbtREADONLY (ct) = {
387+ let cu = aY()
388+ if ((cu > ct))
389+ then throw((("min " + toString(cu)) + " waves expected"))
388390 else {
389- let cu = aq(invoke(aP, "curveFunctionREADONLY", [cs], nil))
390- if ((cu == cu))
391+ let cv = ar(invoke(aQ, "curveFunctionREADONLY", [ct], nil))
392+ if ((cv == cv))
391393 then {
392- let cv = au(cu[0])
393- if ((0 >= cv))
394+ let cw = av(cv[0])
395+ if ((0 >= cw))
394396 then throw("nsbtAmount <= 0")
395- else $Tuple2(nil, makeString(["%d", toString(cv)], i))
397+ else $Tuple2(nil, makeString(["%d", toString(cw)], i))
396398 }
397399 else throw("Strict value is not equal to itself.")
398400 }
400402
401403
402404
403-@Callable(bf)
404-func buySurfREADONLY (an,cw) = {
405- let cx = fromBase58String(cw)
406- if (if ((cx == j))
407- then (aZ() > an)
405+@Callable(bg)
406+func buySurfREADONLY (ao,cx) = {
407+ let cy = fromBase58String(cx)
408+ if (if ((cy == j))
409+ then (ba() > ao)
408410 else false)
409- then throw((("min " + toString(aZ())) + " WAVES expected"))
410- else if (if ((cx == aS))
411- then (ba() > an)
411+ then throw((("min " + toString(ba())) + " WAVES expected"))
412+ else if (if ((cy == aT))
413+ then (bb() > ao)
412414 else false)
413- then throw((("min " + toString(ba())) + " USDN expected"))
415+ then throw((("min " + toString(bb())) + " USDN expected"))
414416 else {
415- let cy = aq(invoke(aP, "surfFunctionREADONLY", [an, cx], nil))
416- let cz = au(cy[w])
417- if ((0 >= cz))
417+ let cz = ar(invoke(aQ, "surfFunctionREADONLY", [ao, cy], nil))
418+ let cA = av(cz[w])
419+ if ((0 >= cA))
418420 then throw("surfAmount <= 0")
419421 else {
420- let cA = (cz / 60)
421- $Tuple2(nil, makeString(["%d%d", toString(cz), toString(cA)], i))
422+ let cB = (cA / 60)
423+ let cC = 42
424+ let cD = av(cz[B])
425+ let cE = av(cz[E])
426+ let ap = av(cz[H])
427+ let cF = (cD / ap)
428+ let cG = (cE / ap)
429+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(cA), toString(cB), toString(cC), toString(cD), toString(cE), toString(cF), toString(cG)], i))
422430 }
423431 }
424432 }
425433
426434
427435
428-@Callable(bf)
429-func mergedStakeREADONLY (cB,cC,cD,cE) = {
430- let cp = ak(aQ, ad())
431- let cF = au(invoke(aP, "mergeStakesREADONLY", [cB, cC, cD, cE, cp], nil))
432- if ((cF == cF))
433- then $Tuple2(nil, makeString(["%d%d", toString((cB + cD)), toString(cF)], i))
436+@Callable(bg)
437+func mergedStakeREADONLY (cH,cI,cJ,cK) = {
438+ let cq = al(aR, ae())
439+ let cL = av(invoke(aQ, "mergeStakesREADONLY", [cH, cI, cJ, cK, cq], nil))
440+ if ((cL == cL))
441+ then $Tuple2(nil, makeString(["%d%d", toString((cH + cJ)), toString(cL)], i))
434442 else throw("Strict value is not equal to itself.")
435443 }
436444
437445
438446
439-@Callable(bf)
440-func unstakeComissionAmountByHeightREADONLY (an,cn) = {
441- let cp = ak(aQ, ad())
442- let cG = au(invoke(aP, "getUnstakeComissionAmountREADONLY", [an, cn, cp], nil))
443- if ((cG == cG))
444- then $Tuple2(nil, makeString(["%d", toString(cG)], i))
447+@Callable(bg)
448+func unstakeComissionAmountByHeightREADONLY (ao,co) = {
449+ let cq = al(aR, ae())
450+ let cM = av(invoke(aQ, "getUnstakeComissionAmountREADONLY", [ao, co, cq], nil))
451+ if ((cM == cM))
452+ then $Tuple2(nil, makeString(["%d", toString(cM)], i))
445453 else throw("Strict value is not equal to itself.")
446454 }
447455
448456
449457
450-@Callable(bf)
451-func unstakeComissionAmountByUserREADONLY (an,ac) = {
452- let cp = ak(aQ, ad())
453- let cn = valueOrElse(getInteger(aQ, ab(ac)), height)
454- let cG = au(invoke(aP, "getUnstakeComissionAmountREADONLY", [an, cn, cp], nil))
455- if ((cG == cG))
456- then $Tuple2(nil, makeString(["%d", toString(cG)], i))
458+@Callable(bg)
459+func unstakeComissionAmountByUserREADONLY (ao,ad) = {
460+ let cq = al(aR, ae())
461+ let co = valueOrElse(getInteger(aR, ac(ad)), height)
462+ let cM = av(invoke(aQ, "getUnstakeComissionAmountREADONLY", [ao, co, cq], nil))
463+ if ((cM == cM))
464+ then $Tuple2(nil, makeString(["%d", toString(cM)], i))
457465 else throw("Strict value is not equal to itself.")
458466 }
459467
460468
461469
462-@Callable(bf)
470+@Callable(bg)
463471 func neutrinoStateREST () = {
464- let bj = aq(invoke(aP, "calcNeutinoMetricsREADONLY", nil, nil))
465- let bk = au(bj[k])
466- let bl = au(bj[l])
467- let bm = au(bj[m])
468- let bn = au(bj[n])
469- let bo = au(bj[o])
470- let bp = au(bj[p])
471- let bq = au(bj[q])
472- let br = au(bj[r])
473- let bs = au(bj[s])
474- let bt = au(bj[t])
475- let cH = au(bj[u])
476- let cI = au(bj[v])
477- throw(makeString(["resultNeutrinoStateREST", toString(bk), toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(cH), toString(cI)], "__"))
472+ let bk = ar(invoke(aQ, "calcNeutinoMetricsREADONLY", nil, nil))
473+ let bl = av(bk[k])
474+ let bm = av(bk[l])
475+ let bn = av(bk[m])
476+ let bo = av(bk[n])
477+ let bp = av(bk[o])
478+ let bq = av(bk[p])
479+ let br = av(bk[q])
480+ let bs = av(bk[r])
481+ let bt = av(bk[s])
482+ let bu = av(bk[t])
483+ let cN = av(bk[u])
484+ let cO = av(bk[v])
485+ throw(makeString(["resultNeutrinoStateREST", toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(bu), toString(cN), toString(cO)], "__"))
478486 }
479487
480488
481489
482-@Callable(bf)
490+@Callable(bg)
483491 func nsbtPriceREST () = {
484- let bc = aq(invoke(aP, "calcContractNsbtPriceSYSREADONLY", [0], nil))
485- let bd = au(bc[0])
486- let be = au(bc[1])
487- let cJ = makeString(["startNsbtPriceREST", toString(bd), toString(be), "endNsbtPriceREST"], "__")
488- throw(cJ)
492+ let bd = ar(invoke(aQ, "calcContractNsbtPriceSYSREADONLY", [0], nil))
493+ let be = av(bd[0])
494+ let bf = av(bd[1])
495+ let cP = makeString(["startNsbtPriceREST", toString(be), toString(bf), "endNsbtPriceREST"], "__")
496+ throw(cP)
489497 }
490498
491499
492500
493-@Callable(bf)
501+@Callable(bg)
494502 func surfPriceREST () = {
495- let bj = aq(invoke(aP, "calcNeutinoMetricsREADONLY", nil, nil))
496- let bk = au(bj[k])
497- let bn = au(bj[n])
498- let bp = au(bj[p])
499- let bC = fraction(bn, bk, bp)
500- let bD = fraction(bn, 1, bp)
501- let cJ = makeString(["startSurfPriceREST", toString(bC), toString(bD), "endSurfPriceREST"], "__")
502- throw(cJ)
503+ let bk = ar(invoke(aQ, "calcNeutinoMetricsREADONLY", nil, nil))
504+ let bl = av(bk[k])
505+ let bo = av(bk[n])
506+ let bq = av(bk[p])
507+ let bD = fraction(bo, bl, bq)
508+ let bE = fraction(bo, 1, bq)
509+ let cP = makeString(["startSurfPriceREST", toString(bD), toString(bE), "endSurfPriceREST"], "__")
510+ throw(cP)
503511 }
504512
505513
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = ""
55
66 let b = 271828182
77
88 let c = 1000000
99
1010 let d = toBigInt(1000000)
1111
1212 let e = 100000000
1313
1414 let f = toBigInt(100000000)
1515
1616 let g = 1000000000000
1717
1818 let h = toBigInt(1000000000000000000)
1919
2020 let i = "__"
2121
2222 let j = fromBase58String("WAVES")
2323
2424 let k = 0
2525
2626 let l = 1
2727
2828 let m = 2
2929
3030 let n = 3
3131
3232 let o = 4
3333
3434 let p = 5
3535
3636 let q = 6
3737
3838 let r = 7
3939
4040 let s = 8
4141
4242 let t = 9
4343
4444 let u = 10
4545
4646 let v = 11
4747
4848 let w = 0
4949
5050 let x = 1
5151
5252 let y = 2
5353
5454 let z = 3
5555
5656 let A = 4
5757
5858 let B = 5
5959
6060 let C = 6
6161
6262 let D = 7
6363
6464 let E = 8
6565
6666 let F = 9
6767
6868 let G = 10
6969
70-func H () = "%s%s__config__neutrinoAddress"
70+let H = 11
71+
72+func I () = "%s%s__config__neutrinoAddress"
7173
7274
73-func I () = "neutrino_asset_id"
75+func J () = "neutrino_asset_id"
7476
7577
76-func J () = "liquidation_contract"
78+func K () = "liquidation_contract"
7779
7880
79-func K () = "rpd_contract"
81+func L () = "rpd_contract"
8082
8183
82-func L () = "auction_contract"
84+func M () = "auction_contract"
8385
8486
85-func M () = "control_contract"
87+func N () = "control_contract"
8688
8789
88-func N () = "bond_asset_id"
90+func O () = "bond_asset_id"
8991
9092
91-func O () = "surf_asset_id"
93+func P () = "surf_asset_id"
9294
9395
94-func P () = "balance_lock_"
96+func Q () = "balance_lock_"
9597
9698
97-func Q () = (P() + "waves")
99+func R () = (Q() + "waves")
98100
99101
100-func R () = (P() + "neutrino")
102+func S () = (Q() + "neutrino")
101103
102104
103-func S () = "min_waves_swap_amount"
105+func T () = "min_waves_swap_amount"
104106
105107
106-func T () = "min_neutrino_swap_amount"
108+func U () = "min_neutrino_swap_amount"
107109
108110
109-func U () = "wavesOut_swap_feePart"
111+func V () = "wavesOut_swap_feePart"
110112
111113
112-func V () = "neutrinoOut_swap_feePart"
114+func W () = "neutrinoOut_swap_feePart"
113115
114116
115-func W () = "%s__nsbtLockContract"
117+func X () = "%s__nsbtLockContract"
116118
117119
118-func X () = "%s__mathContract"
120+func Y () = "%s__mathContract"
119121
120122
121-func Y () = "balance_waves_lock_interval"
123+func Z () = "balance_waves_lock_interval"
122124
123125
124-func Z () = "balance_neutrino_lock_interval"
126+func aa () = "balance_neutrino_lock_interval"
125127
126128
127-func aa () = "price"
129+func ab () = "price"
128130
129131
130-func ab (ac) = makeString(["%s%s%s", "paramByUser", ac, "start"], i)
132+func ac (ad) = makeString(["%s%s%s", "paramByUser", ad, "start"], i)
131133
132134
133-func ad () = "%s__halfLife"
135+func ae () = "%s__halfLife"
134136
135137
136-func ae () = "%s__minLockAmount"
138+func af () = "%s__minLockAmount"
137139
138140
139-func af () = "min_waves_nsbt_buy"
141+func ag () = "min_waves_nsbt_buy"
140142
141143
142-func ag () = "min_nsbt_sell"
144+func ah () = "min_nsbt_sell"
143145
144146
145-func ah (ai,aj) = valueOrErrorMessage(getString(ai, aj), makeString(["mandatory ", toString(ai), ".", aj, " is not defined"], ""))
147+func ai (aj,ak) = valueOrErrorMessage(getString(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
146148
147149
148-func ak (ai,aj) = valueOrErrorMessage(getInteger(ai, aj), makeString(["mandatory ", toString(ai), ".", aj, " is not defined"], ""))
150+func al (aj,ak) = valueOrErrorMessage(getInteger(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
149151
150152
151-func al (ai,aj) = valueOrErrorMessage(getBoolean(ai, aj), makeString(["mandatory ", toString(ai), ".", aj, " is not defined"], ""))
153+func am (aj,ak) = valueOrErrorMessage(getBoolean(aj, ak), makeString(["mandatory ", toString(aj), ".", ak, " is not defined"], ""))
152154
153155
154-func am (an,ao) = fraction(an, e, ao)
156+func an (ao,ap) = fraction(ao, e, ap)
155157
156158
157-func ap (an,ao) = fraction(an, ao, e)
159+func aq (ao,ap) = fraction(ao, ap, e)
158160
159161
160-func aq (ar) = {
161- let as = ar
162- if ($isInstanceOf(as, "List[Any]"))
162+func ar (as) = {
163+ let at = as
164+ if ($isInstanceOf(at, "List[Any]"))
163165 then {
164- let at = as
165- at
166+ let au = at
167+ au
166168 }
167169 else throw("fail to cast into List[Any]")
168170 }
169171
170172
171-func au (ar) = {
172- let as = ar
173- if ($isInstanceOf(as, "Int"))
173+func av (as) = {
174+ let at = as
175+ if ($isInstanceOf(at, "Int"))
174176 then {
175- let av = as
176- av
177+ let aw = at
178+ aw
177179 }
178180 else throw("fail to cast into Int")
179181 }
180182
181183
182-func aw (ar) = {
183- let as = ar
184- if ($isInstanceOf(as, "String"))
184+func ax (as) = {
185+ let at = as
186+ if ($isInstanceOf(at, "String"))
185187 then {
186- let ax = as
187- ax
188+ let ay = at
189+ ay
188190 }
189191 else throw("fail to cast into String")
190192 }
191193
192194
193-func ay (ar) = {
194- let as = ar
195- if ($isInstanceOf(as, "(Int, Int)"))
195+func az (as) = {
196+ let at = as
197+ if ($isInstanceOf(at, "(Int, Int)"))
196198 then {
197- let az = as
198- az
199+ let aA = at
200+ aA
199201 }
200202 else throw("fail to cast into Tuple2 ints")
201203 }
202204
203205
204-func aA (ar) = {
205- let as = ar
206- if ($isInstanceOf(as, "(Int, Int, Int, Int, Int)"))
206+func aB (as) = {
207+ let at = as
208+ if ($isInstanceOf(at, "(Int, Int, Int, Int, Int)"))
207209 then {
208- let aB = as
209- aB
210+ let aC = at
211+ aC
210212 }
211213 else throw("fail to cast into Int")
212214 }
213215
214216
215-func aC (aD) = if ((0 > aD))
217+func aD (aE) = if ((0 > aE))
216218 then -1
217219 else {
218- let as = blockInfoByHeight(aD)
219- if ($isInstanceOf(as, "BlockInfo"))
220+ let at = blockInfoByHeight(aE)
221+ if ($isInstanceOf(at, "BlockInfo"))
220222 then {
221- let aE = as
222- aE.timestamp
223+ let aF = at
224+ aF.timestamp
223225 }
224226 else -1
225227 }
226228
227229
228-func aF (aG,aH) = fraction(toBigInt(aG), h, toBigInt(aH))
230+func aG (aH,aI) = fraction(toBigInt(aH), h, toBigInt(aI))
229231
230232
231-func aI (ar,aJ) = toInt(fraction(ar, toBigInt(aJ), h))
233+func aJ (as,aK) = toInt(fraction(as, toBigInt(aK), h))
232234
233235
234-let aK = addressFromStringValue(ah(this, H()))
236+let aL = addressFromStringValue(ai(this, I()))
235237
236-let aL = addressFromStringValue(ah(aK, M()))
238+let aM = addressFromStringValue(ai(aL, N()))
237239
238-let aM = addressFromStringValue(ah(aK, L()))
240+let aN = addressFromStringValue(ai(aL, M()))
239241
240-let aN = ah(aK, J())
242+let aO = ai(aL, K())
241243
242-let aO = ah(aK, K())
244+let aP = ai(aL, L())
243245
244-let aP = addressFromStringValue(ah(this, X()))
246+let aQ = addressFromStringValue(ai(this, Y()))
245247
246-let aQ = addressFromStringValue(ah(this, W()))
248+let aR = addressFromStringValue(ai(this, X()))
247249
248-let aR = ah(aK, I())
250+let aS = ai(aL, J())
249251
250-let aS = fromBase58String(aR)
252+let aT = fromBase58String(aS)
251253
252-let aT = getStringValue(aK, N())
254+let aU = getStringValue(aL, O())
253255
254-let aU = fromBase58String(aT)
256+let aV = fromBase58String(aU)
255257
256-let aV = getStringValue(aM, O())
258+let aW = getStringValue(aN, P())
257259
258-let aW = fromBase58String(aV)
260+let aX = fromBase58String(aW)
259261
260-func aX () = au(invoke(aM, "minWavesAmountNsbtBuySYSREADONLY", nil, nil))
262+func aY () = av(invoke(aN, "minWavesAmountNsbtBuySYSREADONLY", nil, nil))
261263
262264
263-func aY () = au(invoke(aM, "minNsbtAmountForSellSYSREADONLY", nil, nil))
265+func aZ () = av(invoke(aN, "minNsbtAmountForSellSYSREADONLY", nil, nil))
264266
265267
266-func aZ () = au(invoke(aM, "minWavesAmountSurfBuySYSREADONLY", nil, nil))
268+func ba () = av(invoke(aN, "minWavesAmountSurfBuySYSREADONLY", nil, nil))
267269
268270
269-func ba () = au(invoke(aM, "minUsdnAmountSurfBuySYSREADONLY", nil, nil))
271+func bb () = av(invoke(aN, "minUsdnAmountSurfBuySYSREADONLY", nil, nil))
270272
271273
272-func bb () = {
273- let bc = aq(invoke(aP, "calcContractNsbtPriceSYSREADONLY", [0], nil))
274- let bd = au(bc[0])
275- let be = au(bc[1])
276- $Tuple2(IntegerEntry("nsbt2usdnPrice", bd), IntegerEntry("nsbt2wavesPrice", be))
274+func bc () = {
275+ let bd = ar(invoke(aQ, "calcContractNsbtPriceSYSREADONLY", [0], nil))
276+ let be = av(bd[0])
277+ let bf = av(bd[1])
278+ $Tuple2(IntegerEntry("nsbt2usdnPrice", be), IntegerEntry("nsbt2wavesPrice", bf))
277279 }
278280
279281
280-@Callable(bf)
281-func constructor (bg,bh,bi) = if ((bf.caller != this))
282+@Callable(bg)
283+func constructor (bh,bi,bj) = if ((bg.caller != this))
282284 then throw("not authorized")
283- else [StringEntry(H(), bg), StringEntry(W(), bh), StringEntry(X(), bi)]
285+ else [StringEntry(I(), bh), StringEntry(X(), bi), StringEntry(Y(), bj)]
284286
285287
286288
287-@Callable(bf)
289+@Callable(bg)
288290 func neutrinoStatsREADONLY () = {
289- let bj = aq(invoke(aP, "calcNeutinoMetricsREADONLY", nil, nil))
290- let bc = aq(invoke(aP, "calcContractNsbtPriceSYSREADONLY", [0], nil))
291- let bk = au(bj[k])
292- let bl = au(bj[l])
293- let bm = au(bj[m])
294- let bn = au(bj[n])
295- let bo = au(bj[o])
296- let bp = au(bj[p])
297- let bq = au(bj[q])
298- let br = au(bj[r])
299- let bs = au(bj[s])
300- let bt = au(bj[t])
301- let bu = au(bj[u])
302- let bd = au(bc[0])
303- let be = au(bc[1])
304- let bv = aX()
291+ let bk = ar(invoke(aQ, "calcNeutinoMetricsREADONLY", nil, nil))
292+ let bd = ar(invoke(aQ, "calcContractNsbtPriceSYSREADONLY", [0], nil))
293+ let bl = av(bk[k])
294+ let bm = av(bk[l])
295+ let bn = av(bk[m])
296+ let bo = av(bk[n])
297+ let bp = av(bk[o])
298+ let bq = av(bk[p])
299+ let br = av(bk[q])
300+ let bs = av(bk[r])
301+ let bt = av(bk[s])
302+ let bu = av(bk[t])
303+ let bv = av(bk[u])
304+ let be = av(bd[0])
305+ let bf = av(bd[1])
305306 let bw = aY()
306- let bx = ak(aQ, ae())
307- let by = aZ()
307+ let bx = aZ()
308+ let by = al(aR, af())
308309 let bz = ba()
309- let bA = (fraction(bp, e, bk) - bn)
310- let bB = (bp - bo)
311- let bC = fraction(bn, bk, bp)
312- let bD = fraction(bn, 1, bp)
313- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", toString(bk), toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(bu), toString(bd), toString(be), toString(bv), toString(bw), toString(bx), toString(by), toString(bz), toString(bA), toString(bB), toString(bC), toString(bD)], i))
310+ let bA = bb()
311+ let bB = (fraction(bq, e, bl) - bo)
312+ let bC = (bq - bp)
313+ let bD = fraction(bo, bl, bq)
314+ let bE = fraction(bo, 1, bq)
315+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(bu), toString(bv), toString(be), toString(bf), toString(bw), toString(bx), toString(by), toString(bz), toString(bA), toString(bB), toString(bC), toString(bD), toString(bE)], i))
314316 }
315317
316318
317319
318-@Callable(bf)
319-func swapInfoREADONLY (bE) = {
320- let bk = getIntegerValue(aL, aa())
321- let bF = getIntegerValue(aK, S())
322- let bG = getIntegerValue(aK, T())
323- let bH = getIntegerValue(aK, U())
324- let bI = getIntegerValue(aK, V())
325- let bJ = getIntegerValue(aK, Z())
326- let bK = getIntegerValue(aK, Y())
327- let bL = aA(invoke(aK, "swapParamsByUserSYSREADONLY", [bE, 0], nil))
328- let bM = bL._1
329- let bN = bL._2
330- let bO = bL._3
331- let bP = am(bM, bk)
332- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d", toString(bk), toString(bF), toString(bG), toString(bH), toString(bI), toString(bJ), toString(bK), toString(bO), toString(bP), toString(bM), toString(bN)], i))
320+@Callable(bg)
321+func swapInfoREADONLY (bF) = {
322+ let bl = getIntegerValue(aM, ab())
323+ let bG = getIntegerValue(aL, T())
324+ let bH = getIntegerValue(aL, U())
325+ let bI = getIntegerValue(aL, V())
326+ let bJ = getIntegerValue(aL, W())
327+ let bK = getIntegerValue(aL, aa())
328+ let bL = getIntegerValue(aL, Z())
329+ let bM = aB(invoke(aL, "swapParamsByUserSYSREADONLY", [bF, 0], nil))
330+ let bN = bM._1
331+ let bO = bM._2
332+ let bP = bM._3
333+ let bQ = an(bN, bl)
334+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%d%d", toString(bl), toString(bG), toString(bH), toString(bI), toString(bJ), toString(bK), toString(bL), toString(bP), toString(bQ), toString(bN), toString(bO)], i))
333335 }
334336
335337
336338
337-@Callable(bf)
338-func gnsbtInfoREADONLY (bE,bQ) = {
339- let bk = getIntegerValue(aL, aa())
340- let bR = aA(invoke(aK, "swapParamsByUserSYSREADONLY", [bE, 0], nil))
341- let bS = bR._1
342- let bT = bR._2
343- let bO = bR._3
344- let bU = bR._4
345- let bV = bR._5
346- let bW = aA(invoke(aK, "swapParamsByUserSYSREADONLY", [bE, bQ], nil))
347- let bX = bW._1
348- let bY = bW._2
349- let bZ = bW._3
350- let ca = bW._4
351- let cb = bW._5
352- let cc = am(bS, bk)
353- let cd = am(bX, bk)
354- let ce = if ((bV != 0))
355- then fraction((bU * 100), g, bV)
339+@Callable(bg)
340+func gnsbtInfoREADONLY (bF,bR) = {
341+ let bl = getIntegerValue(aM, ab())
342+ let bS = aB(invoke(aL, "swapParamsByUserSYSREADONLY", [bF, 0], nil))
343+ let bT = bS._1
344+ let bU = bS._2
345+ let bP = bS._3
346+ let bV = bS._4
347+ let bW = bS._5
348+ let bX = aB(invoke(aL, "swapParamsByUserSYSREADONLY", [bF, bR], nil))
349+ let bY = bX._1
350+ let bZ = bX._2
351+ let ca = bX._3
352+ let cb = bX._4
353+ let cc = bX._5
354+ let cd = an(bT, bl)
355+ let ce = an(bY, bl)
356+ let cf = if ((bW != 0))
357+ then fraction((bV * 100), g, bW)
356358 else 0
357- let cf = if ((cb != 0))
358- then fraction((ca * 100), g, cb)
359+ let cg = if ((cc != 0))
360+ then fraction((cb * 100), g, cc)
359361 else 0
360- let cg = aw(invoke(aQ, "unclaimedRewardsREADONLY", [bE], nil))
361- let ch = bU
362- let ci = ca
363- let cj = bV
364- let ck = cb
365- let cl = aq(invoke(aQ, "nsbtStakingSYSREADONLY", [bE], nil))
366- let cm = if ((bU == 0))
367- then (ca == 0)
362+ let ch = ax(invoke(aR, "unclaimedRewardsREADONLY", [bF], nil))
363+ let ci = bV
364+ let cj = cb
365+ let ck = bW
366+ let cl = cc
367+ let cm = ar(invoke(aR, "nsbtStakingSYSREADONLY", [bF], nil))
368+ let cn = if ((bV == 0))
369+ then (cb == 0)
368370 else false
369- let cn = if (cm)
371+ let co = if (cn)
370372 then -1
371- else au(cl[2])
372- let co = aC(cn)
373- let cp = ak(aQ, ad())
374- let cq = if (cm)
373+ else av(cm[2])
374+ let cp = aD(co)
375+ let cq = al(aR, ae())
376+ let cr = if (cn)
375377 then -1
376- else au(invoke(aP, "mergeStakesREADONLY", [bU, cn, ca, height, cp], nil))
377- let cr = aC(cq)
378- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s%d%d%d%d%d%d%d%d", toString(bU), toString(ca), toString(ce), toString(cf), toString(bS), toString(cc), toString(bX), toString(cd), cg, toString(ch), toString(ci), toString(cj), toString(ck), toString(cn), toString(co), toString(cq), toString(cr)], i))
378+ else av(invoke(aQ, "mergeStakesREADONLY", [bV, co, cb, height, cq], nil))
379+ let cs = aD(cr)
380+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s%d%d%d%d%d%d%d%d", toString(bV), toString(cb), toString(cf), toString(cg), toString(bT), toString(cd), toString(bY), toString(ce), ch, toString(ci), toString(cj), toString(ck), toString(cl), toString(co), toString(cp), toString(cr), toString(cs)], i))
379381 }
380382
381383
382384
383-@Callable(bf)
384-func buyNsbtREADONLY (cs) = {
385- let ct = aX()
386- if ((ct > cs))
387- then throw((("min " + toString(ct)) + " waves expected"))
385+@Callable(bg)
386+func buyNsbtREADONLY (ct) = {
387+ let cu = aY()
388+ if ((cu > ct))
389+ then throw((("min " + toString(cu)) + " waves expected"))
388390 else {
389- let cu = aq(invoke(aP, "curveFunctionREADONLY", [cs], nil))
390- if ((cu == cu))
391+ let cv = ar(invoke(aQ, "curveFunctionREADONLY", [ct], nil))
392+ if ((cv == cv))
391393 then {
392- let cv = au(cu[0])
393- if ((0 >= cv))
394+ let cw = av(cv[0])
395+ if ((0 >= cw))
394396 then throw("nsbtAmount <= 0")
395- else $Tuple2(nil, makeString(["%d", toString(cv)], i))
397+ else $Tuple2(nil, makeString(["%d", toString(cw)], i))
396398 }
397399 else throw("Strict value is not equal to itself.")
398400 }
399401 }
400402
401403
402404
403-@Callable(bf)
404-func buySurfREADONLY (an,cw) = {
405- let cx = fromBase58String(cw)
406- if (if ((cx == j))
407- then (aZ() > an)
405+@Callable(bg)
406+func buySurfREADONLY (ao,cx) = {
407+ let cy = fromBase58String(cx)
408+ if (if ((cy == j))
409+ then (ba() > ao)
408410 else false)
409- then throw((("min " + toString(aZ())) + " WAVES expected"))
410- else if (if ((cx == aS))
411- then (ba() > an)
411+ then throw((("min " + toString(ba())) + " WAVES expected"))
412+ else if (if ((cy == aT))
413+ then (bb() > ao)
412414 else false)
413- then throw((("min " + toString(ba())) + " USDN expected"))
415+ then throw((("min " + toString(bb())) + " USDN expected"))
414416 else {
415- let cy = aq(invoke(aP, "surfFunctionREADONLY", [an, cx], nil))
416- let cz = au(cy[w])
417- if ((0 >= cz))
417+ let cz = ar(invoke(aQ, "surfFunctionREADONLY", [ao, cy], nil))
418+ let cA = av(cz[w])
419+ if ((0 >= cA))
418420 then throw("surfAmount <= 0")
419421 else {
420- let cA = (cz / 60)
421- $Tuple2(nil, makeString(["%d%d", toString(cz), toString(cA)], i))
422+ let cB = (cA / 60)
423+ let cC = 42
424+ let cD = av(cz[B])
425+ let cE = av(cz[E])
426+ let ap = av(cz[H])
427+ let cF = (cD / ap)
428+ let cG = (cE / ap)
429+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(cA), toString(cB), toString(cC), toString(cD), toString(cE), toString(cF), toString(cG)], i))
422430 }
423431 }
424432 }
425433
426434
427435
428-@Callable(bf)
429-func mergedStakeREADONLY (cB,cC,cD,cE) = {
430- let cp = ak(aQ, ad())
431- let cF = au(invoke(aP, "mergeStakesREADONLY", [cB, cC, cD, cE, cp], nil))
432- if ((cF == cF))
433- then $Tuple2(nil, makeString(["%d%d", toString((cB + cD)), toString(cF)], i))
436+@Callable(bg)
437+func mergedStakeREADONLY (cH,cI,cJ,cK) = {
438+ let cq = al(aR, ae())
439+ let cL = av(invoke(aQ, "mergeStakesREADONLY", [cH, cI, cJ, cK, cq], nil))
440+ if ((cL == cL))
441+ then $Tuple2(nil, makeString(["%d%d", toString((cH + cJ)), toString(cL)], i))
434442 else throw("Strict value is not equal to itself.")
435443 }
436444
437445
438446
439-@Callable(bf)
440-func unstakeComissionAmountByHeightREADONLY (an,cn) = {
441- let cp = ak(aQ, ad())
442- let cG = au(invoke(aP, "getUnstakeComissionAmountREADONLY", [an, cn, cp], nil))
443- if ((cG == cG))
444- then $Tuple2(nil, makeString(["%d", toString(cG)], i))
447+@Callable(bg)
448+func unstakeComissionAmountByHeightREADONLY (ao,co) = {
449+ let cq = al(aR, ae())
450+ let cM = av(invoke(aQ, "getUnstakeComissionAmountREADONLY", [ao, co, cq], nil))
451+ if ((cM == cM))
452+ then $Tuple2(nil, makeString(["%d", toString(cM)], i))
445453 else throw("Strict value is not equal to itself.")
446454 }
447455
448456
449457
450-@Callable(bf)
451-func unstakeComissionAmountByUserREADONLY (an,ac) = {
452- let cp = ak(aQ, ad())
453- let cn = valueOrElse(getInteger(aQ, ab(ac)), height)
454- let cG = au(invoke(aP, "getUnstakeComissionAmountREADONLY", [an, cn, cp], nil))
455- if ((cG == cG))
456- then $Tuple2(nil, makeString(["%d", toString(cG)], i))
458+@Callable(bg)
459+func unstakeComissionAmountByUserREADONLY (ao,ad) = {
460+ let cq = al(aR, ae())
461+ let co = valueOrElse(getInteger(aR, ac(ad)), height)
462+ let cM = av(invoke(aQ, "getUnstakeComissionAmountREADONLY", [ao, co, cq], nil))
463+ if ((cM == cM))
464+ then $Tuple2(nil, makeString(["%d", toString(cM)], i))
457465 else throw("Strict value is not equal to itself.")
458466 }
459467
460468
461469
462-@Callable(bf)
470+@Callable(bg)
463471 func neutrinoStateREST () = {
464- let bj = aq(invoke(aP, "calcNeutinoMetricsREADONLY", nil, nil))
465- let bk = au(bj[k])
466- let bl = au(bj[l])
467- let bm = au(bj[m])
468- let bn = au(bj[n])
469- let bo = au(bj[o])
470- let bp = au(bj[p])
471- let bq = au(bj[q])
472- let br = au(bj[r])
473- let bs = au(bj[s])
474- let bt = au(bj[t])
475- let cH = au(bj[u])
476- let cI = au(bj[v])
477- throw(makeString(["resultNeutrinoStateREST", toString(bk), toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(cH), toString(cI)], "__"))
472+ let bk = ar(invoke(aQ, "calcNeutinoMetricsREADONLY", nil, nil))
473+ let bl = av(bk[k])
474+ let bm = av(bk[l])
475+ let bn = av(bk[m])
476+ let bo = av(bk[n])
477+ let bp = av(bk[o])
478+ let bq = av(bk[p])
479+ let br = av(bk[q])
480+ let bs = av(bk[r])
481+ let bt = av(bk[s])
482+ let bu = av(bk[t])
483+ let cN = av(bk[u])
484+ let cO = av(bk[v])
485+ throw(makeString(["resultNeutrinoStateREST", toString(bl), toString(bm), toString(bn), toString(bo), toString(bp), toString(bq), toString(br), toString(bs), toString(bt), toString(bu), toString(cN), toString(cO)], "__"))
478486 }
479487
480488
481489
482-@Callable(bf)
490+@Callable(bg)
483491 func nsbtPriceREST () = {
484- let bc = aq(invoke(aP, "calcContractNsbtPriceSYSREADONLY", [0], nil))
485- let bd = au(bc[0])
486- let be = au(bc[1])
487- let cJ = makeString(["startNsbtPriceREST", toString(bd), toString(be), "endNsbtPriceREST"], "__")
488- throw(cJ)
492+ let bd = ar(invoke(aQ, "calcContractNsbtPriceSYSREADONLY", [0], nil))
493+ let be = av(bd[0])
494+ let bf = av(bd[1])
495+ let cP = makeString(["startNsbtPriceREST", toString(be), toString(bf), "endNsbtPriceREST"], "__")
496+ throw(cP)
489497 }
490498
491499
492500
493-@Callable(bf)
501+@Callable(bg)
494502 func surfPriceREST () = {
495- let bj = aq(invoke(aP, "calcNeutinoMetricsREADONLY", nil, nil))
496- let bk = au(bj[k])
497- let bn = au(bj[n])
498- let bp = au(bj[p])
499- let bC = fraction(bn, bk, bp)
500- let bD = fraction(bn, 1, bp)
501- let cJ = makeString(["startSurfPriceREST", toString(bC), toString(bD), "endSurfPriceREST"], "__")
502- throw(cJ)
503+ let bk = ar(invoke(aQ, "calcNeutinoMetricsREADONLY", nil, nil))
504+ let bl = av(bk[k])
505+ let bo = av(bk[n])
506+ let bq = av(bk[p])
507+ let bD = fraction(bo, bl, bq)
508+ let bE = fraction(bo, 1, bq)
509+ let cP = makeString(["startSurfPriceREST", toString(bD), toString(bE), "endSurfPriceREST"], "__")
510+ throw(cP)
503511 }
504512
505513

github/deemru/w8io/c3f4982 
156.95 ms