tx · fGN9aG2rcSyJ6vuK5wbkfnX2AaZ7WB43NbSfVvcSvgc

3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA:  -0.02500000 Waves

2023.08.14 17:27 [2710346] smart account 3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA > SELF 0.00000000 Waves

{ "type": 13, "id": "fGN9aG2rcSyJ6vuK5wbkfnX2AaZ7WB43NbSfVvcSvgc", "fee": 2500000, "feeAssetId": null, "timestamp": 1692023260605, "version": 2, "chainId": 84, "sender": "3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA", "senderPublicKey": "CiRX9ubobzbD36ZwTyuBFiPnPkmzMQ7GDsF3hMoVbcVR", "proofs": [ "Wax6winmsmRJqmsA5X57jE5DtMaDftPvCNpCjNSoXCcbQ38MyvJy68keMwcFn88MKusjzU6B7fc3FGNekZzhmSb" ], "script": "base64:AAIFAAAAAAAAACMIAhIICgYBAQEBAQQSAwoBARIDCgEBEgMKAQESBAoCCAgSAAAAABEAAAAAI3ByZXNhbGVfdGltZXN0YW1wX2NvbnRyb2xsZXJfcHVia2V5AQAAACDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwAAAAASY29udHJvbGxlcl9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAACNwcmVzYWxlX3RpbWVzdGFtcF9jb250cm9sbGVyX3B1YmtleQAAAAAOZXhwaXJlZHRzZXJyb3ICAAAAOFN0YXJ0IFRpbWVzdGFtcCBjYW4ndCBiZSBsZXNzIHRoYW4gbGFzdCBibG9jayBUaW1lc3RhbXAuAAAAAAd0c2Vycm9yAgAAADxFbmQgVGltZXN0YW1wIGNhbid0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBTdGFydCBUaW1lc3RhbXAAAAAACnByaWNlZXJyb3ICAAAAJlRva2VuIFByaWNlIGNhbid0IGJlIGxlc3MgdGhhbiBvciBaZXJvAAAAAAhjYXBlcnJvcgIAAAAzU29mdCBDYXAgQW1vdW50IGNhbid0IGJlIG1vcmUgdGhhbiBIYXJkIENhcCBBbW91bnQuAAAAAAhvcmRlcm1zZwIAAAAyPGgxPlByZXNhbGUgT3JkZXIgU3VibWl0dGVkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4AAAAAEHByZXNhbGVfaW5pdF9tc2cCAAAANzxoMT5QcmVTYWxlIFBhcmFtZXRlcnMgU3VibWl0dGVkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4AAAAACXB5bXRlcnJvcgIAAAArREFwcCBOZWVkIFdBVkVTIFRva2VuIGFzIEF0dGFjaCBwYXltZW50WzFdLgAAAAAOb3JkZXJweW10ZXJyb3ICAAAALUF0dGFjaGVkIHBheW1lbnRbMV0gaXMgbGVzcyB0aGFuIHRva2VuIHByaWNlIAAAAAAMbGF1bmNoX2Vycm9yAgAAACZEYXBwIHdpbGwgc3RhcnQgUHJlLVNhbGUgYXQgVGltZXN0YW1wIAAAAAALbWluYmFsZXJyb3ICAAAAZk1pbmltdW0gMC4xIFdBVkVTIHJlcXVpcmVkIG9uIFlvdXIgQWRkcmVzcywgUGxlYXNlIGhvbGQgbWluLiAwLjEgV0FWRVMgb24geW91ciBBZGRyZXNzIHRvIHBsYWNlIG9yZGVyLgAAAAAPcHJlc2FsZV9lbmRfZXJyAgAAACBQcmUtU2FsZSBpcyBvdmVyIGZvciB0aGlzIFJvdW5kLgAAAAATcHJlc2FsZV9ub3RfZW5kX2VycgIAAAAkUHJlLVNhbGUgaXMgbm90IG92ZXIgZm9yIHRoaXMgUm91bmQuAAAAAApyZWZ1bmRfZXJyAgAAAHpTb2Z0Y2FwIG9yIEhhcmQgQ2FwIGFscmVhZHkgUmVhY2hlZCBvciBwcm9iYWJseSBQcmVTYWxlIHdhcyBTZXQgd2l0aCBGYWxzZSB0byBSZWZ1bmQsIHNvIG5vIFJlZnVuZCBhbGxvd2VkIGZvciB0aGlzIFJvdW5kLgAAAAAPcmVmdW5kX2luaXRfbXNnAgAAACs8aDE+UmVmdW5kIFJlY2VpdmVkIFN1Y2Nlc3NmdWxseSEuPC9oMT48YnI+AAAAABF0b2tlbl9pc3N1ZV9lcnJvcgIAAABaVGhlIEJNTCB0b2tlbiBjb3VsZCBub3QgYmUgZm91bmQuIFBsZWFzZSB1c2UgdGhlIENyZWF0ZV9CTUwgZnVuY3Rpb24gdG8gaXNzdWUgYSBCTUwgdG9rZW4uAAAABgAAAAFpAQAAABRTZXRQcmVTYWxlUGFyYW1ldGVycwAAAAYAAAAXUHJlc2FsZV9TdGFydF9UaW1lU3RhbXAAAAAVUHJlc2FsZV9FbmRfVGltZVN0YW1wAAAAC1Rva2VuX1ByaWNlAAAAD1NvZnRfQ2FwX0Ftb3VudAAAAA9IYXJkX0NhcF9BbW91bnQAAAAMQWxsb3dfUmVmdW5kBAAAAAdTdGFydFRTBQAAABdQcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAQAAAAFRW5kVFMFAAAAFVByZXNhbGVfRW5kX1RpbWVTdGFtcAQAAAAScmVhZF9mdW5kaW5nX3JvdW5kBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAFUN1cnJlbnRfRnVuZGluZ19Sb3VuZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA1jdXJyZW50X3JvdW5kCQAAZAAAAAIFAAAAEnJlYWRfZnVuZGluZ19yb3VuZAAAAAAAAAAAAQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAASY29udHJvbGxlcl9hZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACVUaGlzIEFkZHJlc3MgaXMgbm90IEF1dGhvcml6ZWQuIE9ubHkgCQAEJQAAAAEFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAABmAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAAF1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wCQAAAgAAAAEFAAAADmV4cGlyZWR0c2Vycm9yAwkBAAAAAiE9AAAAAgkAATEAAAABCQABpAAAAAEFAAAAF1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wAAAAAAAAAAANCQAAAgAAAAECAAAAb1N0YXJ0IFRpbWVzdGFtcCBpcyBXcm9uZy4gUGxlYXNlIEVudGVyIGEgVmFsaWQgVGltZXN0YW1wLiBQcm9iYWJseSB5b3UgZW50ZXJlZCBhbiBUaW1lc3RhbXAgbGVzcyB0aGFuIDEzIENoYXJzLgMJAQAAAAIhPQAAAAIJAAExAAAAAQkAAaQAAAABBQAAABVQcmVzYWxlX0VuZF9UaW1lU3RhbXAAAAAAAAAAAA0JAAACAAAAAQIAAABtRW5kIFRpbWVzdGFtcCBpcyBXcm9uZy4gUGxlYXNlIEVudGVyIGEgVmFsaWQgVGltZXN0YW1wLiBQcm9iYWJseSB5b3UgZW50ZXJlZCBhbiBUaW1lc3RhbXAgbGVzcyB0aGFuIDEzIENoYXJzLgMJAABmAAAAAgAAAAAAAAAAAQUAAAALVG9rZW5fUHJpY2UJAAACAAAAAQUAAAAKcHJpY2VlcnJvcgMJAABnAAAAAgUAAAAHU3RhcnRUUwUAAAAFRW5kVFMJAAACAAAAAQUAAAAHdHNlcnJvcgMJAABmAAAAAgUAAAAPU29mdF9DYXBfQW1vdW50BQAAAA9IYXJkX0NhcF9BbW91bnQJAAACAAAAAQUAAAAIY2FwZXJyb3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFUN1cnJlbnRfRnVuZGluZ19Sb3VuZAUAAAANY3VycmVudF9yb3VuZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAAGF9QcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAUAAAAHU3RhcnRUUwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAAFl9QcmVzYWxlX0VuZF9UaW1lU3RhbXAFAAAABUVuZFRTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAAMX1Rva2VuX1ByaWNlBQAAAAtUb2tlbl9QcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAAEF9Tb2Z0X0NhcF9BbW91bnQFAAAAD1NvZnRfQ2FwX0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAAEF9IYXJkX0NhcF9BbW91bnQFAAAAD0hhcmRfQ2FwX0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAAEV9Jbml0aWF0ZWRfSGVpZ2h0BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kBQAAAAxBbGxvd19SZWZ1bmQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAQcHJlc2FsZV9pbml0X21zZwUAAAADbmlsAAAAAWkBAAAAEVBsYWNlUHJlc2FsZU9yZGVyAAAAAQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kBAAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADF9Ub2tlbl9QcmljZQIAAAAtVG9rZW4gUHJpY2Ugbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABNyZWFkX3JvdW5kX3N0YXJ0X3RzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGF9QcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAIAAAAxU3RhcnQgVGltZXN0YW1wIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAARcmVhZF9yb3VuZF9lbmRfdHMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAWX1ByZXNhbGVfRW5kX1RpbWVTdGFtcAIAAAAvRW5kIFRpbWVzdGFtcCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFHJlYWRfU29mdF9DYXBfQW1vdW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEF9Tb2Z0X0NhcF9BbW91bnQCAAAAMVNvZnQgQ2FwIEFtb3VudCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFHJlYWRfSGFyZF9DYXBfQW1vdW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEF9IYXJkX0NhcF9BbW91bnQCAAAAMUhhcmQgQ2FwIEFtb3VudCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAEXJlYWRfQWxsb3dfUmVmdW5kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQCAAAAKVJlZnVuZCBpcyBub3Qgc2V0IGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAAAVXQVZFUwUAAAAEdW5pdAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQUAAAAJcHltdGVycm9yBAAAABVyZWFkX2Z1bmRzX2NvbGxlY3Rpb24EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAABkAAAAAgUAAAAVcmVhZF9mdW5kc19jb2xsZWN0aW9uCAUAAAADcG10AAAABmFtb3VudAQAAAAXcmVhZF9hdXRvX3dpdGhkcmF3X3R4bnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGV90b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zCQAAZAAAAAIFAAAAF3JlYWRfYXV0b193aXRoZHJhd190eG5zAAAAAAAAAAABBAAAAA9yZWFkX3RvdGFsX3R4bnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAC190b3RhbF90eG5zAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACnRvdGFsX3R4bnMJAABkAAAAAgUAAAAPcmVhZF90b3RhbF90eG5zAAAAAAAAAAABBAAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAadXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAABkAAAAAgUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABlAAAAAgUAAAAUcmVhZF9Tb2Z0X0NhcF9BbW91bnQFAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24EAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAABlAAAAAgUAAAAUcmVhZF9IYXJkX0NhcF9BbW91bnQFAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAEFAAAACXB5bXRlcnJvcgMJAABmAAAAAgUAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAOb3JkZXJweW10ZXJyb3ICAAAAAVsJAAGkAAAAAQUAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQIAAAAHLzEwXjguXQMJAABmAAAAAgUAAAATcmVhZF9yb3VuZF9zdGFydF90cwgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAACAAAAAQkAASwAAAACBQAAAAxsYXVuY2hfZXJyb3IJAAGkAAAAAQUAAAATcmVhZF9yb3VuZF9zdGFydF90cwMJAABmAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAAEXJlYWRfcm91bmRfZW5kX3RzCQAAAgAAAAEFAAAAD3ByZXNhbGVfZW5kX2VycgMDCQAAZgAAAAIFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMAAAAAAAAAAAAJAABmAAAAAgUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwAAAAAAAAAAAAcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfRnVuZHNfQ29sbGVjdGlvbgUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQUAAAAadXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABlfdG90YWxfYXV0b193aXRoZHJhd190eG5zBQAAABdyZWFkX2F1dG9fd2l0aGRyYXdfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAC190b3RhbF90eG5zBQAAAAp0b3RhbF90eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfc29mdGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19oYXJkY2FwX3N0YXR1cwUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAAAJObwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX2hhcmRjYXBfc3RhdHVzAgAAAAJObwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQFAAAAEXJlYWRfQWxsb3dfUmVmdW5kCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAACG9yZGVybXNnBQAAAANuaWwDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGYAAAACBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzAAAAAAAAAAAABwkAAAAAAAACBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMAAAAAAAAAAAEHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24FAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkFAAAAGnVzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAZX3RvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAALX3RvdGFsX3R4bnMFAAAACnRvdGFsX3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX2hhcmRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9fc29mdGNhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX2hhcmRjYXBfc3RhdHVzAgAAAAJObwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgUAAAAEdW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAhvcmRlcm1zZwUAAAADbmlsAwMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABmAAAAAgUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwAAAAAAAAAAAAcJAABmAAAAAgUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zAAAAAAAAAAABBwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5BQAAABp1c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGV90b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAC190b3RhbF90eG5zBQAAAAp0b3RhbF90eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfc29mdGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19oYXJkY2FwX3N0YXR1cwUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAACTm8JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kBwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABJjb250cm9sbGVyX2FkZHJlc3MIBQAAAANwbXQAAAAGYW1vdW50BQAAAAR1bml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAACG9yZGVybXNnBQAAAANuaWwDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzBwkAAAAAAAACBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMAAAAAAAAAAAEHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24FAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkFAAAAGnVzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAZX3RvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAALX3RvdGFsX3R4bnMFAAAACnRvdGFsX3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX2hhcmRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9fc29mdGNhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX2hhcmRjYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kBwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABJjb250cm9sbGVyX2FkZHJlc3MFAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24FAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAIb3JkZXJtc2cFAAAAA25pbAMDAwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMHCQAAZgAAAAIFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwAAAAAAAAAAAQcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfRnVuZHNfQ29sbGVjdGlvbgUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQUAAAAadXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABlfdG90YWxfYXV0b193aXRoZHJhd190eG5zBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAtfdG90YWxfdHhucwUAAAAKdG90YWxfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX3NvZnRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfaGFyZGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19zb2Z0Y2FwX3N0YXR1cwIAAAADWWVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9faGFyZGNhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAIb3JkZXJtc2cFAAAAA25pbAkAAAIAAAABAgAAAAZFcnJvci4AAAABaQEAAAAGUmVmdW5kAAAAAQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kBAAAAAVXQVZFUwUAAAAEdW5pdAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABVyZWFkX0luaXRpYXRlZF9IZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0luaXRpYXRlZF9IZWlnaHQCAAAAMkluaXRpYXRlZCBIZWlnaHQgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADF9Ub2tlbl9QcmljZQIAAAAtVG9rZW4gUHJpY2Ugbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABNyZWFkX3JvdW5kX3N0YXJ0X3RzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGF9QcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAIAAAAxU3RhcnQgVGltZXN0YW1wIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAARcmVhZF9yb3VuZF9lbmRfdHMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAWX1ByZXNhbGVfRW5kX1RpbWVTdGFtcAIAAAAvRW5kIFRpbWVzdGFtcCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFHJlYWRfU29mdF9DYXBfQW1vdW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEF9Tb2Z0X0NhcF9BbW91bnQCAAAAMVNvZnQgQ2FwIEFtb3VudCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFHJlYWRfSGFyZF9DYXBfQW1vdW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEF9IYXJkX0NhcF9BbW91bnQCAAAAMUhhcmQgQ2FwIEFtb3VudCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAG3JlYWRfdG90YWxfZnVuZHNfY29sbGVjdGlvbgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfRnVuZHNfQ29sbGVjdGlvbgIAAAA4VG90YWwgRnVuZHMgQ29sbGVjdGlvbiBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAH3JlYWRfdXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5AgAAADtObyBEZXBvc2l0IHdhcyBtYWRlIGJ5IHRoaXMgQWRkcmVzcyBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAARcmVhZF9BbGxvd19SZWZ1bmQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAIAAAA4QWxsb3dfUmVmdW5kIGhhcyBubyBCb29sZW4gRW50cnkgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABlAAAAAgUAAAAUcmVhZF9Tb2Z0X0NhcF9BbW91bnQFAAAAG3JlYWRfdG90YWxfZnVuZHNfY29sbGVjdGlvbgQAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkAAGUAAAACBQAAABRyZWFkX0hhcmRfQ2FwX0Ftb3VudAUAAAAbcmVhZF90b3RhbF9mdW5kc19jb2xsZWN0aW9uBAAAAAxtaWxsaXNlY29uZHMAAAAAAAAAA+gEAAAABm1pbnV0ZQkAAGgAAAACAAAAAAAAAAA8BQAAAAxtaWxsaXNlY29uZHMEAAAAFXJvdW5kX3RpbWVfZGlmZmVyZW5jZQkAAGUAAAACBQAAABFyZWFkX3JvdW5kX2VuZF90cwUAAAATcmVhZF9yb3VuZF9zdGFydF90cwQAAAAWYWRkaXRpb25hbF9zYWZlX2Jsb2NrcwAAAAAAAAAACgQAAAASYmxvY2tzdGltZXRvbWF0dXJlCQAAZAAAAAIJAABkAAAAAgUAAAAVcmVhZF9Jbml0aWF0ZWRfSGVpZ2h0CQAAawAAAAMFAAAAFXJvdW5kX3RpbWVfZGlmZmVyZW5jZQAAAAAAAAAAAQUAAAAGbWludXRlBQAAABZhZGRpdGlvbmFsX3NhZmVfYmxvY2tzBAAAAA9wZW5kaW5nX3JlZnVuZHMJAABlAAAAAgUAAAAbcmVhZF90b3RhbF9mdW5kc19jb2xsZWN0aW9uBQAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkAwkAAGYAAAACBQAAABJibG9ja3N0aW1ldG9tYXR1cmUIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAE3ByZXNhbGVfbm90X2VuZF9lcnICAAAAFCBQbGVhc2UgV2FpdCBVbnRpbCB+CQABpAAAAAEFAAAAEmJsb2Nrc3RpbWV0b21hdHVyZQIAAAATIEhlaWdodCBpcyByZWFjaGVkLgMJAAAAAAAAAgUAAAARcmVhZF9BbGxvd19SZWZ1bmQHCQAAAgAAAAEFAAAACnJlZnVuZF9lcnIDCQAAAAAAAAIFAAAAH3JlYWRfdXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQAAAAAAAAAAAAJAAACAAAAAQIAAAAwUmVmdW5kIGhhcyBiZWVuIEFscmVhZHkgQ2xhaW1lZCBieSB0aGlzIEFkZHJlc3MuAwMJAABmAAAAAgUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwAAAAAAAAAAAAkAAGYAAAACBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzAAAAAAAAAAAABwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAApjdXJyZW50S2V5BQAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkBQAAAAVXQVZFUwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwIAAAAOUGVuZGluZ19SZWZ1bmQFAAAAD3BlbmRpbmdfcmVmdW5kcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAA9yZWZ1bmRfaW5pdF9tc2cFAAAAA25pbAMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABmAAAAAgUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwAAAAAAAAAAAAcJAAACAAAAAQIAAABnU29mdENhcCBBbHJlYWR5IFJlYWNoZWQgZm9yIHRoaXMgUm91bmQuIFBsZWFzZSBDbGljayBvbiAnQ2xhaW0gVG9rZW5zJyBGdW5jdGlvbiB0byBSZWNlaXZlIFlvdXIgVG9rZW5zLgMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwcJAAACAAAAAQIAAABeU29mdENhcCBhbmQgSGFyZCBBbHJlYWR5IFJlYWNoZWQgZm9yIHRoaXMgUm91bmQuIFBsZWFzZSBDbGljayBvbiBDbGFpbSB0byBSZWNlaXZlIFlvdXIgVG9rZW5zLgkAAAIAAAABAgAAABJXcm9uZyBFbnRyeSBGb3VuZC4AAAABaQEAAAAMQ2xhaW1fVG9rZW5zAAAAAQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kBAAAAAtCTUxfVG9rZW5JRAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAC0JNTF9Ub2tlbklEBQAAABF0b2tlbl9pc3N1ZV9lcnJvcgQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAVzY2FsZQAAAAAABfXhAAQAAAAUcmVhZF9zb2Z0X2NhcF9zdGF0dXMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAADBTb2Z0Q2FwIFN0YXR1cyBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFHJlYWRfaGFyZF9jYXBfc3RhdHVzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAAwSGFyZENhcCBTdGF0dXMgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADF9Ub2tlbl9QcmljZQIAAAAtVG9rZW4gUHJpY2Ugbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQIAAAA7Tm8gRGVwb3NpdCB3YXMgbWFkZSBieSB0aGlzIEFkZHJlc3MgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFmNhbGN1bGF0ZV90b3RhbF90b2tlbnMJAABrAAAAAwUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAUAAAAFc2NhbGUFAAAAFnJlYWRfcm91bmRfdG9rZW5fcHJpY2UEAAAAGHVzZXJfdG9rZW5zX2NsYWltX2Ftb3VudAkAAGsAAAADBQAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkBQAAAAVzY2FsZQUAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQQAAAAZcmVhZF90b3RhbF90b2tlbnNfY2xhaW1lZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX1Rva2Vuc19DbGFpbWVkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFHRvdGFsX3Rva2Vuc19jbGFpbWVkCQAAZAAAAAIFAAAAGXJlYWRfdG90YWxfdG9rZW5zX2NsYWltZWQFAAAAGHVzZXJfdG9rZW5zX2NsYWltX2Ftb3VudAQAAAAWcGVuZGluZ190b2tlbnNfY2xhaW1lZAkAAGUAAAACBQAAABZjYWxjdWxhdGVfdG90YWxfdG9rZW5zBQAAABh1c2VyX3Rva2Vuc19jbGFpbV9hbW91bnQDCQAAAAAAAAIFAAAAFHJlYWRfc29mdF9jYXBfc3RhdHVzAgAAAAJObwkAAAIAAAABAgAAAEZObyBUb2tlbnMgQ2xhaW0sYXMgU29mdENhcCBBbW91bnQgZGlkbid0IHJlYWNoIG51bWJlcnMgZm9yIHRoaXMgUm91bmQuAwMJAAAAAAAAAgUAAAAUcmVhZF9zb2Z0X2NhcF9zdGF0dXMCAAAAA1llcwYJAAAAAAAAAgUAAAAUcmVhZF9oYXJkX2NhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19Ub2tlbnNfQ2xhaW1lZAUAAAAUdG90YWxfdG9rZW5zX2NsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABhfUGVuZGluZ19Ub2tlbnNfVG9fQ2xhaW0FAAAAFnBlbmRpbmdfdG9rZW5zX2NsYWltZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAKY3VycmVudEtleQUAAAAYdXNlcl90b2tlbnNfY2xhaW1fYW1vdW50BQAAAAtCTUxfVG9rZW5JRAUAAAADbmlsCQAAAgAAAAECAAAAEldyb25nIEVudHJ5IEZvdW5kLgAAAAFpAQAAAAhNaW50X0JNTAAAAAIAAAAJVG9rZW5OYW1lAAAAEFRva2VuRGVzY3JpcHRpb24EAAAABWFzc2V0CQAEQgAAAAUFAAAACVRva2VuTmFtZQUAAAAQVG9rZW5EZXNjcmlwdGlvbgAAAAAAAAAAAQAAAAAAAAAACAYEAAAAB2Fzc2V0SWQJAAQ4AAAAAQUAAAAFYXNzZXQDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABJjb250cm9sbGVyX2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4JAARMAAAAAgUAAAAFYXNzZXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAALQk1MX1Rva2VuSUQJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAB2Fzc2V0SWQAAAAAAAAAAAEFAAAAA25pbAAAAAFpAQAAAAZEZWxldGUAAAAACQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAC0JNTF9Ub2tlbklEBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlecCNTpY=", "height": 2710346, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GmhXspFmSsPEvftYUxYC6c7hAMqXJXS71Qq6uGbSemQm Next: 9bRmPr2Jf4AUW4RWvokUZLd7wmrWx6t8LsGbVMwbHWY2 Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = valueOrErrorMessage(fromBase58String(getStringValue(this, "BML_TokenID")), "The BML token could not be found. Please use the Create_BML function to issue a BML token.")
4+let a = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
55
6-let b = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
6+let b = addressFromPublicKey(a)
77
8-let c = addressFromPublicKey(b)
8+let c = "Start Timestamp can't be less than last block Timestamp."
99
10-let d = "Start Timestamp can't be less than last block Timestamp."
10+let d = "End Timestamp can't be less than or equal to Start Timestamp"
1111
12-let e = "End Timestamp can't be less than or equal to Start Timestamp"
12+let e = "Token Price can't be less than or Zero"
1313
14-let f = "Token Price can't be less than or Zero"
14+let f = "Soft Cap Amount can't be more than Hard Cap Amount."
1515
16-let g = "Soft Cap Amount can't be more than Hard Cap Amount."
16+let g = "<h1>Presale Order Submitted Successfully!</h1><br>"
1717
18-let h = "<h1>Presale Order Submitted Successfully!</h1><br>"
18+let h = "<h1>PreSale Parameters Submitted Successfully!</h1><br>"
1919
20-let i = "<h1>PreSale Parameters Submitted Successfully!</h1><br>"
20+let i = "DApp Need WAVES Token as Attach payment[1]."
2121
22-let j = "DApp Need WAVES Token as Attach payment[1]."
22+let j = "Attached payment[1] is less than token price "
2323
24-let k = "Attached payment[1] is less than token price "
24+let k = "Dapp will start Pre-Sale at Timestamp "
2525
26-let l = "Dapp will start Pre-Sale at Timestamp "
26+let l = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order."
2727
28-let m = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order."
28+let m = "Pre-Sale is over for this Round."
2929
30-let n = "Pre-Sale is over for this Round."
30+let n = "Pre-Sale is not over for this Round."
3131
32-let o = "Pre-Sale is not over for this Round."
32+let o = "Softcap or Hard Cap already Reached or probably PreSale was Set with False to Refund, so no Refund allowed for this Round."
3333
34-let p = "Softcap or Hard Cap already Reached or probably PreSale was Set with False to Refund, so no Refund allowed for this Round."
34+let p = "<h1>Refund Received Successfully!.</h1><br>"
3535
36-let q = "<h1>Refund Received Successfully!.</h1><br>"
36+let q = "The BML token could not be found. Please use the Create_BML function to issue a BML token."
3737
3838 @Callable(r)
3939 func SetPreSaleParameters (s,t,u,v,w,x) = {
4949 else 0
5050 }
5151 let D = (A + 1)
52- if ((r.caller != c))
53- then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it."))
52+ if ((r.caller != b))
53+ then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it."))
5454 else if ((lastBlock.timestamp > s))
55- then throw(d)
55+ then throw(c)
5656 else if ((size(toString(s)) != 13))
5757 then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
5858 else if ((size(toString(t)) != 13))
5959 then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
6060 else if ((1 > u))
61- then throw(f)
61+ then throw(e)
6262 else if ((y >= z))
63- then throw(e)
63+ then throw(d)
6464 else if ((v > w))
65- then throw(g)
66- else [IntegerEntry("Current_Funding_Round", D), IntegerEntry((toString(D) + "_Presale_Start_TimeStamp"), y), IntegerEntry((toString(D) + "_Presale_End_TimeStamp"), z), IntegerEntry((toString(D) + "_Token_Price"), u), IntegerEntry((toString(D) + "_Soft_Cap_Amount"), v), IntegerEntry((toString(D) + "_Hard_Cap_Amount"), w), IntegerEntry((toString(D) + "_Initiated_Height"), height), BooleanEntry((toString(D) + "_Allow_Refund"), x), StringEntry("message", i)]
65+ then throw(f)
66+ else [IntegerEntry("Current_Funding_Round", D), IntegerEntry((toString(D) + "_Presale_Start_TimeStamp"), y), IntegerEntry((toString(D) + "_Presale_End_TimeStamp"), z), IntegerEntry((toString(D) + "_Token_Price"), u), IntegerEntry((toString(D) + "_Soft_Cap_Amount"), v), IntegerEntry((toString(D) + "_Hard_Cap_Amount"), w), IntegerEntry((toString(D) + "_Initiated_Height"), height), BooleanEntry((toString(D) + "_Allow_Refund"), x), StringEntry("message", h)]
6767 }
6868
6969
8080 let M = toBase58String(r.caller.bytes)
8181 let N = if ((size(r.payments) == 1))
8282 then r.payments[0]
83- else throw(j)
83+ else throw(i)
8484 let O = {
8585 let B = getInteger(this, (toString(E) + "_Funds_Collection"))
8686 if ($isInstanceOf(B, "Int"))
124124 let W = (I - P)
125125 let X = (J - P)
126126 if (isDefined(N.assetId))
127- then throw(j)
127+ then throw(i)
128128 else if ((F > N.amount))
129- then throw((((k + "[") + toString(F)) + "/10^8.]"))
129+ then throw((((j + "[") + toString(F)) + "/10^8.]"))
130130 else if ((G > lastBlock.timestamp))
131- then throw((l + toString(G)))
131+ then throw((k + toString(G)))
132132 else if ((lastBlock.timestamp > H))
133- then throw(n)
133+ then throw(m)
134134 else if (if ((W > 0))
135135 then (X > 0)
136136 else false)
137- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "No"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), K), StringEntry("message", h)]
137+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "No"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), K), StringEntry("message", g)]
138138 else if (if (if ((0 >= W))
139139 then (X > 0)
140140 else false)
141141 then (R == 1)
142142 else false)
143- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, P, unit), StringEntry("message", h)]
143+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, P, unit), StringEntry("message", g)]
144144 else if (if (if ((0 >= W))
145145 then (X > 0)
146146 else false)
147147 then (R > 1)
148148 else false)
149- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, N.amount, unit), StringEntry("message", h)]
149+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, N.amount, unit), StringEntry("message", g)]
150150 else if (if (if ((0 >= W))
151151 then (0 >= X)
152152 else false)
153153 then (R == 1)
154154 else false)
155- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, P, unit), StringEntry("message", h)]
155+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, P, unit), StringEntry("message", g)]
156156 else if (if (if ((0 >= W))
157157 then (0 >= X)
158158 else false)
159159 then (R > 1)
160160 else false)
161- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, N.amount, unit), StringEntry("message", h)]
161+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, N.amount, unit), StringEntry("message", g)]
162162 else throw("Error.")
163163 }
164164
186186 let ae = ((Y + fraction(ac, 1, ab)) + ad)
187187 let af = (Z - U)
188188 if ((ae > lastBlock.height))
189- then throw((((o + " Please Wait Until ~") + toString(ae)) + " Height is reached."))
189+ then throw((((n + " Please Wait Until ~") + toString(ae)) + " Height is reached."))
190190 else if ((K == false))
191- then throw(p)
191+ then throw(o)
192192 else if ((U == 0))
193193 then throw("Refund has been Already Claimed by this Address.")
194194 else if (if ((W > 0))
195195 then (X > 0)
196196 else false)
197- then [ScriptTransfer(addressFromStringValue(M), U, L), IntegerEntry(((toString(E) + "_") + "Pending_Refund"), af), IntegerEntry(((toString(E) + "_") + M), 0), StringEntry("message", q)]
197+ then [ScriptTransfer(addressFromStringValue(M), U, L), IntegerEntry(((toString(E) + "_") + "Pending_Refund"), af), IntegerEntry(((toString(E) + "_") + M), 0), StringEntry("message", p)]
198198 else if (if ((0 >= W))
199199 then (X > 0)
200200 else false)
210210
211211 @Callable(r)
212212 func Claim_Tokens (E) = {
213+ let ag = valueOrErrorMessage(fromBase58String(getStringValue(this, "BML_TokenID")), q)
213214 let M = toBase58String(r.caller.bytes)
214- let ag = 100000000
215- let ah = valueOrErrorMessage(getString(this, (toString(E) + "_softcap_status")), "SoftCap Status not Found for this Presale Round.")
216- let ai = valueOrErrorMessage(getString(this, (toString(E) + "_hardcap_status")), "HardCap Status not Found for this Presale Round.")
215+ let ah = 100000000
216+ let ai = valueOrErrorMessage(getString(this, (toString(E) + "_softcap_status")), "SoftCap Status not Found for this Presale Round.")
217+ let aj = valueOrErrorMessage(getString(this, (toString(E) + "_hardcap_status")), "HardCap Status not Found for this Presale Round.")
217218 let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
218219 let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.")
219- let aj = fraction(U, ag, F)
220- let ak = fraction(U, ag, F)
221- let al = {
220+ let ak = fraction(U, ah, F)
221+ let al = fraction(U, ah, F)
222+ let am = {
222223 let B = getInteger(this, (toString(E) + "_Tokens_Claimed"))
223224 if ($isInstanceOf(B, "Int"))
224225 then {
227228 }
228229 else 0
229230 }
230- let am = (al + ak)
231- let an = (aj - ak)
232- if ((ah == "No"))
231+ let an = (am + al)
232+ let ao = (ak - al)
233+ if ((ai == "No"))
233234 then throw("No Tokens Claim,as SoftCap Amount didn't reach numbers for this Round.")
234- else if (if ((ah == "Yes"))
235+ else if (if ((ai == "Yes"))
235236 then true
236- else (ai == "Yes"))
237- then [IntegerEntry((toString(E) + "_Tokens_Claimed"), am), IntegerEntry((toString(E) + "_Pending_Tokens_To_Claim"), an), ScriptTransfer(addressFromStringValue(M), ak, a)]
237+ else (aj == "Yes"))
238+ then [IntegerEntry((toString(E) + "_Tokens_Claimed"), an), IntegerEntry((toString(E) + "_Pending_Tokens_To_Claim"), ao), ScriptTransfer(addressFromStringValue(M), al, ag)]
238239 else throw("Wrong Entry Found.")
239240 }
240241
241242
242243
243244 @Callable(r)
244-func Mint_BML (ao,ap) = {
245- let aq = Issue(ao, ap, 1, 8, true)
246- let ar = calculateAssetId(aq)
247- if ((r.caller != c))
248- then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it."))
249- else [aq, StringEntry("BML_TokenID", toBase58String(ar)), Burn(ar, 1)]
245+func Mint_BML (ap,aq) = {
246+ let ar = Issue(ap, aq, 1, 8, true)
247+ let as = calculateAssetId(ar)
248+ if ((r.caller != b))
249+ then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it."))
250+ else [ar, StringEntry("BML_TokenID", toBase58String(as)), Burn(as, 1)]
250251 }
251252
252253
255256 func Delete () = [DeleteEntry("BML_TokenID")]
256257
257258
258-@Verifier(as)
259-func at () = sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey)
259+@Verifier(at)
260+func au () = sigVerify(at.bodyBytes, at.proofs[0], at.senderPublicKey)
260261
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = valueOrErrorMessage(fromBase58String(getStringValue(this, "BML_TokenID")), "The BML token could not be found. Please use the Create_BML function to issue a BML token.")
4+let a = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
55
6-let b = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
6+let b = addressFromPublicKey(a)
77
8-let c = addressFromPublicKey(b)
8+let c = "Start Timestamp can't be less than last block Timestamp."
99
10-let d = "Start Timestamp can't be less than last block Timestamp."
10+let d = "End Timestamp can't be less than or equal to Start Timestamp"
1111
12-let e = "End Timestamp can't be less than or equal to Start Timestamp"
12+let e = "Token Price can't be less than or Zero"
1313
14-let f = "Token Price can't be less than or Zero"
14+let f = "Soft Cap Amount can't be more than Hard Cap Amount."
1515
16-let g = "Soft Cap Amount can't be more than Hard Cap Amount."
16+let g = "<h1>Presale Order Submitted Successfully!</h1><br>"
1717
18-let h = "<h1>Presale Order Submitted Successfully!</h1><br>"
18+let h = "<h1>PreSale Parameters Submitted Successfully!</h1><br>"
1919
20-let i = "<h1>PreSale Parameters Submitted Successfully!</h1><br>"
20+let i = "DApp Need WAVES Token as Attach payment[1]."
2121
22-let j = "DApp Need WAVES Token as Attach payment[1]."
22+let j = "Attached payment[1] is less than token price "
2323
24-let k = "Attached payment[1] is less than token price "
24+let k = "Dapp will start Pre-Sale at Timestamp "
2525
26-let l = "Dapp will start Pre-Sale at Timestamp "
26+let l = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order."
2727
28-let m = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order."
28+let m = "Pre-Sale is over for this Round."
2929
30-let n = "Pre-Sale is over for this Round."
30+let n = "Pre-Sale is not over for this Round."
3131
32-let o = "Pre-Sale is not over for this Round."
32+let o = "Softcap or Hard Cap already Reached or probably PreSale was Set with False to Refund, so no Refund allowed for this Round."
3333
34-let p = "Softcap or Hard Cap already Reached or probably PreSale was Set with False to Refund, so no Refund allowed for this Round."
34+let p = "<h1>Refund Received Successfully!.</h1><br>"
3535
36-let q = "<h1>Refund Received Successfully!.</h1><br>"
36+let q = "The BML token could not be found. Please use the Create_BML function to issue a BML token."
3737
3838 @Callable(r)
3939 func SetPreSaleParameters (s,t,u,v,w,x) = {
4040 let y = s
4141 let z = t
4242 let A = {
4343 let B = getInteger(this, "Current_Funding_Round")
4444 if ($isInstanceOf(B, "Int"))
4545 then {
4646 let C = B
4747 C
4848 }
4949 else 0
5050 }
5151 let D = (A + 1)
52- if ((r.caller != c))
53- then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it."))
52+ if ((r.caller != b))
53+ then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it."))
5454 else if ((lastBlock.timestamp > s))
55- then throw(d)
55+ then throw(c)
5656 else if ((size(toString(s)) != 13))
5757 then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
5858 else if ((size(toString(t)) != 13))
5959 then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
6060 else if ((1 > u))
61- then throw(f)
61+ then throw(e)
6262 else if ((y >= z))
63- then throw(e)
63+ then throw(d)
6464 else if ((v > w))
65- then throw(g)
66- else [IntegerEntry("Current_Funding_Round", D), IntegerEntry((toString(D) + "_Presale_Start_TimeStamp"), y), IntegerEntry((toString(D) + "_Presale_End_TimeStamp"), z), IntegerEntry((toString(D) + "_Token_Price"), u), IntegerEntry((toString(D) + "_Soft_Cap_Amount"), v), IntegerEntry((toString(D) + "_Hard_Cap_Amount"), w), IntegerEntry((toString(D) + "_Initiated_Height"), height), BooleanEntry((toString(D) + "_Allow_Refund"), x), StringEntry("message", i)]
65+ then throw(f)
66+ else [IntegerEntry("Current_Funding_Round", D), IntegerEntry((toString(D) + "_Presale_Start_TimeStamp"), y), IntegerEntry((toString(D) + "_Presale_End_TimeStamp"), z), IntegerEntry((toString(D) + "_Token_Price"), u), IntegerEntry((toString(D) + "_Soft_Cap_Amount"), v), IntegerEntry((toString(D) + "_Hard_Cap_Amount"), w), IntegerEntry((toString(D) + "_Initiated_Height"), height), BooleanEntry((toString(D) + "_Allow_Refund"), x), StringEntry("message", h)]
6767 }
6868
6969
7070
7171 @Callable(r)
7272 func PlacePresaleOrder (E) = {
7373 let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
7474 let G = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.")
7575 let H = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.")
7676 let I = valueOrErrorMessage(getInteger(this, (toString(E) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.")
7777 let J = valueOrErrorMessage(getInteger(this, (toString(E) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.")
7878 let K = valueOrErrorMessage(getBoolean(this, (toString(E) + "_Allow_Refund")), "Refund is not set for this Presale Round.")
7979 let L = unit
8080 let M = toBase58String(r.caller.bytes)
8181 let N = if ((size(r.payments) == 1))
8282 then r.payments[0]
83- else throw(j)
83+ else throw(i)
8484 let O = {
8585 let B = getInteger(this, (toString(E) + "_Funds_Collection"))
8686 if ($isInstanceOf(B, "Int"))
8787 then {
8888 let C = B
8989 C
9090 }
9191 else 0
9292 }
9393 let P = (O + N.amount)
9494 let Q = {
9595 let B = getInteger(this, (toString(E) + "_total_auto_withdraw_txns"))
9696 if ($isInstanceOf(B, "Int"))
9797 then {
9898 let C = B
9999 C
100100 }
101101 else 0
102102 }
103103 let R = (Q + 1)
104104 let S = {
105105 let B = getInteger(this, (toString(E) + "_total_txns"))
106106 if ($isInstanceOf(B, "Int"))
107107 then {
108108 let C = B
109109 C
110110 }
111111 else 0
112112 }
113113 let T = (S + 1)
114114 let U = {
115115 let B = getInteger(this, ((toString(E) + "_") + M))
116116 if ($isInstanceOf(B, "Int"))
117117 then {
118118 let C = B
119119 C
120120 }
121121 else 0
122122 }
123123 let V = (U + N.amount)
124124 let W = (I - P)
125125 let X = (J - P)
126126 if (isDefined(N.assetId))
127- then throw(j)
127+ then throw(i)
128128 else if ((F > N.amount))
129- then throw((((k + "[") + toString(F)) + "/10^8.]"))
129+ then throw((((j + "[") + toString(F)) + "/10^8.]"))
130130 else if ((G > lastBlock.timestamp))
131- then throw((l + toString(G)))
131+ then throw((k + toString(G)))
132132 else if ((lastBlock.timestamp > H))
133- then throw(n)
133+ then throw(m)
134134 else if (if ((W > 0))
135135 then (X > 0)
136136 else false)
137- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "No"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), K), StringEntry("message", h)]
137+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), Q), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "No"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), K), StringEntry("message", g)]
138138 else if (if (if ((0 >= W))
139139 then (X > 0)
140140 else false)
141141 then (R == 1)
142142 else false)
143- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, P, unit), StringEntry("message", h)]
143+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, P, unit), StringEntry("message", g)]
144144 else if (if (if ((0 >= W))
145145 then (X > 0)
146146 else false)
147147 then (R > 1)
148148 else false)
149- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, N.amount, unit), StringEntry("message", h)]
149+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "No"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, N.amount, unit), StringEntry("message", g)]
150150 else if (if (if ((0 >= W))
151151 then (0 >= X)
152152 else false)
153153 then (R == 1)
154154 else false)
155- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, P, unit), StringEntry("message", h)]
155+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, P, unit), StringEntry("message", g)]
156156 else if (if (if ((0 >= W))
157157 then (0 >= X)
158158 else false)
159159 then (R > 1)
160160 else false)
161- then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(c, N.amount, unit), StringEntry("message", h)]
161+ then [IntegerEntry((toString(E) + "_Funds_Collection"), P), IntegerEntry(((toString(E) + "_") + M), V), IntegerEntry((toString(E) + "_total_auto_withdraw_txns"), R), IntegerEntry((toString(E) + "_total_txns"), T), IntegerEntry((toString(E) + "_pending_softcap_status"), W), IntegerEntry((toString(E) + "_pending_hardcap_status"), X), StringEntry((toString(E) + "_softcap_status"), "Yes"), StringEntry((toString(E) + "_hardcap_status"), "Yes"), BooleanEntry((toString(E) + "_Allow_Refund"), false), ScriptTransfer(b, N.amount, unit), StringEntry("message", g)]
162162 else throw("Error.")
163163 }
164164
165165
166166
167167 @Callable(r)
168168 func Refund (E) = {
169169 let L = unit
170170 let M = toBase58String(r.caller.bytes)
171171 let Y = valueOrErrorMessage(getInteger(this, (toString(E) + "_Initiated_Height")), "Initiated Height not Found for this Presale Round.")
172172 let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
173173 let G = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.")
174174 let H = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.")
175175 let I = valueOrErrorMessage(getInteger(this, (toString(E) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.")
176176 let J = valueOrErrorMessage(getInteger(this, (toString(E) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.")
177177 let Z = valueOrErrorMessage(getInteger(this, (toString(E) + "_Funds_Collection")), "Total Funds Collection not Found for this Presale Round.")
178178 let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.")
179179 let K = valueOrErrorMessage(getBoolean(this, (toString(E) + "_Allow_Refund")), "Allow_Refund has no Boolen Entry for this Presale Round.")
180180 let W = (I - Z)
181181 let X = (J - Z)
182182 let aa = 1000
183183 let ab = (60 * aa)
184184 let ac = (H - G)
185185 let ad = 10
186186 let ae = ((Y + fraction(ac, 1, ab)) + ad)
187187 let af = (Z - U)
188188 if ((ae > lastBlock.height))
189- then throw((((o + " Please Wait Until ~") + toString(ae)) + " Height is reached."))
189+ then throw((((n + " Please Wait Until ~") + toString(ae)) + " Height is reached."))
190190 else if ((K == false))
191- then throw(p)
191+ then throw(o)
192192 else if ((U == 0))
193193 then throw("Refund has been Already Claimed by this Address.")
194194 else if (if ((W > 0))
195195 then (X > 0)
196196 else false)
197- then [ScriptTransfer(addressFromStringValue(M), U, L), IntegerEntry(((toString(E) + "_") + "Pending_Refund"), af), IntegerEntry(((toString(E) + "_") + M), 0), StringEntry("message", q)]
197+ then [ScriptTransfer(addressFromStringValue(M), U, L), IntegerEntry(((toString(E) + "_") + "Pending_Refund"), af), IntegerEntry(((toString(E) + "_") + M), 0), StringEntry("message", p)]
198198 else if (if ((0 >= W))
199199 then (X > 0)
200200 else false)
201201 then throw("SoftCap Already Reached for this Round. Please Click on 'Claim Tokens' Function to Receive Your Tokens.")
202202 else if (if ((0 >= W))
203203 then (0 >= X)
204204 else false)
205205 then throw("SoftCap and Hard Already Reached for this Round. Please Click on Claim to Receive Your Tokens.")
206206 else throw("Wrong Entry Found.")
207207 }
208208
209209
210210
211211 @Callable(r)
212212 func Claim_Tokens (E) = {
213+ let ag = valueOrErrorMessage(fromBase58String(getStringValue(this, "BML_TokenID")), q)
213214 let M = toBase58String(r.caller.bytes)
214- let ag = 100000000
215- let ah = valueOrErrorMessage(getString(this, (toString(E) + "_softcap_status")), "SoftCap Status not Found for this Presale Round.")
216- let ai = valueOrErrorMessage(getString(this, (toString(E) + "_hardcap_status")), "HardCap Status not Found for this Presale Round.")
215+ let ah = 100000000
216+ let ai = valueOrErrorMessage(getString(this, (toString(E) + "_softcap_status")), "SoftCap Status not Found for this Presale Round.")
217+ let aj = valueOrErrorMessage(getString(this, (toString(E) + "_hardcap_status")), "HardCap Status not Found for this Presale Round.")
217218 let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.")
218219 let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.")
219- let aj = fraction(U, ag, F)
220- let ak = fraction(U, ag, F)
221- let al = {
220+ let ak = fraction(U, ah, F)
221+ let al = fraction(U, ah, F)
222+ let am = {
222223 let B = getInteger(this, (toString(E) + "_Tokens_Claimed"))
223224 if ($isInstanceOf(B, "Int"))
224225 then {
225226 let C = B
226227 C
227228 }
228229 else 0
229230 }
230- let am = (al + ak)
231- let an = (aj - ak)
232- if ((ah == "No"))
231+ let an = (am + al)
232+ let ao = (ak - al)
233+ if ((ai == "No"))
233234 then throw("No Tokens Claim,as SoftCap Amount didn't reach numbers for this Round.")
234- else if (if ((ah == "Yes"))
235+ else if (if ((ai == "Yes"))
235236 then true
236- else (ai == "Yes"))
237- then [IntegerEntry((toString(E) + "_Tokens_Claimed"), am), IntegerEntry((toString(E) + "_Pending_Tokens_To_Claim"), an), ScriptTransfer(addressFromStringValue(M), ak, a)]
237+ else (aj == "Yes"))
238+ then [IntegerEntry((toString(E) + "_Tokens_Claimed"), an), IntegerEntry((toString(E) + "_Pending_Tokens_To_Claim"), ao), ScriptTransfer(addressFromStringValue(M), al, ag)]
238239 else throw("Wrong Entry Found.")
239240 }
240241
241242
242243
243244 @Callable(r)
244-func Mint_BML (ao,ap) = {
245- let aq = Issue(ao, ap, 1, 8, true)
246- let ar = calculateAssetId(aq)
247- if ((r.caller != c))
248- then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it."))
249- else [aq, StringEntry("BML_TokenID", toBase58String(ar)), Burn(ar, 1)]
245+func Mint_BML (ap,aq) = {
246+ let ar = Issue(ap, aq, 1, 8, true)
247+ let as = calculateAssetId(ar)
248+ if ((r.caller != b))
249+ then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it."))
250+ else [ar, StringEntry("BML_TokenID", toBase58String(as)), Burn(as, 1)]
250251 }
251252
252253
253254
254255 @Callable(r)
255256 func Delete () = [DeleteEntry("BML_TokenID")]
256257
257258
258-@Verifier(as)
259-func at () = sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey)
259+@Verifier(at)
260+func au () = sigVerify(at.bodyBytes, at.proofs[0], at.senderPublicKey)
260261

github/deemru/w8io/169f3d6 
102.17 ms