tx · AmacTgJhbHBUY7GEyNHxayTpmLAiHZxz6Sz9JssTT7mb

3N8sBgM1oyFkRRNjhwBsTEzSqmwWGAdXiG3:  -0.01000000 Waves

2019.07.08 15:34 [576633] smart account 3N8sBgM1oyFkRRNjhwBsTEzSqmwWGAdXiG3 > SELF 0.00000000 Waves

{ "type": 13, "id": "AmacTgJhbHBUY7GEyNHxayTpmLAiHZxz6Sz9JssTT7mb", "fee": 1000000, "feeAssetId": null, "timestamp": 1562589296620, "version": 1, "sender": "3N8sBgM1oyFkRRNjhwBsTEzSqmwWGAdXiG3", "senderPublicKey": "C4L5Pkr4M85BoNLXotxxgyhZ8b5Fz2ctDRynPmETLS1K", "proofs": [ "3zpPSMoP5P3z6WcYGfEYBXQswHeY8DLDC1jfrF4ZEmNatYnwuSyz34XwTZwzw6fJMEZp6fJCpoXJXy4p2WQA9eQt" ], "script": "base64:AAIDAAAAAAAAAAAAAAAGAQAAABBnZXRTdHJpbmdGcm9tS2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAA3N0cgUAAAAHJG1hdGNoMAUAAAADc3RyCQAAAgAAAAECAAAAGk5vIHN0cmluZyBmb3VuZCBmb3IgZW50cnkhAQAAABdnZXRTdHJpbmdGcm9tS2V5T3JFbXB0eQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAANzdHIFAAAAByRtYXRjaDAFAAAAA3N0cgIAAAAAAQAAAA1nZXRJbnRGcm9tS2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAW4FAAAAByRtYXRjaDAFAAAAAW4AAAAAAAAAAAABAAAAEmNoYW5uZWxJc0luaXRpYXRlZAAAAAAEAAAADGZpcnN0QWRkcmVzcwkBAAAAEGdldFN0cmluZ0Zyb21LZXkAAAABAgAAAAxmaXJzdEFkZHJlc3MEAAAADXNlY29uZEFkZHJlc3MJAQAAABBnZXRTdHJpbmdGcm9tS2V5AAAAAQIAAAANc2Vjb25kQWRkcmVzcwQAAAAQZmlyc3RDb3VudGVyUGFydAkBAAAAEGdldFN0cmluZ0Zyb21LZXkAAAABCQABLAAAAAIFAAAADGZpcnN0QWRkcmVzcwIAAAAMX2NvdW50ZXJwYXJ0BAAAABFzZWNvbmRDb3VudGVycGFydAkBAAAAEGdldFN0cmluZ0Zyb21LZXkAAAABCQABLAAAAAIFAAAADXNlY29uZEFkZHJlc3MCAAAADF9jb3VudGVycGFydAkAAGYAAAACCQEAAAANZ2V0SW50RnJvbUtleQAAAAECAAAADnRpbWVsb2NrUGVyaW9kAAAAAAAAAAAAAQAAABBjbG9zaW5nSW5pdGlhdGVkAAAAAAQAAAAJaW5pdGlhdG9yCQEAAAAQZ2V0U3RyaW5nRnJvbUtleQAAAAECAAAAFGNsb3NpbmdfaW5pdGlhdGVkX2J5CQEAAAACIT0AAAACBQAAAAlpbml0aWF0b3ICAAAAAAEAAAATY2hlY2tJZlZhbGlkQWNjb3VudAAAAAEAAAAGc2VuZGVyBAAAAAxmaXJzdEFkZHJlc3MJAQAAABBnZXRTdHJpbmdGcm9tS2V5AAAAAQIAAAAMZmlyc3RBZGRyZXNzBAAAAA1zZWNvbmRBZGRyZXNzCQEAAAAQZ2V0U3RyaW5nRnJvbUtleQAAAAECAAAADXNlY29uZEFkZHJlc3MDAwkBAAAAAiE9AAAAAgUAAAAMZmlyc3RBZGRyZXNzBQAAAAZzZW5kZXIJAQAAAAIhPQAAAAIFAAAADXNlY29uZEFkZHJlc3MFAAAABnNlbmRlcgcHBgAAAAYAAAABaQEAAAANY2xhaW1DaGVhdGluZwAAAAYAAAAKcmVjaXBpZW50QQAAABBhbW91bnRSZWNpcGllbnRBAAAACnJlY2lwaWVudEIAAAAQYW1vdW50UmVjaXBpZW50QgAAAAl0aW1lc3RhbXAAAAAJc2lnbmF0dXJlBAAAAAZzZW5kZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALdmFsaWRTZW5kZXIJAQAAABNjaGVja0lmVmFsaWRBY2NvdW50AAAAAQUAAAAGc2VuZGVyBAAAAA5vcmlnaW5hbFN0cmluZwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAApyZWNpcGllbnRBCQABpAAAAAEFAAAAEGFtb3VudFJlY2lwaWVudEEFAAAACnJlY2lwaWVudEIJAAGkAAAAAQUAAAAQYW1vdW50UmVjaXBpZW50QgkAAaQAAAABBQAAAAl0aW1lc3RhbXAEAAAAC2NvdW50ZXJQYXJ0CQEAAAAQZ2V0U3RyaW5nRnJvbUtleQAAAAEJAAEsAAAAAgUAAAAGc2VuZGVyAgAAAAxfY291bnRlcnBhcnQEAAAAE3NpZ25lZEJ5Q291bnRlcnBhcnQJAAH0AAAAAwkAAZsAAAABBQAAAA5vcmlnaW5hbFN0cmluZwkAAlkAAAABBQAAAAlzaWduYXR1cmUJAAJZAAAAAQUAAAALY291bnRlclBhcnQEAAAADG5vdEluaXRpYXRvcgkBAAAAAiE9AAAAAgUAAAAGc2VuZGVyCQEAAAAQZ2V0U3RyaW5nRnJvbUtleQAAAAECAAAAFGNsb3NpbmdfaW5pdGlhdGVkX2J5BAAAAAxvbGRUaW1lc3RhbXAJAQAAAA1nZXRJbnRGcm9tS2V5AAAAAQIAAAAJdGltZXN0YW1wBAAAABJpc0Nsb3NpbmdJbml0aWF0ZWQJAQAAABBjbG9zaW5nSW5pdGlhdGVkAAAAAAMFAAAAEmlzQ2xvc2luZ0luaXRpYXRlZAMDAwMFAAAADG5vdEluaXRpYXRvcgUAAAALdmFsaWRTZW5kZXIHBQAAABNzaWduZWRCeUNvdW50ZXJwYXJ0BwkAAGYAAAACBQAAAAl0aW1lc3RhbXAFAAAADG9sZFRpbWVzdGFtcAcJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZAAAAAIFAAAAEGFtb3VudFJlY2lwaWVudEEFAAAAEGFtb3VudFJlY2lwaWVudEIFAAAABHVuaXQFAAAAA25pbAkAAAIAAAABAgAAACdXcm9uZyBzaWduYXR1cmUgb3IgdGltZXN0YW1wIG5vdCBuZXdlciEJAAACAAAAAQIAAAAlQ2xvc2luZyBvZiBjaGFubmVsIG5vdCBpbml0aWF0ZWQgeWV0IQAAAAFpAQAAAAxjb25maXJtQ2xvc2UAAAAABAAAAAZzZW5kZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALdmFsaWRTZW5kZXIJAQAAABNjaGVja0lmVmFsaWRBY2NvdW50AAAAAQUAAAAGc2VuZGVyBAAAAAlpbml0aWF0b3IJAAQdAAAAAgUAAAAEdGhpcwIAAAAUY2xvc2luZ19pbml0aWF0ZWRfYnkEAAAAEmlzQ2xvc2luZ0luaXRpYXRlZAkBAAAAEGNsb3NpbmdJbml0aWF0ZWQAAAAAAwUAAAASaXNDbG9zaW5nSW5pdGlhdGVkAwMJAQAAAAIhPQAAAAIFAAAABnNlbmRlcgUAAAAJaW5pdGlhdG9yBQAAAAt2YWxpZFNlbmRlcgcEAAAADGZpcnN0QWRkcmVzcwkBAAAAEGdldFN0cmluZ0Zyb21LZXkAAAABAgAAAAxmaXJzdEFkZHJlc3MEAAAADXNlY29uZEFkZHJlc3MJAQAAABBnZXRTdHJpbmdGcm9tS2V5AAAAAQIAAAANc2Vjb25kQWRkcmVzcwQAAAASZmlyc3RBZGRyZXNzQW1vdW50CQEAAAANZ2V0SW50RnJvbUtleQAAAAEFAAAADGZpcnN0QWRkcmVzcwQAAAATc2Vjb25kQWRkcmVzc0Ftb3VudAkBAAAADWdldEludEZyb21LZXkAAAABBQAAAA1zZWNvbmRBZGRyZXNzCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAxmaXJzdEFkZHJlc3MFAAAAEmZpcnN0QWRkcmVzc0Ftb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAANc2Vjb25kQWRkcmVzcwUAAAATc2Vjb25kQWRkcmVzc0Ftb3VudAUAAAAEdW5pdAUAAAADbmlsCQAAAgAAAAECAAAAMUluaXRpYXRvciBjYW4gbm90IGNvbmZpcm0gY2xvc2luZyBvZiB0aGUgY2hhbm5lbCEJAAACAAAAAQIAAAAlQ2xvc2luZyBvZiBjaGFubmVsIG5vdCBpbml0aWF0ZWQgeWV0IQAAAAFpAQAAABJjbG9zZUFmdGVyVGltZWxvY2sAAAAABAAAAAZzZW5kZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALdmFsaWRTZW5kZXIJAQAAABNjaGVja0lmVmFsaWRBY2NvdW50AAAAAQUAAAAGc2VuZGVyBAAAAAh0aW1lbG9jawkBAAAADWdldEludEZyb21LZXkAAAABAgAAAAh0aW1lbG9jawQAAAASaXNDbG9zaW5nSW5pdGlhdGVkCQEAAAAQY2xvc2luZ0luaXRpYXRlZAAAAAADBQAAABJpc0Nsb3NpbmdJbml0aWF0ZWQDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAACHRpbWVsb2NrBQAAAAt2YWxpZFNlbmRlcgcEAAAADGZpcnN0QWRkcmVzcwkBAAAAEGdldFN0cmluZ0Zyb21LZXkAAAABAgAAAAxmaXJzdEFkZHJlc3MEAAAADXNlY29uZEFkZHJlc3MJAQAAABBnZXRTdHJpbmdGcm9tS2V5AAAAAQIAAAANc2Vjb25kQWRkcmVzcwQAAAASZmlyc3RBZGRyZXNzQW1vdW50CQEAAAANZ2V0SW50RnJvbUtleQAAAAEFAAAADGZpcnN0QWRkcmVzcwQAAAATc2Vjb25kQWRkcmVzc0Ftb3VudAkBAAAADWdldEludEZyb21LZXkAAAABBQAAAA1zZWNvbmRBZGRyZXNzCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAxmaXJzdEFkZHJlc3MFAAAAEmZpcnN0QWRkcmVzc0Ftb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAANc2Vjb25kQWRkcmVzcwUAAAATc2Vjb25kQWRkcmVzc0Ftb3VudAUAAAAEdW5pdAUAAAADbmlsCQAAAgAAAAECAAAAFVRpbWVsb2NrIHN0aWxsIHZhbGlkIQkAAAIAAAABAgAAACVDbG9zaW5nIG9mIGNoYW5uZWwgbm90IGluaXRpYXRlZCB5ZXQhAAAAAWkBAAAADmluaXRpYWxDbG9zaW5nAAAABgAAAApyZWNpcGllbnRBAAAAEGFtb3VudFJlY2lwaWVudEEAAAAKcmVjaXBpZW50QgAAABBhbW91bnRSZWNpcGllbnRCAAAACXRpbWVzdGFtcAAAAAlzaWduYXR1cmUEAAAAEGNsb3NpbmdJbml0aWF0b3IJAQAAABdnZXRTdHJpbmdGcm9tS2V5T3JFbXB0eQAAAAECAAAAFGNsb3NpbmdfaW5pdGlhdGVkX2J5BAAAABdjbG9zaW5nQWxyZWFkeUluaXRpYXRlZAkBAAAAAiE9AAAAAgUAAAAQY2xvc2luZ0luaXRpYXRvcgIAAAAABAAAAAtpc0luaXRpYXRlZAkBAAAAEmNoYW5uZWxJc0luaXRpYXRlZAAAAAAEAAAABnNlbmRlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAt2YWxpZFNlbmRlcgkBAAAAE2NoZWNrSWZWYWxpZEFjY291bnQAAAABBQAAAAZzZW5kZXIEAAAAD3JlY2lwaWVudEFWYWxpZAkBAAAAE2NoZWNrSWZWYWxpZEFjY291bnQAAAABBQAAAApyZWNpcGllbnRBBAAAAA9yZWNpcGllbnRCVmFsaWQJAQAAABNjaGVja0lmVmFsaWRBY2NvdW50AAAAAQUAAAAKcmVjaXBpZW50QgQAAAAPdmFsaWRSZWNpcGllbnRzAwUAAAAPcmVjaXBpZW50QVZhbGlkBgUAAAAPcmVjaXBpZW50QlZhbGlkBAAAAA5vcmlnaW5hbFN0cmluZwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAApyZWNpcGllbnRBCQABpAAAAAEFAAAAEGFtb3VudFJlY2lwaWVudEEFAAAACnJlY2lwaWVudEIJAAGkAAAAAQUAAAAQYW1vdW50UmVjaXBpZW50QgkAAaQAAAABBQAAAAl0aW1lc3RhbXAEAAAAC2NvdW50ZXJQYXJ0CQEAAAAQZ2V0U3RyaW5nRnJvbUtleQAAAAEJAAEsAAAAAgUAAAAGc2VuZGVyAgAAAAxfY291bnRlcnBhcnQEAAAAE3NpZ25lZEJ5Q291bnRlcnBhcnQJAAH0AAAAAwkAAZsAAAABBQAAAA5vcmlnaW5hbFN0cmluZwkAAlkAAAABBQAAAAlzaWduYXR1cmUJAAJZAAAAAQUAAAALY291bnRlclBhcnQEAAAADnRpbWVsb2NrUGVyaW9kCQEAAAANZ2V0SW50RnJvbUtleQAAAAECAAAADnRpbWVsb2NrUGVyaW9kAwkBAAAAASEAAAABBQAAABdjbG9zaW5nQWxyZWFkeUluaXRpYXRlZAMFAAAAC2lzSW5pdGlhdGVkAwUAAAALdmFsaWRTZW5kZXIDBQAAAA92YWxpZFJlY2lwaWVudHMDBQAAABNzaWduZWRCeUNvdW50ZXJwYXJ0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApyZWNpcGllbnRBBQAAABBhbW91bnRSZWNpcGllbnRBCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApyZWNpcGllbnRCBQAAABBhbW91bnRSZWNpcGllbnRCCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABRjbG9zaW5nX2luaXRpYXRlZF9ieQUAAAAGc2VuZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAl0aW1lc3RhbXAFAAAACXRpbWVzdGFtcAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAIdGltZWxvY2sJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAA50aW1lbG9ja1BlcmlvZAUAAAADbmlsCQAAAgAAAAECAAAAEFdyb25nIHNpZ25hdHVyZSEJAAACAAAAAQIAAAASVW52YWxpZCByZWNpcGllbnRzCQAAAgAAAAECAAAAIFNlbmRlciBvZiB0cmFuc2FjdGlvbiBub3QgdmFsaWQhCQAAAgAAAAECAAAAF0NoYW5ubmVsIG5vdCBpbml0aWF0ZWQhCQAAAgAAAAEJAAEsAAAAAgIAAAAeQ2xvc2luZyBhbHJlYWR5IGluaXRpYXRlZCBieTogBQAAABBjbG9zaW5nSW5pdGlhdG9yAAAAAWkBAAAABGZ1bmQAAAAABAAAAAtpc0luaXRpYXRlZAkBAAAAEmNoYW5uZWxJc0luaXRpYXRlZAAAAAAEAAAABnNlbmRlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAt2YWxpZFNlbmRlcgkBAAAAE2NoZWNrSWZWYWxpZEFjY291bnQAAAABBQAAAAZzZW5kZXIEAAAAB3BheW1lbnQEAAAAByRtYXRjaDAIBQAAAAFpAAAAB3BheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0F0dGFjaGVkUGF5bWVudAQAAAABcAUAAAAHJG1hdGNoMAUAAAABcAkAAAIAAAABAgAAABRObyBQYXltZW50IGF0dGFjaGVkIQQAAAAOcGF5bWVudEluQXNzZXQJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAAAlhbW91bnRLZXkJAAEsAAAAAgUAAAAGc2VuZGVyAgAAAAdfYW1vdW50BAAAAA1jdXJyZW50QW1vdW50CQEAAAANZ2V0SW50RnJvbUtleQAAAAEFAAAACWFtb3VudEtleQMFAAAAC2lzSW5pdGlhdGVkAwUAAAALdmFsaWRTZW5kZXIDCQEAAAABIQAAAAEFAAAADnBheW1lbnRJbkFzc2V0AwkBAAAAAiE9AAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAChVc2VyIGhhcyBhbHJlYWR5IGZ1bmRlZCBwYXltZW50IGNoYW5uZWwhCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAlhbW91bnRLZXkIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAFkZ1bmRpbmcgaW4gV2F2ZXMgb25seSEJAAACAAAAAQkAASwAAAACAgAAACVXcm9uZyBhY2NvdW50IHRyaWVzIHRvIGZ1bmQgY2hhbm5lbDogBQAAAAZzZW5kZXIJAAACAAAAAQIAAAAXQ2hhbm5uZWwgbm90IGluaXRpYXRlZCEAAAABaQEAAAAEaW5pdAAAAAMAAAAOZmlyc3RQdWJsaWNLZXkAAAAPc2Vjb25kUHVibGljS2V5AAAADnRpbWVsb2NrUGVyaW9kBAAAAAxjYWxsZWRCeVNlbGYJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBAAAAAxmaXJzdEFkZHJlc3MJAAJYAAAAAQgJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOZmlyc3RQdWJsaWNLZXkAAAAFYnl0ZXMEAAAADXNlY29uZEFkZHJlc3MJAAJYAAAAAQgJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAPc2Vjb25kUHVibGljS2V5AAAABWJ5dGVzBAAAABNjdXJyZW50Rmlyc3RBZGRyZXNzCQEAAAAXZ2V0U3RyaW5nRnJvbUtleU9yRW1wdHkAAAABCQABLAAAAAIFAAAADGZpcnN0QWRkcmVzcwIAAAAMX2NvdW50ZXJwYXJ0BAAAABRjdXJyZW50U2Vjb25kQWRkcmVzcwkBAAAAF2dldFN0cmluZ0Zyb21LZXlPckVtcHR5AAAAAQkAASwAAAACBQAAAA1zZWNvbmRBZGRyZXNzAgAAAAxfY291bnRlcnBhcnQDBQAAAAxjYWxsZWRCeVNlbGYDAwkBAAAAAiE9AAAAAgUAAAATY3VycmVudEZpcnN0QWRkcmVzcwIAAAAABgkBAAAAAiE9AAAAAgUAAAAUY3VycmVudFNlY29uZEFkZHJlc3MCAAAAAAkAAAIAAAABAgAAABtDb250cmFjdCBhbHJlYWR5IGluaXRpYXRlZCEJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGZpcnN0QWRkcmVzcwUAAAAMZmlyc3RBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA1zZWNvbmRBZGRyZXNzBQAAAA1zZWNvbmRBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADGZpcnN0QWRkcmVzcwIAAAAMX2NvdW50ZXJwYXJ0BQAAAA9zZWNvbmRQdWJsaWNLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANc2Vjb25kQWRkcmVzcwIAAAAMX2NvdW50ZXJwYXJ0BQAAAA5maXJzdFB1YmxpY0tleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAOdGltZWxvY2tQZXJpb2QFAAAADnRpbWVsb2NrUGVyaW9kBQAAAANuaWwJAAACAAAAAQIAAAA0SW5pdCBmdW5jdGlvbiBjYW4gb25seSBiZSBjYWxsZWQgYnkgY29udHJhY3QgaXRzZWxmIQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDADAwMJAAAAAAAAAggFAAAAAnR4AAAABGRBcHAFAAAABHRoaXMJAAAAAAAAAggFAAAAAnR4AAAACGZ1bmN0aW9uAgAAAARpbml0BwkAAAAAAAACCAUAAAACdHgAAAADZmVlAAAAAAAADbugBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkHB6189AQ=", "chainId": 84, "height": 576633, "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+func a (b) = {
5+ let c = getString(this, b)
6+ if ($isInstanceOf(c, "String"))
7+ then {
8+ let d = c
9+ d
10+ }
11+ else throw("No string found for entry!")
12+ }
13+
14+
15+func e (b) = {
16+ let c = getString(this, b)
17+ if ($isInstanceOf(c, "String"))
18+ then {
19+ let d = c
20+ d
21+ }
22+ else ""
23+ }
24+
25+
26+func f (b) = {
27+ let c = getInteger(this, b)
28+ if ($isInstanceOf(c, "Int"))
29+ then {
30+ let g = c
31+ g
32+ }
33+ else 0
34+ }
35+
36+
37+func h () = {
38+ let i = a("firstAddress")
39+ let j = a("secondAddress")
40+ let k = a((i + "_counterpart"))
41+ let l = a((j + "_counterpart"))
42+ (f("timelockPeriod") > 0)
43+ }
44+
45+
46+func m () = {
47+ let n = a("closing_initiated_by")
48+ (n != "")
49+ }
50+
51+
52+func o (p) = {
53+ let i = a("firstAddress")
54+ let j = a("secondAddress")
55+ if (if ((i != p))
56+ then (j != p)
57+ else false)
58+ then false
59+ else true
60+ }
61+
62+
63+@Callable(q)
64+func claimCheating (r,s,t,u,v,w) = {
65+ let p = toBase58String(q.caller.bytes)
66+ let x = o(p)
67+ let y = ((((r + toString(s)) + t) + toString(u)) + toString(v))
68+ let z = a((p + "_counterpart"))
69+ let A = sigVerify(toBytes(y), fromBase58String(w), fromBase58String(z))
70+ let B = (p != a("closing_initiated_by"))
71+ let C = f("timestamp")
72+ let D = m()
73+ if (D)
74+ then if (if (if (if (B)
75+ then x
76+ else false)
77+ then A
78+ else false)
79+ then (v > C)
80+ else false)
81+ then TransferSet([ScriptTransfer(q.caller, (s + u), unit)])
82+ else throw("Wrong signature or timestamp not newer!")
83+ else throw("Closing of channel not initiated yet!")
84+ }
85+
86+
87+
88+@Callable(q)
89+func confirmClose () = {
90+ let p = toBase58String(q.caller.bytes)
91+ let x = o(p)
92+ let n = getString(this, "closing_initiated_by")
93+ let D = m()
94+ if (D)
95+ then if (if ((p != n))
96+ then x
97+ else false)
98+ then {
99+ let i = a("firstAddress")
100+ let j = a("secondAddress")
101+ let E = f(i)
102+ let F = f(j)
103+ TransferSet([ScriptTransfer(Address(fromBase58String(i)), E, unit), ScriptTransfer(Address(fromBase58String(j)), F, unit)])
104+ }
105+ else throw("Initiator can not confirm closing of the channel!")
106+ else throw("Closing of channel not initiated yet!")
107+ }
108+
109+
110+
111+@Callable(q)
112+func closeAfterTimelock () = {
113+ let p = toBase58String(q.caller.bytes)
114+ let x = o(p)
115+ let G = f("timelock")
116+ let D = m()
117+ if (D)
118+ then if (if ((height > G))
119+ then x
120+ else false)
121+ then {
122+ let i = a("firstAddress")
123+ let j = a("secondAddress")
124+ let E = f(i)
125+ let F = f(j)
126+ TransferSet([ScriptTransfer(Address(fromBase58String(i)), E, unit), ScriptTransfer(Address(fromBase58String(j)), F, unit)])
127+ }
128+ else throw("Timelock still valid!")
129+ else throw("Closing of channel not initiated yet!")
130+ }
131+
132+
133+
134+@Callable(q)
135+func initialClosing (r,s,t,u,v,w) = {
136+ let H = e("closing_initiated_by")
137+ let I = (H != "")
138+ let J = h()
139+ let p = toBase58String(q.caller.bytes)
140+ let x = o(p)
141+ let K = o(r)
142+ let L = o(t)
143+ let M = if (K)
144+ then true
145+ else L
146+ let y = ((((r + toString(s)) + t) + toString(u)) + toString(v))
147+ let z = a((p + "_counterpart"))
148+ let A = sigVerify(toBytes(y), fromBase58String(w), fromBase58String(z))
149+ let N = f("timelockPeriod")
150+ if (!(I))
151+ then if (J)
152+ then if (x)
153+ then if (M)
154+ then if (A)
155+ then WriteSet([DataEntry(r, s), DataEntry(t, u), DataEntry("closing_initiated_by", p), DataEntry("timestamp", v), DataEntry("timelock", (height + N))])
156+ else throw("Wrong signature!")
157+ else throw("Unvalid recipients")
158+ else throw("Sender of transaction not valid!")
159+ else throw("Channnel not initiated!")
160+ else throw(("Closing already initiated by: " + H))
161+ }
162+
163+
164+
165+@Callable(q)
166+func fund () = {
167+ let J = h()
168+ let p = toBase58String(q.caller.bytes)
169+ let x = o(p)
170+ let O = {
171+ let c = q.payment
172+ if ($isInstanceOf(c, "AttachedPayment"))
173+ then {
174+ let P = c
175+ P
176+ }
177+ else throw("No Payment attached!")
178+ }
179+ let Q = isDefined(O.assetId)
180+ let R = (p + "_amount")
181+ let S = f(R)
182+ if (J)
183+ then if (x)
184+ then if (!(Q))
185+ then if ((S != 0))
186+ then throw("User has already funded payment channel!")
187+ else WriteSet([DataEntry(R, O.amount)])
188+ else throw("Funding in Waves only!")
189+ else throw(("Wrong account tries to fund channel: " + p))
190+ else throw("Channnel not initiated!")
191+ }
192+
193+
194+
195+@Callable(q)
196+func init (T,U,N) = {
197+ let V = (q.caller == this)
198+ let i = toBase58String(addressFromPublicKey(fromBase58String(T)).bytes)
199+ let j = toBase58String(addressFromPublicKey(fromBase58String(U)).bytes)
200+ let W = e((i + "_counterpart"))
201+ let X = e((j + "_counterpart"))
202+ if (V)
203+ then if (if ((W != ""))
204+ then true
205+ else (X != ""))
206+ then throw("Contract already initiated!")
207+ else WriteSet([DataEntry("firstAddress", i), DataEntry("secondAddress", j), DataEntry((i + "_counterpart"), U), DataEntry((j + "_counterpart"), T), DataEntry("timelockPeriod", N)])
208+ else throw("Init function can only be called by contract itself!")
209+ }
210+
211+
212+@Verifier(Y)
213+func Z () = {
214+ let c = Y
215+ if ($isInstanceOf(c, "InvokeScriptTransaction"))
216+ then {
217+ let Y = c
218+ if (if (if ((Y.dApp == this))
219+ then (Y.function == "init")
220+ else false)
221+ then (Y.fee == 900000)
222+ else false)
223+ then sigVerify(Y.bodyBytes, Y.proofs[0], Y.senderPublicKey)
224+ else false
225+ }
226+ else false
227+ }
228+

github/deemru/w8io/873ac7e 
23.37 ms