tx · Et81nHcybuoYnA5u4mwGS8qvACpZ1L84tnFaXhNptbrt

3Mp6q2xQpfg2SsgQCmb5wrLEoccocLzsHe7:  -0.01400000 Waves

2021.03.13 17:12 [1436014] smart account 3Mp6q2xQpfg2SsgQCmb5wrLEoccocLzsHe7 > SELF 0.00000000 Waves

{ "type": 13, "id": "Et81nHcybuoYnA5u4mwGS8qvACpZ1L84tnFaXhNptbrt", "fee": 1400000, "feeAssetId": null, "timestamp": 1615644766177, "version": 1, "sender": "3Mp6q2xQpfg2SsgQCmb5wrLEoccocLzsHe7", "senderPublicKey": "6ytFxpvYWgvpRb57S4oF6hQ6Koh2Mj5eate4LUXdCyCW", "proofs": [ "3EXjgb3the45nBhpo2GMrg4Vp7BEGpkvatXWinVQnHKhiMsj8xtkhjnvmvvQFk1fULYkhJoCB5CoJVKxuxhsonH8" ], "script": "base64:AAIEAAAAAAAAABwIAhIDCgEIEgMKAQgSAwoBCBIECgIIARIDCgEIAAAAIQAAAAAMYWRtaW5QdWJLZXkxAQAAACC6Cdc7iVmk0V2g//G7M9Cq4TlpD8vivZHWO+5PXqjgEwAAAAAMYWRtaW5QdWJLZXkyAQAAACDCkUSZs9KwtA0ipZFYvYi8oTe7CMv/3YzmlO9bFg5+QAAAAAAMYWRtaW5QdWJLZXkzAQAAACCOHhcueLEHO/RITnozKGB2KHf8meWSMKMgws+oq+kOVQAAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQCAAAAGl90b3RhbF9zaGFyZV90b2tlbnNfbG9ja2VkAAAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50AgAAAB1fY3VycmVudF9wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMCAAAAHl9wcmV2aW91c19wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQCAAAAHnRvdGFsX3Jld2FyZF9wZXJfYmxvY2tfY3VycmVudAAAAAAea2V5VG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzAgAAAB90b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX3ByZXZpb3VzAAAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQCAAAAFHJld2FyZF91cGRhdGVfaGVpZ2h0AAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABVrZXlMYXN0SW50ZXJlc3RIZWlnaHQCAAAAFV9sYXN0X2ludGVyZXN0X2hlaWdodAAAAAAYa2V5VXNlclNoYXJlVG9rZW5zTG9ja2VkAgAAABRfc2hhcmVfdG9rZW5zX2xvY2tlZAAAAAATa2V5VXNlckxhc3RJbnRlcmVzdAIAAAAOX2xhc3RfaW50ZXJlc3QAAAAACWtleVNXT1BpZAIAAAAHU1dPUF9pZAAAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AgAAABRfU1dPUF9jbGFpbWVkX2Ftb3VudAAAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAIAAAAZX1NXT1BfbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAAQa2V5QXZhaWxhYmxlU1dPUAIAAAAPX2F2YWlsYWJsZV9TV09QAAAAABVrZXlGYXJtaW5nU3RhcnRIZWlnaHQCAAAAFGZhcm1pbmdfc3RhcnRfaGVpZ2h0AAAAABFnb3Zlcm5hbnZlQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVOIvRnAfAlfiWx68HOIeHDJDuNNowHPa2AAAAAAOb25lV2Vla0luQmxvY2sAAAAAAAAAJ3oAAAAADnRvdGFsVm90ZVNoYXJlAAAAAAJUC+QAAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAACWtleVNXT1BpZAEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQAAAARwb29sCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAEAAAAPZ2V0U2hhcmVBc3NldElkAAAAAQAAAARwb29sCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAEcG9vbAIAAAAOc2hhcmVfYXNzZXRfaWQBAAAADmNhbGNTY2FsZVZhbHVlAAAAAgAAAAhhc3NldElkMQAAAAhhc3NldElkMgQAAAAQYXNzZXRJZDFEZWNpbWFscwgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAIYXNzZXRJZDEAAAAIZGVjaW1hbHMEAAAAEGFzc2V0SWQyRGVjaW1hbHMICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAACGFzc2V0SWQyAAAACGRlY2ltYWxzBAAAAAtzY2FsZURpZ2l0cwkAAGQAAAACCQAAZQAAAAIFAAAAEGFzc2V0SWQyRGVjaW1hbHMFAAAAEGFzc2V0SWQxRGVjaW1hbHMAAAAAAAAAAAgJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAUAAAALc2NhbGVEaWdpdHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAACEhBTEZET1dOAQAAABF1c2VyQXZhaWxhYmxlU1dPUAAAAAIAAAAEcG9vbAAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQUAAAAEdXNlcgUAAAAQa2V5QXZhaWxhYmxlU1dPUAAAAAAAAAAAAAEAAAAKcmV3YXJkSW5mbwAAAAEAAAAEcG9vbAQAAAAadG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbnZlQWRkcmVzcwUAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAB1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFudmVBZGRyZXNzBAAAABt0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbnZlQWRkcmVzcwUAAAAea2V5VG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAea2V5VG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzAgAAAAwgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAARZ292ZXJuYW52ZUFkZHJlc3MEAAAAGXJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbnZlQWRkcmVzcwkAASwAAAACBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50AgAAAAwgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAARZ292ZXJuYW52ZUFkZHJlc3MEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEWdvdmVybmFudmVBZGRyZXNzBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQCAAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAABFnb3Zlcm5hbnZlQWRkcmVzcwQAAAAacmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbnZlQWRkcmVzcwkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMCAAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAABFnb3Zlcm5hbnZlQWRkcmVzcwQAAAARcmV3YXJkUG9vbEN1cnJlbnQJAABrAAAAAwUAAAAadG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQFAAAAGXJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAADnRvdGFsVm90ZVNoYXJlBAAAABJyZXdhcmRQb29sUHJldmlvdXMJAABrAAAAAwUAAAAbdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzBQAAABpyZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAOdG90YWxWb3RlU2hhcmUDAwkAAGYAAAACBQAAABFyZXdhcmRQb29sQ3VycmVudAUAAAAadG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQGCQAAZgAAAAIFAAAAEnJld2FyZFBvb2xQcmV2aW91cwUAAAAbdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQAAAgAAAAECAAAAYnJld2FyZFBvb2xDdXJyZW50ID4gdG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQgb3IgcmV3YXJkUG9vbFByZXZpb3VzID4gdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQAFFQAAAAMFAAAAEXJld2FyZFBvb2xDdXJyZW50BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFBvb2xQcmV2aW91cwEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAEAAAAEcG9vbAQAAAAMbGFzdEludGVyZXN0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAPa2V5TGFzdEludGVyZXN0BAAAABJsYXN0SW50ZXJlc3RIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlMYXN0SW50ZXJlc3RIZWlnaHQFAAAABmhlaWdodAkABRQAAAACBQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAADGxhc3RJbnRlcmVzdAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEcG9vbAAAAAt1c2VyQWRkcmVzcwQAAAAQdXNlckxhc3RJbnRlcmVzdAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BAAAAAl1c2VyU2hhcmUJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAYa2V5VXNlclNoYXJlVG9rZW5zTG9ja2VkBAAAAAxsYXN0SW50ZXJlc3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAQAAAAHJG1hdGNoMAUAAAAJdXNlclNoYXJlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAACXVzZXJTaGFyZQUAAAAHJG1hdGNoMAUAAAAJdXNlclNoYXJlAAAAAAAAAAAACQAFFAAAAAIFAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50AQAAAAxjYWxjSW50ZXJlc3QAAAAJAAAAEmxhc3RJbnRlcmVzdEhlaWdodAAAABJyZXdhcmRVcGRhdGVIZWlnaHQAAAAMbGFzdEludGVyZXN0AAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawAAABBzaGFyZVRva2VuTG9ja2VkAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sAAAAMc2hhcmVBc3NldElkAAAACnNjYWxlVmFsdWUAAAAJcG10QW1vdW50AwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAAAAAAAAAAAAAAAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQDBgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAZoZWlnaHQCAAAAASAJAAGkAAAAAQUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQDCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BAAAAAZyZXdhcmQJAABoAAAAAgUAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BAAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAABkAAAAAgUAAAATaW50ZXJlc3RBZnRlclVwZGF0ZQkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQBAAAACWNsYWltQ2FsYwAAAAMAAAAEcG9vbAAAAAZjYWxsZXIAAAAJcG10QW1vdW50BAAAAAxzaGFyZUFzc2V0SWQJAQAAAA9nZXRTaGFyZUFzc2V0SWQAAAABBQAAAARwb29sBAAAAApzY2FsZVZhbHVlCQEAAAAOY2FsY1NjYWxlVmFsdWUAAAACBQAAAARTV09QBQAAAAxzaGFyZUFzc2V0SWQEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAAAskdDA3MTAxNzE2NgkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAAskdDA3MTAxNzE2NgAAAAJfMQQAAAAMbGFzdEludGVyZXN0CAUAAAALJHQwNzEwMTcxNjYAAAACXzIEAAAACyR0MDcxNzE3MjU5CQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAACyR0MDcxNzE3MjU5AAAAAl8xBAAAABJyZXdhcmRVcGRhdGVIZWlnaHQIBQAAAAskdDA3MTcxNzI1OQAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAACyR0MDcxNzE3MjU5AAAAAl8zBAAAAAskdDA3MjY0NzM0MwkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACBQAAAARwb29sBQAAAAZjYWxsZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA3MjY0NzM0MwAAAAJfMQQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAALJHQwNzI2NDczNDMAAAACXzIEAAAAD2N1cnJlbnRJbnRlcmVzdAkBAAAADGNhbGNJbnRlcmVzdAAAAAkFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAAxsYXN0SW50ZXJlc3QFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawUAAAAQc2hhcmVUb2tlbkxvY2tlZAUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawUAAAAMc2hhcmVBc3NldElkBQAAAApzY2FsZVZhbHVlBQAAAAlwbXRBbW91bnQEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAGUAAAACBQAAAA9jdXJyZW50SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0CQAFFgAAAAQFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0BQAAAAtjbGFpbUFtb3VudAUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50AQAAABZjaGVja1BtdEFzc2V0SWRDb3JyZWN0AAAAAgAAAARwb29sAAAACnBtdEFzc2V0SWQEAAAAEHBvb2xTaGFyZUFzc2V0SWQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAABXZhbHVlAAAAAQkABCYAAAABBQAAAARwb29sAgAAAA5zaGFyZV9hc3NldF9pZAMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAQcG9vbFNoYXJlQXNzZXRJZAYHAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACAAAABHBvb2wAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEFAAAABHVzZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAAAAAAAAAAAAAUAAAABaQEAAAAEaW5pdAAAAAEAAAAHZWFybHlMUAMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMCAAAACWtleVNXT1BpZAkAAAIAAAABAgAAABhTV09QIGFscmVhZHkgaW5pdGlhbGl6ZWQEAAAACmluaXRBbW91bnQAAABa8xB6QAAEAAAACVNXT1Bpc3N1ZQkABEIAAAAFAgAAAARTV09QAgAAABNTV09QIHByb3RvY29sIHRva2VuBQAAAAppbml0QW1vdW50AAAAAAAAAAAIBgQAAAAGU1dPUGlkCQAEOAAAAAEFAAAACVNXT1Bpc3N1ZQUAAAADbmlsAAAAAWkBAAAAFGluaXRQb29sU2hhcmVGYXJtaW5nAAAAAQAAAARwb29sBAAAAAskdDA4ODgxODk2MQkBAAAACnJld2FyZEluZm8AAAABBQAAAARwb29sBAAAAA1jdXJyZW50UmV3YXJkCAUAAAALJHQwODg4MTg5NjEAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAACyR0MDg4ODE4OTYxAAAAAl8yBAAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCAUAAAALJHQwODg4MTg5NjEAAAACXzMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAADWN1cnJlbnRSZXdhcmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sFAAAAA25pbAAAAAFpAQAAAA9sb2NrU2hhcmVUb2tlbnMAAAABAAAABHBvb2wEAAAACyR0MDkyOTI5MzY3CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTI5MjkzNjcAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MjkyOTM2NwAAAAJfMgMJAQAAAAEhAAAAAQkBAAAAFmNoZWNrUG10QXNzZXRJZENvcnJlY3QAAAACBQAAAARwb29sBQAAAApwbXRBc3NldElkCQAAAgAAAAECAAAAFEluY29ycmVjdCBwbXRBc3NldElkBAAAAAskdDA5NDY4OTU3NgkBAAAACWNsYWltQ2FsYwAAAAMFAAAABHBvb2wIBQAAAAFpAAAABmNhbGxlcgUAAAAJcG10QW1vdW50BAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAAskdDA5NDY4OTU3NgAAAAJfMQQAAAAPY3VycmVudEludGVyZXN0CAUAAAALJHQwOTQ2ODk1NzYAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAALJHQwOTQ2ODk1NzYAAAACXzMEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAgFAAAACyR0MDk0Njg5NTc2AAAAAl80BAAAABJ1c2VyU2hhcmVBbW91bnROZXcJAABkAAAAAgUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50BQAAAAlwbXRBbW91bnQEAAAAEWF2YWlsYWJsZUZ1bmRzTmV3CQAAZAAAAAIJAQAAABF1c2VyQXZhaWxhYmxlU1dPUAAAAAIFAAAABHBvb2wIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQEAAAAEHRvdGFsU2hhcmVBbW91bnQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAABN0b3RhbFNoYXJlQW1vdW50TmV3CQAAZAAAAAIFAAAAEHRvdGFsU2hhcmVBbW91bnQFAAAACXBtdEFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTaGFyZVRva2Vuc0xvY2tlZAUAAAASdXNlclNoYXJlQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFGtleVNoYXJlVG9rZW5zTG9ja2VkBQAAABN0b3RhbFNoYXJlQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAQa2V5QXZhaWxhYmxlU1dPUAUAAAARYXZhaWxhYmxlRnVuZHNOZXcFAAAAA25pbAAAAAFpAQAAABN3aXRoZHJhd1NoYXJlVG9rZW5zAAAAAgAAAARwb29sAAAAGXNoYXJlVG9rZW5zV2l0aGRyYXdBbW91bnQEAAAADXNoYXJlVG9rZW5zSWQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAABXZhbHVlAAAAAQkABCYAAAABBQAAAARwb29sAgAAAA5zaGFyZV9hc3NldF9pZAQAAAANJHQwMTA5MzMxMTAzMwkBAAAACWNsYWltQ2FsYwAAAAMFAAAABHBvb2wIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTA5MzMxMTAzMwAAAAJfMQQAAAAPY3VycmVudEludGVyZXN0CAUAAAANJHQwMTA5MzMxMTAzMwAAAAJfMgQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMDkzMzExMDMzAAAAAl8zBAAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQIBQAAAA0kdDAxMDkzMzExMDMzAAAAAl80AwkAAGYAAAACBQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQJAAACAAAAAQIAAAAsV2l0aGRyYXcgYW1vdW50IG1vcmUgdGhlbiB1c2VyIGxvY2tlZCBhbW91bnQEAAAAEnVzZXJTaGFyZUFtb3VudE5ldwkAAGUAAAACBQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQFAAAAGXNoYXJlVG9rZW5zV2l0aGRyYXdBbW91bnQEAAAAEWF2YWlsYWJsZUZ1bmRzTmV3CQAAZAAAAAIJAQAAABF1c2VyQXZhaWxhYmxlU1dPUAAAAAIFAAAABHBvb2wIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQEAAAAEHRvdGFsU2hhcmVBbW91bnQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAABN0b3RhbFNoYXJlQW1vdW50TmV3CQAAZQAAAAIFAAAAEHRvdGFsU2hhcmVBbW91bnQFAAAAGXNoYXJlVG9rZW5zV2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU2hhcmVUb2tlbnNMb2NrZWQFAAAAEnVzZXJTaGFyZUFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAAD2N1cnJlbnRJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlMYXN0SW50ZXJlc3RIZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAUAAAATdG90YWxTaGFyZUFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleUF2YWlsYWJsZVNXT1AFAAAAEWF2YWlsYWJsZUZ1bmRzTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAUAAAANc2hhcmVUb2tlbnNJZAUAAAADbmlsAAAAAWkBAAAABWNsYWltAAAAAQAAAARwb29sBAAAABBzaGFyZVRva2VuTG9ja2VkCQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAANJHQwMTI1MjUxMjU5MAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAA0kdDAxMjUyNTEyNTkwAAAAAl8xBAAAAAxsYXN0SW50ZXJlc3QIBQAAAA0kdDAxMjUyNTEyNTkwAAAAAl8yBAAAAA0kdDAxMjU5NTEyNjg0CQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAADSR0MDEyNTk1MTI2ODQAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDEyNTk1MTI2ODQAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxMjU5NTEyNjg0AAAAAl8zBAAAAA0kdDAxMjY4OTEyNzg5CQEAAAAJY2xhaW1DYWxjAAAAAwUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMjY4OTEyNzg5AAAAAl8xBAAAAA9jdXJyZW50SW50ZXJlc3QIBQAAAA0kdDAxMjY4OTEyNzg5AAAAAl8yBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEyNjg5MTI3ODkAAAACXzMEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAgFAAAADSR0MDEyNjg5MTI3ODkAAAACXzQEAAAADWF2YWlsYWJsZUZ1bmQJAABkAAAAAgkBAAAAEXVzZXJBdmFpbGFibGVTV09QAAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAANYXZhaWxhYmxlRnVuZAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAQa2V5QXZhaWxhYmxlU1dPUAAAAAAAAAAAAAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAABFNXT1AFAAAADWF2YWlsYWJsZUZ1bmQGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANYXZhaWxhYmxlRnVuZAUAAAAEU1dPUAUAAAADbmlsAAAAAPB4pnY=", "chainId": 84, "height": 1436014, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6122BrMCYbKsV75D7NVPy2EkELmdEPeH6K2oEtJHr2ea Next: 32KRs4avyD2TM4eNhbxbBxTJKTs5ovma2S3ddtFi7Cw1 Diff:
OldNewDifferences
107107
108108 func calcInterest (lastInterestHeight,rewardUpdateHeight,lastInterest,currentRewardPerBlock,shareTokenLocked,previousRewardPerBlock,shareAssetId,scaleValue,pmtAmount) = if ((shareTokenLocked == 0))
109109 then 0
110- else if (true)
111- then throw(((toString(height) + " ") + toString(rewardUpdateHeight)))
112- else if ((rewardUpdateHeight > height))
110+ else if ((rewardUpdateHeight > height))
111+ then {
112+ let reward = (previousRewardPerBlock * (height - lastInterestHeight))
113+ if (true)
114+ then throw(((toString(height) + " ") + toString(lastInterestHeight)))
115+ else (lastInterest + fraction(reward, scaleValue, shareTokenLocked))
116+ }
117+ else if ((lastInterestHeight > rewardUpdateHeight))
113118 then {
114- let reward = (previousRewardPerBlock * (height - lastInterestHeight))
119+ let reward = (currentRewardPerBlock * (height - lastInterestHeight))
115120 (lastInterest + fraction(reward, scaleValue, shareTokenLocked))
116121 }
117- else if ((lastInterestHeight > rewardUpdateHeight))
118- then {
119- let reward = (currentRewardPerBlock * (height - lastInterestHeight))
120- (lastInterest + fraction(reward, scaleValue, shareTokenLocked))
121- }
122- else {
123- let rewardAfterLastInterestBeforeReawardUpdate = (previousRewardPerBlock * (rewardUpdateHeight - lastInterestHeight))
124- let interestAfterUpdate = (lastInterest + fraction(rewardAfterLastInterestBeforeReawardUpdate, scaleValue, shareTokenLocked))
125- let reward = (currentRewardPerBlock * (height - rewardUpdateHeight))
126- (interestAfterUpdate + fraction(reward, scaleValue, shareTokenLocked))
127- }
122+ else {
123+ let rewardAfterLastInterestBeforeReawardUpdate = (previousRewardPerBlock * (rewardUpdateHeight - lastInterestHeight))
124+ let interestAfterUpdate = (lastInterest + fraction(rewardAfterLastInterestBeforeReawardUpdate, scaleValue, shareTokenLocked))
125+ let reward = (currentRewardPerBlock * (height - rewardUpdateHeight))
126+ (interestAfterUpdate + fraction(reward, scaleValue, shareTokenLocked))
127+ }
128128
129129
130130 func claimCalc (pool,caller,pmtAmount) = {
131131 let shareAssetId = getShareAssetId(pool)
132132 let scaleValue = calcScaleValue(SWOP, shareAssetId)
133133 let shareTokenLocked = getTotalShareTokenLocked(pool)
134- let $t070967161 = getLastInterestInfo(pool)
135- let lastInterestHeight = $t070967161._1
136- let lastInterest = $t070967161._2
137- let $t071667254 = rewardInfo(pool)
138- let currentRewardPerBlock = $t071667254._1
139- let rewardUpdateHeight = $t071667254._2
140- let previousRewardPerBlock = $t071667254._3
141- let $t072597338 = getUserInterestInfo(pool, caller)
142- let userLastInterest = $t072597338._1
143- let userShareTokensAmount = $t072597338._2
134+ let $t071017166 = getLastInterestInfo(pool)
135+ let lastInterestHeight = $t071017166._1
136+ let lastInterest = $t071017166._2
137+ let $t071717259 = rewardInfo(pool)
138+ let currentRewardPerBlock = $t071717259._1
139+ let rewardUpdateHeight = $t071717259._2
140+ let previousRewardPerBlock = $t071717259._3
141+ let $t072647343 = getUserInterestInfo(pool, caller)
142+ let userLastInterest = $t072647343._1
143+ let userShareTokensAmount = $t072647343._2
144144 let currentInterest = calcInterest(lastInterestHeight, rewardUpdateHeight, lastInterest, currentRewardPerBlock, shareTokenLocked, previousRewardPerBlock, shareAssetId, scaleValue, pmtAmount)
145145 let claimAmount = fraction(userShareTokensAmount, (currentInterest - userLastInterest), scaleValue)
146146 let userNewInterest = currentInterest
173173
174174 @Callable(i)
175175 func initPoolShareFarming (pool) = {
176- let $t088768956 = rewardInfo(pool)
177- let currentReward = $t088768956._1
178- let rewardUpdateHeight = $t088768956._2
179- let previousRewardPerBlock = $t088768956._3
176+ let $t088818961 = rewardInfo(pool)
177+ let currentReward = $t088818961._1
178+ let rewardUpdateHeight = $t088818961._2
179+ let previousRewardPerBlock = $t088818961._3
180180 [IntegerEntry((pool + keyShareTokensLocked), 0), IntegerEntry((pool + keyLastInterest), 0), IntegerEntry((pool + keyRewardPoolFractionCurrent), currentReward), IntegerEntry((pool + keyRewardPoolFractionPrevious), previousRewardPerBlock)]
181181 }
182182
184184
185185 @Callable(i)
186186 func lockShareTokens (pool) = {
187- let $t092879362 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
188- let pmtAmount = $t092879362._1
189- let pmtAssetId = $t092879362._2
187+ let $t092929367 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
188+ let pmtAmount = $t092929367._1
189+ let pmtAssetId = $t092929367._2
190190 if (!(checkPmtAssetIdCorrect(pool, pmtAssetId)))
191191 then throw("Incorrect pmtAssetId")
192192 else {
193- let $t094639571 = claimCalc(pool, i.caller, pmtAmount)
194- let userNewInterest = $t094639571._1
195- let currentInterest = $t094639571._2
196- let claimAmount = $t094639571._3
197- let userShareTokensAmount = $t094639571._4
193+ let $t094689576 = claimCalc(pool, i.caller, pmtAmount)
194+ let userNewInterest = $t094689576._1
195+ let currentInterest = $t094689576._2
196+ let claimAmount = $t094689576._3
197+ let userShareTokensAmount = $t094689576._4
198198 let userShareAmountNew = (userShareTokensAmount + pmtAmount)
199199 let availableFundsNew = (userAvailableSWOP(pool, i.caller) + claimAmount)
200200 let totalShareAmount = getTotalShareTokenLocked(pool)
210210 @Callable(i)
211211 func withdrawShareTokens (pool,shareTokensWithdrawAmount) = {
212212 let shareTokensId = fromBase58String(getStringValue(value(addressFromString(pool)), "share_asset_id"))
213- let $t01092811028 = claimCalc(pool, i.caller, 1)
214- let userNewInterest = $t01092811028._1
215- let currentInterest = $t01092811028._2
216- let claimAmount = $t01092811028._3
217- let userShareTokensAmount = $t01092811028._4
213+ let $t01093311033 = claimCalc(pool, i.caller, 1)
214+ let userNewInterest = $t01093311033._1
215+ let currentInterest = $t01093311033._2
216+ let claimAmount = $t01093311033._3
217+ let userShareTokensAmount = $t01093311033._4
218218 if ((shareTokensWithdrawAmount > userShareTokensAmount))
219219 then throw("Withdraw amount more then user locked amount")
220220 else {
233233 @Callable(i)
234234 func claim (pool) = {
235235 let shareTokenLocked = getTotalShareTokenLocked(pool)
236- let $t01252012585 = getLastInterestInfo(pool)
237- let lastInterestHeight = $t01252012585._1
238- let lastInterest = $t01252012585._2
239- let $t01259012679 = rewardInfo(pool)
240- let currentRewardPerBlock = $t01259012679._1
241- let rewardUpdateHeight = $t01259012679._2
242- let previousRewardPerBlock = $t01259012679._3
243- let $t01268412784 = claimCalc(pool, i.caller, 1)
244- let userNewInterest = $t01268412784._1
245- let currentInterest = $t01268412784._2
246- let claimAmount = $t01268412784._3
247- let userShareTokensAmount = $t01268412784._4
236+ let $t01252512590 = getLastInterestInfo(pool)
237+ let lastInterestHeight = $t01252512590._1
238+ let lastInterest = $t01252512590._2
239+ let $t01259512684 = rewardInfo(pool)
240+ let currentRewardPerBlock = $t01259512684._1
241+ let rewardUpdateHeight = $t01259512684._2
242+ let previousRewardPerBlock = $t01259512684._3
243+ let $t01268912789 = claimCalc(pool, i.caller, 1)
244+ let userNewInterest = $t01268912789._1
245+ let currentInterest = $t01268912789._2
246+ let claimAmount = $t01268912789._3
247+ let userShareTokensAmount = $t01268912789._4
248248 let availableFund = (userAvailableSWOP(pool, i.caller) + claimAmount)
249249 let userClaimedAmount = getUserSWOPClaimedAmount(pool, i.caller)
250250 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
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 keyShareTokensLocked = "_total_share_tokens_locked"
1111
1212 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
1313
1414 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
1515
1616 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
1717
1818 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
1919
2020 let keyRewardUpdateHeight = "reward_update_height"
2121
2222 let keyLastInterest = "_last_interest"
2323
2424 let keyLastInterestHeight = "_last_interest_height"
2525
2626 let keyUserShareTokensLocked = "_share_tokens_locked"
2727
2828 let keyUserLastInterest = "_last_interest"
2929
3030 let keySWOPid = "SWOP_id"
3131
3232 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
3333
3434 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3535
3636 let keyAvailableSWOP = "_available_SWOP"
3737
3838 let keyFarmingStartHeight = "farming_start_height"
3939
4040 let governanveAddress = Address(base58'3NAY381Utk65jiLYmvHBg4c3guUvhiH1SPy')
4141
4242 let oneWeekInBlock = 10106
4343
4444 let totalVoteShare = 10000000000
4545
4646 let SWOP = fromBase58String(getStringValue(this, keySWOPid))
4747
4848 func getTotalShareTokenLocked (pool) = valueOrErrorMessage(getInteger(this, (pool + keyShareTokensLocked)), (("No data on the key: " + pool) + keyShareTokensLocked))
4949
5050
5151 func getShareAssetId (pool) = fromBase58String(getStringValue(value(addressFromString(pool)), "share_asset_id"))
5252
5353
5454 func calcScaleValue (assetId1,assetId2) = {
5555 let assetId1Decimals = value(assetInfo(assetId1)).decimals
5656 let assetId2Decimals = value(assetInfo(assetId2)).decimals
5757 let scaleDigits = ((assetId2Decimals - assetId1Decimals) + 8)
5858 pow(10, 0, scaleDigits, 0, 0, HALFDOWN)
5959 }
6060
6161
6262 func userAvailableSWOP (pool,user) = valueOrElse(getInteger(this, (((pool + "_") + toString(user)) + keyAvailableSWOP)), 0)
6363
6464
6565 func rewardInfo (pool) = {
6666 let totalRewardPerBlockCurrent = valueOrErrorMessage(getInteger(governanveAddress, keyTotalRewardPerBlockCurrent), ((("No data on the key: " + keyTotalRewardPerBlockCurrent) + " at address ") + toString(governanveAddress)))
6767 let totalRewardPerBlockPrevious = valueOrErrorMessage(getInteger(governanveAddress, keyTotalRewardPerBlockPrevious), ((("No data on the key: " + keyTotalRewardPerBlockPrevious) + " at address ") + toString(governanveAddress)))
6868 let rewardPoolFractionCurrent = valueOrErrorMessage(getInteger(governanveAddress, (pool + keyRewardPoolFractionCurrent)), (((("No data on the key: " + pool) + keyRewardPoolFractionCurrent) + " at address ") + toString(governanveAddress)))
6969 let rewardUpdateHeight = valueOrErrorMessage(getInteger(governanveAddress, keyRewardUpdateHeight), ((("No data on the key: " + keyRewardUpdateHeight) + " at address ") + toString(governanveAddress)))
7070 let rewardPoolFractionPrevious = valueOrErrorMessage(getInteger(governanveAddress, (pool + keyRewardPoolFractionPrevious)), (((("No data on the key: " + pool) + keyRewardPoolFractionPrevious) + " at address ") + toString(governanveAddress)))
7171 let rewardPoolCurrent = fraction(totalRewardPerBlockCurrent, rewardPoolFractionCurrent, totalVoteShare)
7272 let rewardPoolPrevious = fraction(totalRewardPerBlockPrevious, rewardPoolFractionPrevious, totalVoteShare)
7373 if (if ((rewardPoolCurrent > totalRewardPerBlockCurrent))
7474 then true
7575 else (rewardPoolPrevious > totalRewardPerBlockPrevious))
7676 then throw("rewardPoolCurrent > totalRewardPerBlockCurrent or rewardPoolPrevious > totalRewardPerBlockPrevious")
7777 else $Tuple3(rewardPoolCurrent, rewardUpdateHeight, rewardPoolPrevious)
7878 }
7979
8080
8181 func getLastInterestInfo (pool) = {
8282 let lastInterest = valueOrErrorMessage(getInteger(this, (pool + keyLastInterest)), (("No data on the key: " + pool) + keyLastInterest))
8383 let lastInterestHeight = valueOrElse(getInteger(this, (pool + keyLastInterestHeight)), height)
8484 $Tuple2(lastInterestHeight, lastInterest)
8585 }
8686
8787
8888 func getUserInterestInfo (pool,userAddress) = {
8989 let userLastInterest = getInteger(this, (((pool + "_") + toString(userAddress)) + keyUserLastInterest))
9090 let userShare = getInteger(this, (((pool + "_") + toString(userAddress)) + keyUserShareTokensLocked))
9191 let lastInterest = valueOrErrorMessage(getInteger(this, (pool + keyLastInterest)), (("No data on the key: " + pool) + keyLastInterest))
9292 let userLastInterestValue = match userLastInterest {
9393 case userLastInterest: Int =>
9494 userLastInterest
9595 case _ =>
9696 lastInterest
9797 }
9898 let userShareTokensAmount = match userShare {
9999 case userShare: Int =>
100100 userShare
101101 case _ =>
102102 0
103103 }
104104 $Tuple2(userLastInterestValue, userShareTokensAmount)
105105 }
106106
107107
108108 func calcInterest (lastInterestHeight,rewardUpdateHeight,lastInterest,currentRewardPerBlock,shareTokenLocked,previousRewardPerBlock,shareAssetId,scaleValue,pmtAmount) = if ((shareTokenLocked == 0))
109109 then 0
110- else if (true)
111- then throw(((toString(height) + " ") + toString(rewardUpdateHeight)))
112- else if ((rewardUpdateHeight > height))
110+ else if ((rewardUpdateHeight > height))
111+ then {
112+ let reward = (previousRewardPerBlock * (height - lastInterestHeight))
113+ if (true)
114+ then throw(((toString(height) + " ") + toString(lastInterestHeight)))
115+ else (lastInterest + fraction(reward, scaleValue, shareTokenLocked))
116+ }
117+ else if ((lastInterestHeight > rewardUpdateHeight))
113118 then {
114- let reward = (previousRewardPerBlock * (height - lastInterestHeight))
119+ let reward = (currentRewardPerBlock * (height - lastInterestHeight))
115120 (lastInterest + fraction(reward, scaleValue, shareTokenLocked))
116121 }
117- else if ((lastInterestHeight > rewardUpdateHeight))
118- then {
119- let reward = (currentRewardPerBlock * (height - lastInterestHeight))
120- (lastInterest + fraction(reward, scaleValue, shareTokenLocked))
121- }
122- else {
123- let rewardAfterLastInterestBeforeReawardUpdate = (previousRewardPerBlock * (rewardUpdateHeight - lastInterestHeight))
124- let interestAfterUpdate = (lastInterest + fraction(rewardAfterLastInterestBeforeReawardUpdate, scaleValue, shareTokenLocked))
125- let reward = (currentRewardPerBlock * (height - rewardUpdateHeight))
126- (interestAfterUpdate + fraction(reward, scaleValue, shareTokenLocked))
127- }
122+ else {
123+ let rewardAfterLastInterestBeforeReawardUpdate = (previousRewardPerBlock * (rewardUpdateHeight - lastInterestHeight))
124+ let interestAfterUpdate = (lastInterest + fraction(rewardAfterLastInterestBeforeReawardUpdate, scaleValue, shareTokenLocked))
125+ let reward = (currentRewardPerBlock * (height - rewardUpdateHeight))
126+ (interestAfterUpdate + fraction(reward, scaleValue, shareTokenLocked))
127+ }
128128
129129
130130 func claimCalc (pool,caller,pmtAmount) = {
131131 let shareAssetId = getShareAssetId(pool)
132132 let scaleValue = calcScaleValue(SWOP, shareAssetId)
133133 let shareTokenLocked = getTotalShareTokenLocked(pool)
134- let $t070967161 = getLastInterestInfo(pool)
135- let lastInterestHeight = $t070967161._1
136- let lastInterest = $t070967161._2
137- let $t071667254 = rewardInfo(pool)
138- let currentRewardPerBlock = $t071667254._1
139- let rewardUpdateHeight = $t071667254._2
140- let previousRewardPerBlock = $t071667254._3
141- let $t072597338 = getUserInterestInfo(pool, caller)
142- let userLastInterest = $t072597338._1
143- let userShareTokensAmount = $t072597338._2
134+ let $t071017166 = getLastInterestInfo(pool)
135+ let lastInterestHeight = $t071017166._1
136+ let lastInterest = $t071017166._2
137+ let $t071717259 = rewardInfo(pool)
138+ let currentRewardPerBlock = $t071717259._1
139+ let rewardUpdateHeight = $t071717259._2
140+ let previousRewardPerBlock = $t071717259._3
141+ let $t072647343 = getUserInterestInfo(pool, caller)
142+ let userLastInterest = $t072647343._1
143+ let userShareTokensAmount = $t072647343._2
144144 let currentInterest = calcInterest(lastInterestHeight, rewardUpdateHeight, lastInterest, currentRewardPerBlock, shareTokenLocked, previousRewardPerBlock, shareAssetId, scaleValue, pmtAmount)
145145 let claimAmount = fraction(userShareTokensAmount, (currentInterest - userLastInterest), scaleValue)
146146 let userNewInterest = currentInterest
147147 $Tuple4(userNewInterest, currentInterest, claimAmount, userShareTokensAmount)
148148 }
149149
150150
151151 func checkPmtAssetIdCorrect (pool,pmtAssetId) = {
152152 let poolShareAssetId = fromBase58String(getStringValue(value(addressFromString(pool)), "share_asset_id"))
153153 if ((pmtAssetId == poolShareAssetId))
154154 then true
155155 else false
156156 }
157157
158158
159159 func getUserSWOPClaimedAmount (pool,user) = valueOrElse(getInteger(this, (((pool + "_") + toString(user)) + keyUserSWOPClaimedAmount)), 0)
160160
161161
162162 @Callable(i)
163163 func init (earlyLP) = if (isDefined(getString(this, "keySWOPid")))
164164 then throw("SWOP already initialized")
165165 else {
166166 let initAmount = 100000000000000
167167 let SWOPissue = Issue("SWOP", "SWOP protocol token", initAmount, 8, true)
168168 let SWOPid = calculateAssetId(SWOPissue)
169169 nil
170170 }
171171
172172
173173
174174 @Callable(i)
175175 func initPoolShareFarming (pool) = {
176- let $t088768956 = rewardInfo(pool)
177- let currentReward = $t088768956._1
178- let rewardUpdateHeight = $t088768956._2
179- let previousRewardPerBlock = $t088768956._3
176+ let $t088818961 = rewardInfo(pool)
177+ let currentReward = $t088818961._1
178+ let rewardUpdateHeight = $t088818961._2
179+ let previousRewardPerBlock = $t088818961._3
180180 [IntegerEntry((pool + keyShareTokensLocked), 0), IntegerEntry((pool + keyLastInterest), 0), IntegerEntry((pool + keyRewardPoolFractionCurrent), currentReward), IntegerEntry((pool + keyRewardPoolFractionPrevious), previousRewardPerBlock)]
181181 }
182182
183183
184184
185185 @Callable(i)
186186 func lockShareTokens (pool) = {
187- let $t092879362 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
188- let pmtAmount = $t092879362._1
189- let pmtAssetId = $t092879362._2
187+ let $t092929367 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
188+ let pmtAmount = $t092929367._1
189+ let pmtAssetId = $t092929367._2
190190 if (!(checkPmtAssetIdCorrect(pool, pmtAssetId)))
191191 then throw("Incorrect pmtAssetId")
192192 else {
193- let $t094639571 = claimCalc(pool, i.caller, pmtAmount)
194- let userNewInterest = $t094639571._1
195- let currentInterest = $t094639571._2
196- let claimAmount = $t094639571._3
197- let userShareTokensAmount = $t094639571._4
193+ let $t094689576 = claimCalc(pool, i.caller, pmtAmount)
194+ let userNewInterest = $t094689576._1
195+ let currentInterest = $t094689576._2
196+ let claimAmount = $t094689576._3
197+ let userShareTokensAmount = $t094689576._4
198198 let userShareAmountNew = (userShareTokensAmount + pmtAmount)
199199 let availableFundsNew = (userAvailableSWOP(pool, i.caller) + claimAmount)
200200 let totalShareAmount = getTotalShareTokenLocked(pool)
201201 let totalShareAmountNew = (totalShareAmount + pmtAmount)
202202 let userClaimedAmount = getUserSWOPClaimedAmount(pool, i.caller)
203203 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
204204 [IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserLastInterest), userNewInterest), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserShareTokensLocked), userShareAmountNew), IntegerEntry((pool + keyLastInterest), currentInterest), IntegerEntry((pool + keyLastInterestHeight), height), IntegerEntry((pool + keyShareTokensLocked), totalShareAmountNew), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserSWOPLastClaimedAmount), claimAmount), IntegerEntry((((pool + "_") + toString(i.caller)) + keyAvailableSWOP), availableFundsNew)]
205205 }
206206 }
207207
208208
209209
210210 @Callable(i)
211211 func withdrawShareTokens (pool,shareTokensWithdrawAmount) = {
212212 let shareTokensId = fromBase58String(getStringValue(value(addressFromString(pool)), "share_asset_id"))
213- let $t01092811028 = claimCalc(pool, i.caller, 1)
214- let userNewInterest = $t01092811028._1
215- let currentInterest = $t01092811028._2
216- let claimAmount = $t01092811028._3
217- let userShareTokensAmount = $t01092811028._4
213+ let $t01093311033 = claimCalc(pool, i.caller, 1)
214+ let userNewInterest = $t01093311033._1
215+ let currentInterest = $t01093311033._2
216+ let claimAmount = $t01093311033._3
217+ let userShareTokensAmount = $t01093311033._4
218218 if ((shareTokensWithdrawAmount > userShareTokensAmount))
219219 then throw("Withdraw amount more then user locked amount")
220220 else {
221221 let userShareAmountNew = (userShareTokensAmount - shareTokensWithdrawAmount)
222222 let availableFundsNew = (userAvailableSWOP(pool, i.caller) + claimAmount)
223223 let totalShareAmount = getTotalShareTokenLocked(pool)
224224 let totalShareAmountNew = (totalShareAmount - shareTokensWithdrawAmount)
225225 let userClaimedAmount = getUserSWOPClaimedAmount(pool, i.caller)
226226 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
227227 [IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserLastInterest), userNewInterest), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserShareTokensLocked), userShareAmountNew), IntegerEntry((pool + keyLastInterest), currentInterest), IntegerEntry((pool + keyLastInterestHeight), height), IntegerEntry((pool + keyShareTokensLocked), totalShareAmountNew), IntegerEntry((((pool + "_") + toString(i.caller)) + keyAvailableSWOP), availableFundsNew), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, shareTokensWithdrawAmount, shareTokensId)]
228228 }
229229 }
230230
231231
232232
233233 @Callable(i)
234234 func claim (pool) = {
235235 let shareTokenLocked = getTotalShareTokenLocked(pool)
236- let $t01252012585 = getLastInterestInfo(pool)
237- let lastInterestHeight = $t01252012585._1
238- let lastInterest = $t01252012585._2
239- let $t01259012679 = rewardInfo(pool)
240- let currentRewardPerBlock = $t01259012679._1
241- let rewardUpdateHeight = $t01259012679._2
242- let previousRewardPerBlock = $t01259012679._3
243- let $t01268412784 = claimCalc(pool, i.caller, 1)
244- let userNewInterest = $t01268412784._1
245- let currentInterest = $t01268412784._2
246- let claimAmount = $t01268412784._3
247- let userShareTokensAmount = $t01268412784._4
236+ let $t01252512590 = getLastInterestInfo(pool)
237+ let lastInterestHeight = $t01252512590._1
238+ let lastInterest = $t01252512590._2
239+ let $t01259512684 = rewardInfo(pool)
240+ let currentRewardPerBlock = $t01259512684._1
241+ let rewardUpdateHeight = $t01259512684._2
242+ let previousRewardPerBlock = $t01259512684._3
243+ let $t01268912789 = claimCalc(pool, i.caller, 1)
244+ let userNewInterest = $t01268912789._1
245+ let currentInterest = $t01268912789._2
246+ let claimAmount = $t01268912789._3
247+ let userShareTokensAmount = $t01268912789._4
248248 let availableFund = (userAvailableSWOP(pool, i.caller) + claimAmount)
249249 let userClaimedAmount = getUserSWOPClaimedAmount(pool, i.caller)
250250 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
251251 if ((availableFund == 0))
252252 then throw("You have 0 available SWOP")
253253 else [IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserLastInterest), userNewInterest), IntegerEntry((pool + keyLastInterest), currentInterest), IntegerEntry((pool + keyLastInterestHeight), height), IntegerEntry((((pool + "_") + toString(i.caller)) + keyAvailableSWOP), 0), Reissue(SWOP, availableFund, true), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((((pool + "_") + toString(i.caller)) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, availableFund, SWOP)]
254254 }
255255
256256

github/deemru/w8io/169f3d6 
75.64 ms