tx · 4YCHR5xRh8CXZRnWS8ojTfqzvmnpvHTtJgqDVjNLWWaE

3PGssiwh9B4kujgimcnRws2rXfg8maN5dNB:  -0.01400000 Waves

2020.05.19 16:46 [2068612] smart account 3PGssiwh9B4kujgimcnRws2rXfg8maN5dNB > SELF 0.00000000 Waves

{ "type": 13, "id": "4YCHR5xRh8CXZRnWS8ojTfqzvmnpvHTtJgqDVjNLWWaE", "fee": 1400000, "feeAssetId": null, "timestamp": 1589896024657, "version": 1, "sender": "3PGssiwh9B4kujgimcnRws2rXfg8maN5dNB", "senderPublicKey": "747jSakeBQu5TwMtKUP3wgoDRxzz9UUpwwwQwWD5Xb9", "proofs": [ "5b2UyaPWRKCzaDFSn9ctXbAgSbbe1gtvuYdAGnZQT9BCwAaBW4xdpU7zdMtzpHD9NXiwLWkdhkqsvxwLgoGwE2vL" ], "script": "base64:AAIDAAAAAAAAADsIARIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBQoDCAEIEgcKBQEBAQEIEgMKAQESBAoCAQgSAwoBAQAAAA8AAAAADmFkbWluUHVibGljS2V5AQAAACCGDU93nfCb15hUk3TVz4oj9jQY/GRq9Po4vl/d279dQgAAAAANdGhhbmtzVG9rZW5JZAEAAAAgGt8EXoVHyD5ll21A/vKy9gVKfIpCqPCtfN4mNBvLzBcBAAAADGtleUl0ZW1Pd25lcgAAAAEAAAAGaXRlbUlkCQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAGX293bmVyAQAAAAprZXlGdW5kaW5nAAAAAQAAAAJpZAkAASwAAAACAgAAAAhmdW5kaW5nXwkAAaQAAAABBQAAAAJpZAEAAAAPa2V5RW5kVGltZXN0YW1wAAAAAQAAAAJpZAkAASwAAAACCQEAAAAKa2V5RnVuZGluZwAAAAEFAAAAAmlkAgAAAApfdGltZXN0YW1wAQAAABNrZXlJbXBsRW5kVGltZXN0YW1wAAAAAQAAAAJpZAkAASwAAAACCQEAAAAKa2V5RnVuZGluZwAAAAEFAAAAAmlkAgAAAA9faW1wbF90aW1lc3RhbXABAAAADGtleVRhcmdldFN1bQAAAAEAAAACaWQJAAEsAAAAAgkBAAAACmtleUZ1bmRpbmcAAAABBQAAAAJpZAIAAAAKX3RhcmdldFN1bQEAAAAOa2V5VGFyZ2V0VGl0bGUAAAABAAAAAmlkCQABLAAAAAIJAQAAAAprZXlGdW5kaW5nAAAAAQUAAAACaWQCAAAADF90YXJnZXRUaXRsZQEAAAAIa2V5T3duZXIAAAABAAAAAmlkCQABLAAAAAIJAQAAAAprZXlGdW5kaW5nAAAAAQUAAAACaWQCAAAABl9vd25lcgEAAAAJa2V5UmFpc2VkAAAAAQAAAAJpZAkAASwAAAACCQEAAAAKa2V5RnVuZGluZwAAAAEFAAAAAmlkAgAAAAdfcmFpc2VkAQAAAA1rZXlTdGF0dXNUZXh0AAAAAQAAAAJpZAkAASwAAAACCQEAAAAKa2V5RnVuZGluZwAAAAEFAAAAAmlkAgAAAAdfc3RhdHVzAQAAAA9rZXlSZWxlYXNlVm90ZXMAAAABAAAAAmlkCQABLAAAAAIJAQAAAAprZXlGdW5kaW5nAAAAAQUAAAACaWQCAAAADl9yZWxlYXNlX3ZvdGVzAQAAAA9rZXlBZ2FpbnN0Vm90ZXMAAAABAAAAAmlkCQABLAAAAAIJAQAAAAprZXlGdW5kaW5nAAAAAQUAAAACaWQCAAAADF9ibG9ja192b3RlcwEAAAAMa2V5VXNlclZvdGVkAAAAAgAAAAJpZAAAAAlwdWJsaWNLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAprZXlGdW5kaW5nAAAAAQUAAAACaWQCAAAAAV8FAAAACXB1YmxpY0tleQIAAAAGX3ZvdGVkAQAAAA1rZXlVc2VyRnVuZGVkAAAAAgAAAAJpZAAAAAlwdWJsaWNLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAprZXlGdW5kaW5nAAAAAQUAAAACaWQCAAAAAV8FAAAACXB1YmxpY0tleQIAAAAHX2Z1bmRlZAAAAAoAAAABaQEAAAAOYWRkVG9XaGl0ZUxpc3QAAAABAAAAB2FkZHJlc3MEAAAADXVzZXJJblRoZUxpc3QJAAQbAAAAAgUAAAAEdGhpcwUAAAAHYWRkcmVzcwQAAAAIbmV3VmFsdWUEAAAAByRtYXRjaDAFAAAADXVzZXJJblRoZUxpc3QDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWIFAAAAByRtYXRjaDADBQAAAAFiCQAAAgAAAAECAAAAJ1VzZXIgaXMgYWxyZWFkeSBpbiB0aGUgbGlzdCBhbmQgZW5hYmxlZAkAAAIAAAABAgAAACFVc2VyIGlzIGluIHRoZSBsaXN0LCBidXQgZGlzYWJsZWQGAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAA5hZG1pblB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EAAAAByRtYXRjaDAIBQAAAAFpAAAAB3BheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0F0dGFjaGVkUGF5bWVudAQAAAADcG10BQAAAAckbWF0Y2gwCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAHYWRkcmVzcwUAAAAIbmV3VmFsdWUFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAB2FkZHJlc3MAAAAAAAAPQkAFAAAABHVuaXQFAAAAA25pbAkAAAIAAAABAgAAACtQYXltZW50IGlzIG5lZWRlZCB0byB0cmFuc2ZlciB0byBhbiBhY2NvdW50AAAAAWkBAAAAE3JlbW92ZUZyb21XaGl0ZUxpc3QAAAABAAAAB2FkZHJlc3MDCQEAAAACIT0AAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAADmFkbWluUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAHYWRkcmVzcwcFAAAAA25pbAAAAAFpAQAAAAdidXlJdGVtAAAAAQAAAAZpdGVtSWQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAPaW5XaGl0ZUxpc3RVbml0CQAEGwAAAAIFAAAABHRoaXMFAAAADWNhbGxlckFkZHJlc3MEAAAAC2luV2hpdGVMaXN0BAAAAAckbWF0Y2gwBQAAAA9pbldoaXRlTGlzdFVuaXQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAXcFAAAAByRtYXRjaDADBQAAAAF3BgkAAAIAAAABAgAAACdCdXllciBpcyBub3QgaW4gdGhlIHdoaXRlLWxpc3RbcmVtb3ZlZF0JAAACAAAAAQkAASwAAAACAgAAACBCdXllciBpcyBub3QgaW4gdGhlIHdoaXRlLWxpc3Q6IAUAAAANY2FsbGVyQWRkcmVzcwQAAAADcG10BAAAAAckbWF0Y2gwCAUAAAABaQAAAAdwYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9BdHRhY2hlZFBheW1lbnQEAAAAA3BtdAUAAAAHJG1hdGNoMAMDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQGCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAADXRoYW5rc1Rva2VuSWQJAAACAAAAAQIAAAAdY2FuIGFjY2VwdCB0aGFua3MgdG9rZW5zIG9ubHkFAAAAA3BtdAkAAAIAAAABAgAAABNQYXltZW50IGlzIHJlcXVpcmVkBAAAAAVwcmljZQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAGX3ByaWNlBAAAAAlwcmljZVJlYWwEAAAAByRtYXRjaDAFAAAABXByaWNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAmluBQAAAAckbWF0Y2gwAwkAAGcAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAACaW4FAAAAAmluCQAAAgAAAAEJAAEsAAAAAgIAAAAjUHJpY2UgaXMgdG9vIGxvdywgeW91IGhhdmUgdG8gcGF5OiAJAAGkAAAAAQUAAAACaW4JAAACAAAAAQkAASwAAAACAgAAABpUaGUgcHJpY2UgaXMgbm90IGRlZmluZWQ6IAUAAAAGaXRlbUlkBAAAAAVidXllcgkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAGX2J1eWVyBAAAABJidXllckFkZHJlc3NTdHJpbmcEAAAAByRtYXRjaDAFAAAABWJ1eWVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDADCQAAAAAAAAIFAAAAAWIFAAAADWNhbGxlckFkZHJlc3MFAAAAAWIJAAACAAAAAQIAAAAcWW91IGFyZSBub3QgdGhlIGJ1eWVyIG9mIGl0IQkAAAIAAAABAgAAABZidXllckFkZHJlc3Mgbm90IGZvdW5kAwkAAAAAAAACCQAD6wAAAAIFAAAABHRoaXMJAAJZAAAAAQUAAAAGaXRlbUlkAAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgIAAAAXVGhlcmUgaXMgbm8gc3VjaCBpdGVtOiAFAAAABml0ZW1JZAMDAwUAAAALaW5XaGl0ZUxpc3QJAAAAAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAASYnV5ZXJBZGRyZXNzU3RyaW5nBwkAAGcAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAJcHJpY2VSZWFsBwQAAAAMY2FsbGVyUHViS2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAGYnV5S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAHX2JvdWdodAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGYnV5S2V5AgAAAAdwZW5kaW5nBQAAAANuaWwJAAACAAAAAQIAAAANVW5rbm93biBlcnJvcgAAAAFpAQAAAAdhcHByb3ZlAAAAAQAAAAZpdGVtSWQEAAAACGJ1eWVyS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAGX2J1eWVyBAAAAAVidXllcgkABB0AAAACBQAAAAR0aGlzBQAAAAhidXllcktleQQAAAAMYnV5ZXJBZGRyZXNzBAAAAAckbWF0Y2gwBQAAAAVidXllcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwCQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABBQAAAAFiCQAAAgAAAAECAAAAFmJ1eWVyQWRkcmVzcyBub3QgZm91bmQEAAAAEGJ1eWVyQWRkcmVzc1JlYWwEAAAAByRtYXRjaDAFAAAADGJ1eWVyQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQWRkcmVzcwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAABRCYWQgYWRkcmVzcyBvZiBidXllcgQAAAAIcHJpY2VLZXkJAAEsAAAAAgkAASwAAAACAgAAAAVpdGVtXwUAAAAGaXRlbUlkAgAAAAZfcHJpY2UEAAAABXByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAAhwcmljZUtleQQAAAAQaXRlbU93bmVyQWRkcmVzcwQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQEAAAAMa2V5SXRlbU93bmVyAAAAAQUAAAAGaXRlbUlkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAEAAAAByRtYXRjaDEJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAEFAAAAAWEDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAB0FkZHJlc3MEAAAAAWIFAAAAByRtYXRjaDEFAAAAAWIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAADmFkbWluUHVibGljS2V5CQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA5hZG1pblB1YmxpY0tleQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAOYWRtaW5QdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBAAAAAZidXlLZXkJAAEsAAAAAgkAASwAAAACAgAAAAVpdGVtXwUAAAAGaXRlbUlkAgAAAAdfYm91Z2h0BAAAAAtpdGVtSWRCeXRlcwkAAlkAAAABBQAAAAZpdGVtSWQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZidXlLZXkCAAAACGFwcHJvdmVkBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQYnV5ZXJBZGRyZXNzUmVhbAAAAAAAAAAAAQUAAAALaXRlbUlkQnl0ZXMJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQaXRlbU93bmVyQWRkcmVzcwkAAGUAAAACBQAAAAVwcmljZQkAAGkAAAACCQAAaQAAAAIFAAAABXByaWNlAAAAAAAAAAABAAAAAAAAAAAFBQAAAA10aGFua3NUb2tlbklkBQAAAANuaWwAAAABaQEAAAAGcmVqZWN0AAAAAQAAAAZpdGVtSWQDCQEAAAACIT0AAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAADmFkbWluUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgQAAAAGYnV5S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAHX2JvdWdodAQAAAAIYnV5ZXJLZXkJAAEsAAAAAgkAASwAAAACAgAAAAVpdGVtXwUAAAAGaXRlbUlkAgAAAAZfYnV5ZXIEAAAACHByaWNlS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAGX3ByaWNlBAAAAAxidXllckFkZHJlc3MJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAIYnV5ZXJLZXkEAAAABXByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAAhwcmljZUtleQkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmJ1eUtleQIAAAAIcmVqZWN0ZWQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAxidXllckFkZHJlc3MFAAAABXByaWNlBQAAAA10aGFua3NUb2tlbklkBQAAAANuaWwAAAABaQEAAAAHYWRkSXRlbQAAAAMAAAAMYnV5ZXJBZGRyZXNzAAAABXByaWNlAAAADG93bmVyQWRkcmVzcwQAAAAPaW5XaGl0ZUxpc3RVbml0CQAEGwAAAAIFAAAABHRoaXMFAAAADGJ1eWVyQWRkcmVzcwQAAAALaW5XaGl0ZUxpc3QEAAAAByRtYXRjaDAFAAAAD2luV2hpdGVMaXN0VW5pdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABdwUAAAAHJG1hdGNoMAMFAAAAAXcGCQAAAgAAAAECAAAAJ0J1eWVyIGlzIG5vdCBpbiB0aGUgd2hpdGUtbGlzdFtyZW1vdmVkXQkAAAIAAAABCQABLAAAAAICAAAAIEJ1eWVyIGlzIG5vdCBpbiB0aGUgd2hpdGUtbGlzdDogBQAAAAxidXllckFkZHJlc3MDAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAA5hZG1pblB1YmxpY0tleQYJAAAAAAAAAgUAAAALaW5XaGl0ZUxpc3QHCQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgQAAAADcG10BAAAAAckbWF0Y2gwCAUAAAABaQAAAAdwYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9BdHRhY2hlZFBheW1lbnQEAAAAA3BtdAUAAAAHJG1hdGNoMAUAAAADcG10CQAAAgAAAAECAAAAE1BheW1lbnQgaXMgcmVxdWlyZWQEAAAADnBheW1lbnRBc3NldElkBAAAAAckbWF0Y2gwCAUAAAADcG10AAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAWQFAAAAByRtYXRjaDAFAAAAAWQJAAACAAAAAQIAAAAxWW91IGhhdmUgYXR0YWNoZWQgd2F2ZXMgdG8gdGhlIHBheW1lbnQgKmZhY2VwYWxtKgQAAAAMbmZ0QXNzZXRJbmZvCQAD7AAAAAEFAAAADnBheW1lbnRBc3NldElkBAAAABBuZnRBc3NldEluZm9SZWFsBAAAAAckbWF0Y2gwBQAAAAxuZnRBc3NldEluZm8DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAJhaQUAAAAHJG1hdGNoMAUAAAACYWkJAAACAAAAAQIAAAATQ2FudCBnZXQgYXNzZXQgaW5mbwMDAwkBAAAAAiE9AAAAAggFAAAAEG5mdEFzc2V0SW5mb1JlYWwAAAAIcXVhbnRpdHkAAAAAAAAAAAEGCQEAAAACIT0AAAACCAUAAAAQbmZ0QXNzZXRJbmZvUmVhbAAAAAhkZWNpbWFscwAAAAAAAAAAAAYJAQAAAAIhPQAAAAIIBQAAABBuZnRBc3NldEluZm9SZWFsAAAAD2lzc3VlclB1YmxpY0tleQUAAAAOYWRtaW5QdWJsaWNLZXkJAAACAAAAAQIAAAAqVG9rZW4gc2hvdWxkIGJlIGFuIE5GVCBhbmQgZnJvbSBhZG1pbiB1c2VyBAAAAAZpdGVtSWQJAAJYAAAAAQgFAAAAEG5mdEFzc2V0SW5mb1JlYWwAAAACaWQEAAAACGJ1eWVyS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAFaXRlbV8FAAAABml0ZW1JZAIAAAAGX2J1eWVyBAAAAAhwcmljZUtleQkAASwAAAACCQABLAAAAAICAAAABWl0ZW1fBQAAAAZpdGVtSWQCAAAABl9wcmljZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIYnV5ZXJLZXkFAAAADGJ1eWVyQWRkcmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIcHJpY2VLZXkFAAAABXByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAMa2V5SXRlbU93bmVyAAAAAQUAAAAGaXRlbUlkBQAAAAxvd25lckFkZHJlc3MFAAAAA25pbAAAAAFpAQAAAAxzdGFydEZ1bmRpbmcAAAAFAAAAAmlkAAAAF2Z1bmRyYWlzaW5nRW5kVGltZXN0YW1wAAAAGmltcGxlbWVudGF0aW9uRW5kVGltZXN0YW1wAAAACXRhcmdldFN1bQAAAAt0YXJnZXRUaXRsZQQAAAASbGFzdEJsb2NrVGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAMJAABmAAAAAgAAAAAAAAAAAAkAAGUAAAACCQAAZQAAAAIFAAAAF2Z1bmRyYWlzaW5nRW5kVGltZXN0YW1wBQAAABJsYXN0QmxvY2tUaW1lc3RhbXAAAAAAAAAAALQJAAACAAAAAQIAAABBRW5kIHRpbWUgc2hvdWxkIGF0IGxlYXN0IDYwIHNlY29uZHMgbW9yZSB0aGFuIHRoZSBsYXN0IGJsb2NrIHRpbWUDCQAAZgAAAAIFAAAAF2Z1bmRyYWlzaW5nRW5kVGltZXN0YW1wBQAAABppbXBsZW1lbnRhdGlvbkVuZFRpbWVzdGFtcAkAAAIAAAABAgAAADxJbXBsZW1lbnRhdGlvbiBlbmQg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", "chainId": 87, "height": 2068612, "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 a = base58'A2HQPi4bRE6k9aLWU6cG7CJzDE5st7CBcRcZ61KLsozZ'
5+
6+let b = base58'2otqaaJaoCjexv7cxYBjnNiUVEkPjDHLqb66f14UiX9Q'
7+
8+func c (d) = (("item_" + d) + "_owner")
9+
10+
11+func e (f) = ("funding_" + toString(f))
12+
13+
14+func g (f) = (e(f) + "_timestamp")
15+
16+
17+func h (f) = (e(f) + "_impl_timestamp")
18+
19+
20+func i (f) = (e(f) + "_targetSum")
21+
22+
23+func j (f) = (e(f) + "_targetTitle")
24+
25+
26+func k (f) = (e(f) + "_owner")
27+
28+
29+func l (f) = (e(f) + "_raised")
30+
31+
32+func m (f) = (e(f) + "_status")
33+
34+
35+func n (f) = (e(f) + "_release_votes")
36+
37+
38+func o (f) = (e(f) + "_block_votes")
39+
40+
41+func p (f,q) = (((e(f) + "_") + q) + "_voted")
42+
43+
44+func r (f,q) = (((e(f) + "_") + q) + "_funded")
45+
46+
47+@Callable(s)
48+func addToWhiteList (t) = {
49+ let u = getBoolean(this, t)
50+ let v = {
51+ let w = u
52+ if ($isInstanceOf(w, "Boolean"))
53+ then {
54+ let x = w
55+ if (x)
56+ then throw("User is already in the list and enabled")
57+ else throw("User is in the list, but disabled")
58+ }
59+ else true
60+ }
61+ if ((s.callerPublicKey != a))
62+ then throw("Only admin can call this function")
63+ else {
64+ let w = s.payment
65+ if ($isInstanceOf(w, "AttachedPayment"))
66+ then {
67+ let y = w
68+ ScriptResult(WriteSet([DataEntry(t, v)]), TransferSet([ScriptTransfer(addressFromStringValue(t), 1000000, unit)]))
69+ }
70+ else throw("Payment is needed to transfer to an account")
71+ }
72+ }
73+
74+
75+
76+@Callable(s)
77+func removeFromWhiteList (t) = if ((s.callerPublicKey != a))
78+ then throw("Only admin can call this function")
79+ else WriteSet([DataEntry(t, false)])
80+
81+
82+
83+@Callable(s)
84+func buyItem (d) = {
85+ let z = toBase58String(s.caller.bytes)
86+ let A = getBoolean(this, z)
87+ let B = {
88+ let w = A
89+ if ($isInstanceOf(w, "Boolean"))
90+ then {
91+ let C = w
92+ if (C)
93+ then true
94+ else throw("Buyer is not in the white-list[removed]")
95+ }
96+ else throw(("Buyer is not in the white-list: " + z))
97+ }
98+ let y = {
99+ let w = s.payment
100+ if ($isInstanceOf(w, "AttachedPayment"))
101+ then {
102+ let y = w
103+ if (if (!(isDefined(y.assetId)))
104+ then true
105+ else (y.assetId != b))
106+ then throw("can accept thanks tokens only")
107+ else y
108+ }
109+ else throw("Payment is required")
110+ }
111+ let D = getInteger(this, (("item_" + d) + "_price"))
112+ let E = {
113+ let w = D
114+ if ($isInstanceOf(w, "Int"))
115+ then {
116+ let F = w
117+ if ((y.amount >= F))
118+ then F
119+ else throw(("Price is too low, you have to pay: " + toString(F)))
120+ }
121+ else throw(("The price is not defined: " + d))
122+ }
123+ let G = getString(this, (("item_" + d) + "_buyer"))
124+ let H = {
125+ let w = G
126+ if ($isInstanceOf(w, "String"))
127+ then {
128+ let x = w
129+ if ((x == z))
130+ then x
131+ else throw("You are not the buyer of it!")
132+ }
133+ else throw("buyerAddress not found")
134+ }
135+ if ((assetBalance(this, fromBase58String(d)) == 0))
136+ then throw(("There is no such item: " + d))
137+ else if (if (if (B)
138+ then (z == H)
139+ else false)
140+ then (y.amount >= E)
141+ else false)
142+ then {
143+ let I = toBase58String(s.callerPublicKey)
144+ let J = (("item_" + d) + "_bought")
145+ WriteSet([DataEntry(J, "pending")])
146+ }
147+ else throw("Unknown error")
148+ }
149+
150+
151+
152+@Callable(s)
153+func approve (d) = {
154+ let K = (("item_" + d) + "_buyer")
155+ let G = getString(this, K)
156+ let L = {
157+ let w = G
158+ if ($isInstanceOf(w, "String"))
159+ then {
160+ let x = w
161+ addressFromString(x)
162+ }
163+ else throw("buyerAddress not found")
164+ }
165+ let M = {
166+ let w = L
167+ if ($isInstanceOf(w, "Address"))
168+ then {
169+ let N = w
170+ N
171+ }
172+ else throw("Bad address of buyer")
173+ }
174+ let O = (("item_" + d) + "_price")
175+ let D = getIntegerValue(this, O)
176+ let P = {
177+ let w = getString(this, c(d))
178+ if ($isInstanceOf(w, "String"))
179+ then {
180+ let N = w
181+ let Q = addressFromString(N)
182+ if ($isInstanceOf(Q, "Address"))
183+ then {
184+ let x = Q
185+ x
186+ }
187+ else addressFromPublicKey(a)
188+ }
189+ else addressFromPublicKey(a)
190+ }
191+ if ((s.callerPublicKey != a))
192+ then throw("Only admin can call this function")
193+ else {
194+ let J = (("item_" + d) + "_bought")
195+ let R = fromBase58String(d)
196+ ScriptResult(WriteSet([DataEntry(J, "approved")]), TransferSet([ScriptTransfer(M, 1, R), ScriptTransfer(P, (D - ((D / 1) / 5)), b)]))
197+ }
198+ }
199+
200+
201+
202+@Callable(s)
203+func reject (d) = if ((s.callerPublicKey != a))
204+ then throw("Only admin can call this function")
205+ else {
206+ let J = (("item_" + d) + "_bought")
207+ let K = (("item_" + d) + "_buyer")
208+ let O = (("item_" + d) + "_price")
209+ let L = addressFromStringValue(getStringValue(this, K))
210+ let D = getIntegerValue(this, O)
211+ ScriptResult(WriteSet([DataEntry(J, "rejected")]), TransferSet([ScriptTransfer(L, D, b)]))
212+ }
213+
214+
215+
216+@Callable(s)
217+func addItem (L,D,S) = {
218+ let A = getBoolean(this, L)
219+ let B = {
220+ let w = A
221+ if ($isInstanceOf(w, "Boolean"))
222+ then {
223+ let C = w
224+ if (C)
225+ then true
226+ else throw("Buyer is not in the white-list[removed]")
227+ }
228+ else throw(("Buyer is not in the white-list: " + L))
229+ }
230+ if (if ((s.callerPublicKey != a))
231+ then true
232+ else (B == false))
233+ then throw("Only admin can call this function")
234+ else {
235+ let y = {
236+ let w = s.payment
237+ if ($isInstanceOf(w, "AttachedPayment"))
238+ then {
239+ let y = w
240+ y
241+ }
242+ else throw("Payment is required")
243+ }
244+ let T = {
245+ let w = y.assetId
246+ if ($isInstanceOf(w, "ByteVector"))
247+ then {
248+ let U = w
249+ U
250+ }
251+ else throw("You have attached waves to the payment *facepalm*")
252+ }
253+ let V = assetInfo(T)
254+ let W = {
255+ let w = V
256+ if ($isInstanceOf(w, "Asset"))
257+ then {
258+ let X = w
259+ X
260+ }
261+ else throw("Cant get asset info")
262+ }
263+ if (if (if ((W.quantity != 1))
264+ then true
265+ else (W.decimals != 0))
266+ then true
267+ else (W.issuerPublicKey != a))
268+ then throw("Token should be an NFT and from admin user")
269+ else {
270+ let d = toBase58String(W.id)
271+ let K = (("item_" + d) + "_buyer")
272+ let O = (("item_" + d) + "_price")
273+ WriteSet([DataEntry(K, L), DataEntry(O, D), DataEntry(c(d), S)])
274+ }
275+ }
276+ }
277+
278+
279+
280+@Callable(s)
281+func startFunding (f,Y,Z,aa,ab) = {
282+ let ac = lastBlock.timestamp
283+ if ((0 > ((Y - ac) - 180)))
284+ then throw("End time should at least 60 seconds more than the last block time")
285+ else if ((Y > Z))
286+ then throw("Implementation end time should more or equal to endTimestamp")
287+ else if (isDefined(getInteger(this, e(f))))
288+ then throw("Funding with the same ID already exists")
289+ else if ((100 > aa))
290+ then throw("You cannot fundraise less than 100 tokens")
291+ else WriteSet([DataEntry(e(f), height), DataEntry(g(f), Y), DataEntry(h(f), Z), DataEntry(i(f), aa), DataEntry(j(f), ab), DataEntry(k(f), toBase58String(s.callerPublicKey)), DataEntry(l(f), 0), DataEntry(n(f), 0), DataEntry(o(f), 0), DataEntry(m(f), "NONE")])
292+ }
293+
294+
295+
296+@Callable(s)
297+func fund (f) = {
298+ let y = extract(s.payment)
299+ let aa = getIntegerValue(this, i(f))
300+ let ad = getIntegerValue(this, g(f))
301+ let ae = getStringValue(this, k(f))
302+ let af = getIntegerValue(this, l(f))
303+ let ag = {
304+ let w = getInteger(this, r(f, toBase58String(s.callerPublicKey)))
305+ if ($isInstanceOf(w, "Int"))
306+ then {
307+ let ah = w
308+ ah
309+ }
310+ else 0
311+ }
312+ if ((y.assetId != b))
313+ then throw(("You have to attach proper tokens with id: " + toBase58String(b)))
314+ else if ((ae == toBase58String(s.callerPublicKey)))
315+ then throw("You cannot fund your own target")
316+ else if ((lastBlock.timestamp > ad))
317+ then throw("This target is finished already")
318+ else if (((ag + y.amount) > ((aa / 3) + 1)))
319+ then throw(("You cannot fund more than 33% of the whole sum which is " + toString((((aa / 3) + 1) - ag))))
320+ else WriteSet([DataEntry(r(f, toBase58String(s.callerPublicKey)), (ag + y.amount)), DataEntry(l(f), (af + y.amount))])
321+ }
322+
323+
324+
325+@Callable(s)
326+func voteForTarget (f,ai) = {
327+ let ad = getIntegerValue(this, g(f))
328+ let aj = getIntegerValue(this, h(f))
329+ let ak = getIntegerValue(this, r(f, toBase58String(s.callerPublicKey)))
330+ let aa = getIntegerValue(this, i(f))
331+ let af = getIntegerValue(this, l(f))
332+ let al = getStringValue(this, m(f))
333+ let ae = k(f)
334+ let am = if ((ai == "YES"))
335+ then getIntegerValue(this, n(f))
336+ else getIntegerValue(this, o(f))
337+ let an = if ((ai == "YES"))
338+ then "RELEASED"
339+ else "BLOCKED"
340+ let ao = if ((ai == "YES"))
341+ then addressFromPublicKey(toBytes(ae))
342+ else addressFromPublicKey(a)
343+ let ap = if ((ai == "YES"))
344+ then (af - (af / 5))
345+ else af
346+ let aq = if ((ai == "YES"))
347+ then n(f)
348+ else o(f)
349+ if ((aa > af))
350+ then throw("This target didn't reach target")
351+ else if ((al != "NONE"))
352+ then throw((("This target was " + al) + " already"))
353+ else if (isDefined(getBoolean(this, p(f, toBase58String(s.callerPublicKey)))))
354+ then throw("You already voted for the target")
355+ else if (((am + ak) > (af / 2)))
356+ then ScriptResult(WriteSet([DataEntry(aq, (am + ak)), DataEntry(m(f), an)]), TransferSet([ScriptTransfer(ao, ap, b)]))
357+ else WriteSet([DataEntry(aq, (am + ak))])
358+ }
359+
360+
361+
362+@Callable(s)
363+func refundUser (f) = {
364+ let ad = getIntegerValue(this, g(f))
365+ let aj = getIntegerValue(this, h(f))
366+ let ar = getIntegerValue(this, r(f, toBase58String(s.callerPublicKey)))
367+ let aa = getIntegerValue(this, i(f))
368+ let af = getIntegerValue(this, l(f))
369+ if ((af > aa))
370+ then throw("This target raised enough tokens")
371+ else if ((ar == 0))
372+ then throw("You have no power here")
373+ else ScriptResult(WriteSet([DataEntry(r(f, toBase58String(s.callerPublicKey)), 0)]), TransferSet([ScriptTransfer(s.caller, ar, b)]))
374+ }
375+
376+

github/deemru/w8io/0e76f2f 
36.38 ms