tx · 34zHoGHvjSXGZvqWXDCh9bsrgQVah1DfVqgKrW1ZYwzM

3MuAPY3jP4q2AoNYX27B5BU9EoLU77mr7pS:  -0.02000000 Waves

2022.02.24 15:41 [1937740] smart account 3MuAPY3jP4q2AoNYX27B5BU9EoLU77mr7pS > SELF 0.00000000 Waves

{ "type": 13, "id": "34zHoGHvjSXGZvqWXDCh9bsrgQVah1DfVqgKrW1ZYwzM", "fee": 2000000, "feeAssetId": null, "timestamp": 1645706574899, "version": 1, "sender": "3MuAPY3jP4q2AoNYX27B5BU9EoLU77mr7pS", "senderPublicKey": "rqCnkHfz5ix6HNKiVvYE3URUtLs6f2nWzt4hpdGGQdm", "proofs": [ "3hW9VX9Ex3M9BuDTVDbWbw1qtHYn8YE1JEfSa3s5Wu1BjY2bMwZjt2gRWzrAat2gKbbkN8RpBApKVbADorqCpyZW" ], "script": "base64:AAIFAAAAAAAAADgIAhIFCgMICAESAwoBARIHCgUBAQEBARIICgYBAQEBAQESABIDCgEIEgASBAoCAQESBgoEAQEBAQAAADcAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAAhCSUdQQVVMSQkAATYAAAABAAAAAAAAD0JAAAAAAAhQUklDRUxFVAAAAAAAAA9CQAAAAAAETVVMVAAAAAAABfXhAAAAAAAJQklHTVVMVDE2CQABNgAAAAEAACOG8m/BAAAAAAAACU1VTFRTQ0FMRQAAAAAAAAAACAAAAAAHU0NBTEUxNgAAAAAAAAAAEAAAAAADU0VQAgAAAAJfXwAAAAAFSEFMRjgAAAAAAAL68IAAAAAAC0VVTEVSTlVNQkVSAAAAAAAQM8TWAAAAAAZzY2FsZTYAAAAAAAAPQkAAAAAADHNjYWxlNkJpZ0ludAkAATYAAAABAAAAAAAAD0JAAQAAABJrZXlOZXV0cmlub0FkZHJlc3MAAAAAAgAAAB0lcyVzX19jb25maWdfX25ldXRyaW5vQWRkcmVzcwEAAAATa2V5U3dhcEFtb3VudEFQYXJhbQAAAAACAAAAGCVzJXNfX2NvbmZpZ19fc3dhcEFQYXJhbQEAAAASa2V5TmV1dHJpbm9Bc3NldElkAAAAAAIAAAARbmV1dHJpbm9fYXNzZXRfaWQBAAAAHWtleUxpcXVpZGF0aW9uQ29udHJhY3RBZGRyZXNzAAAAAAIAAAAUbGlxdWlkYXRpb25fY29udHJhY3QBAAAADmtleVJQRENvbnRyYWN0AAAAAAIAAAAMcnBkX2NvbnRyYWN0AQAAABJrZXlBdWN0aW9uQ29udHJhY3QAAAAAAgAAABBhdWN0aW9uX2NvbnRyYWN0AQAAABFrZXlDb250b2xDb250cmFjdAAAAAACAAAAEGNvbnRyb2xfY29udHJhY3QBAAAADmtleUJvbmRBc3NldElkAAAAAAIAAAANYm9uZF9hc3NldF9pZAEAAAAQa2V5QmFsYW5jZUxvY2tlZAAAAAACAAAADWJhbGFuY2VfbG9ja18BAAAAFWtleVdhdmVzTG9ja2VkQmFsYW5jZQAAAAAJAAEsAAAAAgkBAAAAEGtleUJhbGFuY2VMb2NrZWQAAAAAAgAAAAV3YXZlcwEAAAAYa2V5TmV1dHJpbm9Mb2NrZWRCYWxhbmNlAAAAAAkAASwAAAACCQEAAAAQa2V5QmFsYW5jZUxvY2tlZAAAAAACAAAACG5ldXRyaW5vAQAAABVrZXlNaW5XYXZlc1N3YXBBbW91bnQAAAAAAgAAABVtaW5fd2F2ZXNfc3dhcF9hbW91bnQBAAAAGGtleU1pbk5ldXRyaW5vU3dhcEFtb3VudAAAAAACAAAAGG1pbl9uZXV0cmlub19zd2FwX2Ftb3VudAEAAAASa2V5V2F2ZXNPdXRGZWVQYXJ0AAAAAAIAAAAVd2F2ZXNPdXRfc3dhcF9mZWVQYXJ0AQAAABVrZXlOZXV0cmlub091dEZlZVBhcnQAAAAAAgAAABhuZXV0cmlub091dF9zd2FwX2ZlZVBhcnQBAAAAE2tleU5zYnRMb2NrQ29udHJhY3QAAAAAAgAAABQlc19fbnNidExvY2tDb250cmFjdAEAAAAZa2V5UXVpY2tTd2FwTGltaXREdXJhdGlvbgAAAAACAAAAGiVzX19xdWlja1N3YXBMaW1pdER1cmF0aW9uAQAAABprZXlVc2VyTGFzdFF1aWNrU3dhcEhlaWdodAAAAAEAAAALdXNlckFkZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAQlcyVzCQAETAAAAAICAAAAF3VzZXJMYXN0UXVpY2tTd2FwSGVpZ2h0CQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAANuaWwFAAAAA1NFUAEAAAAda2V5UXVpY2tTd2FwVXNlclNwZW50SW5QZXJpb2QAAAABAAAAC3VzZXJBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAABpxdWlja1N3YXBVc2VyU3BlbnRJblBlcmlvZAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAADbmlsBQAAAANTRVABAAAACGtleVByaWNlAAAAAAIAAAAFcHJpY2UBAAAAC2tleUhhbGZMaWZlAAAAAAIAAAAMJXNfX2hhbGZMaWZlAQAAABZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50AAAAAQAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACAgAAAAtwYXJhbUJ5VXNlcgkABEwAAAACBQAA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AA9nZXRTdHJpbmdPckZhaWwAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAARa2V5Q29udG9sQ29udHJhY3QAAAAAAAAAAA9hdWN0aW9uQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAASa2V5QXVjdGlvbkNvbnRyYWN0AAAAAAAAAAATbGlxdWlkYXRpb25Db250cmFjdAkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAB1rZXlMaXF1aWRhdGlvbkNvbnRyYWN0QWRkcmVzcwAAAAAAAAAAC3JwZENvbnRyYWN0CQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAADmtleVJQRENvbnRyYWN0AAAAAAAAAAATbnNidFN0YWtpbmdDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAABHRoaXMJAQAAABNrZXlOc2J0TG9ja0NvbnRyYWN0AAAAAAAAAAAVbmV1dHJpbm9Bc3NldElkU3RyaW5nCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAEmtleU5ldXRyaW5vQXNzZXRJZAAAAAAAAAAAD25ldXRyaW5vQXNzZXRJZAkAAlkAAAABBQAAABVuZXV0cmlub0Fzc2V0SWRTdHJpbmcAAAAADm5zYnRBc3NldElkU3RyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAOa2V5Qm9uZEFzc2V0SWQAAAAAAAAAAAtuc2J0QXNzZXRJZAkAAlkAAAABBQAAAA5uc2J0QXNzZXRJZFN0cgAAAAkAAAABaQEAAAALY29uc3RydWN0b3IAAAADAAAAD25ldXRyaW5vQWRkcmVzcwAAAA9uc2J0TG9ja0FkZHJlc3MAAAAQc3dhcEFtb3VudEFQYXJhbQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAAA5ub3QgYXV0aG9yaXplZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5TmV1dHJpbm9BZGRyZXNzAAAAAAUAAAAPbmV1dHJpbm9BZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlOc2J0TG9ja0NvbnRyYWN0AAAAAAUAAAAPbnNidExvY2tBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAATa2V5U3dhcEFtb3VudEFQYXJhbQAAAAAFAAAAEHN3YXBBbW91bnRBUGFyYW0FAAAAA25pbAAAAAFpAQAAABFjYWxjU3dhcExpbWl0TUFUSAAAAAEAAAALZ05zYnRBbW91bnQEAAAAFXVzZG5Td2FwRGVsYXlEdXJhdGlvbgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQEAAAATa2V5U3dhcEFtb3VudEFQYXJhbQAAAAACAAAAGFN3YXAgcGFyYW1ldGVyIEEgbWlzc2VkLgQAAAARZ05zYnRBbW91bnRCaWdJbnQJAAE2AAAAAQUAAAALZ05zYnRBbW91bnQEAAAADGxpbWl0UG93UGFydAkAAHYAAAAGBQAAABFnTnNidEFtb3VudEJpZ0ludAAAAAAAAAAAAAkAATYAAAABBQAAAAtFVUxFUk5VTUJFUgAAAAAAAAAACAAAAAAAAAAAAAUAAAAERE9XTgQAAAAFbGltaXQJAAE8AAAAAwkAATYAAAABBQAAABV1c2RuU3dhcERlbGF5RHVyYXRpb24FAAAADGxpbWl0UG93UGFydAUAAAAMc2NhbGU2QmlnSW50CQAFFAAAAAIFAAAAA25pbAUAAAAFbGltaXQAAAABaQEAAAAOY2FsY3VsYXRlS01BVEgAAAAFAAAABHdSYXcAAAAEdVJhdwAAAAVwcmljZQAAAARtUmF3AAAABHNSYXcEAAAAA0VYUAkAATYAAAABAAAAAAAAKXpJBAAAAAhFWFBTQ0FMRQAAAAAAAAAABgQAAAABYQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA9h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dFN1cHBseU1BWAkABEwAAAACBQAAAApuc2J0U3VwcGx5BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAKa0NhbGNBcnJheQUAAAAKa0NhbGNBcnJheQQAAAAFbXVsdEsJAAGnAAAAAQkBAAAACGFzU3RyaW5nAAAAAQkAAZEAAAACBQAAAAprQ2FsY0FycmF5AAAAAAAAAAAHBAAAAAJtSwkBAAAAB2Zyb21YMTYAAAACBQAAAAVtdWx0SwUAAAAETVVMVAQAAAAJbXVsdFN0ZXAxCQAAawAAAAMFAAAADW5zYnRTdXBwbHlNQVgFAAAABE1VTFQJAABlAAAAAgUAAAANbnNidFN1cHBseU1BWAUAAAAKbnNidFN1cHBseQQAAAAJbXVsdFN0ZXAyCQAAawAAAAMFAAAACW11bHRTdGVwMQUAAAAJbXVsdFN0ZXAxBQAAAARNVUxUBAAAABJtdWx0TnNidDJ1c2RuUHJpY2UJAABrAAAAAwUAAAACbUsFAAAACW11bHRTdGVwMgUAAAAETVVMVAQAAAAObnNidDJ1c2RuUHJpY2UJAABrAAAAAwUAAAASbXVsdE5zYnQydXNkblByaWNlBQAAAAVQQVVMSQUAAAAETVVMVAQAAAAPbnNidDJ3YXZlc1ByaWNlCQAAawAAAAMFAAAADm5zYnQydXNkblByaWNlBQAAAAVQQVVMSQUAAAAMY3VycmVudFByaWNlCQAFFAAAAAIFAAAAA25pbAkABRQAAAACBQAAAA5uc2J0MnVzZG5QcmljZQUAAAAPbnNidDJ3YXZlc1ByaWNlCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAWY2FsY1VzZXJTd2FwTGltaXRzTUFUSAAAAAEAAAAOdXNlckFkZHJlc3NTdHIEAAAAD3VzZXJHTnNidEFtb3VudAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABNuc2J0U3Rha2luZ0NvbnRyYWN0CQEAAAAWa2V5TG9ja1BhcmFtVXNlckFtb3VudAAAAAEFAAAADnVzZXJBZGRyZXNzU3RyAAAAAAAAAAAABAAAAAp1c2RuTG10TWF4CQEAAAAFYXNJbnQAAAABCQAD/AAAAAQFAAAABHRoaXMCAAAAEWNhbGNTd2FwTGltaXRNQVRICQAETAAAAAIFAAAAD3VzZXJHTnNidEFtb3VudAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnVzZG5MbXRNYXgFAAAACnVzZG5MbXRNYXgEAAAAFHF1aWNrU3dhcFJlc2V0QmxvY2tzCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAZa2V5UXVpY2tTd2FwTGltaXREdXJhdGlvbgAAAAAEAAAAEmxhc3RRdWlja1N3YXBCbG9jawkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAaa2V5VXNlckxhc3RRdWlja1N3YXBIZWlnaHQAAAABBQAAAA51c2VyQWRkcmVzc1N0cgAAAAAAAAAAAAQAAAAUaXNOZXdRdWlja1N3YXBQZXJpb2QJAABmAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RRdWlja1N3YXBCbG9jawUAAAAUcXVpY2tTd2FwUmVzZXRCbG9ja3MEAAAAEnF1aWNrU3dhcFVzZXJTcGVudAMFAAAAFGlzTmV3UXVpY2tTd2FwUGVyaW9kAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAB1rZXlRdWlja1N3YXBVc2VyU3BlbnRJblBlcmlvZAAAAAEFAAAADnVzZXJBZGRyZXNzU3RyAAAAAAAAAAAACQAFFAAAAAIFAAAAA25pbAkABRQAAAACBQAAAAp1c2RuTG10TWF4BQAAABJxdWlja1N3YXBVc2VyU3BlbnQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAFmNhbGNOZXV0aW5vTWV0cmljc01BVEgAAAAABAAAAAxjdXJyZW50UHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAkBAAAACGtleVByaWNlAAAAAAQAAAAVbmV1dHJpbm9Mb2NrZWRCYWxhbmNlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABhrZXlOZXV0cmlub0xvY2tlZEJhbGFuY2UAAAAAAAAAAAAAAAAABAAAABJ3YXZlc0xvY2tlZEJhbGFuY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAFWtleVdhdmVzTG9ja2VkQmFsYW5jZQAAAAAAAAAAAAAAAAAEAAAAB3Jlc2VydmUJAABlAAAAAggJAAPvAAAAAQUAAAAQbmV1dHJpbm9Db250cmFjdAAAAAdyZWd1bGFyBQAAABJ3YXZlc0xvY2tlZEJhbGFuY2UEAAAADnJlc2VydmVzSW5Vc2RuCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAAB3Jlc2VydmUFAAAADGN1cnJlbnRQcmljZQQAAAAObmV1dHJpbm9TdXBwbHkJAABlAAAAAgkAAGUAAAACCQAAZAAAAAIFAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAPbmV1dHJpbm9Bc3NldElkAAAACHF1YW50aXR5CQAD8AAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAkAA/AAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQEAAAAB3N1cnBsdXMJAABlAAAAAgUAAAAOcmVzZXJ2ZXNJblVzZG4FAAAADm5ldXRyaW5vU3VwcGx5BAAAAAdkZWZpY2l0CQAAZQAAAAIFAAAADm5ldXRyaW5vU3VwcGx5BQAAAA5yZXNlcnZlc0luVXNkbgQAAAAOc3VycGx1c1BlcmNlbnQJAABoAAAAAgkAAGsAAAADBQAAAAdzdXJwbHVzBQAAAAVQQVVMSQUAAAAObmV1dHJpbm9TdXBwbHkAAAAAAAAAAGQEAAAAAkJSCQAAawAAAAMFAAAADnJlc2VydmVzSW5Vc2RuBQAAAAVQQVVMSQUAAAAObmV1dHJpbm9TdXBwbHkEAAAADW5zYnRTdXBwbHlNQVgICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAC25zYnRBc3NldElkAAAACHF1YW50aXR5BAAAAApuc2J0U3VwcGx5CQAAZQAAAAIFAAAADW5zYnRTdXBwbHlNQVgJAAPwAAAAAgUAAAAPYXVjdGlvbkNvbnRyYWN0BQAAAAtuc2J0QXNzZXRJZAkABRQAAAACBQAAAANuaWwJAAUdAAAACwUAAAAMY3VycmVudFByaWNlBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UFAAAAEndhdmVzTG9ja2VkQmFsYW5jZQUAAAAHcmVzZXJ2ZQUAAAAOcmVzZXJ2ZXNJblVzZG4FAAAADm5ldXRyaW5vU3VwcGx5BQAAAAdzdXJwbHVzBQAAAA5zdXJwbHVzUGVyY2VudAUAAAACQlIFAAAACm5zYnRTdXBwbHkFAAAADW5zYnRTdXBwbHlNQVgAAAABaQEAAAAdZ2V0VW5zdGFrZUNvbWlzc2lvbkFtb3VudE1BVEgAAAACAAAABmFtb3VudAAAAAtzdGFydEhlaWdodAQAAAAIaGFsZkxpZmUJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAABNuc2J0U3Rha2luZ0NvbnRyYWN0CQEAAAALa2V5SGFsZkxpZmUAAAAACQAFFAAAAAIFAAAAA25pbAkAAGsAAAADBQAAAAZhbW91bnQJAABsAAAABgAAAAAAAAAAAgAAAAAAAAAAAAkAAGsAAAADCQEAAAABLQAAAAEJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAtzdGFydEhlaWdodAUAAAAETVVMVAUAAAAIaGFsZkxpZmUAAAAAAAAAAAgAAAAAAAAAAAgFAAAABkhBTEZVUAUAAAAETVVMVAAAAAFpAQAAAA9tZXJnZVN0YWtlc01BVEgAAAAEAAAAB2Ftb3VudDEAAAAHaGVpZ2h0MQAAAAdhbW91bnQyAAAAB2hlaWdodDIEAAAACGhhbGZMaWZlCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAATbnNidFN0YWtpbmdDb250cmFjdAkBAAAAC2tleUhhbGZMaWZlAAAAAAQAAAABdwkAAGsAAAADBQAAAAdhbW91bnQyCQAAbAAAAAYAAAAAAAAAAAIAAAAAAAAAAAAJAABrAAAAAwkAAGUAAAACBQAAAAdoZWlnaHQyBQAAAAdoZWlnaHQxBQAAAARNVUxUBQAAAAhoYWxmTGlmZQAAAAAAAAAACAAAAAAAAAAACAUAAAAGSEFMRlVQBQAAAARNVUxUBAAAAAF2CQAAawAAAAMJAABkAAAAAgUAAAAHYW1vdW50MQUAAAAHYW1vdW50MgUAAAAETVVMVAkAAGQAAAACBQAAAAdhbW91bnQxBQAAAAF3CQAFFAAAAAIFAAAAA25pbAkAAGQAAAACBQAAAAdoZWlnaHQxCQAAaQAAAAIJAABlAAAAAgUAAAAFSEFMRjgJAABoAAAAAgUAAAAIaGFsZkxpZmUJAABtAAAABgUAAAABdgAAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAACAUAAAAGSEFMRlVQBQAAAARNVUxUAAAAAAXNCyo=", "chainId": 84, "height": 1937740, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Aa5vrUS7PeT22UnfNs7jkUM23C2vz7SuCvdo67S8pTuA Next: BjQC1wRfmE3xTrYs2ZdEMVZJCUXqpeiBRqVKZ9AHgoVU Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = addressFromStringValue("3Mzbx34Ex5rRbn39vUHx9kiwh3nneF8S5we")
4+let a = 100000000
55
6-func b (c) = valueOrElse(getInteger(a, c), 0)
6+let b = 1000000
7+
8+let c = toBigInt(1000000)
9+
10+let d = 1000000
11+
12+let e = 100000000
13+
14+let f = toBigInt(10000000000000000)
15+
16+let g = 8
17+
18+let h = 16
19+
20+let i = "__"
21+
22+let j = 50000000
23+
24+let k = 271828182
25+
26+let l = 1000000
27+
28+let m = toBigInt(1000000)
29+
30+func n () = "%s%s__config__neutrinoAddress"
731
832
9-func d (c) = valueOrElse(getString(a, c), "")
33+func o () = "%s%s__config__swapAParam"
1034
1135
12-func e (c) = valueOrElse(getBoolean(a, c), false)
36+func p () = "neutrino_asset_id"
1337
1438
15-func f (g,c) = valueOrElse(getInteger(addressFromStringValue(g), c), 0)
39+func q () = "liquidation_contract"
1640
1741
18-func h (g,c) = valueOrElse(getString(addressFromStringValue(g), c), "")
42+func r () = "rpd_contract"
1943
2044
21-func i (g,c) = valueOrElse(getBoolean(addressFromStringValue(g), c), false)
45+func s () = "auction_contract"
2246
2347
24-let j = 30
25-
26-let k = "_"
27-
28-let l = "+"
29-
30-let m = 100000000
31-
32-let n = 1000000
33-
34-let o = 1000000
35-
36-let p = 100000000
37-
38-let q = 8
39-
40-let r = "neutrino_asset_id"
41-
42-let s = "bond_asset_id"
43-
44-let t = "auction_contract"
45-
46-let u = "liquidation_contract"
47-
48-let v = "rpd_contract"
49-
50-let w = "control_contract"
51-
52-let x = "balance_waves_lock_interval"
53-
54-let y = "balance_neutrino_lock_interval"
55-
56-let z = "min_waves_swap_amount"
57-
58-let A = "min_neutrino_swap_amount"
59-
60-let B = "node_oracle_provider"
61-
62-let C = "rpd_balance"
63-
64-func D (E) = ((C + "_") + toBase58String(E))
48+func t () = "control_contract"
6549
6650
67-let F = "price"
68-
69-let G = "price_index"
70-
71-let H = "is_blocked"
72-
73-func I (J) = ((F + "_") + toString(J))
51+func u () = "bond_asset_id"
7452
7553
76-func K (L) = ((G + "_") + toString(L))
54+func v () = "balance_lock_"
7755
7856
79-let M = "balance_lock_"
80-
81-let N = (M + "waves")
82-
83-let O = (M + "neutrino")
84-
85-func P (Q,E) = ((((C + "_") + toBase58String(E)) + "_") + toString(Q))
57+func w () = (v() + "waves")
8658
8759
88-func R (S) = (("cancel_lease_tx_reserve_fee" + "_") + S)
60+func x () = (v() + "neutrino")
8961
9062
91-func T (U) = ((N + "_") + U)
63+func y () = "min_waves_swap_amount"
9264
9365
94-func V (U) = ((O + "_") + U)
66+func z () = "min_neutrino_swap_amount"
9567
9668
97-func W (U) = ("balance_unlock_block_" + U)
69+func A () = "wavesOut_swap_feePart"
9870
9971
100-func X (Q) = (("rpd_profit" + "_") + toString(Q))
72+func B () = "neutrinoOut_swap_feePart"
10173
10274
103-func Y (Z,aa) = fraction(fraction(Z, o, aa), m, n)
75+func C () = "%s__nsbtLockContract"
10476
10577
106-func ab (Z,aa) = fraction(fraction(Z, aa, o), n, m)
78+func D () = "%s__quickSwapLimitDuration"
10779
10880
109-func ac (Z,aa) = ab(Z, aa)
81+func E (F) = makeString(["%s%s", "userLastQuickSwapHeight", F], i)
11082
11183
112-func ad (ae) = split(ae, ",")
84+func G (F) = makeString(["%s%s", "quickSwapUserSpentInPeriod", F], i)
11385
11486
115-let af = d(u)
87+func H () = "price"
11688
117-let ag = d(r)
11889
119-let ah = fromBase58String(ag)
90+func I () = "%s__halfLife"
12091
121-let ai = d(t)
12292
123-let aj = d(v)
93+func J (F) = makeString(["%s%s%s", "paramByUser", F, "amount"], i)
12494
125-let ak = d(w)
12695
127-let al = f(ak, G)
96+func K (L,M) = valueOrErrorMessage(getString(L, M), makeString(["mandatory ", toString(L), ".", M, " is not defined"], ""))
12897
129-let am = i(ak, H)
13098
131-let an = fromBase58String(d(B))
99+func N (L,M) = valueOrErrorMessage(getInteger(L, M), makeString(["mandatory ", toString(L), ".", M, " is not defined"], ""))
132100
133-let ao = b(x)
134101
135-let ap = b(y)
102+func O (L,M) = valueOrErrorMessage(getBoolean(L, M), makeString(["mandatory ", toString(L), ".", M, " is not defined"], ""))
136103
137-let aq = b(z)
138104
139-let ar = b(A)
105+func P (Q,R) = fraction(fraction(Q, d, R), a, b)
140106
141-let as = getStringValue(a, s)
142107
143-let at = fromBase58String(as)
108+func S (Q,R) = fraction(fraction(Q, R, d), b, a)
144109
145-let au = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF")
146110
147-let av = f(ak, F)
111+func T (U,V) = fraction(toBigInt(U), f, toBigInt(V))
148112
149-let aw = b(O)
150113
151-let ax = b(N)
114+func W (X,Y) = toInt(fraction(X, toBigInt(Y), f))
152115
153-let ay = (wavesBalance(a).regular - ax)
154116
155-let az = ab(ay, av)
156-
157-let aA = (((aw + value(assetInfo(ah)).quantity) - assetBalance(a, ah)) - assetBalance(addressFromStringValue(af), ah))
158-
159-let aB = (az - aA)
160-
161-let aC = (fraction(aB, n, aA) * 100)
162-
163-let aD = fraction(az, n, aA)
164-
165-let aE = addressFromStringValue(ai)
166-
167-let aF = value(assetInfo(at)).quantity
168-
169-let aG = (aF - assetBalance(aE, at))
170-
171-let aH = 0
172-
173-let aI = 1
174-
175-let aJ = 2
176-
177-let aK = 3
178-
179-let aL = 4
180-
181-let aM = 5
182-
183-let aN = 6
184-
185-func aO (aP,aQ,aa,aR,aS) = {
186- let aT = 271828100
187- let aU = valueOrElse(getInteger(this, "nsbtCurveParam_a"), 3)
188- let aV = valueOrElse(getInteger(this, "nsbtCurveParam_b"), ((3 * n) / 10))
189- let aW = ab(aP, aa)
190- let aX = fraction(aW, p, aQ)
191- let aY = (aU * (aX - (1 * p)))
192- let aZ = pow(aT, q, aY, q, q, DOWN)
193- let ba = fraction(aV, aZ, n)
194-[aU, aV, aW, aX, aY, aZ, ba]
117+func Z (X) = {
118+ let aa = X
119+ if ($isInstanceOf(aa, "List[Any]"))
120+ then {
121+ let ab = aa
122+ ab
123+ }
124+ else throw("fail to cast into List[Any]")
195125 }
196126
197127
198-func bb () = {
199- let bc = aO(ay, aA, av, aF, aG)
200- let ba = bc[aN]
201- let bd = fraction(aF, p, (aF - aG))
202- let be = fraction(bd, bd, p)
203- let bf = fraction(ba, be, p)
204- let bg = fraction(bf, n, p)
205- let bh = fraction(bg, n, av)
206- $Tuple2(IntegerEntry("nsbt2usdnPrice", bg), IntegerEntry("nsbt2wavesPrice", bh))
128+func ac (X) = {
129+ let aa = X
130+ if ($isInstanceOf(aa, "Int"))
131+ then {
132+ let ad = aa
133+ ad
134+ }
135+ else throw("fail to cast into Int")
207136 }
208137
209138
210-func bi () = makeString(["resultNeutrinoStateREST", toString(av), toString(aw), toString(ax), toString(ay), toString(az), toString(aA), toString(aB), toString(aC), toString(aD), toString(aG)], "__")
139+func ae (X) = {
140+ let aa = X
141+ if ($isInstanceOf(aa, "String"))
142+ then {
143+ let af = aa
144+ af
145+ }
146+ else throw("fail to cast into String")
147+ }
211148
212149
213-@Callable(bj)
214-func neutrinoStateREST () = throw(bi())
150+let ag = addressFromStringValue(K(this, n()))
151+
152+let ah = addressFromStringValue(K(ag, t()))
153+
154+let ai = addressFromStringValue(K(ag, s()))
155+
156+let aj = K(ag, q())
157+
158+let ak = K(ag, r())
159+
160+let al = addressFromStringValue(K(this, C()))
161+
162+let am = K(ag, p())
163+
164+let an = fromBase58String(am)
165+
166+let ao = getStringValue(ag, u())
167+
168+let ap = fromBase58String(ao)
169+
170+@Callable(aq)
171+func constructor (ar,as,at) = if ((aq.caller != this))
172+ then throw("not authorized")
173+ else [StringEntry(n(), ar), StringEntry(C(), as), IntegerEntry(o(), at)]
215174
216175
217176
218-@Callable(bj)
219-func neutrinoStateREADONLY () = $Tuple2(nil, ("%s%d%d%d%d%d%d%d%d%d%d__" + bi()))
177+@Callable(aq)
178+func calcSwapLimitMATH (au) = {
179+ let av = valueOrErrorMessage(getIntegerValue(this, o()), "Swap parameter A missed.")
180+ let aw = toBigInt(au)
181+ let ax = pow(aw, 0, toBigInt(k), 8, 0, DOWN)
182+ let ay = fraction(toBigInt(av), ax, m)
183+ $Tuple2(nil, ay)
184+ }
220185
221186
222187
223-@Callable(bj)
224-func nsbtPriceREST () = {
225- let bk = bb()
226- let bg = bk._1.value
227- let bh = bk._2.value
228- let bl = makeString(["startNsbtPriceREST", toString(bg), toString(bh), "endNsbtPriceREST"], "__")
229- throw(bl)
188+@Callable(aq)
189+func calculateKMATH (az,aA,R,aB,aC) = {
190+ let aD = toBigInt(2718281)
191+ let aE = 6
192+ let aF = valueOrElse(getInteger(ai, "nsbtCurveParam_a"), 3)
193+ let aG = valueOrElse(getInteger(ai, "nsbtCurveParam_b"), ((3 * b) / 10))
194+ let aH = S(az, R)
195+ let aI = fraction(aH, e, aA)
196+ if ((aI > 10678564816))
197+ then throw("BR > 10678.564816% will overflow exponent")
198+ else {
199+ let aJ = (aF * (aI - e))
200+ let aK = pow(aD, aE, toBigInt(aJ), g, h, DOWN)
201+ let aL = fraction(toBigInt(aG), aK, c)
202+ $Tuple2(nil, $Tuple7(aF, aG, aH, aI, aJ, toString(aK), toString(aL)))
203+ }
204+ }
205+
206+
207+
208+@Callable(aq)
209+func curveFunctionMATH (az,aA,R,aB,aC,aM) = {
210+ let aN = Z(invoke(this, "calculateKMATH", [az, aA, R, aB, aC], nil))
211+ if ((aN == aN))
212+ then {
213+ let aL = parseBigIntValue(ae(aN[7]))
214+ let aO = S(aM, R)
215+ let aP = toBigInt(aB)
216+ let aQ = toBigInt((aB - aC))
217+ let aR = fraction(toBigInt(aO), f, aL)
218+ let aS = fraction(aR, aQ, aP)
219+ let aT = toInt(fraction(aQ, aP, (aS + aP)))
220+ let aU = ((aB - aC) - aT)
221+ $Tuple2(nil, $Tuple17(aU, aO, az, aA, aB, aC, ac(aN[1]), ac(aN[2]), ac(aN[3]), ac(R), ac(aN[4]), ac(aN[5]), aN[6], aN[7], toString(aR), toString(aS), toString(aT)))
222+ }
223+ else throw("Strict value is not equal to itself.")
224+ }
225+
226+
227+
228+@Callable(aq)
229+func calcContractNsbtPriceMATH () = {
230+ let aV = value(assetInfo(ap)).quantity
231+ let aW = Z(invoke(this, "calcNeutinoMetricsMATH", nil, nil))
232+ if ((aW == aW))
233+ then {
234+ let aX = ac(aW[10])
235+ let aY = ac(aW[1])
236+ let aN = Z(invoke(this, "calculateKMATH", [ac(aW[4]), ac(aW[6]), aY, aV, aX], nil))
237+ if ((aN == aN))
238+ then {
239+ let aL = parseBigIntValue(ae(aN[7]))
240+ let aZ = W(aL, e)
241+ let ba = fraction(aV, e, (aV - aX))
242+ let bb = fraction(ba, ba, e)
243+ let bc = fraction(aZ, bb, e)
244+ let bd = fraction(bc, b, e)
245+ let be = fraction(bd, b, aY)
246+ $Tuple2(nil, $Tuple2(bd, be))
247+ }
248+ else throw("Strict value is not equal to itself.")
249+ }
250+ else throw("Strict value is not equal to itself.")
251+ }
252+
253+
254+
255+@Callable(aq)
256+func calcUserSwapLimitsMATH (bf) = {
257+ let bg = valueOrElse(getInteger(al, J(bf)), 0)
258+ let bh = ac(invoke(this, "calcSwapLimitMATH", [bg], nil))
259+ if ((bh == bh))
260+ then {
261+ let bi = getIntegerValue(ag, D())
262+ let bj = valueOrElse(getInteger(ag, E(bf)), 0)
263+ let bk = ((height - bj) > bi)
264+ let bl = if (bk)
265+ then 0
266+ else valueOrElse(getInteger(ag, G(bf)), 0)
267+ $Tuple2(nil, $Tuple2(bh, bl))
268+ }
269+ else throw("Strict value is not equal to itself.")
270+ }
271+
272+
273+
274+@Callable(aq)
275+func calcNeutinoMetricsMATH () = {
276+ let aY = getIntegerValue(ah, H())
277+ let bm = valueOrElse(getInteger(ag, x()), 0)
278+ let bn = valueOrElse(getInteger(ag, w()), 0)
279+ let bo = (wavesBalance(ag).regular - bn)
280+ let bp = S(bo, aY)
281+ let bq = (((bm + value(assetInfo(an)).quantity) - assetBalance(ag, an)) - assetBalance(addressFromStringValue(aj), an))
282+ let br = (bp - bq)
283+ let bs = (bq - bp)
284+ let bt = (fraction(br, b, bq) * 100)
285+ let bu = fraction(bp, b, bq)
286+ let aV = value(assetInfo(ap)).quantity
287+ let aX = (aV - assetBalance(ai, ap))
288+ $Tuple2(nil, $Tuple11(aY, bm, bn, bo, bp, bq, br, bt, bu, aX, aV))
289+ }
290+
291+
292+
293+@Callable(aq)
294+func getUnstakeComissionAmountMATH (Q,bv) = {
295+ let bw = N(al, I())
296+ $Tuple2(nil, fraction(Q, pow(2, 0, fraction(-((height - bv)), e, bw), 8, 8, HALFUP), e))
297+ }
298+
299+
300+
301+@Callable(aq)
302+func mergeStakesMATH (bx,by,bz,bA) = {
303+ let bw = N(al, I())
304+ let bB = fraction(bz, pow(2, 0, fraction((bA - by), e, bw), 8, 8, HALFUP), e)
305+ let bC = fraction((bx + bz), e, (bx + bB))
306+ $Tuple2(nil, (by + ((j - (bw * log(bC, 8, 2, 0, 8, HALFUP))) / e)))
230307 }
231308
232309

github/deemru/w8io/026f985 
69.94 ms