tx · BrGHFpFnRe8WZDnbPqf7oVnq6YocWUrYxAtCyH3sMuwW

3N6vQXyYKDG1Kqk6Tq5T7cXBvMPsa6uRHfG:  -0.01000000 Waves

2019.08.06 14:00 [618951] smart account 3N6vQXyYKDG1Kqk6Tq5T7cXBvMPsa6uRHfG > SELF 0.00000000 Waves

{ "type": 13, "id": "BrGHFpFnRe8WZDnbPqf7oVnq6YocWUrYxAtCyH3sMuwW", "fee": 1000000, "feeAssetId": null, "timestamp": 1565089147148, "version": 1, "sender": "3N6vQXyYKDG1Kqk6Tq5T7cXBvMPsa6uRHfG", "senderPublicKey": "HuMBZwhK1tKdmSB2ZrJCsY8mfL84bqMpvi3HPc58ohD1", "proofs": [ "2Um2LdDGoFdLtATyViDBvt2abZHiZDh34y5yyEMjhD9W7DiNLa8yHhHmxfbz7rkDxDFSncrojdMuJwXVQP38WZkN" ], "script": "base64:AAIDAAAAAAAAABYIARIAEgMKAQESBgoEAQEBARIDCgECAAAAAQAAAAAOY3JlZGl0SW50ZXJlc3QAAAAAAAAAAA8AAAAEAAAAAWkBAAAACWFkZEhvbGRlcgAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQGCQAAZgAAAAIAAAAAAAX14QAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAIWNhbiBob2RsIHdhdmVzIG9ubHkgYXQgdGhlIG1vbWVudAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABNjdXJyZW50SG9sZGVyc0NvdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADGhvbGRlcl9jb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAJpMQUAAAAHJG1hdGNoMAUAAAACaTEAAAAAAAAAAAAEAAAACGRhdGFMaXN0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAANX2hvbGRlcl9pbmRleAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAJoaQUAAAAHJG1hdGNoMAQAAAAPaG9sZGVyQXZhaWxhYmxlCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAJoaQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAJoaQkAAGQAAAACBQAAAA9ob2xkZXJBdmFpbGFibGUIBQAAAANwbXQAAAAGYW1vdW50BQAAAANuaWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAARaG9sZGVyX2F2YWlsYWJsZV8JAAGkAAAAAQUAAAATY3VycmVudEhvbGRlcnNDb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAQaG9sZGVyX2NyZWRpdGVkXwkAAaQAAAABBQAAABNjdXJyZW50SG9sZGVyc0NvdW50AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADV9ob2xkZXJfaW5kZXgFAAAAE2N1cnJlbnRIb2xkZXJzQ291bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGhvbGRlcl9jb3VudAkAAGQAAAACBQAAABNjdXJyZW50SG9sZGVyc0NvdW50AAAAAAAAAAABBQAAAANuaWwEAAAADmF2YWlsYWJsZUZ1bmRzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAD2F2YWlsYWJsZV9mdW5kcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAJpMgUAAAAHJG1hdGNoMAUAAAACaTIAAAAAAAAAAAAJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAD2F2YWlsYWJsZV9mdW5kcwkAAGQAAAACBQAAAA5hdmFpbGFibGVGdW5kcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAACGRhdGFMaXN0AAAAAWkBAAAAEXRha2VJbnZlc3RlZEZ1bmRzAAAAAQAAAAZhbW91bnQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALaG9sZGVySW5kZXgJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADV9ob2xkZXJfaW5kZXgEAAAAFmN1cnJlbnRIb2xkZXJBdmFpbGFibGUJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEWhvbGRlcl9hdmFpbGFibGVfCQABpAAAAAEFAAAAC2hvbGRlckluZGV4BAAAAA5hdmFpbGFibGVGdW5kcwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAA9hdmFpbGFibGVfZnVuZHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAACaTMFAAAAByRtYXRjaDAFAAAAAmkzAAAAAAAAAAAAAwkAAGYAAAACBQAAAAZhbW91bnQFAAAAFmN1cnJlbnRIb2xkZXJBdmFpbGFibGUJAAACAAAAAQIAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAtob2xkZXJJbmRleAkAAGUAAAACBQAAABZjdXJyZW50SG9sZGVyQXZhaWxhYmxlBQAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAD2F2YWlsYWJsZV9mdW5kcwkAAGUAAAACBQAAAA5hdmFpbGFibGVGdW5kcwUAAAAGYW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAAphZGREZWJpdG9yAAAABAAAAAZhbW91bnQAAAAFaHJlZjAAAAAFaHJlZjEAAAAFaHJlZjIEAAAAE2N1cnJlbnRIb2xkZXJzQ291bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAMaG9sZGVyX2NvdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAmk0BQAAAAckbWF0Y2gwBQAAAAJpNAAAAAAAAAAAAAQAAAAIY3JlZGl0SWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAIZGF0YUxpc3QDAwkAAGcAAAACBQAAAAVocmVmMAAAAAAAAAAAAAkAAGYAAAACBQAAABNjdXJyZW50SG9sZGVyc0NvdW50BQAAAAVocmVmMAcEAAAACGF2VmFsdWUwCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAVocmVmMAQAAAAKcmVtYWluaW5nMAUAAAAGYW1vdW50BAAAAAZ0YWtlbjADCQAAZwAAAAIAAAAAAAAAAAAFAAAACnJlbWFpbmluZzAAAAAAAAAAAAADCQAAZgAAAAIFAAAACnJlbWFpbmluZzAFAAAACGF2VmFsdWUwBQAAAAhhdlZhbHVlMAUAAAAKcmVtYWluaW5nMAQAAAAIY291bnRlcjADCQAAZgAAAAIFAAAABnRha2VuMAAAAAAAAAAAAAkAAGQAAAACAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAABAAAAAhzdWJMaXN0MAMJAABmAAAAAgkAAGUAAAACBQAAAApyZW1haW5pbmcwBQAAAAZ0YWtlbjAAAAAAAAAAAAADCQAAZwAAAAIFAAAACGNvdW50ZXIwAAAAAAAAAAADCQAAAgAAAAECAAAAEUZ1bmRzIHVuYXZhaWxhYmxlAwMJAABnAAAAAgUAAAAFaHJlZjEAAAAAAAAAAAAJAABmAAAAAgUAAAATY3VycmVudEhvbGRlcnNDb3VudAUAAAAFaHJlZjEHBAAAAAhhdlZhbHVlMQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARaG9sZGVyX2F2YWlsYWJsZV8JAAGkAAAAAQUAAAAFaHJlZjEEAAAACnJlbWFpbmluZzEJAABlAAAAAgUAAAAKcmVtYWluaW5nMAUAAAAGdGFrZW4wBAAAAAZ0YWtlbjEDCQAAZwAAAAIAAAAAAAAAAAAFAAAACnJlbWFpbmluZzEAAAAAAAAAAAADCQAAZgAAAAIFAAAACnJlbWFpbmluZzEFAAAACGF2VmFsdWUxBQAAAAhhdlZhbHVlMQUAAAAKcmVtYWluaW5nMQQAAAAIY291bnRlcjEDCQAAZgAAAAIFAAAABnRha2VuMQAAAAAAAAAAAAkAAGQAAAACBQAAAAhjb3VudGVyMAAAAAAAAAAAAQUAAAAIY291bnRlcjAEAAAACHN1Ykxpc3QxAwkAAGYAAAACCQAAZQAAAAIFAAAACnJlbWFpbmluZzEFAAAABnRha2VuMQAAAAAAAAAAAAMJAABnAAAAAgUAAAAIY291bnRlcjEAAAAAAAAAAAMJAAACAAAAAQIAAAARRnVuZHMgdW5hdmFpbGFibGUDAwkAAGcAAAACBQAAAAVocmVmMgAAAAAAAAAAAAkAAGYAAAACBQAAABNjdXJyZW50SG9sZGVyc0NvdW50BQAAAAVocmVmMgcEAAAACGF2VmFsdWUyCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAVocmVmMgQAAAAKcmVtYWluaW5nMgkAAGUAAAACBQAAAApyZW1haW5pbmcxBQAAAAZ0YWtlbjEEAAAABnRha2VuMgMJAABnAAAAAgAAAAAAAAAAAAUAAAAKcmVtYWluaW5nMgAAAAAAAAAAAAMJAABmAAAAAgUAAAAKcmVtYWluaW5nMgUAAAAIYXZWYWx1ZTIFAAAACGF2VmFsdWUyBQAAAApyZW1haW5pbmcyBAAAAAhjb3VudGVyMgMJAABmAAAAAgUAAAAGdGFrZW4yAAAAAAAAAAAACQAAZAAAAAIFAAAACGNvdW50ZXIxAAAAAAAAAAABBQAAAAhjb3VudGVyMQQAAAAIc3ViTGlzdDIDCQAAZgAAAAIJAABlAAAAAgUAAAAKcmVtYWluaW5nMgUAAAAGdGFrZW4yAAAAAAAAAAAAAwkAAGcAAAACBQAAAAhjb3VudGVyMgAAAAAAAAAAAwkAAAIAAAABAgAAABFGdW5kcyB1bmF2YWlsYWJsZQUAAAADbmlsBQAAAANuaWwDCQAAZwAAAAIFAAAABnRha2VuMgkAAGkAAAACBQAAAApyZW1haW5pbmcyCQAAZQAAAAIAAAAAAAAAAAMFAAAACGNvdW50ZXIxCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAEWhvbGRlcl9hdmFpbGFibGVfCQABpAAAAAEFAAAABWhyZWYyCQAAZQAAAAIFAAAACGF2VmFsdWUyBQAAAAZ0YWtlbjIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAQaG9sZGVyX2NyZWRpdGVkXwkAAaQAAAABBQAAAAVocmVmMgkAAGQAAAACCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABBob2xkZXJfY3JlZGl0ZWRfCQABpAAAAAEFAAAABWhyZWYyBQAAAAZ0YWtlbjIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAhjcmVkaXRJZAIAAAABXwkAAaQAAAABBQAAAAhjb3VudGVyMQUAAAAFaHJlZjIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAhjcmVkaXRJZAIAAAAHX3Rha2VuXwkAAaQAAAABBQAAAAhjb3VudGVyMQUAAAAGdGFrZW4yBQAAAAhzdWJMaXN0MgMDCQAAAAAAAAIAAAAAAAAAAAIJAABlAAAAAgUAAAATY3VycmVudEhvbGRlcnNDb3VudAAAAAAAAAAAAQkAAGYAAAACCQAAZQAAAAIFAAAACnJlbWFpbmluZzIFAAAABnRha2VuMgAAAAAAAAAAAAcJAAACAAAAAQIAAAAABQAAAAhzdWJMaXN0MgUAAAADbmlsBQAAAANuaWwDCQAAZwAAAAIFAAAABnRha2VuMQkAAGkAAAACBQAAAApyZW1haW5pbmcxCQAAZQAAAAIAAAAAAAAAAAMFAAAACGNvdW50ZXIwCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAEWhvbGRlcl9hdmFpbGFibGVfCQABpAAAAAEFAAAABWhyZWYxCQAAZQAAAAIFAAAACGF2VmFsdWUxBQAAAAZ0YWtlbjEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAQaG9sZGVyX2NyZWRpdGVkXwkAAaQAAAABBQAAAAVocmVmMQkAAGQAAAACCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABBob2xkZXJfY3JlZGl0ZWRfCQABpAAAAAEFAAAABWhyZWYxBQAAAAZ0YWtlbjEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAhjcmVkaXRJZAIAAAABXwkAAaQAAAABBQAAAAhjb3VudGVyMAUAAAAFaHJlZjEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAhjcmVkaXRJZAIAAAAHX3Rha2VuXwkAAaQAAAABBQAAAAhjb3VudGVyMAUAAAAGdGFrZW4xBQAAAAhzdWJMaXN0MQMDCQAAAAAAAAIAAAAAAAAAAAEJAABlAAAAAgUAAAATY3VycmVudEhvbGRlcnNDb3VudAAAAAAAAAAAAQkAAGYAAAACCQAAZQAAAAIFAAAACnJlbWFpbmluZzEFAAAABnRha2VuMQAAAAAAAAAAAAcJAAACAAAAAQIAAAAABQAAAAhzdWJMaXN0MQUAAAADbmlsBQAAAANuaWwDCQAAZwAAAAIFAAAABnRha2VuMAkAAGkAAAACBQAAAApyZW1haW5pbmcwCQAAZQAAAAIAAAAAAAAAAAMAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAARaG9sZGVyX2F2YWlsYWJsZV8JAAGkAAAAAQUAAAAFaHJlZjAJAABlAAAAAgUAAAAIYXZWYWx1ZTAFAAAABnRha2VuMAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABBob2xkZXJfY3JlZGl0ZWRfCQABpAAAAAEFAAAABWhyZWYwCQAAZAAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEGhvbGRlcl9jcmVkaXRlZF8JAAGkAAAAAQUAAAAFaHJlZjAFAAAABnRha2VuMAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAACGNyZWRpdElkAgAAAAFfCQABpAAAAAEAAAAAAAAAAAAFAAAABWhyZWYwCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIY3JlZGl0SWQCAAAAB190YWtlbl8JAAGkAAAAAQAAAAAAAAAAAAUAAAAGdGFrZW4wBQAAAAhzdWJMaXN0MAMDCQAAAAAAAAIAAAAAAAAAAAAJAABlAAAAAgUAAAATY3VycmVudEhvbGRlcnNDb3VudAAAAAAAAAAAAQkAAGYAAAACCQAAZQAAAAIFAAAACnJlbWFpbmluZzAFAAAABnRha2VuMAAAAAAAAAAAAAcJAAACAAAAAQIAAAAABQAAAAhzdWJMaXN0MAUAAAADbmlsBAAAAA5hdmFpbGFibGVGdW5kcwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAA9hdmFpbGFibGVfZnVuZHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAACaTUFAAAAByRtYXRjaDAFAAAAAmk1AAAAAAAAAAAABAAAAA1jcmVkaXRlZEZ1bmRzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADmNyZWRpdGVkX2Z1bmRzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAmk2BQAAAAckbWF0Y2gwBQAAAAJpNgAAAAAAAAAAAAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAPYXZhaWxhYmxlX2Z1bmRzCQAAZQAAAAIFAAAADmF2YWlsYWJsZUZ1bmRzBQAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADmNyZWRpdGVkX2Z1bmRzCQAAZAAAAAIFAAAADWNyZWRpdGVkRnVuZHMFAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAhjcmVkaXRJZAIAAAAGX3Rha2VyCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACGNyZWRpdElkAgAAAAdfYW1vdW50BQAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAIY3JlZGl0SWQCAAAAB19hY3RpdmUGBQAAAAhkYXRhTGlzdAAAAAFpAQAAAAxyZXR1cm5DcmVkaXQAAAABAAAACGNyZWRpdElkBAAAAA5hdmFpbGFibGVGdW5kcwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAA9hdmFpbGFibGVfZnVuZHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAACaTcFAAAAByRtYXRjaDAFAAAAAmk3AAAAAAAAAAAABAAAAA1jcmVkaXRlZEZ1bmRzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADmNyZWRpdGVkX2Z1bmRzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAmk4BQAAAAckbWF0Y2gwBQAAAAJpOAAAAAAAAAAAAAQAAAALYjU4Q3JlZGl0SWQJAAJYAAAAAQUAAAAIY3JlZGl0SWQEAAAABmFjdGl2ZQkBAAAAB2V4dHJhY3QAAAABCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAALYjU4Q3JlZGl0SWQCAAAAB19hY3RpdmUDBQAAAAZhY3RpdmUEAAAAFWN1cnJlbnRDYWxsZXJDcmVkaXRlZAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAALYjU4Q3JlZGl0SWQCAAAAB19hbW91bnQEAAAADHdpdGhJbnRlcmVzdAkAAGkAAAACCQAAaAAAAAIFAAAAFWN1cnJlbnRDYWxsZXJDcmVkaXRlZAkAAGQAAAACAAAAAAAAAABkBQAAAA5jcmVkaXRJbnRlcmVzdAAAAAAAAAAAZAQAAAATY3VycmVudEhvbGRlcnNDb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAxob2xkZXJfY291bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAACaTkFAAAAByRtYXRjaDAFAAAAAmk5AAAAAAAAAAAABAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBgkAAGYAAAACBQAAAAx3aXRoSW50ZXJlc3QIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAAAQAAAAIZGF0YUxpc3QEAAAADHJldHVybkluZGV4MAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAC2I1OENyZWRpdElkAgAAAAJfMAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpMTAFAAAAByRtYXRjaDAFAAAAA2kxMAD//////////wMJAABnAAAAAgUAAAAMcmV0dXJuSW5kZXgwAAAAAAAAAAAABAAAAAZ0YWtlbjAJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAC2I1OENyZWRpdElkAgAAAAhfdGFrZW5fMAQAAAAHcHJvZml0MAkAAGkAAAACCQAAaAAAAAIFAAAABnRha2VuMAUAAAAOY3JlZGl0SW50ZXJlc3QAAAAAAAAAAGQEAAAACHN1Ykxpc3QwBAAAAAxyZXR1cm5JbmRleDEEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAtiNThDcmVkaXRJZAIAAAACXzEDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaTExBQAAAAckbWF0Y2gwBQAAAANpMTEA//////////8DCQAAZwAAAAIFAAAADHJldHVybkluZGV4MQAAAAAAAAAAAAQAAAAGdGFrZW4xCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAtiNThDcmVkaXRJZAIAAAAIX3Rha2VuXzEEAAAAB3Byb2ZpdDEJAABpAAAAAgkAAGgAAAACBQAAAAZ0YWtlbjEFAAAADmNyZWRpdEludGVyZXN0AAAAAAAAAABkBAAAAAhzdWJMaXN0MQQAAAAMcmV0dXJuSW5kZXgyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAALYjU4Q3JlZGl0SWQCAAAAAl8yAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2kxMgUAAAAHJG1hdGNoMAUAAAADaTEyAP//////////AwkAAGcAAAACBQAAAAxyZXR1cm5JbmRleDIAAAAAAAAAAAAEAAAABnRha2VuMgkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAALYjU4Q3JlZGl0SWQCAAAACF90YWtlbl8yBAAAAAdwcm9maXQyCQAAaQAAAAIJAABoAAAAAgUAAAAGdGFrZW4yBQAAAA5jcmVkaXRJbnRlcmVzdAAAAAAAAAAAZAQAAAAIc3ViTGlzdDIFAAAAA25pbAQAAAAJcmV0dXJuQXYyCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAxyZXR1cm5JbmRleDIEAAAACXJldHVybkNyMgkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAQaG9sZGVyX2NyZWRpdGVkXwkAAaQAAAABBQAAAAxyZXR1cm5JbmRleDIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAARaG9sZGVyX2F2YWlsYWJsZV8JAAGkAAAAAQUAAAAMcmV0dXJuSW5kZXgyCQAAZAAAAAIJAABkAAAAAgUAAAAJcmV0dXJuQXYyBQAAAAZ0YWtlbjIFAAAAB3Byb2ZpdDIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAQaG9sZGVyX2NyZWRpdGVkXwkAAaQAAAABBQAAAAxyZXR1cm5JbmRleDIJAABlAAAAAgUAAAAJcmV0dXJuQ3IyBQAAAAZ0YWtlbjIFAAAACHN1Ykxpc3QyBQAAAANuaWwEAAAACXJldHVybkF2MQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARaG9sZGVyX2F2YWlsYWJsZV8JAAGkAAAAAQUAAAAMcmV0dXJuSW5kZXgxBAAAAAlyZXR1cm5DcjEJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEGhvbGRlcl9jcmVkaXRlZF8JAAGkAAAAAQUAAAAMcmV0dXJuSW5kZXgxCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAEWhvbGRlcl9hdmFpbGFibGVfCQABpAAAAAEFAAAADHJldHVybkluZGV4MQkAAGQAAAACCQAAZAAAAAIFAAAACXJldHVybkF2MQUAAAAGdGFrZW4xBQAAAAdwcm9maXQxCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAEGhvbGRlcl9jcmVkaXRlZF8JAAGkAAAAAQUAAAAMcmV0dXJuSW5kZXgxCQAAZQAAAAIFAAAACXJldHVybkNyMQUAAAAGdGFrZW4xBQAAAAhzdWJMaXN0MQUAAAADbmlsBAAAAAlyZXR1cm5BdjAJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEWhvbGRlcl9hdmFpbGFibGVfCQABpAAAAAEFAAAADHJldHVybkluZGV4MAQAAAAJcmV0dXJuQ3IwCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABBob2xkZXJfY3JlZGl0ZWRfCQABpAAAAAEFAAAADHJldHVybkluZGV4MAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABFob2xkZXJfYXZhaWxhYmxlXwkAAaQAAAABBQAAAAxyZXR1cm5JbmRleDAJAABkAAAAAgkAAGQAAAACBQAAAAlyZXR1cm5BdjAFAAAABnRha2VuMAUAAAAHcHJvZml0MAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABBob2xkZXJfY3JlZGl0ZWRfCQABpAAAAAEFAAAADHJldHVybkluZGV4MAkAAGUAAAACBQAAAAlyZXR1cm5DcjAFAAAABnRha2VuMAUAAAAIc3ViTGlzdDAFAAAAA25pbAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAtiNThDcmVkaXRJZAIAAAAHX2FjdGl2ZQcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAD2F2YWlsYWJsZV9mdW5kcwkAAGQAAAACBQAAAA5hdmFpbGFibGVGdW5kcwUAAAAMd2l0aEludGVyZXN0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA5jcmVkaXRlZF9mdW5kcwkAAGUAAAACBQAAAA1jcmVkaXRlZEZ1bmRzBQAAABVjdXJyZW50Q2FsbGVyQ3JlZGl0ZWQFAAAACGRhdGFMaXN0CQAAAgAAAAECAAAAAAAAAACk2iDB", "chainId": 84, "height": 618951, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let creditInterest = 15
5+
6+@Callable(i)
7+func addHolder () = {
8+ let pmt = extract(i.payment)
9+ if (if (isDefined(pmt.assetId))
10+ then true
11+ else (100000000 > pmt.amount))
12+ then throw("can hodl waves only at the moment")
13+ else {
14+ let callerAddress = toBase58String(i.caller.bytes)
15+ let currentHoldersCount = match getInteger(this, "holder_count") {
16+ case i1: Int =>
17+ i1
18+ case _ =>
19+ 0
20+ }
21+ let dataList = match getInteger(this, (callerAddress + "_holder_index")) {
22+ case hi: Int =>
23+ let holderAvailable = extract(getInteger(this, ("holder_available_" + toString(hi))))
24+[DataEntry(("holder_available_" + toString(hi)), (holderAvailable + pmt.amount))]
25+ case _ =>
26+[DataEntry(("holder_available_" + toString(currentHoldersCount)), pmt.amount), DataEntry(("holder_credited_" + toString(currentHoldersCount)), 0), DataEntry((callerAddress + "_holder_index"), currentHoldersCount), DataEntry("holder_count", (currentHoldersCount + 1))]
27+ }
28+ let availableFunds = match getInteger(this, "available_funds") {
29+ case i2: Int =>
30+ i2
31+ case _ =>
32+ 0
33+ }
34+ WriteSet(DataEntry("available_funds", (availableFunds + pmt.amount)) :: dataList)
35+ }
36+ }
37+
38+
39+
40+@Callable(i)
41+func takeInvestedFunds (amount) = {
42+ let callerAddress = toBase58String(i.caller.bytes)
43+ let holderIndex = extract(getInteger(this, (callerAddress + "_holder_index")))
44+ let currentHolderAvailable = extract(getInteger(this, ("holder_available_" + toString(holderIndex))))
45+ let availableFunds = match getInteger(this, "available_funds") {
46+ case i3: Int =>
47+ i3
48+ case _ =>
49+ 0
50+ }
51+ if ((amount > currentHolderAvailable))
52+ then throw("")
53+ else ScriptResult(WriteSet([DataEntry(("holder_available_" + toString(holderIndex)), (currentHolderAvailable - amount)), DataEntry("available_funds", (availableFunds - amount))]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
54+ }
55+
56+
57+
58+@Callable(i)
59+func addDebitor (amount,href0,href1,href2) = {
60+ let currentHoldersCount = match getInteger(this, "holder_count") {
61+ case i4: Int =>
62+ i4
63+ case _ =>
64+ 0
65+ }
66+ let creditId = toBase58String(i.transactionId)
67+ let dataList = if (if ((href0 >= 0))
68+ then (currentHoldersCount > href0)
69+ else false)
70+ then {
71+ let avValue0 = extract(getInteger(this, ("holder_available_" + toString(href0))))
72+ let remaining0 = amount
73+ let taken0 = if ((0 >= remaining0))
74+ then 0
75+ else if ((remaining0 > avValue0))
76+ then avValue0
77+ else remaining0
78+ let counter0 = if ((taken0 > 0))
79+ then (0 + 1)
80+ else 0
81+ let subList0 = if (((remaining0 - taken0) > 0))
82+ then if ((counter0 >= 3))
83+ then throw("Funds unavailable")
84+ else if (if ((href1 >= 0))
85+ then (currentHoldersCount > href1)
86+ else false)
87+ then {
88+ let avValue1 = extract(getInteger(this, ("holder_available_" + toString(href1))))
89+ let remaining1 = (remaining0 - taken0)
90+ let taken1 = if ((0 >= remaining1))
91+ then 0
92+ else if ((remaining1 > avValue1))
93+ then avValue1
94+ else remaining1
95+ let counter1 = if ((taken1 > 0))
96+ then (counter0 + 1)
97+ else counter0
98+ let subList1 = if (((remaining1 - taken1) > 0))
99+ then if ((counter1 >= 3))
100+ then throw("Funds unavailable")
101+ else if (if ((href2 >= 0))
102+ then (currentHoldersCount > href2)
103+ else false)
104+ then {
105+ let avValue2 = extract(getInteger(this, ("holder_available_" + toString(href2))))
106+ let remaining2 = (remaining1 - taken1)
107+ let taken2 = if ((0 >= remaining2))
108+ then 0
109+ else if ((remaining2 > avValue2))
110+ then avValue2
111+ else remaining2
112+ let counter2 = if ((taken2 > 0))
113+ then (counter1 + 1)
114+ else counter1
115+ let subList2 = if (((remaining2 - taken2) > 0))
116+ then if ((counter2 >= 3))
117+ then throw("Funds unavailable")
118+ else nil
119+ else nil
120+ if ((taken2 >= (remaining2 / (3 - counter1))))
121+ then [DataEntry(("holder_available_" + toString(href2)), (avValue2 - taken2)), DataEntry(("holder_credited_" + toString(href2)), (extract(getInteger(this, ("holder_credited_" + toString(href2)))) + taken2)), DataEntry(((creditId + "_") + toString(counter1)), href2), DataEntry(((creditId + "_taken_") + toString(counter1)), taken2)] :: subList2
122+ else if (if ((2 == (currentHoldersCount - 1)))
123+ then ((remaining2 - taken2) > 0)
124+ else false)
125+ then throw("")
126+ else subList2
127+ }
128+ else nil
129+ else nil
130+ if ((taken1 >= (remaining1 / (3 - counter0))))
131+ then [DataEntry(("holder_available_" + toString(href1)), (avValue1 - taken1)), DataEntry(("holder_credited_" + toString(href1)), (extract(getInteger(this, ("holder_credited_" + toString(href1)))) + taken1)), DataEntry(((creditId + "_") + toString(counter0)), href1), DataEntry(((creditId + "_taken_") + toString(counter0)), taken1)] :: subList1
132+ else if (if ((1 == (currentHoldersCount - 1)))
133+ then ((remaining1 - taken1) > 0)
134+ else false)
135+ then throw("")
136+ else subList1
137+ }
138+ else nil
139+ else nil
140+ if ((taken0 >= (remaining0 / (3 - 0))))
141+ then [DataEntry(("holder_available_" + toString(href0)), (avValue0 - taken0)), DataEntry(("holder_credited_" + toString(href0)), (extract(getInteger(this, ("holder_credited_" + toString(href0)))) + taken0)), DataEntry(((creditId + "_") + toString(0)), href0), DataEntry(((creditId + "_taken_") + toString(0)), taken0)] :: subList0
142+ else if (if ((0 == (currentHoldersCount - 1)))
143+ then ((remaining0 - taken0) > 0)
144+ else false)
145+ then throw("")
146+ else subList0
147+ }
148+ else nil
149+ let availableFunds = match getInteger(this, "available_funds") {
150+ case i5: Int =>
151+ i5
152+ case _ =>
153+ 0
154+ }
155+ let creditedFunds = match getInteger(this, "credited_funds") {
156+ case i6: Int =>
157+ i6
158+ case _ =>
159+ 0
160+ }
161+ WriteSet([DataEntry("available_funds", (availableFunds - amount)), DataEntry("credited_funds", (creditedFunds + amount)), DataEntry((creditId + "_taker"), i.caller.bytes), DataEntry((creditId + "_amount"), amount), DataEntry((creditId + "_active"), true)] :: dataList)
162+ }
163+
164+
165+
166+@Callable(i)
167+func returnCredit (creditId) = {
168+ let availableFunds = match getInteger(this, "available_funds") {
169+ case i7: Int =>
170+ i7
171+ case _ =>
172+ 0
173+ }
174+ let creditedFunds = match getInteger(this, "credited_funds") {
175+ case i8: Int =>
176+ i8
177+ case _ =>
178+ 0
179+ }
180+ let b58CreditId = toBase58String(creditId)
181+ let active = extract(getBoolean(this, (b58CreditId + "_active")))
182+ if (active)
183+ then {
184+ let currentCallerCredited = extract(getInteger(this, (b58CreditId + "_amount")))
185+ let withInterest = ((currentCallerCredited * (100 + creditInterest)) / 100)
186+ let currentHoldersCount = match getInteger(this, "holder_count") {
187+ case i9: Int =>
188+ i9
189+ case _ =>
190+ 0
191+ }
192+ let pmt = extract(i.payment)
193+ if (if (isDefined(pmt.assetId))
194+ then true
195+ else (withInterest > pmt.amount))
196+ then throw("")
197+ else {
198+ let dataList = {
199+ let returnIndex0 = match getInteger(this, (b58CreditId + "_0")) {
200+ case i10: Int =>
201+ i10
202+ case _ =>
203+ -1
204+ }
205+ if ((returnIndex0 >= 0))
206+ then {
207+ let taken0 = extract(getInteger(this, (b58CreditId + "_taken_0")))
208+ let profit0 = ((taken0 * creditInterest) / 100)
209+ let subList0 = {
210+ let returnIndex1 = match getInteger(this, (b58CreditId + "_1")) {
211+ case i11: Int =>
212+ i11
213+ case _ =>
214+ -1
215+ }
216+ if ((returnIndex1 >= 0))
217+ then {
218+ let taken1 = extract(getInteger(this, (b58CreditId + "_taken_1")))
219+ let profit1 = ((taken1 * creditInterest) / 100)
220+ let subList1 = {
221+ let returnIndex2 = match getInteger(this, (b58CreditId + "_2")) {
222+ case i12: Int =>
223+ i12
224+ case _ =>
225+ -1
226+ }
227+ if ((returnIndex2 >= 0))
228+ then {
229+ let taken2 = extract(getInteger(this, (b58CreditId + "_taken_2")))
230+ let profit2 = ((taken2 * creditInterest) / 100)
231+ let subList2 = nil
232+ let returnAv2 = extract(getInteger(this, ("holder_available_" + toString(returnIndex2))))
233+ let returnCr2 = extract(getInteger(this, ("holder_credited_" + toString(returnIndex2))))
234+[DataEntry(("holder_available_" + toString(returnIndex2)), ((returnAv2 + taken2) + profit2)), DataEntry(("holder_credited_" + toString(returnIndex2)), (returnCr2 - taken2))] :: subList2
235+ }
236+ else nil
237+ }
238+ let returnAv1 = extract(getInteger(this, ("holder_available_" + toString(returnIndex1))))
239+ let returnCr1 = extract(getInteger(this, ("holder_credited_" + toString(returnIndex1))))
240+[DataEntry(("holder_available_" + toString(returnIndex1)), ((returnAv1 + taken1) + profit1)), DataEntry(("holder_credited_" + toString(returnIndex1)), (returnCr1 - taken1))] :: subList1
241+ }
242+ else nil
243+ }
244+ let returnAv0 = extract(getInteger(this, ("holder_available_" + toString(returnIndex0))))
245+ let returnCr0 = extract(getInteger(this, ("holder_credited_" + toString(returnIndex0))))
246+[DataEntry(("holder_available_" + toString(returnIndex0)), ((returnAv0 + taken0) + profit0)), DataEntry(("holder_credited_" + toString(returnIndex0)), (returnCr0 - taken0))] :: subList0
247+ }
248+ else nil
249+ }
250+ WriteSet([DataEntry((b58CreditId + "_active"), false), DataEntry("available_funds", (availableFunds + withInterest)), DataEntry("credited_funds", (creditedFunds - currentCallerCredited))] :: dataList)
251+ }
252+ }
253+ else throw("")
254+ }
255+
256+

github/deemru/w8io/873ac7e 
38.52 ms