tx · G7owQUMAh7QWADPvH3ncgeqXqaxjUqxLjUrDbFQ3VAoj

3N7ysemzQbTjE4X1GdabS1k8VhTG42h341t:  -0.01400000 Waves

2021.12.03 01:23 [1817253] smart account 3N7ysemzQbTjE4X1GdabS1k8VhTG42h341t > SELF 0.00000000 Waves

{ "type": 13, "id": "G7owQUMAh7QWADPvH3ncgeqXqaxjUqxLjUrDbFQ3VAoj", "fee": 1400000, "feeAssetId": null, "timestamp": 1638483861313, "version": 1, "sender": "3N7ysemzQbTjE4X1GdabS1k8VhTG42h341t", "senderPublicKey": "69uBy334gwQ7DWopq485CJpRQpxH9tT7wK92FNoVQWkn", "proofs": [ "5iWAabePpUte52ULgviQsgc7NaoxCiJjnwrTAsfPQH8S84JLYgZY81cM9ZpXEwV9WXBony7i6M9ihBJWYx2YwRdy" ], "script": "base64:AAIFAAAAAAAAABsIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAAAABOAAAAAAxhZG1pblB1YktleTEBAAAAILoJ1zuJWaTRXaD/8bsz0KrhOWkPy+K9kdY77k9eqOATAAAAAAxhZG1pblB1YktleTIBAAAAIMKRRJmz0rC0DSKlkVi9iLyhN7sIy//djOaU71sWDn5AAAAAAAxhZG1pblB1YktleTMBAAAAII4eFy54sQc79EhOejMoYHYod/yZ5ZIwoyDCz6ir6Q5VAAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgzlkO3OqzXqOuG/1XXufreRE1KXRGMps8FV88BRsoYXsAAAAAEWFkbWluUHViS2V5V2FsbGV0AQAAACDlq5yzCbXuMxTezUwhJrkFBGEjGqw4ZaqMUbXFoZ/PHAAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAARa2V5VXNlclNXT1BMb2NrZWQCAAAADF9TV09QX2Ftb3VudAAAAAAUa2V5VXNlckdldEJhY2tIZWlnaHQCAAAADl9nZXRCYWNrSGVpZ2h0AAAAABJrZXlUb3RhbFNXT1BMb2NrZWQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABJrVXNlclRvdGFsVm90ZVNXT1ACAAAAFV91c2VyX3RvdGFsX1NXT1Bfdm90ZQAAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQCAAAAE19TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAIAAAAYdG90YWxfU1dPUF9vcHRpb25fYW1vdW50AAAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQCAAAAFF9TV09QX2NsYWltZWRfYW1vdW50AAAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50AgAAABlfU1dPUF9sYXN0X2NsYWltZWRfYW1vdW50AAAAAAtrZXlWb3RlTmFtZQIAAAAJdm90ZV9uYW1lAAAAAA1rZXlPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AgAAAAxfc3RhcnRIZWlnaHQAAAAAD2tleVZvdGVEdXJhdGlvbgIAAAAOX3ZvdGVfZHVyYXRpb24AAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQCAAAAHV9jdXJyZW50X3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAeX3ByZXZpb3VzX3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24CAAAAGl9wb29sX3Jld2FyZF91cGRhdGVfaGVpZ2h0AAAAAB1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAAB5rZXlUb3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMCAAAAH3RvdGFsX3Jld2FyZF9wZXJfYmxvY2tfcHJldmlvdXMAAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAIAAAAUcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAIAAAAlcmV3YXJkX3VwZGF0ZV9oZWlnaHRfZmlyc3RfcGFnaW5hdGlvbgAAAAAVa2V5Tm9Wb3RpbmdGb3JOZXdQb29sAgAAAAhfdm90ZV9ubwAAAAAWa2V5WWVzVm90aW5nRm9yTmV3UG9vbAIAAAAJX3ZvdGVfeWVzAAAAABtrZXlBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAEW1heF9hbW91bnRfdm90aW5nAAAAABtrZXlTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAB19zdGF0dXMAAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wCAAAADl9maW5pc2hfaGVpZ2h0AAAAAA9hY3RpdmVWb3RlRmlyc3QCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8xAAAAABBhY3RpdmVWb3RlU2Vjb25kAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMgAAAAAPYWN0aXZlVm90ZVRoaXJkAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVc4DeZLRuf+UBcj/qBUTcgH5R4tWRCTmkoAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV/g/+6xPyWLNjZSZW67sqUsI3PCMpKwiuwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV6y+6ZiMjPxkx6QfYg3Npzh7t63US4EQYQAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAECAAAALENjZ2VzYzlpV01TZzFmOENxRlA1blp3Z0Y2eHNHaXJSZURocHZOcDFKQVdXAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDU5OTM2NTQ0AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNTk5MzY1NDQAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNTk5MzY1NDQAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNTk5MzY1NDQAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgAAAAAAAAAAAAEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQAAAARwb29sCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgEAAAAQ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bwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwODk0ODkwMjgAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwODk0ODkwMjgAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDkyOTM5MzY4CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTI5MzkzNjgAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MjkzOTM2OAAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDk4MDY5ODgxCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTgwNjk4ODEAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5ODA2OTg4MQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAwkdDA5OTk3MTAwNzkJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAwkdDA5OTk3MTAwNzkAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAAMJHQwOTk5NzEwMDc5AAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA0kdDAxMTIyOTExMjg0CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMTIyOTExMjg0AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDExMjI5MTEyODQAAAACXzIEAAAADSR0MDExMjg5MTEzNzgJAAUUAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOdXNlclZvdGVBbW91bnQIBQAAAA0kdDAxMTI4OTExMzc4AAAAAl8xBAAAABB1c2VyVW52b3RlQW1vdW50CAUAAAANJHQwMTEyODkxMTM3OAAAAAJfMgQAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIDAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAQdXNlclVudm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAOdXNlclZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkAAAIAAAABAgAAAEp1c2VyVW52b3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnRGb3JOZXdQb29sIDwgMAQAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAZQAAAAIFAAAADnVzZXJTV09QTG9ja2VkCQABlgAAAAEJAARMAAAAAgUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAETAAAAAIJAABkAAAAAgUAAAAOdXNlclZvdGVBbW91bnQFAAAAEHVzZXJVbnZvdGVBbW91bnQFAAAAA25pbAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAAIAAAABAgAAACN3aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZVRvVW5zdGFrZQQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BhbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAAUY2xhaW1BbmRXaXRoZHJhd1NXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTI3NTgxMjgxMwkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTI3NTgxMjgxMwAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMjc1ODEyODEzAAAAAl8yBAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAABFjbGFpbUFuZFN0YWtlU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMzU5MjEzNjQ3CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMzU5MjEzNjQ3AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEzNTkyMTM2NDcAAAACXzIEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAA11cGRhdGVXZWlnaHRzAAAABAAAAAxjdXJyZW50UG9vbHMAAAAOY3VycmVudFJld2FyZHMAAAAScmV3YXJkVXBkYXRlSGVpZ2h0AAAACnBhZ2luYXRpb24DCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAC2Ftb3VudFBvb2xzAAAAAAAAAAAKBAAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQAAAAAAAAAAAADCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wCQAETAAAAAIFAAAAEWFkbWluUHViS2V5V2FsbGV0BQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24DCQAAZgAAAAIJAAGQAAAAAQUAAAAMY3VycmVudFBvb2xzBQAAAAthbW91bnRQb29scwkAAAIAAAABCQABLAAAAAICAAAAFk1heCBhbW91bnQgb2YgcG9vbCBpcyAJAAGkAAAAAQUAAAALYW1vdW50UG9vbHMDCQAAZwAAAAIFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAtcmV3YXJkVXBkYXRlSGVpZ2h0IDw9IHRvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABxoZWlnaHQgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0AwkAAGcAAAACAAAAAAAAAAAABQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAYMCA+PSByZXdhcmRVcGRhdGVIZWlnaHQgCgEAAAADc3VtAAAAAgAAAAFhAAAAAWIJAABkAAAAAgUAAAABYQUAAAABYgoBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAABNnZXRQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAMDCQEAAAABIQAAAAEJAQAAABhpc0RlZmluZVBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sBgMJAQAAAAIhPQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAkAAAAAAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BQAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAACnBvb2xSZXdhcmQJAQAAABBnZXRDdXJQb29sV2VpZ2h0AAAAAQUAAAAEcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQEAAAACnBvb2xSZXdhcmQJAQAAABFnZXRQcmV2UG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAAlwb29sSW5kZXgJAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAAMY3VycmVudFBvb2xzBQAAAARwb29sBAAAAApwb29sUmV3YXJkCQABkQAAAAIFAAAADmN1cnJlbnRSZXdhcmRzBQAAAAlwb29sSW5kZXgDCQAAZgAAAAIAAAAAAAAAAAAFAAAACnBvb2xSZXdhcmQJAAACAAAAAQIAAAAOUG9vbFJld2FyZCA8IDAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQKAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAKcG9vbEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgUAAAAKcG9vbEhlaWdodAUAAAALYWNjdW11bGF0ZWQKAQAAAAxnZXRTdW1SZXdhcmQAAAACAAAACmN1clRlbXBTdW0AAAAKcGFnaW5hdGlvbgMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAAMJAABmAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABBQAAAApjdXJUZW1wU3VtCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0FAAAACmN1clRlbXBTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAQQAAAARY3VyVGVtcFN1bUZyb21LZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwkAAGYAAAACCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5BQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAEpzdW1SZXdhcmRQcmV2aW91cyA+IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgPiB0b3RhbFZvdGVTaGFyZSAtIAkAAaQAAAABBQAAAApwYWdpbmF0aW9uAgAAAAEgCQABpAAAAAEJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkDCQEAAAACIT0AAAACBQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAARGN1cnJlbnQgcmV3YXJkVXBkYXRlSGVpZ2h0ICE9IHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0JAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAACBAAAAAZjdXJTdW0JAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlUZW1wQ3VyU3VtAAAAAAAAAAAABQAAAApjdXJUZW1wU3VtBAAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQAAAAAAAAAAAADCQEAAAACIT0AAAACBQAAAAZjdXJTdW0FAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAECAAAASXN1bVJld2FyZFByZXZpb3VzICE9IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgIT0gdG90YWxWb3RlU2hhcmUDCQEAAAACIT0AAAACBQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAARGN1cnJlbnQgcmV3YXJkVXBkYXRlSGVpZ2h0ICE9IHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIF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ABBzdW1SZXdhcmRDdXJyZW50BQAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Q2F1c2UCAAAAGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQEAAAAHc3VzcGVuZAAAAAECAAAAD1BhdXNlZCBieSBhZG1pbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAADBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAACGtleUNhdXNlBQAAAANuaWwAAAAAzlnTvQ==", "chainId": 84, "height": 1817253, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5xwR8EBYdrFz2STysRR7AuzFwBdo8a5FZDL8tm6bt5Rf Next: none Diff:
OldNewDifferences
269269 else {
270270 let totalSWOPLocked = getTotalSWOPLocked()
271271 let lastInterest = getLastInterestInfo()
272- if (true)
273- then throw(toString(totalSWOPLocked))
274- else {
275- let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
272+ let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
276273 [IntegerEntry(keyLastInterest, interestNew)]
277- }
278274 }
279275 }
280276
284280 func lockSWOP () = if (!(isActive))
285281 then throw("DApp is inactive at this moment")
286282 else {
287- let $t098669941 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
288- let pmtAmount = $t098669941._1
289- let pmtAssetId = $t098669941._2
283+ let $t098069881 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
284+ let pmtAmount = $t098069881._1
285+ let pmtAssetId = $t098069881._2
290286 if ((pmtAssetId != SWOP))
291287 then throw("Incorrect pmtAssetId")
292288 else {
293289 let lastInterest = getLastInterestInfo()
294- let $t01005710139 = getUserInterestInfo(i.caller, lastInterest)
295- let userLastInterest = $t01005710139._1
296- let userSWOPLocked = $t01005710139._2
290+ let $t0999710079 = getUserInterestInfo(i.caller, lastInterest)
291+ let userLastInterest = $t0999710079._1
292+ let userSWOPLocked = $t0999710079._2
297293 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
298294 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
299295 let userNewInterest = lastInterest
315311 else {
316312 let totalSWOPLocked = getTotalSWOPLocked()
317313 let userSWOPLocked = getUserSWOPLocked(i.caller)
318- let $t01128911344 = claimCalc(i.caller)
319- let userNewInterest = $t01128911344._1
320- let claimAmount = $t01128911344._2
321- let $t01134911438 = $Tuple2(0, 0)
322- let userVoteAmount = $t01134911438._1
323- let userUnvoteAmount = $t01134911438._2
314+ let $t01122911284 = claimCalc(i.caller)
315+ let userNewInterest = $t01122911284._1
316+ let claimAmount = $t01122911284._2
317+ let $t01128911378 = $Tuple2(0, 0)
318+ let userVoteAmount = $t01128911378._1
319+ let userUnvoteAmount = $t01128911378._2
324320 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
325321 if (if (if ((0 > userUnvoteAmount))
326322 then true
349345 then throw("DApp is inactive at this moment")
350346 else {
351347 let lastInterest = getLastInterestInfo()
352- let $t01281812873 = claimCalc(i.caller)
353- let userNewInterest = $t01281812873._1
354- let claimAmount = $t01281812873._2
348+ let $t01275812813 = claimCalc(i.caller)
349+ let userNewInterest = $t01275812813._1
350+ let claimAmount = $t01275812813._2
355351 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
356352 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
357353 if ((claimAmount == 0))
368364 let totalSWOPLocked = getTotalSWOPLocked()
369365 let userSWOPLocked = getUserSWOPLocked(i.caller)
370366 let lastInterest = getLastInterestInfo()
371- let $t01365213707 = claimCalc(i.caller)
372- let userNewInterest = $t01365213707._1
373- let claimAmount = $t01365213707._2
367+ let $t01359213647 = claimCalc(i.caller)
368+ let userNewInterest = $t01359213647._1
369+ let claimAmount = $t01359213647._2
374370 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
375371 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
376372 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
513509
514510 2(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
515511 }
516- let $t01885118962 = getSumReward(sumRewardCurrentTemp, pagination)
517- let sumRewardCurrent = $t01885118962._1
518- let rewardUpdateHeightFirstPaginationEntry = $t01885118962._2
512+ let $t01879118902 = getSumReward(sumRewardCurrentTemp, pagination)
513+ let sumRewardCurrent = $t01879118902._1
514+ let rewardUpdateHeightFirstPaginationEntry = $t01879118902._2
519515 let rewardUpdateHeightEntry = if ((pagination == 2))
520516 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
521517 else nil
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'DXDY2itiEcYBtGkVLnkpHtDFyWQUkoLJz79uJ7ECbMrA'
55
66 let adminPubKey2 = base58'E6Wa1SGoktYcjHjsKrvjMiqJY3SWmGKcD8Q5L8kxSPS7'
77
88 let adminPubKey3 = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ'
99
1010 let adminPubKeyStartStop = base58'EtVkT6ed8GtbUiVVEqdmEqsp2J4qbb3rre2HFgxeVYdg'
1111
1212 let adminPubKeyWallet = base58'GTY8yEJ2S4heRompxyvbJoBN1Td5BM5Pp4JgVbj9tmCw'
1313
1414 let keyActive = "active"
1515
1616 let keyCause = "shutdown_cause"
1717
1818 let keyLastInterest = "last_interest"
1919
2020 let keyUserLastInterest = "_last_interest"
2121
2222 let keyUserSWOPLocked = "_SWOP_amount"
2323
2424 let keyUserGetBackHeight = "_getBackHeight"
2525
2626 let keyTotalSWOPLocked = "total_SWOP_amount"
2727
2828 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2929
3030 let keyUserVoteOptionAmount = "_SWOP_option_amount"
3131
3232 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
3333
3434 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
3535
3636 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3737
3838 let keyVoteName = "vote_name"
3939
4040 let keyOptionName = "_option_name"
4141
4242 let keyVotingStartHeight = "_startHeight"
4343
4444 let keyVoteDuration = "_vote_duration"
4545
4646 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4747
4848 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4949
5050 let keyHeightPoolFraction = "_pool_reward_update_height"
5151
5252 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
5353
5454 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
5555
5656 let keyRewardUpdateHeight = "reward_update_height"
5757
5858 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5959
6060 let keyNoVotingForNewPool = "_vote_no"
6161
6262 let keyYesVotingForNewPool = "_vote_yes"
6363
6464 let keyAmountOfVotingForNewPool = "max_amount_voting"
6565
6666 let keyStatusOfVotingForNewPool = "_status"
6767
6868 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6969
7070 let activeVoteFirst = "voting_active_cell_1"
7171
7272 let activeVoteSecond = "voting_active_cell_2"
7373
7474 let activeVoteThird = "voting_active_cell_3"
7575
7676 let keyTempCurSum = "sum_reward_current"
7777
7878 let isActive = valueOrElse(getBoolean(this, keyActive), true)
7979
8080 let farmingSWOPAddress = Address(base58'3P73HDkPqG15nLXevjCbmXtazHYTZbpPoPw')
8181
8282 let votingLiteContract = Address(base58'3PQZWxShKGRgBN1qoJw6B4s9YWS9FneZTPg')
8383
8484 let votingForNewPool = Address(base58'3PHgHf5C4WvHJucSHrjoVnMFsP1EhWffVLt')
8585
8686 let keySWOPid = "SWOP_id"
8787
8888 let SWOP = fromBase58String("Ccgesc9iWMSg1f8CqFP5nZwgF6xsGirReDhpvNp1JAWW")
8989
9090 let scaleValue = 100000000
9191
9292 let totalVoteShare = 10000000000
9393
9494 let kStartHeight = "start_height"
9595
9696 let kBasePeriod = "base_period"
9797
9898 let kPeriodLength = "period_length"
9999
100100 let kUserTotalStruc = "_user_total_struc"
101101
102102 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
103103
104104 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
105105
106106 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
107107
108108 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
109109
110110 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
111111
112112 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
113113
114114 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
115115
116116 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
117117
118118
119119 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
120120
121121
122122 func getLastInterestInfo () = {
123123 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
124124 lastInterest
125125 }
126126
127127
128128 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
129129
130130
131131 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
132132
133133
134134 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
135135
136136
137137 func getUserInterestInfo (user,lastInterest) = {
138138 let userSWOPAmount = getUserSWOPLocked(user)
139139 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
140140 let userLastInterestValue = match userLastInterest {
141141 case userLastInterest: Int =>
142142 userLastInterest
143143 case _ =>
144144 lastInterest
145145 }
146146 $Tuple2(userLastInterestValue, userSWOPAmount)
147147 }
148148
149149
150150 func getUserTotalVoteAmountForOnePool (pool,user) = {
151151 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
152152 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
153153 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
154154 let currentHeight = height
155155 if ((0 > voting))
156156 then 0
157157 else if (!(statusOfVoting))
158158 then 0
159159 else if ((heightOfVoting > currentHeight))
160160 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
161161 else 0
162162 }
163163
164164
165165 func getUserTotalVoteForNewPoolAmount (user) = {
166166 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
167167 max(listOfVoting)
168168 }
169169
170170
171171 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
172172
173173
174174 func getUserVoteInfo (user) = {
175175 let $t059936544 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
176176 then {
177177 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
178178 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
179179 }
180180 else {
181181 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
182182 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
183183 }
184184 let userTotalVoteSWOP = $t059936544._1
185185 let userUnvoted = $t059936544._2
186186 let userUnvotedPeriod = $t059936544._3
187187 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
188188 then userUnvoted
189189 else 0
190190 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
191191 }
192192
193193
194194 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
195195
196196
197197 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
198198
199199
200200 func getPoolUpdateHeight (pool) = valueOrElse(getInteger(this, (pool + keyHeightPoolFraction)), 0)
201201
202202
203203 func isDefinePoolUpdateHeight (pool) = isDefined(getInteger(this, (pool + keyHeightPoolFraction)))
204204
205205
206206 func getCurPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionCurrent)), 0)
207207
208208
209209 func getPrevPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionPrevious)), 0)
210210
211211
212212 func getVoteOptionAmount (user,voteName,option) = {
213213 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
214214 let uvoa = match userVoteOptionAmount {
215215 case uvoa: Int =>
216216 uvoa
217217 case uvoa: Unit =>
218218 0
219219 case _ =>
220220 throw("Match error")
221221 }
222222 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
223223 }
224224
225225
226226 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
227227
228228
229229 func getTotalVoteOptionAmount (voteName,option) = {
230230 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
231231 let tvoa = match totalVoteOptionAmount {
232232 case tvoa: Int =>
233233 tvoa
234234 case tvoa: Unit =>
235235 0
236236 case _ =>
237237 throw("Match error")
238238 }
239239 tvoa
240240 }
241241
242242
243243 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
244244 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
245245 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
246246 }
247247
248248
249249 func claimCalc (caller) = {
250250 let lastInterest = getLastInterestInfo()
251251 let $t089489028 = getUserInterestInfo(caller, lastInterest)
252252 let userLastInterest = $t089489028._1
253253 let userSWOPLocked = $t089489028._2
254254 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
255255 let userNewInterest = lastInterest
256256 $Tuple2(userNewInterest, claimAmount)
257257 }
258258
259259
260260 @Callable(i)
261261 func airDrop () = if (!(isActive))
262262 then throw("DApp is inactive at this moment")
263263 else {
264264 let $t092939368 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
265265 let pmtAmount = $t092939368._1
266266 let pmtAssetId = $t092939368._2
267267 if ((pmtAssetId != SWOP))
268268 then throw("Incorrect pmtAssetId")
269269 else {
270270 let totalSWOPLocked = getTotalSWOPLocked()
271271 let lastInterest = getLastInterestInfo()
272- if (true)
273- then throw(toString(totalSWOPLocked))
274- else {
275- let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
272+ let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
276273 [IntegerEntry(keyLastInterest, interestNew)]
277- }
278274 }
279275 }
280276
281277
282278
283279 @Callable(i)
284280 func lockSWOP () = if (!(isActive))
285281 then throw("DApp is inactive at this moment")
286282 else {
287- let $t098669941 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
288- let pmtAmount = $t098669941._1
289- let pmtAssetId = $t098669941._2
283+ let $t098069881 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
284+ let pmtAmount = $t098069881._1
285+ let pmtAssetId = $t098069881._2
290286 if ((pmtAssetId != SWOP))
291287 then throw("Incorrect pmtAssetId")
292288 else {
293289 let lastInterest = getLastInterestInfo()
294- let $t01005710139 = getUserInterestInfo(i.caller, lastInterest)
295- let userLastInterest = $t01005710139._1
296- let userSWOPLocked = $t01005710139._2
290+ let $t0999710079 = getUserInterestInfo(i.caller, lastInterest)
291+ let userLastInterest = $t0999710079._1
292+ let userSWOPLocked = $t0999710079._2
297293 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
298294 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
299295 let userNewInterest = lastInterest
300296 let totalSWOPLocked = getTotalSWOPLocked()
301297 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
302298 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
303299 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
304300 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
305301 }
306302 }
307303
308304
309305
310306 @Callable(i)
311307 func withdrawSWOP (withdrawAmount) = if (!(isActive))
312308 then throw("DApp is inactive at this moment")
313309 else if ((0 >= withdrawAmount))
314310 then throw("withdrawAmount <= 0")
315311 else {
316312 let totalSWOPLocked = getTotalSWOPLocked()
317313 let userSWOPLocked = getUserSWOPLocked(i.caller)
318- let $t01128911344 = claimCalc(i.caller)
319- let userNewInterest = $t01128911344._1
320- let claimAmount = $t01128911344._2
321- let $t01134911438 = $Tuple2(0, 0)
322- let userVoteAmount = $t01134911438._1
323- let userUnvoteAmount = $t01134911438._2
314+ let $t01122911284 = claimCalc(i.caller)
315+ let userNewInterest = $t01122911284._1
316+ let claimAmount = $t01122911284._2
317+ let $t01128911378 = $Tuple2(0, 0)
318+ let userVoteAmount = $t01128911378._1
319+ let userUnvoteAmount = $t01128911378._2
324320 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
325321 if (if (if ((0 > userUnvoteAmount))
326322 then true
327323 else (0 > userVoteAmount))
328324 then true
329325 else (0 > userVoteAmountForNewPool))
330326 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
331327 else {
332328 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
333329 if ((withdrawAmount > availableToUnstake))
334330 then throw("withdrawAmount > availableToUnstake")
335331 else {
336332 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
337333 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
338334 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
339335 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
340336 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPamountNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
341337 }
342338 }
343339 }
344340
345341
346342
347343 @Callable(i)
348344 func claimAndWithdrawSWOP () = if (!(isActive))
349345 then throw("DApp is inactive at this moment")
350346 else {
351347 let lastInterest = getLastInterestInfo()
352- let $t01281812873 = claimCalc(i.caller)
353- let userNewInterest = $t01281812873._1
354- let claimAmount = $t01281812873._2
348+ let $t01275812813 = claimCalc(i.caller)
349+ let userNewInterest = $t01275812813._1
350+ let claimAmount = $t01275812813._2
355351 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
356352 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
357353 if ((claimAmount == 0))
358354 then throw("You have 0 available SWOP")
359355 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
360356 }
361357
362358
363359
364360 @Callable(i)
365361 func claimAndStakeSWOP () = if (!(isActive))
366362 then throw("DApp is inactive at this moment")
367363 else {
368364 let totalSWOPLocked = getTotalSWOPLocked()
369365 let userSWOPLocked = getUserSWOPLocked(i.caller)
370366 let lastInterest = getLastInterestInfo()
371- let $t01365213707 = claimCalc(i.caller)
372- let userNewInterest = $t01365213707._1
373- let claimAmount = $t01365213707._2
367+ let $t01359213647 = claimCalc(i.caller)
368+ let userNewInterest = $t01359213647._1
369+ let claimAmount = $t01359213647._2
374370 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
375371 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
376372 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
377373 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
378374 if ((claimAmount == 0))
379375 then throw("You have 0 available SWOP")
380376 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
381377 }
382378
383379
384380
385381 @Callable(i)
386382 func updateWeights (currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
387383 then throw("DApp is inactive at this moment")
388384 else {
389385 let amountPools = 10
390386 let totalRewardUpdateHeight = valueOrElse(getInteger(this, keyRewardUpdateHeight), 0)
391387 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
392388 then throw("Only admin can call this function")
393389 else if ((size(currentPools) > amountPools))
394390 then throw(("Max amount of pool is " + toString(amountPools)))
395391 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
396392 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
397393 else if ((height >= rewardUpdateHeight))
398394 then throw("height >= rewardUpdateHeight")
399395 else if ((0 >= rewardUpdateHeight))
400396 then throw("0 >= rewardUpdateHeight ")
401397 else {
402398 func sum (a,b) = (a + b)
403399
404400 func changePreviousRewardEntry (accumulated,pool) = {
405401 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
406402 if (if (!(isDefinePoolUpdateHeight(pool)))
407403 then true
408404 else if ((rewardUpdateHeight != poolRewardUpdateHeight))
409405 then (poolRewardUpdateHeight == totalRewardUpdateHeight)
410406 else false)
411407 then {
412408 let poolReward = getCurPoolWeight(pool)
413409 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
414410 }
415411 else {
416412 let poolReward = getPrevPoolWeight(pool)
417413 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
418414 }
419415 }
420416
421417 func changeCurrentRewardEntry (accumulated,pool) = {
422418 let poolIndex = value(indexOf(currentPools, pool))
423419 let poolReward = currentRewards[poolIndex]
424420 if ((0 > poolReward))
425421 then throw("PoolReward < 0")
426422 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
427423 }
428424
429425 func changeHeightEntry (accumulated,pool) = {
430426 let poolHeight = rewardUpdateHeight
431427 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
432428 }
433429
434430 func getSumReward (curTempSum,pagination) = if ((pagination == 0))
435431 then if ((curTempSum > totalVoteShare))
436432 then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(curTempSum)))
437433 else $Tuple2([IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
438434 else if ((pagination == 1))
439435 then {
440436 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
441437 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
442438 if (((curTempSum + curTempSumFromKey) > totalVoteShare))
443439 then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((curTempSum + curTempSumFromKey))))
444440 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
445441 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
446442 else $Tuple2([IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
447443 }
448444 else if ((pagination == 2))
449445 then {
450446 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
451447 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
452448 if ((curSum != totalVoteShare))
453449 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
454450 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
455451 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
456452 else $Tuple2([IntegerEntry(keyTempCurSum, curSum)], nil)
457453 }
458454 else throw("Incorrect pagination")
459455
460456 let previousRewardEntryNew = {
461457 let $l = currentPools
462458 let $s = size($l)
463459 let $acc0 = nil
464460 func 1 ($a,$i) = if (($i >= $s))
465461 then $a
466462 else changePreviousRewardEntry($a, $l[$i])
467463
468464 func 2 ($a,$i) = if (($i >= $s))
469465 then $a
470466 else throw("List size exceeds 10")
471467
472468 2(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
473469 }
474470 let currentRewardEntryNew = {
475471 let $l = currentPools
476472 let $s = size($l)
477473 let $acc0 = nil
478474 func 1 ($a,$i) = if (($i >= $s))
479475 then $a
480476 else changeCurrentRewardEntry($a, $l[$i])
481477
482478 func 2 ($a,$i) = if (($i >= $s))
483479 then $a
484480 else throw("List size exceeds 10")
485481
486482 2(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
487483 }
488484 let heightEntryNewCur = {
489485 let $l = currentPools
490486 let $s = size($l)
491487 let $acc0 = nil
492488 func 1 ($a,$i) = if (($i >= $s))
493489 then $a
494490 else changeHeightEntry($a, $l[$i])
495491
496492 func 2 ($a,$i) = if (($i >= $s))
497493 then $a
498494 else throw("List size exceeds 10")
499495
500496 2(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
501497 }
502498 let sumRewardCurrentTemp = {
503499 let $l = currentRewards
504500 let $s = size($l)
505501 let $acc0 = 0
506502 func 1 ($a,$i) = if (($i >= $s))
507503 then $a
508504 else sum($a, $l[$i])
509505
510506 func 2 ($a,$i) = if (($i >= $s))
511507 then $a
512508 else throw("List size exceeds 10")
513509
514510 2(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
515511 }
516- let $t01885118962 = getSumReward(sumRewardCurrentTemp, pagination)
517- let sumRewardCurrent = $t01885118962._1
518- let rewardUpdateHeightFirstPaginationEntry = $t01885118962._2
512+ let $t01879118902 = getSumReward(sumRewardCurrentTemp, pagination)
513+ let sumRewardCurrent = $t01879118902._1
514+ let rewardUpdateHeightFirstPaginationEntry = $t01879118902._2
519515 let rewardUpdateHeightEntry = if ((pagination == 2))
520516 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
521517 else nil
522518 if ((height > rewardUpdateHeight))
523519 then throw("rewardUpdateHeight < height")
524520 else (((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
525521 }
526522 }
527523
528524
529525
530526 @Callable(i)
531527 func shutdown () = if (!(isActive))
532528 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
533529 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
534530 then throw("Only admin can call this function")
535531 else suspend("Paused by admin")
536532
537533
538534
539535 @Callable(i)
540536 func activate () = if (isActive)
541537 then throw("DApp is already active")
542538 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
543539 then throw("Only admin can call this function")
544540 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
545541
546542

github/deemru/w8io/169f3d6 
91.13 ms