tx · GwHC76UTqducv5ydSGKa3NgRFCBe8P499EuCy1ohuPa6

3MuGfNhF98CNBCfthhoJEo6SYUv7zTgkK4J:  -0.04000000 Waves

2022.08.01 07:28 [2164951] smart account 3MuGfNhF98CNBCfthhoJEo6SYUv7zTgkK4J > SELF 0.00000000 Waves

{ "type": 13, "id": "GwHC76UTqducv5ydSGKa3NgRFCBe8P499EuCy1ohuPa6", "fee": 4000000, "feeAssetId": null, "timestamp": 1659328170009, "version": 1, "sender": "3MuGfNhF98CNBCfthhoJEo6SYUv7zTgkK4J", "senderPublicKey": "4DthuG3xjZV9WtZ34Y66AummdAr67wRzwWsVQL4y2bob", "proofs": [ "5ZWQezDkCsKEu2Loh1tx3tDvJJTffk6Yx9dnRqa7S5p43HUfjadyNkUsehGU8mGwoNLg3j7J9F8eGopu3xGqwHKY", "2NdpwVnBP3BpSdEiPkWxBcHiwSzYiyXh9iLgT8Yv18AaL5FmfnqYK9phdBK52V3KT38bCQZwNpQeShoNK4zWQXXv", "2HXwDikPKVUwpPWxTUcxxE8g8gDfpmPtUk3j4tmqhzaPYSteuYgNz9avU1mbqpmjMJP7xri1jxNhkE6vcGisEYmr" ], "script": "base64:AAIFAAAAAAAAACYIAhIHCgUICAEBCBIAEgMKAQESABIAEgMKAQgSBAoCCAESAwoBCAAAAEYAAAAACXNlcGFyYXRvcgIAAAACX18AAAAAA1NFUAIAAAACX18AAAAABU1VTFQ2AAAAAAAAD0JAAAAAAAVNVUxUOAAAAAAABfXhAAAAAAAGTVVMVFg2CQABNgAAAAEFAAAABU1VTFQ2AAAAAAZNVUxUWDgJAAE2AAAAAQUAAAAFTVVMVDgAAAAAB01VTFRYMTgJAAE2AAAAAQAN4Lazp2QAAAAAAAAKV0FWRVNJRFNUUgIAAAAFV0FWRVMAAAAAB1dBVkVTSUQJAAJZAAAAAQUAAAAKV0FWRVNJRFNUUgAAAAAZSWR4Q29udHJvbENmZ05ldXRyaW5vRGFwcAAAAAAAAAAAAQAAAAAYSWR4Q29udHJvbENmZ0F1Y3Rpb25EYXBwAAAAAAAAAAACAAAAABRJZHhDb250cm9sQ2ZnUnBkRGFwcAAAAAAAAAAAAwAAAAAVSWR4Q29udHJvbENmZ01hdGhEYXBwAAAAAAAAAAAEAAAAABxJZHhDb250cm9sQ2ZnTGlxdWlkYXRpb25EYXBwAAAAAAAAAAAFAAAAABVJZHhDb250cm9sQ2ZnUmVzdERhcHAAAAAAAAAAAAYAAAAAHUlkeENvbnRyb2xDZmdOb2RlUmVnaXN0cnlEYXBwAAAAAAAAAAAHAAAAABxJZHhDb250cm9sQ2ZnTnNidFN0YWtpbmdEYXBwAAAAAAAAAAAIAAAAABlJZHhDb250cm9sQ2ZnTWVkaWF0b3JEYXBwAAAAAAAAAAAJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACm1hbmRhdG9yeSAJAAQlAAAAAQUAAAAHYWRkcmVzcwIAAAABLgUAAAADa2V5AgAAAA8gaXMgbm90IGRlZmluZWQBAAAAEWtleUNvbnRyb2xBZGRyZXNzAAAAAAIAAAAcJXMlc19fY29uZmlnX19jb250cm9sQWRkcmVzcwEAAAANa2V5Q29udHJvbENmZwAAAAACAAAAESVzX19jb250cm9sQ29uZmlnAQAAABRyZWFkQ29udHJvbENmZ09yRmFpbAAAAAEAAAAHY29udHJvbAkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAHY29udHJvbAkBAAAADWtleUNvbnRyb2xDZmcAAAAABQAAAANTRVABAAAAGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAAAAAIAAAAKY29udHJvbENmZwAAAANpZHgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQABkQAAAAIFAAAACmNvbnRyb2xDZmcFAAAAA2lkeAkAASwAAAACAgAAAC1Db250cm9sIGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAAGkAAAAAQUAAAADaWR4AAAAAA9jb250cm9sQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAEWtleUNvbnRyb2xBZGRyZXNzAAAAAAIAAAAjM040TlM3ZDRKbzlhNkYxNExpRlVLS1lWZFVra2YyZVA0WngAAAAACmNvbnRyb2xDZmcJAQAAABRyZWFkQ29udHJvbENmZ09yRmFpbAAAAAEFAAAAD2NvbnRyb2xDb250cmFjdAAAAAAMbWF0aENvbnRyYWN0CQEAAAAYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAAAAAgUAAAAKY29udHJvbENmZwUAAAAVSWR4Q29udHJvbENmZ01hdGhEYXBwAAAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAAAAAgUAAAAKY29udHJvbENmZwUAAAAZSWR4Q29udHJvbENmZ05ldXRyaW5vRGFwcAAAAAAPYXVjdGlvbkNvbnRyYWN0CQEAAAAYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAAAAAgUAAAAKY29udHJvbENmZwUAAAAYSWR4Q29udHJvbENmZ0F1Y3Rpb25EYXBwAQAAAAxrZXlCb25kQXNzZXQAAAAAAgAAAA1ib25kX2Fzc2V0X2lkAQAAABprZXlOZXV0cmlub0Nv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AAlvbGRBbW91bnQAAAAIb2xkU3RhcnQAAAAJbmV3QW1vdW50AAAACG5ld1N0YXJ0CQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5SGlzdG9yeVJlY29yZAAAAAMFAAAABHR5cGUFAAAAC3VzZXJBZGRyZXNzBQAAAAR0eElkCQEAAAATZm9ybWF0SGlzdG9yeVJlY29yZAAAAAQFAAAACW9sZEFtb3VudAUAAAAIb2xkU3RhcnQFAAAACW5ld0Ftb3VudAUAAAAIbmV3U3RhcnQBAAAAEUNsYWltSGlzdG9yeUVudHJ5AAAAAwAAAAt1c2VyQWRkcmVzcwAAAAR0eElkAAAADmNsYWltZWRSZXdhcmRzCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5SGlzdG9yeVJlY29yZAAAAAMCAAAABWNsYWltBQAAAAt1c2VyQWRkcmVzcwUAAAAEdHhJZAkBAAAAGGZvcm1hdENsYWltSGlzdG9yeVJlY29yZAAAAAIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAADmNsYWltZWRSZXdhcmRzAQAAAAtTdGF0c1Jlc3VsdAAAAAMAAAAOdG90YWxMb2NrZWRJbmMAAAAMbG9ja0NvdW50SW5jAAAADXVzZXJzQ291bnRJbmMEAAAACmxvY2tzQ291bnQJAQAAAAxnZXRJbnRPclplcm8AAAABCQEAAAASa2V5U3RhdHNMb2Nrc0NvdW50AAAAAAQAAAAKdXNlcnNDb3VudAkBAAAADGdldEludE9yWmVybwAAAAEJAQAAABJrZXlTdGF0c1VzZXJzQ291bnQAAAAABAAAAAt0b3RhbEFtb3VudAkBAAAADGdldEludE9yWmVybwAAAAEJAQAAABdrZXlMb2NrUGFyYW1Ub3RhbEFtb3VudAAAAAAEAAAADnRvdGFsQW1vdW50TmV3CQAAZAAAAAIFAAAAC3RvdGFsQW1vdW50BQAAAA50b3RhbExvY2tlZEluYwkABRUAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASa2V5U3RhdHNMb2Nrc0NvdW50AAAAAAkAAGQAAAACBQAAAApsb2Nrc0NvdW50BQAAAAxsb2NrQ291bnRJbmMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABJrZXlTdGF0c1VzZXJzQ291bnQAAAAACQAAZAAAAAIFAAAACnVzZXJzQ291bnQFAAAADXVzZXJzQ291bnRJbmMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdrZXlMb2NrUGFyYW1Ub3RhbEFtb3VudAAAAAAFAAAADnRvdGFsQW1vdW50TmV3BQAAAANuaWwFAAAAC3RvdGFsQW1vdW50BQAAAA50b3RhbEFtb3VudE5ldwEAAAAPTG9ja1BhcmFtc0VudHJ5AAAAAwAAAAt1c2VyQWRkcmVzcwAAAAZhbW91bnQAAAAFc3RhcnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50AAAAAQUAAAALdXNlckFkZHJlc3MFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmtleUxvY2tQYXJhbVN0YXJ0QmxvY2sAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAFc3RhcnQFAAAAA25pbAEAAAAPZ2V0UGFyYW1zT3JGYWlsAAAAAAkABRUAAAADCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAAxrZXlCb25kQXNzZXQAAAAACQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAEGtleU1pbkxvY2tBbW91bnQAAAAACQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAC2tleUhhbGZMaWZlAAAAAAEAAAAMaXNBY3RpdmVVc2VyAAAAAQAAAAt1c2VyQWRkcmVzcwkAAGYAAAACCQEAAAAMZ2V0SW50T3JFbHNlAAAAAgkBAAAAFmtleUxvY2tQYXJhbVVzZXJBbW91bnQAAAABBQAAAAt1c2VyQWRkcmVzcwAAAAAAAAAAAAAAAAAAAAAAAAEAAAATZ2V0VXNlclBhcmFtc09yVW5pdAAAAAEAAAALdXNlckFkZHJlc3MDCQEAAAAMaXNBY3RpdmVVc2VyAAAAAQUAAAALdXNlckFkZHJlc3MJAAUVAAAAAwcJAQAAAAxnZXRJbnRPckZhaWwAAAABCQEAAAAWa2V5TG9ja1BhcmFtVXNlckFtb3VudAAAAAEFAAAAC3VzZXJBZGRyZXNzCQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAFmtleUxvY2tQYXJhbVN0YXJ0QmxvY2sAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAEdW5pdAEAAAATZ2V0VXNlclBhcmFtc09yRmFpbAAAAAEAAAALdXNlckFkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAE2dldFVzZXJQYXJhbXNPclVuaXQAAAABBQAAAAt1c2VyQWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAABVVzZXIgCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzAgAAAA8gaXMgbm90IGRlZmluZWQAAAAAEnN1cHBvcnRlZEFzc2V0c1N0cgkBAAAADGdldFN0ck9yRWxzZQAAAAIJAQAAABhrZXlTdXBwb3J0ZWRSZXdhcmRBc3NldHMAAAAAAgAAAAAAAAAAE3N1cHBvcnRlZEFzc2V0c0xpc3QJAAS1AAAAAgUAAAASc3VwcG9ydGVkQXNzZXRzU3RyAgAAAAFfAQAAAApjYWxjUmV3YXJkAAAABQAAAAt1c2VyQWRkcmVzcwAAAAdhc3NldElkAAAADXN0YWtlZEFtb3VudFgAAAAOZGVwb3NpdE51bVVzZXIAAAAOZGVwb3NpdE51bUxhc3QEAAAAF3Jld2FyZFBlck5zYnRTdW1MYXN0S0VZCQEAAAAVa2V5UmV3YXJkUGVyTnNidFN1bUF0AAAAAgUAAAAOZGVwb3NpdE51bUxhc3QFAAAAB2Fzc2V0SWQEAAAACnN1bUxhc3RYMTgJAAGnAAAAAQkBAAAADGdldFN0ck9yRWxzZQAAAAIJAQAAABVrZXlSZXdhcmRQZXJOc2J0U3VtQXQAAAACBQAAAA5kZXBvc2l0TnVtTGFzdAUAAAAHYXNzZXRJZAIAAAABMAQAAAAKc3VtVXNlclgxOAkAAacAAAABCQEAAAAMZ2V0U3RyT3JFbHNlAAAAAgkBAAAAFWtleVJld2FyZFBlck5zYnRTdW1BdAAAAAIFAAAADmRlcG9zaXROdW1Vc2VyBQAAAAdhc3NldElkAgAAAAEwBAAAABFyZXdhcmREeW5hbWljUGFydAkAAaAAAAABCQABPAAAAAMJAAE4AAAAAgUAAAAKc3VtTGFzdFgxOAUAAAAKc3VtVXNlclgxOAUAAAANc3Rha2VkQW1vdW50WAUAAAAHTVVMVFgxOAQAAAATcmV3YXJkQ2FjaGVkUGFydEtFWQkBAAAACWtleVJld2FyZAAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAAdhc3NldElkBAAAABByZXdhcmRDYWNoZWRQYXJ0CQEAAAAMZ2V0SW50T3JFbHNlAAAAAgUAAAATcmV3YXJkQ2FjaGVkUGFydEtFWQAAAAAAAAAAAAkABRYAAAAECQAAZAAAAAIFAAAAEHJld2FyZENhY2hlZFBhcnQFAAAAEXJld2FyZER5bmFtaWNQYXJ0BQAAABByZXdhcmRDYWNoZWRQYXJ0BQAAABFyZXdhcmREeW5hbWljUGFydAUAAAATcmV3YXJkQ2FjaGVkUGFydEtFWQEAAAANUmV3YXJkRW50cmllcwAAAAMAAAAJaXNOZXdVc2VyAAAAC3VzZXJBZGRyZXNzAAAADHN0YWtlZEFtb3VudAQAAAANc3Rha2VkQW1vdW50WAkAATYAAAABBQAAAAxzdGFrZWRBbW91bnQEAAAAG3VzZXJSZXdhcmRGcm9tRGVwb3NpdE51bUtFWQkBAAAAG2tleVVzZXJSZXdhcmRGcm9tRGVwb3NpdE51bQAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAA5kZXBvc2l0TnVtVXNlcgkBAAAADGdldEludE9yRWxzZQAAAAIFAAAAG3VzZXJSZXdhcmRGcm9tRGVwb3NpdE51bUtFWQD//////////wQAAAAOZGVwb3NpdE51bUxhc3QJAQAAAAxnZXRJbnRPckVsc2UAAAACCQEAAAARa2V5RGVwb3NpdE51bUxhc3QAAAAAAP//////////CgEAAAAbZm9yRWFjaEFzc2V0Q2FjaGVVc2VyUmV3YXJkAAAAAgAAAAVhY2N1bQAAAAVhc3NldAQAAAALJHQwODQwOTg1NDQJAQAAAApjYWxjUmV3YXJkAAAABQUAAAALdXNlckFkZHJlc3MFAAAABWFzc2V0BQAAAA1zdGFrZWRBbW91bnRYBQAAAA5kZXBvc2l0TnVtVXNlcgUAAAAOZGVwb3NpdE51bUxhc3QEAAAAC3Jld2FyZFRvdGFsCAUAAAALJHQwODQwOTg1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MF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABt1c2VyUmV3YXJkRnJvbURlcG9zaXROdW1LRVkFAAAADmRlcG9zaXROdW1MYXN0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAJHVuY292ZXJlZCBjb25kaXRpb246IGRlcG9zaXROdW1MYXN0PQkAAaQAAAABBQAAAA5kZXBvc2l0TnVtTGFzdAIAAAAQIGRlcG9zaXROdW1Vc2VyPQkAAaQAAAABBQAAAA5kZXBvc2l0TnVtVXNlcgEAAAAiSW5jcmVtZW50Tm90RGlzdHJpYnV0ZWRSZXdhcmRFbnRyeQAAAAIAAAADdGtuAAAACWFtb3VudEluYwQAAAAXbm90RGlzdHJpYnV0ZWRSZXdhcmRLRVkJAQAAABdrZXlOb3REaXN0cmlidXRlZFJld2FyZAAAAAEFAAAAA3RrbgQAAAAUbm90RGlzdHJpYnV0ZWRSZXdhcmQJAQAAAAxnZXRJbnRPckVsc2UAAAACBQAAABdub3REaXN0cmlidXRlZFJld2FyZEtFWQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXbm90RGlzdHJpYnV0ZWRSZXdhcmRLRVkJAABkAAAAAgUAAAAUbm90RGlzdHJpYnV0ZWRSZXdhcmQFAAAACWFtb3VudEluYwUAAAADbmlsAAAACAAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAUAAAAXbmV1dHJpbm9Db250cmFjdEFkZHJlc3MAAAATbWF0aENvbnRyYWN0QWRkcmVzcwAAAA1taW5Mb2NrQW1vdW50AAAACGhhbGZMaWZlAAAAFXN1cHBvcnRlZFJld2FyZEFzc2V0cwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAABFQZXJtaXNzaW9uIGRlbmllZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAaa2V5TmV1dHJpbm9Db250cmFjdEFkZHJlc3MAAAAABQAAABduZXV0cmlub0NvbnRyYWN0QWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAWa2V5TWF0aENvbnRyYWN0QWRkcmVzcwAAAAAFAAAAE21hdGhDb250cmFjdEFkZHJlc3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABBrZXlNaW5Mb2NrQW1vdW50AAAAAAUAAAANbWluTG9ja0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAC2tleUhhbGZMaWZlAAAAAAUAAAAIaGFsZkxpZmUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGGtleVN1cHBvcnRlZFJld2FyZEFzc2V0cwAAAAAFAAAAFXN1cHBvcnRlZFJld2FyZEFzc2V0cwUAAAADbmlsAAAAAWkBAAAABXN0YWtlAAAAAAQAAAANJHQwMTIyMTgxMjI4MAkBAAAAD2dldFBhcmFtc09yRmFpbAAAAAAEAAAAC2JvbmRBc3NldElkCAUAAAANJHQwMTIyMTgxMjI4MAAAAAJfMQQAAAANbWluTG9ja0Ftb3VudAgFAAAADSR0MDEyMjE4MTIyODAAAAACXzIEAAAACGhhbGZMaWZlCAUAAAANJHQwMTIyMTgxMjI4MAAAAAJfMwMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAVSW52YWxpZCBwYXltZW50cyBzaXplBAAAAAdwYXltZW50CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAZhbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAATaW52YWxpZEFzc2V0TWVzc2FnZQkAASwAAAACCQABLAAAAAICAAAAD0ludmFsaWQgYXNzZXQuIAkAAlgAAAABBQAAAAtib25kQXNzZXRJZAIAAAAMIGlzIGV4cGVjdGVkBAAAAAdhc3NldElkCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAAE2ludmFsaWRBc3NldE1lc3NhZ2UDCQEAAAACIT0AAAACBQAAAAdhc3NldElkBQAAAAtib25kQXNzZXRJZAkAAAIAAAABBQAAABNpbnZhbGlkQXNzZXRNZXNzYWdlBAAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAAGY2FsbGVyBAAAAA51c2VyQWRkcmVzc1N0cgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADSR0MDEyODIyMTI5MjkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAABNnZXRVc2VyUGFyYW1zT3JVbml0AAAAAQUAAAALdXNlckFkZHJlc3MJAAUVAAAAAwYAAAAAAAAAAAAA//////////8EAAAACWlzTmV3VXNlcggFAAAADSR0MDEyODIyMTI5MjkAAAACXzEEAAAACmxvY2tBbW91bnQIBQAAAA0kdDAxMjgyMjEyOTI5AAAAAl8yBAAAAA9sb2NrU3RhcnRIZWlnaHQIBQAAAA0kdDAxMjgyMjEyOTI5AAAAAl8zBAAAAAxtZXJnZWRBbW91bnQDBQAAAAlpc05ld1VzZXIFAAAABmFtb3VudAkAAGQAAAACBQAAAAZhbW91bnQFAAAACmxvY2tBbW91bnQEAAAAEW1lcmdlZFN0YXJ0SGVpZ2h0AwUAAAAJaXNOZXdVc2VyBQAAAAZoZWlnaHQJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAABNtZXJnZVN0YWtlc1JFQURPTkxZCQAETAAAAAIFAAAABmFtb3VudAkABEwAAAACBQAAAAZoZWlnaHQJAARMAAAAAgUAAAAKbG9ja0Ftb3VudAkABEwAAAACBQAAAA9sb2NrU3RhcnRIZWlnaHQJAARMAAAAAgUAAAAIaGFsZkxpZmUFAAAAA25pbAUAAAADbmlsAwkAAGYAAAACBQAAAA1taW5Mb2NrQW1vdW50BQAAAAxtZXJnZWRBbW91bnQJAAACAAAAAQkAASwAAAACAgAAABNNaW4gbG9jayBhbW91bnQgaXMgCQABpAAAAAEFAAAADW1pbkxvY2tBbW91bnQEAAAADSR0MDEzMjkwMTMzOTIJAQAAAAtTdGF0c1Jlc3VsdAAAAAMFAAAABmFtb3VudAAAAAAAAAAAAQMFAAAACWlzTmV3VXNlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAMc3RhdHNFbnRyaWVzCAUAAAANJHQwMTMyOTAxMzM5MgAAAAJfMQQAAAALdG90YWxTdGFrZWQIBQAAAA0kdDAxMzI5MDEzMzkyAAAAAl8yBAAAAA50b3RhbFN0YWtlZE5ldwgFAAAADSR0MDEzMjkwMTMzOTIAAAACXzMJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAARMAAAAAgkBAAAAEkhpc3RvcnlSZWNvcmRFbnRyeQAAAAcCAAAABXN0YWtlBQAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAKbG9ja0Ftb3VudAUAAAAPbG9ja1N0YXJ0SGVpZ2h0BQAAAAxtZXJnZWRBbW91bnQFAAAAEW1lcmdlZFN0YXJ0SGVpZ2h0BQAAAANuaWwJAQAAAA1SZXdhcmRFbnRyaWVzAAAAAwUAAAAJaXNOZXdVc2VyBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAKbG9ja0Ftb3VudAkBAAAAD0xvY2tQYXJhbXNFbnRyeQAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAAxtZXJnZWRBbW91bnQFAAAAEW1lcmdlZFN0YXJ0SGVpZ2h0BQAAAAxzdGF0c0VudHJpZXMAAAABaQEAAAAHdW5zdGFrZQAAAAEAAAAGYW1vdW50AwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAACN1bnN0YWtlIGRvZXNuJ3QgcmVxdWlyZSBhbnkgcGF5bWVudAQAAAALdXNlckFkZHJlc3MIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlckFkZHJlc3NTdHIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MEAAAADSR0MDEzODc4MTM5NDAJAQAAAA9nZXRQYXJhbXNPckZhaWwAAAAABAAAAAtib25kQXNzZXRJZAgFAAAADSR0MDEzODc4MTM5NDAAAAACXzEEAAAADW1pbkxvY2tBbW91bnQIBQAAAA0kdDAx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ZAUAAAAHV0FWRVNJRAUAAAAGTVVMVFg4BQAAAAZNVUxUWDYEAAAAB2Ftb3VudFgJAAE2AAAAAQUAAAAGYW1vdW50BAAAAAt0b3RhbFN0YWtlZAkBAAAADGdldEludE9yRWxzZQAAAAIJAQAAABdrZXlMb2NrUGFyYW1Ub3RhbEFtb3VudAAAAAAAAAAAAAAAAAAEAAAADHRvdGFsU3Rha2VkWAkAATYAAAABBQAAAAt0b3RhbFN0YWtlZAMJAABmAAAAAgAAAAAAAAAAAAUAAAALdG90YWxTdGFrZWQJAAACAAAAAQIAAAAbVE9ETzogY2FzZSBpcyBub3Qgc3VwcG9ydGVkAwkAAAAAAAACBQAAAAt0b3RhbFN0YWtlZAAAAAAAAAAAAAkBAAAAIkluY3JlbWVudE5vdERpc3RyaWJ1dGVkUmV3YXJkRW50cnkAAAACBQAAAA1wbXRBc3NldElkU3RyBQAAAAZhbW91bnQEAAAAEHJld2FyZFBlck5zYnRYMTgJAAE8AAAAAwUAAAAHYW1vdW50WAUAAAAHTVVMVFgxOAUAAAAMdG90YWxTdGFrZWRYBAAAABFkZXBvc2l0TnVtTGFzdEtFWQkBAAAAEWtleURlcG9zaXROdW1MYXN0AAAAAAQAAAAOZGVwb3NpdE51bUxhc3QJAQAAAAxnZXRJbnRPckVsc2UAAAACBQAAABFkZXBvc2l0TnVtTGFzdEtFWQD//////////wQAAAANZGVwb3NpdE51bU5ldwkAAGQAAAACBQAAAA5kZXBvc2l0TnVtTGFzdAAAAAAAAAAAAQMJAQAAAAEhAAAAAQkBAAAACGNvbnRhaW5zAAAAAgUAAAASc3VwcG9ydGVkQXNzZXRzU3RyBQAAAA1wbXRBc3NldElkU3RyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACBQAAABJzdXBwb3J0ZWRBc3NldHNTdHICAAAAESBkb2Vzbid0IGNvbnRhaW4gBQAAAA1wbXRBc3NldElkU3RyCgEAAAAXcmVmcmVzaFJld2FyZFBlck5zYnRTVU0AAAACAAAABWFjY3VtAAAACW5leHRBc3NldAQAAAAWcmV3YXJkUGVyTnNidFN1bU5ld0tFWQkBAAAAFWtleVJld2FyZFBlck5zYnRTdW1BdAAAAAIFAAAADWRlcG9zaXROdW1OZXcFAAAACW5leHRBc3NldAQAAAAKc3VtTGFzdFN0cgkBAAAADGdldFN0ck9yRWxzZQAAAAIJAQAAABVrZXlSZXdhcmRQZXJOc2J0U3VtQXQAAAACBQAAAA5kZXBvc2l0TnVtTGFzdAUAAAAJbmV4dEFzc2V0AgAAAAEwCQAETQAAAAIFAAAABWFjY3VtAwkAAAAAAAACBQAAAAluZXh0QXNzZXQFAAAADXBtdEFzc2V0SWRTdHIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFnJld2FyZFBlck5zYnRTdW1OZXdLRVkJAAGmAAAAAQkAATcAAAACCQABpwAAAAEFAAAACnN1bUxhc3RTdHIFAAAAEHJld2FyZFBlck5zYnRYMTgJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFnJld2FyZFBlck5zYnRTdW1OZXdLRVkFAAAACnN1bUxhc3RTdHIJAARNAAAAAgoAAAAAAiRsBQAAABNzdXBwb3J0ZWRBc3NldHNMaXN0CgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAUAAAADbmlsCgEAAAAFJGYwXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAXcmVmcmVzaFJld2FyZFBlck5zYnRTVU0AAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARZGVwb3NpdE51bUxhc3RLRVkFAAAADWRlcG9zaXROdW1OZXcAAAABaQEAAAAMY2xhaW1SZXdhcmRzAAAAAAQAAAALdXNlckFkZHJlc3MIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlckFkZHJlc3NTdHIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MDCQAAZgAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAAZcGF5bWVudHMgYXJlIG5vdCBhY2NlcHRlZAQAAAANJHQwMTY3MzIxNjgzNwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAE2dldFVzZXJQYXJhbXNPclVuaXQAAAABBQAAAAt1c2VyQWRkcmVzcwkABRUAAAADBgAAAAAAAAAAAAAAAAAAAAAAAAQAAAAJaXNOZXdVc2VyCAUAAAANJHQwMTY3MzIxNjgzNwAAAAJfMQQAAAAMc3Rha2VkQW1vdW50CAUAAAANJHQwMTY3MzIxNjgzNwAAAAJfMgQAAAAMc3Rha2luZ1N0YXJ0CAUAAAANJHQwMTY3MzIxNjgzNwAAAAJfMwQAAAANc3Rha2VkQW1vdW50WAkAATYAAAABBQAAAAxzdGFrZWRBbW91bnQEAAAAG3VzZXJSZXdhcmRGcm9tRGVwb3NpdE51bUtFWQkBAAAAG2tleVVzZXJSZXdhcmRGcm9tRGVwb3NpdE51bQAAAAEFAAAADnVzZXJBZGRyZXNzU3RyBAAAAA5kZXBvc2l0TnVtVXNlcgkBAAAADGdldEludE9yRWxzZQAAAAIFAAAAG3VzZXJSZXdhcmRGcm9tRGVwb3NpdE51bUtFWQD//////////wQAAAAOZGVwb3NpdE51bUxhc3QJAQAAAAxnZXRJbnRPckVsc2UAAAACCQEAAAARa2V5RGVwb3NpdE51bUxhc3QAAAAAAP//////////CgEAAAAfZm9yRWFjaEFzc2V0Q2FsY1VuY2xhaW1lZFJld2FyZAAAAAIAAAAFYWNjdW0AAAAFYXNzZXQEAAAADSR0MDE3MjA4MTczNDYJAQAAAApjYWxjUmV3YXJkAAAABQUAAAAOdXNlckFkZHJl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AgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgQAAAALdXNlckFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADnVzZXJBZGRyZXNzU3RyBAAAAA0kdDAxODcxNTE4ODIwCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAATZ2V0VXNlclBhcmFtc09yVW5pdAAAAAEFAAAAC3VzZXJBZGRyZXNzCQAFFQAAAAMGAAAAAAAAAAAAAAAAAAAAAAAABAAAAAlpc05ld1VzZXIIBQAAAA0kdDAxODcxNTE4ODIwAAAAAl8xBAAAAAxzdGFrZWRBbW91bnQIBQAAAA0kdDAxODcxNTE4ODIwAAAAAl8yBAAAAAxzdGFraW5nU3RhcnQIBQAAAA0kdDAxODcxNTE4ODIwAAAAAl8zBAAAAA1zdGFrZWRBbW91bnRYCQABNgAAAAEFAAAADHN0YWtlZEFtb3VudAQAAAAbdXNlclJld2FyZEZyb21EZXBvc2l0TnVtS0VZCQEAAAAba2V5VXNlclJld2FyZEZyb21EZXBvc2l0TnVtAAAAAQUAAAAOdXNlckFkZHJlc3NTdHIEAAAADmRlcG9zaXROdW1Vc2VyCQEAAAAMZ2V0SW50T3JFbHNlAAAAAgUAAAAbdXNlclJld2FyZEZyb21EZXBvc2l0TnVtS0VZAP//////////BAAAAA5kZXBvc2l0TnVtTGFzdAkBAAAADGdldEludE9yRWxzZQAAAAIJAQAAABFrZXlEZXBvc2l0TnVtTGFzdAAAAAAA//////////8KAQAAAB9mb3JFYWNoQXNzZXRDYWxjVW5jbGFpbWVkUmV3YXJkAAAAAgAAAAVhY2N1bQAAAAVhc3NldAQAAAANJHQwMTkxNjYxOTMwNAkBAAAACmNhbGNSZXdhcmQAAAAFBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAFYXNzZXQFAAAADXN0YWtlZEFtb3VudFgFAAAADmRlcG9zaXROdW1Vc2VyBQAAAA5kZXBvc2l0TnVtTGFzdAQAAAALcmV3YXJkVG90YWwIBQAAAA0kdDAxOTE2NjE5MzA0AAAAAl8xBAAAAAZjYWNoZWQIBQAAAA0kdDAxOTE2NjE5MzA0AAAAAl8yBAAAAAdkeW5hbWljCAUAAAANJHQwMTkxNjYxOTMwNAAAAAJfMwQAAAATcmV3YXJkQ2FjaGVkUGFydEtFWQgFAAAADSR0MDE5MTY2MTkzMDQAAAACXzQEAAAAB2NsYWltZWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQfAAAAAQkBAAAACmtleUNsYWltZWQAAAACBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAFYXNzZXQAAAAAAAAAAAAJAAEsAAAAAgkAASwAAAACBQAAAAVhY2N1bQkABLkAAAACCQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAAGkAAAAAQUAAAALcmV3YXJkVG90YWwJAARMAAAAAgkAAaQAAAABBQAAAAdjbGFpbWVkBQAAAANuaWwCAAAAAToCAAAAAV8KAAAAAAIkbAUAAAATc3VwcG9ydGVkQXNzZXRzTGlzdAoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzACAAAAAAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAAH2ZvckVhY2hBc3NldENhbGNVbmNsYWltZWRSZXdhcmQAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKCQAFFAAAAAIFAAAAA25pbAkBAAAACWRyb3BSaWdodAAAAAIFAAAAEnVuY2xhaW1lZFJld2FyZFN0cgAAAAAAAAAAAQAAAAFpAQAAABhuc2J0VW5zdGFraW5nU1lTUkVBRE9OTFkAAAACAAAAFXVzZXJBZGRyZXNzU3RyT3JFbXB0eQAAAAp1bnN0YWtlQW10BAAAAAtyZXN1bHRBcnJheQMJAAAAAAAAAgUAAAAVdXNlckFkZHJlc3NTdHJPckVtcHR5AgAAAAAJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACAAAAAAAAAAAACQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsBAAAAAt1c2VyQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAVdXNlckFkZHJlc3NTdHJPckVtcHR5BAAAAA0kdDAxOTg0MzE5OTA1CQEAAAAPZ2V0UGFyYW1zT3JGYWlsAAAAAAQAAAALbnNidEFzc2V0SWQIBQAAAA0kdDAxOTg0MzE5OTA1AAAAAl8xBAAAAA1taW5Mb2NrQW1vdW50CAUAAAANJHQwMTk4NDMxOTkwNQAAAAJfMgQAAAAIaGFsZkxpZmUIBQAAAA0kdDAxOTg0MzE5OTA1AAAAAl8zBAAAAA0kdDAxOTkwODE5OTg0CQEAAAATZ2V0VXNlclBhcmFtc09yRmFpbAAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAAlpc05ld1VzZXIIBQAAAA0kdDAxOTkwODE5OTg0AAAAAl8xBAAAAAxzdGFrZWRBbW91bnQIBQAAAA0kdDAxOTkwODE5OTg0AAAAAl8yBAAAAAlsb2NrU3RhcnQIBQAAAA0kdDAxOTkwODE5OTg0AAAAAl8zBAAAAA9zdGFrZWRBbW91bnRORVcJAABlAAAAAgUAAAAMc3Rha2VkQW1vdW50BQAAAAp1bnN0YWtlQW10BAAAAA9jb21pc3Npb25BbW91bnQJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAACFnZXRVbnN0YWtlQ29taXNzaW9uQW1vdW50UkVBRE9OTFkJAARMAAAAAgUAAAAKdW5zdGFrZUFtdAkABEwAAAACBQAAAAlsb2NrU3RhcnQJAARMAAAA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", "chainId": 84, "height": 2164951, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 91K4ci1qHUfjVPBT8ESPr26haHhYEcQeLJLc4uESEbzJ Next: 8maSBmYqQFexo1HMTtVeSuaCdBwnfMisExQsCgJ9Mrpt Diff:
OldNewDifferences
531531
532532
533533 @Callable(bC)
534+func nsbtUnstakingSYSREADONLY (cG,cH) = {
535+ let cI = if ((cG == ""))
536+ then [0, 0, 0, 0]
537+ else {
538+ let M = addressFromStringValue(cG)
539+ let cJ = aP()
540+ let cK = cJ._1
541+ let bF = cJ._2
542+ let bG = cJ._3
543+ let cL = aS(M)
544+ let bh = cL._1
545+ let bi = cL._2
546+ let bY = cL._3
547+ let cM = (bi - cH)
548+ let bZ = aq(invoke(D, "getUnstakeComissionAmountREADONLY", [cH, bY, bG], nil))
549+ let cN = (cH - bZ)
550+[bi, cM, cN, bZ]
551+ }
552+ $Tuple2(nil, cI)
553+ }
554+
555+
556+
557+@Callable(bC)
534558 func nsbtStakingSYSREADONLY (bM) = {
535- let cG = ai(R(), 0)
559+ let cO = ai(R(), 0)
536560 if ((bM == ""))
537- then $Tuple2(nil, [0, cG, 0])
561+ then $Tuple2(nil, [0, cO, 0])
538562 else {
539563 let M = am(bM)
540- let cH = valueOrElse(aR(M), $Tuple3(true, 0, 0))
541- let bh = cH._1
542- let cI = cH._2
543- let cp = cH._3
544- $Tuple2(nil, [cI, cG, cp])
564+ let cP = valueOrElse(aR(M), $Tuple3(true, 0, 0))
565+ let bh = cP._1
566+ let cQ = cP._2
567+ let cp = cP._3
568+ $Tuple2(nil, [cQ, cO, cp])
545569 }
546570 }
547571
548572
549-@Verifier(cJ)
550-func cK () = {
551- let cL = makeString(["ExtEEK19nmKj9mCpnWyvEEJFYATLMcVEMvohhUHkyHNm", "Ev5py5FfBQX9cZpYKnfQrTB49Byf8QmpZWeDVRim4yV7", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR"], b)
552- let cM = split(valueOrElse(getString(C, "%s__multisig"), cL), b)
553- let cN = ((((if (sigVerify(cJ.bodyBytes, cJ.proofs[0], fromBase58String(cM[0])))
573+@Verifier(cR)
574+func cS () = {
575+ let cT = makeString(["ExtEEK19nmKj9mCpnWyvEEJFYATLMcVEMvohhUHkyHNm", "Ev5py5FfBQX9cZpYKnfQrTB49Byf8QmpZWeDVRim4yV7", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR"], b)
576+ let cU = split(valueOrElse(getString(C, "%s__multisig"), cT), b)
577+ let cV = ((((if (sigVerify(cR.bodyBytes, cR.proofs[0], fromBase58String(cU[0])))
554578 then 1
555- else 0) + (if (sigVerify(cJ.bodyBytes, cJ.proofs[1], fromBase58String(cM[1])))
579+ else 0) + (if (sigVerify(cR.bodyBytes, cR.proofs[1], fromBase58String(cU[1])))
556580 then 1
557- else 0)) + (if (sigVerify(cJ.bodyBytes, cJ.proofs[2], fromBase58String(cM[2])))
581+ else 0)) + (if (sigVerify(cR.bodyBytes, cR.proofs[2], fromBase58String(cU[2])))
558582 then 1
559- else 0)) + (if (sigVerify(cJ.bodyBytes, cJ.proofs[3], fromBase58String(cM[3])))
583+ else 0)) + (if (sigVerify(cR.bodyBytes, cR.proofs[3], fromBase58String(cU[3])))
560584 then 2
561585 else 0))
562- (cN >= 3)
586+ (cV >= 3)
563587 }
564588
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "__"
77
88 let c = 1000000
99
1010 let d = 100000000
1111
1212 let e = toBigInt(c)
1313
1414 let f = toBigInt(d)
1515
1616 let g = toBigInt(1000000000000000000)
1717
1818 let h = "WAVES"
1919
2020 let i = fromBase58String(h)
2121
2222 let j = 1
2323
2424 let k = 2
2525
2626 let l = 3
2727
2828 let m = 4
2929
3030 let n = 5
3131
3232 let o = 6
3333
3434 let p = 7
3535
3636 let q = 8
3737
3838 let r = 9
3939
4040 func s (t,u) = valueOrErrorMessage(getString(t, u), (((("mandatory " + toString(t)) + ".") + u) + " is not defined"))
4141
4242
4343 func v () = "%s%s__config__controlAddress"
4444
4545
4646 func w () = "%s__controlConfig"
4747
4848
4949 func x (y) = split(s(y, w()), b)
5050
5151
5252 func z (A,B) = valueOrErrorMessage(addressFromString(A[B]), ("Control cfg doesn't contain address at index " + toString(B)))
5353
5454
5555 let C = addressFromStringValue(valueOrElse(getString(this, v()), "3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx"))
5656
5757 let A = x(C)
5858
5959 let D = z(A, m)
6060
6161 let E = z(A, j)
6262
6363 let F = z(A, k)
6464
6565 func G () = "bond_asset_id"
6666
6767
6868 func H () = "%s__neutrinoContractAddress"
6969
7070
7171 func I () = "%s__mathContract"
7272
7373
7474 func J () = "%s__minLockAmount"
7575
7676
7777 func K () = "%s__halfLife"
7878
7979
8080 func L (M) = makeString(["%s%s%s", "paramByUser", toString(M), "amount"], a)
8181
8282
8383 func N (M) = makeString(["%s%s%s", "paramByUser", toString(M), "start"], a)
8484
8585
8686 func O (P,M,Q) = makeString(["%s%s%s%s", "history", P, toString(M), toBase58String(Q)], a)
8787
8888
8989 func R () = makeString(["%s%s", "stats", "activeTotalLocked"], a)
9090
9191
9292 func S () = makeString(["%s%s", "stats", "locksCount"], a)
9393
9494
9595 func T () = makeString(["%s%s", "stats", "activeUsersCount"], a)
9696
9797
9898 func U () = "%s__nextPeriod"
9999
100100
101101 func V () = "supportedRewardAssets"
102102
103103
104104 func W () = makeString(["%s%s%s", "dep", "lastNum"], a)
105105
106106
107107 func X (M) = makeString(["%s%s%s", "userRwdFromDepNum", M], a)
108108
109109
110110 func Y (Z,aa) = makeString(["%s%d", "rwdPerNsbtSumByDepNum", toString(Z), aa], a)
111111
112112
113113 func ab (M,aa) = makeString(["%s%s%s", "rwd", M, aa], a)
114114
115115
116116 func ac (M,aa) = makeString(["%s%s%s", "clm", M, aa], a)
117117
118118
119119 func ad (aa) = makeString(["%s%s", "notDistributed", aa], a)
120120
121121
122122 func ae (af,ag) = fraction(toBigInt(af), g, ag)
123123
124124
125125 func ah (u) = valueOrElse(getInteger(this, u), 0)
126126
127127
128128 func ai (u,aj) = valueOrElse(getInteger(this, u), aj)
129129
130130
131131 func ak (u) = valueOrErrorMessage(getInteger(this, u), (("Mandatory this." + u) + " is not defined"))
132132
133133
134134 func al (u,aj) = valueOrElse(getString(this, u), aj)
135135
136136
137137 func am (an) = valueOrErrorMessage(addressFromString(an), ("couldn't parse passed addressStr=" + an))
138138
139139
140140 func ao (ap) = if ((ap == h))
141141 then unit
142142 else fromBase58String(ap)
143143
144144
145145 func aq (ar) = {
146146 let as = ar
147147 if ($isInstanceOf(as, "Int"))
148148 then {
149149 let at = as
150150 at
151151 }
152152 else throw("fail to cast into Int")
153153 }
154154
155155
156156 func au (av,aw,ax,ay) = makeString(["%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(av), toString(aw), toString(ax), toString(ay)], a)
157157
158158
159159 func az (aA,aB) = makeString(["%s%d%d%s", aA, toString(lastBlock.height), toString(lastBlock.timestamp), aB], a)
160160
161161
162162 func aC (P,M,Q,av,aw,ax,ay) = StringEntry(O(P, M, Q), au(av, aw, ax, ay))
163163
164164
165165 func aD (M,Q,aB) = StringEntry(O("claim", M, Q), az(toString(M), aB))
166166
167167
168168 func aE (aF,aG,aH) = {
169169 let aI = ah(S())
170170 let aJ = ah(T())
171171 let aK = ah(R())
172172 let aL = (aK + aF)
173173 $Tuple3([IntegerEntry(S(), (aI + aG)), IntegerEntry(T(), (aJ + aH)), IntegerEntry(R(), aL)], aK, aL)
174174 }
175175
176176
177177 func aM (M,aN,aO) = [IntegerEntry(L(M), aN), IntegerEntry(N(M), aO)]
178178
179179
180180 func aP () = $Tuple3(fromBase58String(getStringValue(E, G())), ak(J()), ak(K()))
181181
182182
183183 func aQ (M) = (ai(L(M), 0) > 0)
184184
185185
186186 func aR (M) = if (aQ(M))
187187 then $Tuple3(false, ak(L(M)), ak(N(M)))
188188 else unit
189189
190190
191191 func aS (M) = valueOrErrorMessage(aR(M), (("User " + toString(M)) + " is not defined"))
192192
193193
194194 let aT = al(V(), "")
195195
196196 let aU = split(aT, "_")
197197
198198 func aV (M,aW,aX,aY,aZ) = {
199199 let ba = Y(aZ, aW)
200200 let bb = parseBigIntValue(al(Y(aZ, aW), "0"))
201201 let bc = parseBigIntValue(al(Y(aY, aW), "0"))
202202 let bd = toInt(fraction((bb - bc), aX, g))
203203 let be = ab(M, aW)
204204 let bf = ai(be, 0)
205205 $Tuple4((bf + bd), bf, bd, be)
206206 }
207207
208208
209209 func bg (bh,M,bi) = {
210210 let aX = toBigInt(bi)
211211 let bj = X(M)
212212 let aY = ai(bj, -1)
213213 let aZ = ai(W(), -1)
214214 func bk (bl,bm) = {
215215 let bn = aV(M, bm, aX, aY, aZ)
216216 let bo = bn._1
217217 let bp = bn._2
218218 let bq = bn._3
219219 let be = bn._4
220220 (bl :+ IntegerEntry(be, bo))
221221 }
222222
223223 if (if ((aZ == -1))
224224 then (aY == -1)
225225 else false)
226226 then nil
227227 else if (if ((aZ == -1))
228228 then (aY > -1)
229229 else false)
230230 then throw("invalid depositNumLast and depositNumUser state")
231231 else if (if ((aZ > -1))
232232 then (aY == -1)
233233 else false)
234234 then if (bh)
235235 then [IntegerEntry(bj, aZ)]
236236 else ({
237237 let br = aU
238238 let bs = size(br)
239239 let bt = nil
240240 func bu (bv,bw) = if ((bw >= bs))
241241 then bv
242242 else bk(bv, br[bw])
243243
244244 func bx (bv,bw) = if ((bw >= bs))
245245 then bv
246246 else throw("List size exceeds 10")
247247
248248 bx(bu(bu(bu(bu(bu(bu(bu(bu(bu(bu(bt, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
249249 } :+ IntegerEntry(bj, aZ))
250250 else if (if ((aZ > -1))
251251 then (aY > -1)
252252 else false)
253253 then if (bh)
254254 then [IntegerEntry(bj, aZ)]
255255 else ({
256256 let br = aU
257257 let bs = size(br)
258258 let bt = nil
259259 func bu (bv,bw) = if ((bw >= bs))
260260 then bv
261261 else bk(bv, br[bw])
262262
263263 func bx (bv,bw) = if ((bw >= bs))
264264 then bv
265265 else throw("List size exceeds 10")
266266
267267 bx(bu(bu(bu(bu(bu(bu(bu(bu(bu(bu(bt, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
268268 } :+ IntegerEntry(bj, aZ))
269269 else throw(((("uncovered condition: depositNumLast=" + toString(aZ)) + " depositNumUser=") + toString(aY)))
270270 }
271271
272272
273273 func by (aa,bz) = {
274274 let bA = ad(aa)
275275 let bB = ai(bA, 0)
276276 [IntegerEntry(bA, (bB + bz))]
277277 }
278278
279279
280280 @Callable(bC)
281281 func constructor (bD,bE,bF,bG,bH) = if ((bC.caller != this))
282282 then throw("Permission denied")
283283 else [StringEntry(H(), bD), StringEntry(I(), bE), IntegerEntry(J(), bF), IntegerEntry(K(), bG), StringEntry(V(), bH)]
284284
285285
286286
287287 @Callable(bC)
288288 func stake () = {
289289 let bI = aP()
290290 let bJ = bI._1
291291 let bF = bI._2
292292 let bG = bI._3
293293 if ((size(bC.payments) != 1))
294294 then throw("Invalid payments size")
295295 else {
296296 let bK = bC.payments[0]
297297 let aN = bK.amount
298298 let bL = (("Invalid asset. " + toBase58String(bJ)) + " is expected")
299299 let aW = valueOrErrorMessage(bK.assetId, bL)
300300 if ((aW != bJ))
301301 then throw(bL)
302302 else {
303303 let M = bC.caller
304304 let bM = toString(bC.caller)
305305 let bN = valueOrElse(aR(M), $Tuple3(true, 0, -1))
306306 let bh = bN._1
307307 let bO = bN._2
308308 let bP = bN._3
309309 let bQ = if (bh)
310310 then aN
311311 else (aN + bO)
312312 let bR = if (bh)
313313 then height
314314 else aq(invoke(D, "mergeStakesREADONLY", [aN, height, bO, bP, bG], nil))
315315 if ((bF > bQ))
316316 then throw(("Min lock amount is " + toString(bF)))
317317 else {
318318 let bS = aE(aN, 1, if (bh)
319319 then 1
320320 else 0)
321321 let bT = bS._1
322322 let bU = bS._2
323323 let bV = bS._3
324324 ((([aC("stake", M, bC.transactionId, bO, bP, bQ, bR)] ++ bg(bh, bM, bO)) ++ aM(M, bQ, bR)) ++ bT)
325325 }
326326 }
327327 }
328328 }
329329
330330
331331
332332 @Callable(bC)
333333 func unstake (aN) = if ((size(bC.payments) != 0))
334334 then throw("unstake doesn't require any payment")
335335 else {
336336 let M = bC.caller
337337 let bM = toString(M)
338338 let bW = aP()
339339 let bJ = bW._1
340340 let bF = bW._2
341341 let bG = bW._3
342342 let bX = aS(M)
343343 let bh = bX._1
344344 let bO = bX._2
345345 let bY = bX._3
346346 if ((0 >= bO))
347347 then throw("Nothing to unstake")
348348 else if ((aN > bO))
349349 then throw(((("Requested " + toString(aN)) + ", but staked only ") + toString(bO)))
350350 else {
351351 let bZ = aq(invoke(D, "getUnstakeComissionAmountREADONLY", [aN, bY, bG], nil))
352352 let ca = aE(-(aN), if ((aN == bO))
353353 then -1
354354 else 0, if ((aN == bO))
355355 then -1
356356 else 0)
357357 let bT = ca._1
358358 let bU = ca._2
359359 let bV = ca._3
360360 ((([ScriptTransfer(M, (aN - bZ), bJ), ScriptTransfer(F, bZ, bJ), aC("unstake", M, bC.transactionId, bO, bY, (bO - aN), bY)] ++ bg(false, bM, bO)) ++ aM(M, (bO - aN), bY)) ++ bT)
361361 }
362362 }
363363
364364
365365
366366 @Callable(bC)
367367 func deposit () = if ((size(bC.payments) != 1))
368368 then throw("exact 1 payment is allowed only")
369369 else {
370370 let cb = bC.payments[0]
371371 let aN = cb.amount
372372 let cc = valueOrElse(cb.assetId, i)
373373 let cd = toBase58String(cc)
374374 let ce = if ((cc == i))
375375 then f
376376 else e
377377 let cf = toBigInt(aN)
378378 let bU = ai(R(), 0)
379379 let cg = toBigInt(bU)
380380 if ((0 > bU))
381381 then throw("TODO: case is not supported")
382382 else if ((bU == 0))
383383 then by(cd, aN)
384384 else {
385385 let ch = fraction(cf, g, cg)
386386 let ci = W()
387387 let aZ = ai(ci, -1)
388388 let cj = (aZ + 1)
389389 if (!(contains(aT, cd)))
390390 then throw(((aT + " doesn't contain ") + cd))
391391 else {
392392 func ck (bl,cl) = {
393393 let cm = Y(cj, cl)
394394 let cn = al(Y(aZ, cl), "0")
395395 (bl :+ (if ((cl == cd))
396396 then StringEntry(cm, toString((parseBigIntValue(cn) + ch)))
397397 else StringEntry(cm, cn)))
398398 }
399399
400400 ({
401401 let br = aU
402402 let bs = size(br)
403403 let bt = nil
404404 func bu (bv,bw) = if ((bw >= bs))
405405 then bv
406406 else ck(bv, br[bw])
407407
408408 func bx (bv,bw) = if ((bw >= bs))
409409 then bv
410410 else throw("List size exceeds 10")
411411
412412 bx(bu(bu(bu(bu(bu(bu(bu(bu(bu(bu(bt, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
413413 } :+ IntegerEntry(ci, cj))
414414 }
415415 }
416416 }
417417
418418
419419
420420 @Callable(bC)
421421 func claimRewards () = {
422422 let M = bC.caller
423423 let bM = toString(M)
424424 if ((size(bC.payments) > 0))
425425 then throw("payments are not accepted")
426426 else {
427427 let co = valueOrElse(aR(M), $Tuple3(true, 0, 0))
428428 let bh = co._1
429429 let bi = co._2
430430 let cp = co._3
431431 let aX = toBigInt(bi)
432432 let bj = X(bM)
433433 let aY = ai(bj, -1)
434434 let aZ = ai(W(), -1)
435435 func cq (bl,bm) = {
436436 let cr = aV(bM, bm, aX, aY, aZ)
437437 let bo = cr._1
438438 let bp = cr._2
439439 let bq = cr._3
440440 let be = cr._4
441441 let cs = ac(bM, bm)
442442 let ct = bl
443443 let cu = ct._1
444444 let cv = ct._2
445445 let cw = makeString([bm, toString(bo)], ":")
446446 let cx = makeString([cv, cw], "_")
447447 if ((0 >= bo))
448448 then $Tuple2(cu, cx)
449449 else $Tuple2((((cu :+ ScriptTransfer(M, bo, ao(bm))) :+ IntegerEntry(cs, (valueOrElse(getInteger(cs), 0) + bo))) :+ IntegerEntry(be, 0)), cx)
450450 }
451451
452452 let cy = {
453453 let br = aU
454454 let bs = size(br)
455455 let bt = $Tuple2(nil, "")
456456 func bu (bv,bw) = if ((bw >= bs))
457457 then bv
458458 else cq(bv, br[bw])
459459
460460 func bx (bv,bw) = if ((bw >= bs))
461461 then bv
462462 else throw("List size exceeds 10")
463463
464464 bx(bu(bu(bu(bu(bu(bu(bu(bu(bu(bu(bt, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
465465 }
466466 let cz = cy._1
467467 let cA = cy._2
468468 if ((0 >= size(cz)))
469469 then throw("nothing to claim")
470470 else ((cz :+ IntegerEntry(bj, aZ)) :+ aD(M, bC.transactionId, drop(cA, 1)))
471471 }
472472 }
473473
474474
475475
476476 @Callable(bC)
477477 func unclaimedRewardsREADONLY (bM) = {
478478 func cB (bl,bm) = ((bl + makeString([bm, "0", "0"], ":")) + "_")
479479
480480 let cC = if ((bM == ""))
481481 then {
482482 let br = aU
483483 let bs = size(br)
484484 let bt = ""
485485 func bu (bv,bw) = if ((bw >= bs))
486486 then bv
487487 else cB(bv, br[bw])
488488
489489 func bx (bv,bw) = if ((bw >= bs))
490490 then bv
491491 else throw("List size exceeds 10")
492492
493493 bx(bu(bu(bu(bu(bu(bu(bu(bu(bu(bu(bt, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
494494 }
495495 else {
496496 let M = addressFromStringValue(bM)
497497 let cD = valueOrElse(aR(M), $Tuple3(true, 0, 0))
498498 let bh = cD._1
499499 let bi = cD._2
500500 let cp = cD._3
501501 let aX = toBigInt(bi)
502502 let bj = X(bM)
503503 let aY = ai(bj, -1)
504504 let aZ = ai(W(), -1)
505505 func cq (bl,bm) = {
506506 let cE = aV(bM, bm, aX, aY, aZ)
507507 let bo = cE._1
508508 let bp = cE._2
509509 let bq = cE._3
510510 let be = cE._4
511511 let cF = valueOrElse(getInteger(ac(bM, bm)), 0)
512512 ((bl + makeString([bm, toString(bo), toString(cF)], ":")) + "_")
513513 }
514514
515515 let br = aU
516516 let bs = size(br)
517517 let bt = ""
518518 func bu (bv,bw) = if ((bw >= bs))
519519 then bv
520520 else cq(bv, br[bw])
521521
522522 func bx (bv,bw) = if ((bw >= bs))
523523 then bv
524524 else throw("List size exceeds 10")
525525
526526 bx(bu(bu(bu(bu(bu(bu(bu(bu(bu(bu(bt, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
527527 }
528528 $Tuple2(nil, dropRight(cC, 1))
529529 }
530530
531531
532532
533533 @Callable(bC)
534+func nsbtUnstakingSYSREADONLY (cG,cH) = {
535+ let cI = if ((cG == ""))
536+ then [0, 0, 0, 0]
537+ else {
538+ let M = addressFromStringValue(cG)
539+ let cJ = aP()
540+ let cK = cJ._1
541+ let bF = cJ._2
542+ let bG = cJ._3
543+ let cL = aS(M)
544+ let bh = cL._1
545+ let bi = cL._2
546+ let bY = cL._3
547+ let cM = (bi - cH)
548+ let bZ = aq(invoke(D, "getUnstakeComissionAmountREADONLY", [cH, bY, bG], nil))
549+ let cN = (cH - bZ)
550+[bi, cM, cN, bZ]
551+ }
552+ $Tuple2(nil, cI)
553+ }
554+
555+
556+
557+@Callable(bC)
534558 func nsbtStakingSYSREADONLY (bM) = {
535- let cG = ai(R(), 0)
559+ let cO = ai(R(), 0)
536560 if ((bM == ""))
537- then $Tuple2(nil, [0, cG, 0])
561+ then $Tuple2(nil, [0, cO, 0])
538562 else {
539563 let M = am(bM)
540- let cH = valueOrElse(aR(M), $Tuple3(true, 0, 0))
541- let bh = cH._1
542- let cI = cH._2
543- let cp = cH._3
544- $Tuple2(nil, [cI, cG, cp])
564+ let cP = valueOrElse(aR(M), $Tuple3(true, 0, 0))
565+ let bh = cP._1
566+ let cQ = cP._2
567+ let cp = cP._3
568+ $Tuple2(nil, [cQ, cO, cp])
545569 }
546570 }
547571
548572
549-@Verifier(cJ)
550-func cK () = {
551- let cL = makeString(["ExtEEK19nmKj9mCpnWyvEEJFYATLMcVEMvohhUHkyHNm", "Ev5py5FfBQX9cZpYKnfQrTB49Byf8QmpZWeDVRim4yV7", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR"], b)
552- let cM = split(valueOrElse(getString(C, "%s__multisig"), cL), b)
553- let cN = ((((if (sigVerify(cJ.bodyBytes, cJ.proofs[0], fromBase58String(cM[0])))
573+@Verifier(cR)
574+func cS () = {
575+ let cT = makeString(["ExtEEK19nmKj9mCpnWyvEEJFYATLMcVEMvohhUHkyHNm", "Ev5py5FfBQX9cZpYKnfQrTB49Byf8QmpZWeDVRim4yV7", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR"], b)
576+ let cU = split(valueOrElse(getString(C, "%s__multisig"), cT), b)
577+ let cV = ((((if (sigVerify(cR.bodyBytes, cR.proofs[0], fromBase58String(cU[0])))
554578 then 1
555- else 0) + (if (sigVerify(cJ.bodyBytes, cJ.proofs[1], fromBase58String(cM[1])))
579+ else 0) + (if (sigVerify(cR.bodyBytes, cR.proofs[1], fromBase58String(cU[1])))
556580 then 1
557- else 0)) + (if (sigVerify(cJ.bodyBytes, cJ.proofs[2], fromBase58String(cM[2])))
581+ else 0)) + (if (sigVerify(cR.bodyBytes, cR.proofs[2], fromBase58String(cU[2])))
558582 then 1
559- else 0)) + (if (sigVerify(cJ.bodyBytes, cJ.proofs[3], fromBase58String(cM[3])))
583+ else 0)) + (if (sigVerify(cR.bodyBytes, cR.proofs[3], fromBase58String(cU[3])))
560584 then 2
561585 else 0))
562- (cN >= 3)
586+ (cV >= 3)
563587 }
564588

github/deemru/w8io/c3f4982 
65.13 ms