tx · GmhXspFmSsPEvftYUxYC6c7hAMqXJXS71Qq6uGbSemQm 3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA: -0.02500000 Waves 2023.08.14 17:04 [2710323] smart account 3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA > SELF 0.00000000 Waves
{ "type": 13, "id": "GmhXspFmSsPEvftYUxYC6c7hAMqXJXS71Qq6uGbSemQm", "fee": 2500000, "feeAssetId": null, "timestamp": 1692021892833, "version": 2, "chainId": 84, "sender": "3N4ynz2uyA7cErymQd46zgwVJEEfXYDRXtA", "senderPublicKey": "CiRX9ubobzbD36ZwTyuBFiPnPkmzMQ7GDsF3hMoVbcVR", "proofs": [ "3iPGqeEJanoyHgUjJhqzoodBRofDp3eWoXJ1umCUnLz61Cm9WjVDCHEyXMWJYwHtNMWebuyKrvPAUFe2Sx6QVhhh" ], "script": "base64:AAIFAAAAAAAAACMIAhIICgYBAQEBAQQSAwoBARIDCgEBEgMKAQESBAoCCAgSAAAAABEAAAAAC0JNTF9Ub2tlbklECQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAALQk1MX1Rva2VuSUQCAAAAWlRoZSBCTUwgdG9rZW4gY291bGQgbm90IGJlIGZvdW5kLiBQbGVhc2UgdXNlIHRoZSBDcmVhdGVfQk1MIGZ1bmN0aW9uIHRvIGlzc3VlIGEgQk1MIHRva2VuLgAAAAAjcHJlc2FsZV90aW1lc3RhbXBfY29udHJvbGxlcl9wdWJrZXkBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAAAAABJjb250cm9sbGVyX2FkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAI3ByZXNhbGVfdGltZXN0YW1wX2NvbnRyb2xsZXJfcHVia2V5AAAAAA5leHBpcmVkdHNlcnJvcgIAAAA4U3RhcnQgVGltZXN0YW1wIGNhbid0IGJlIGxlc3MgdGhhbiBsYXN0IGJsb2NrIFRpbWVzdGFtcC4AAAAAB3RzZXJyb3ICAAAAPEVuZCBUaW1lc3RhbXAgY2FuJ3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIFN0YXJ0IFRpbWVzdGFtcAAAAAAKcHJpY2VlcnJvcgIAAAAmVG9rZW4gUHJpY2UgY2FuJ3QgYmUgbGVzcyB0aGFuIG9yIFplcm8AAAAACGNhcGVycm9yAgAAADNTb2Z0IENhcCBBbW91bnQgY2FuJ3QgYmUgbW9yZSB0aGFuIEhhcmQgQ2FwIEFtb3VudC4AAAAACG9yZGVybXNnAgAAADI8aDE+UHJlc2FsZSBPcmRlciBTdWJtaXR0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgAAAAAQcHJlc2FsZV9pbml0X21zZwIAAAA3PGgxPlByZVNhbGUgUGFyYW1ldGVycyBTdWJtaXR0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgAAAAAJcHltdGVycm9yAgAAACtEQXBwIE5lZWQgV0FWRVMgVG9rZW4gYXMgQXR0YWNoIHBheW1lbnRbMV0uAAAAAA5vcmRlcnB5bXRlcnJvcgIAAAAtQXR0YWNoZWQgcGF5bWVudFsxXSBpcyBsZXNzIHRoYW4gdG9rZW4gcHJpY2UgAAAAAAxsYXVuY2hfZXJyb3ICAAAAJkRhcHAgd2lsbCBzdGFydCBQcmUtU2FsZSBhdCBUaW1lc3RhbXAgAAAAAAttaW5iYWxlcnJvcgIAAABmTWluaW11bSAwLjEgV0FWRVMgcmVxdWlyZWQgb24gWW91ciBBZGRyZXNzLCBQbGVhc2UgaG9sZCBtaW4uIDAuMSBXQVZFUyBvbiB5b3VyIEFkZHJlc3MgdG8gcGxhY2Ugb3JkZXIuAAAAAA9wcmVzYWxlX2VuZF9lcnICAAAAIFByZS1TYWxlIGlzIG92ZXIgZm9yIHRoaXMgUm91bmQuAAAAABNwcmVzYWxlX25vdF9lbmRfZXJyAgAAACRQcmUtU2FsZSBpcyBub3Qgb3ZlciBmb3IgdGhpcyBSb3VuZC4AAAAACnJlZnVuZF9lcnICAAAAelNvZnRjYXAgb3IgSGFyZCBDYXAgYWxyZWFkeSBSZWFjaGVkIG9yIHByb2JhYmx5IFByZVNhbGUgd2FzIFNldCB3aXRoIEZhbHNlIHRvIFJlZnVuZCwgc28gbm8gUmVmdW5kIGFsbG93ZWQgZm9yIHRoaXMgUm91bmQuAAAAAA9yZWZ1bmRfaW5pdF9tc2cCAAAAKzxoMT5SZWZ1bmQgUmVjZWl2ZWQgU3VjY2Vzc2Z1bGx5IS48L2gxPjxicj4AAAAGAAAAAWkBAAAAFFNldFByZVNhbGVQYXJhbWV0ZXJzAAAABgAAABdQcmVzYWxlX1N0YXJ0X1RpbWVTdGFtcAAAABVQcmVzYWxlX0VuZF9UaW1lU3RhbXAAAAALVG9rZW5fUHJpY2UAAAAPU29mdF9DYXBfQW1vdW50AAAAD0hhcmRfQ2FwX0Ftb3VudAAAAAxBbGxvd19SZWZ1bmQEAAAAB1N0YXJ0VFMFAAAAF1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wBAAAAAVFbmRUUwUAAAAVUHJlc2FsZV9FbmRfVGltZVN0YW1wBAAAABJyZWFkX2Z1bmRpbmdfcm91bmQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAVQ3VycmVudF9GdW5kaW5nX1JvdW5kAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADWN1cnJlbnRfcm91bmQJAABkAAAAAgUAAAAScmVhZF9mdW5kaW5nX3JvdW5kAAAAAAAAAAABAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABJjb250cm9sbGVyX2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAASY29udHJvbGxlcl9hZGRyZXNzAgAAACIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuAwkAAGYAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAXUHJlc2FsZV9TdGFydF9UaW1lU3RhbXAJAAACAAAAAQUAAAAOZXhwaXJlZHRzZXJyb3IDCQEAAAACIT0AAAACCQABMQAAAAEJAAGkAAAAAQUAAAAXUHJlc2FsZV9TdGFydF9UaW1lU3RhbXAAAAAAAAAAAA0JAAACAAAAAQIAAABvU3RhcnQgVGltZXN0YW1wIGlzIFdyb25nLiBQbGVhc2UgRW50ZXIgYSBWYWxpZCBUaW1lc3RhbXAuIFByb2JhYmx5IHlvdSBlbnRlcmVkIGFuIFRpbWVzdGFtcCBsZXNzIHRoYW4gMTMgQ2hhcnMuAwkBAAAAAiE9AAAAAgkAATEAAAABCQABpAAAAAEFAAAAFVByZXNhbGVfRW5kX1RpbWVTdGFtcAAAAAAAAAAADQkAAAIAAAABAgAAAG1FbmQgVGltZXN0YW1wIGlzIFdyb25nLiBQbGVhc2UgRW50ZXIgYSBWYWxpZCBUaW1lc3RhbXAuIFByb2JhYmx5IHlvdSBlbnRlcmVkIGFuIFRpbWVzdGFtcCBsZXNzIHRoYW4gMTMgQ2hhcnMuAwkAAGYAAAACAAAAAAAAAAABBQAAAAtUb2tlbl9QcmljZQkAAAIAAAABBQAAAApwcmljZWVycm9yAwkAAGcAAAACBQAAAAdTdGFydFRTBQAAAAVFbmRUUwkAAAIAAAABBQAAAAd0c2Vycm9yAwkAAGYAAAACBQAAAA9Tb2Z0X0NhcF9BbW91bnQFAAAAD0hhcmRfQ2FwX0Ftb3VudAkAAAIAAAABBQAAAAhjYXBlcnJvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQ3VycmVudF9GdW5kaW5nX1JvdW5kBQAAAA1jdXJyZW50X3JvdW5kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAAYX1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wBQAAAAdTdGFydFRTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAAWX1ByZXNhbGVfRW5kX1RpbWVTdGFtcAUAAAAFRW5kVFMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50X3JvdW5kAgAAAAxfVG9rZW5fUHJpY2UFAAAAC1Rva2VuX1ByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAAQX1NvZnRfQ2FwX0Ftb3VudAUAAAAPU29mdF9DYXBfQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAAQX0hhcmRfQ2FwX0Ftb3VudAUAAAAPSGFyZF9DYXBfQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAANY3VycmVudF9yb3VuZAIAAAARX0luaXRpYXRlZF9IZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAADWN1cnJlbnRfcm91bmQCAAAADV9BbGxvd19SZWZ1bmQFAAAADEFsbG93X1JlZnVuZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAABBwcmVzYWxlX2luaXRfbXNnBQAAAANuaWwAAAABaQEAAAARUGxhY2VQcmVzYWxlT3JkZXIAAAABAAAAE0VudGVyX1ByZXNhbGVfUm91bmQEAAAAFnJlYWRfcm91bmRfdG9rZW5fcHJpY2UJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAMX1Rva2VuX1ByaWNlAgAAAC1Ub2tlbiBQcmljZSBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAE3JlYWRfcm91bmRfc3RhcnRfdHMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAYX1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wAgAAADFTdGFydCBUaW1lc3RhbXAgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABFyZWFkX3JvdW5kX2VuZF90cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABZfUHJlc2FsZV9FbmRfVGltZVN0YW1wAgAAAC9FbmQgVGltZXN0YW1wIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAUcmVhZF9Tb2Z0X0NhcF9BbW91bnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAQX1NvZnRfQ2FwX0Ftb3VudAIAAAAxU29mdCBDYXAgQW1vdW50IG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAUcmVhZF9IYXJkX0NhcF9BbW91bnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAQX0hhcmRfQ2FwX0Ftb3VudAIAAAAxSGFyZCBDYXAgQW1vdW50IG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAARcmVhZF9BbGxvd19SZWZ1bmQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAIAAAApUmVmdW5kIGlzIG5vdCBzZXQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAABVdBVkVTBQAAAAR1bml0BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABBQAAAAlweW10ZXJyb3IEAAAAFXJlYWRfZnVuZHNfY29sbGVjdGlvbgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgkAAGQAAAACBQAAABVyZWFkX2Z1bmRzX2NvbGxlY3Rpb24IBQAAAANwbXQAAAAGYW1vdW50BAAAABdyZWFkX2F1dG9fd2l0aGRyYXdfdHhucwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAZX3RvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMJAABkAAAAAgUAAAAXcmVhZF9hdXRvX3dpdGhkcmF3X3R4bnMAAAAAAAAAAAEEAAAAD3JlYWRfdG90YWxfdHhucwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAALX3RvdGFsX3R4bnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAKdG90YWxfdHhucwkAAGQAAAACBQAAAA9yZWFkX3RvdGFsX3R4bnMAAAAAAAAAAAEEAAAAH3JlYWRfdXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABp1c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkAAGQAAAACBQAAAB9yZWFkX3VzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCAUAAAADcG10AAAABmFtb3VudAQAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGUAAAACBQAAABRyZWFkX1NvZnRfQ2FwX0Ftb3VudAUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgQAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkAAGUAAAACBQAAABRyZWFkX0hhcmRfQ2FwX0Ftb3VudAUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQUAAAAJcHltdGVycm9yAwkAAGYAAAACBQAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA5vcmRlcnB5bXRlcnJvcgIAAAABWwkAAaQAAAABBQAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlAgAAAAcvMTBeOC5dAwkAAGYAAAACBQAAABNyZWFkX3JvdW5kX3N0YXJ0X3RzCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAIFAAAADGxhdW5jaF9lcnJvcgkAAaQAAAABBQAAABNyZWFkX3JvdW5kX3N0YXJ0X3RzAwkAAGYAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAARcmVhZF9yb3VuZF9lbmRfdHMJAAACAAAAAQUAAAAPcHJlc2FsZV9lbmRfZXJyAwMJAABmAAAAAgUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwAAAAAAAAAAAAkAAGYAAAACBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzAAAAAAAAAAAABwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5BQAAABp1c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGV90b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMFAAAAF3JlYWRfYXV0b193aXRoZHJhd190eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAALX3RvdGFsX3R4bnMFAAAACnRvdGFsX3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX2hhcmRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9fc29mdGNhcF9zdGF0dXMCAAAAAk5vCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9faGFyZGNhcF9zdGF0dXMCAAAAAk5vCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAUAAAARcmVhZF9BbGxvd19SZWZ1bmQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAIb3JkZXJtc2cFAAAAA25pbAMDAwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZgAAAAIFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMAAAAAAAAAAAAHCQAAAAAAAAIFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwAAAAAAAAAAAQcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfRnVuZHNfQ29sbGVjdGlvbgUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQUAAAAadXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABlfdG90YWxfYXV0b193aXRoZHJhd190eG5zBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAtfdG90YWxfdHhucwUAAAAKdG90YWxfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX3NvZnRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfaGFyZGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19zb2Z0Y2FwX3N0YXR1cwIAAAADWWVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9faGFyZGNhcF9zdGF0dXMCAAAAAk5vCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAASY29udHJvbGxlcl9hZGRyZXNzBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uBQAAAAR1bml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAACG9yZGVybXNnBQAAAANuaWwDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGYAAAACBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzAAAAAAAAAAAABwkAAGYAAAACBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMAAAAAAAAAAAEHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAARX0Z1bmRzX0NvbGxlY3Rpb24FAAAAFnRvdGFsX2Z1bmRzX2NvbGxlY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkFAAAAGnVzZXJfdG90YWxfZnVuZHNfZGVwb3NpdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAZX3RvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAALX3RvdGFsX3R4bnMFAAAACnRvdGFsX3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX2hhcmRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9fc29mdGNhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX2hhcmRjYXBfc3RhdHVzAgAAAAJObwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQUAAAAIb3JkZXJtc2cFAAAAA25pbAMDAwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMHCQAAAAAAAAIFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwAAAAAAAAAAAQcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfRnVuZHNfQ29sbGVjdGlvbgUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAABXwUAAAAKY3VycmVudEtleQUAAAAadXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABlfdG90YWxfYXV0b193aXRoZHJhd190eG5zBQAAABh0b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAtfdG90YWxfdHhucwUAAAAKdG90YWxfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAF19wZW5kaW5nX3NvZnRjYXBfc3RhdHVzBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfaGFyZGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19zb2Z0Y2FwX3N0YXR1cwIAAAADWWVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9faGFyZGNhcF9zdGF0dXMCAAAAA1llcwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAADV9BbGxvd19SZWZ1bmQHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEmNvbnRyb2xsZXJfYWRkcmVzcwUAAAAWdG90YWxfZnVuZHNfY29sbGVjdGlvbgUAAAAEdW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAhvcmRlcm1zZwUAAAADbmlsAwMDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwcJAABmAAAAAgUAAAAYdG90YWxfYXV0b193aXRoZHJhd190eG5zAAAAAAAAAAABBwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uBQAAABZ0b3RhbF9mdW5kc19jb2xsZWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5BQAAABp1c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAGV90b3RhbF9hdXRvX3dpdGhkcmF3X3R4bnMFAAAAGHRvdGFsX2F1dG9fd2l0aGRyYXdfdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAC190b3RhbF90eG5zBQAAAAp0b3RhbF90eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAXX3BlbmRpbmdfc29mdGNhcF9zdGF0dXMFAAAAFnBlbmRpbmdfc29mdGNhcF9zdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABdfcGVuZGluZ19oYXJkY2FwX3N0YXR1cwUAAAAWcGVuZGluZ19oYXJkY2FwX3N0YXR1cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAPX3NvZnRjYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19oYXJkY2FwX3N0YXR1cwIAAAADWWVzCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAANX0FsbG93X1JlZnVuZAcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAASY29udHJvbGxlcl9hZGRyZXNzCAUAAAADcG10AAAABmFtb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlBQAAAAhvcmRlcm1zZwUAAAADbmlsCQAAAgAAAAECAAAABkVycm9yLgAAAAFpAQAAAAZSZWZ1bmQAAAABAAAAE0VudGVyX1ByZXNhbGVfUm91bmQEAAAABVdBVkVTBQAAAAR1bml0BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAFXJlYWRfSW5pdGlhdGVkX0hlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABFfSW5pdGlhdGVkX0hlaWdodAIAAAAySW5pdGlhdGVkIEhlaWdodCBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAFnJlYWRfcm91bmRfdG9rZW5fcHJpY2UJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAMX1Rva2VuX1ByaWNlAgAAAC1Ub2tlbiBQcmljZSBub3QgRm91bmQgZm9yIHRoaXMgUHJlc2FsZSBSb3VuZC4EAAAAE3JlYWRfcm91bmRfc3RhcnRfdHMJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAYX1ByZXNhbGVfU3RhcnRfVGltZVN0YW1wAgAAADFTdGFydCBUaW1lc3RhbXAgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABFyZWFkX3JvdW5kX2VuZF90cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAABZfUHJlc2FsZV9FbmRfVGltZVN0YW1wAgAAAC9FbmQgVGltZXN0YW1wIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAUcmVhZF9Tb2Z0X0NhcF9BbW91bnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAQX1NvZnRfQ2FwX0Ftb3VudAIAAAAxU29mdCBDYXAgQW1vdW50IG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAUcmVhZF9IYXJkX0NhcF9BbW91bnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAQX0hhcmRfQ2FwX0Ftb3VudAIAAAAxSGFyZCBDYXAgQW1vdW50IG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAbcmVhZF90b3RhbF9mdW5kc19jb2xsZWN0aW9uCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAEV9GdW5kc19Db2xsZWN0aW9uAgAAADhUb3RhbCBGdW5kcyBDb2xsZWN0aW9uIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkCAAAAO05vIERlcG9zaXQgd2FzIG1hZGUgYnkgdGhpcyBBZGRyZXNzIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABFyZWFkX0FsbG93X1JlZnVuZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA1fQWxsb3dfUmVmdW5kAgAAADhBbGxvd19SZWZ1bmQgaGFzIG5vIEJvb2xlbiBFbnRyeSBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGUAAAACBQAAABRyZWFkX1NvZnRfQ2FwX0Ftb3VudAUAAAAbcmVhZF90b3RhbF9mdW5kc19jb2xsZWN0aW9uBAAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzCQAAZQAAAAIFAAAAFHJlYWRfSGFyZF9DYXBfQW1vdW50BQAAABtyZWFkX3RvdGFsX2Z1bmRzX2NvbGxlY3Rpb24EAAAADG1pbGxpc2Vjb25kcwAAAAAAAAAD6AQAAAAGbWludXRlCQAAaAAAAAIAAAAAAAAAADwFAAAADG1pbGxpc2Vjb25kcwQAAAAVcm91bmRfdGltZV9kaWZmZXJlbmNlCQAAZQAAAAIFAAAAEXJlYWRfcm91bmRfZW5kX3RzBQAAABNyZWFkX3JvdW5kX3N0YXJ0X3RzBAAAABZhZGRpdGlvbmFsX3NhZmVfYmxvY2tzAAAAAAAAAAAKBAAAABJibG9ja3N0aW1ldG9tYXR1cmUJAABkAAAAAgkAAGQAAAACBQAAABVyZWFkX0luaXRpYXRlZF9IZWlnaHQJAABrAAAAAwUAAAAVcm91bmRfdGltZV9kaWZmZXJlbmNlAAAAAAAAAAABBQAAAAZtaW51dGUFAAAAFmFkZGl0aW9uYWxfc2FmZV9ibG9ja3MEAAAAD3BlbmRpbmdfcmVmdW5kcwkAAGUAAAACBQAAABtyZWFkX3RvdGFsX2Z1bmRzX2NvbGxlY3Rpb24FAAAAH3JlYWRfdXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQDCQAAZgAAAAIFAAAAEmJsb2Nrc3RpbWV0b21hdHVyZQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAATcHJlc2FsZV9ub3RfZW5kX2VycgIAAAAUIFBsZWFzZSBXYWl0IFVudGlsIH4JAAGkAAAAAQUAAAASYmxvY2tzdGltZXRvbWF0dXJlAgAAABMgSGVpZ2h0IGlzIHJlYWNoZWQuAwkAAAAAAAACBQAAABFyZWFkX0FsbG93X1JlZnVuZAcJAAACAAAAAQUAAAAKcmVmdW5kX2VycgMJAAAAAAAAAgUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAAAAAAAAAAAAAkAAAIAAAABAgAAADBSZWZ1bmQgaGFzIGJlZW4gQWxyZWFkeSBDbGFpbWVkIGJ5IHRoaXMgQWRkcmVzcy4DAwkAAGYAAAACBQAAABZwZW5kaW5nX3NvZnRjYXBfc3RhdHVzAAAAAAAAAAAACQAAZgAAAAIFAAAAFnBlbmRpbmdfaGFyZGNhcF9zdGF0dXMAAAAAAAAAAAAHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAACmN1cnJlbnRLZXkFAAAAH3JlYWRfdXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQFAAAABVdBVkVTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfAgAAAA5QZW5kaW5nX1JlZnVuZAUAAAAPcGVuZGluZ19yZWZ1bmRzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAFfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UFAAAAD3JlZnVuZF9pbml0X21zZwUAAAADbmlsAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGYAAAACBQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzAAAAAAAAAAAABwkAAAIAAAABAgAAAGdTb2Z0Q2FwIEFscmVhZHkgUmVhY2hlZCBmb3IgdGhpcyBSb3VuZC4gUGxlYXNlIENsaWNrIG9uICdDbGFpbSBUb2tlbnMnIEZ1bmN0aW9uIHRvIFJlY2VpdmUgWW91ciBUb2tlbnMuAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAWcGVuZGluZ19zb2Z0Y2FwX3N0YXR1cwkAAGcAAAACAAAAAAAAAAAABQAAABZwZW5kaW5nX2hhcmRjYXBfc3RhdHVzBwkAAAIAAAABAgAAAF5Tb2Z0Q2FwIGFuZCBIYXJkIEFscmVhZHkgUmVhY2hlZCBmb3IgdGhpcyBSb3VuZC4gUGxlYXNlIENsaWNrIG9uIENsYWltIHRvIFJlY2VpdmUgWW91ciBUb2tlbnMuCQAAAgAAAAECAAAAEldyb25nIEVudHJ5IEZvdW5kLgAAAAFpAQAAAAxDbGFpbV9Ub2tlbnMAAAABAAAAE0VudGVyX1ByZXNhbGVfUm91bmQEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFc2NhbGUAAAAAAAX14QAEAAAAFHJlYWRfc29mdF9jYXBfc3RhdHVzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19zb2Z0Y2FwX3N0YXR1cwIAAAAwU29mdENhcCBTdGF0dXMgbm90IEZvdW5kIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABRyZWFkX2hhcmRfY2FwX3N0YXR1cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9faGFyZGNhcF9zdGF0dXMCAAAAMEhhcmRDYXAgU3RhdHVzIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAWcmVhZF9yb3VuZF90b2tlbl9wcmljZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAAxfVG9rZW5fUHJpY2UCAAAALVRva2VuIFByaWNlIG5vdCBGb3VuZCBmb3IgdGhpcyBQcmVzYWxlIFJvdW5kLgQAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAAV8FAAAACmN1cnJlbnRLZXkCAAAAO05vIERlcG9zaXQgd2FzIG1hZGUgYnkgdGhpcyBBZGRyZXNzIGZvciB0aGlzIFByZXNhbGUgUm91bmQuBAAAABZjYWxjdWxhdGVfdG90YWxfdG9rZW5zCQAAawAAAAMFAAAAH3JlYWRfdXNlcl90b3RhbF9mdW5kc19kZXBvc2l0ZWQFAAAABXNjYWxlBQAAABZyZWFkX3JvdW5kX3Rva2VuX3ByaWNlBAAAABh1c2VyX3Rva2Vuc19jbGFpbV9hbW91bnQJAABrAAAAAwUAAAAfcmVhZF91c2VyX3RvdGFsX2Z1bmRzX2RlcG9zaXRlZAUAAAAFc2NhbGUFAAAAFnJlYWRfcm91bmRfdG9rZW5fcHJpY2UEAAAAGXJlYWRfdG90YWxfdG9rZW5zX2NsYWltZWQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAAE0VudGVyX1ByZXNhbGVfUm91bmQCAAAAD19Ub2tlbnNfQ2xhaW1lZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABR0b3RhbF90b2tlbnNfY2xhaW1lZAkAAGQAAAACBQAAABlyZWFkX3RvdGFsX3Rva2Vuc19jbGFpbWVkBQAAABh1c2VyX3Rva2Vuc19jbGFpbV9hbW91bnQEAAAAFnBlbmRpbmdfdG9rZW5zX2NsYWltZWQJAABlAAAAAgUAAAAWY2FsY3VsYXRlX3RvdGFsX3Rva2VucwUAAAAYdXNlcl90b2tlbnNfY2xhaW1fYW1vdW50AwkAAAAAAAACBQAAABRyZWFkX3NvZnRfY2FwX3N0YXR1cwIAAAACTm8JAAACAAAAAQIAAABGTm8gVG9rZW5zIENsYWltLGFzIFNvZnRDYXAgQW1vdW50IGRpZG4ndCByZWFjaCBudW1iZXJzIGZvciB0aGlzIFJvdW5kLgMDCQAAAAAAAAIFAAAAFHJlYWRfc29mdF9jYXBfc3RhdHVzAgAAAANZZXMGCQAAAAAAAAIFAAAAFHJlYWRfaGFyZF9jYXBfc3RhdHVzAgAAAANZZXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABNFbnRlcl9QcmVzYWxlX1JvdW5kAgAAAA9fVG9rZW5zX0NsYWltZWQFAAAAFHRvdGFsX3Rva2Vuc19jbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATRW50ZXJfUHJlc2FsZV9Sb3VuZAIAAAAYX1BlbmRpbmdfVG9rZW5zX1RvX0NsYWltBQAAABZwZW5kaW5nX3Rva2Vuc19jbGFpbWVkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAACmN1cnJlbnRLZXkFAAAAGHVzZXJfdG9rZW5zX2NsYWltX2Ftb3VudAUAAAALQk1MX1Rva2VuSUQFAAAAA25pbAkAAAIAAAABAgAAABJXcm9uZyBFbnRyeSBGb3VuZC4AAAABaQEAAAAITWludF9CTUwAAAACAAAACVRva2VuTmFtZQAAABBUb2tlbkRlc2NyaXB0aW9uBAAAAAVhc3NldAkABEIAAAAFBQAAAAlUb2tlbk5hbWUFAAAAEFRva2VuRGVzY3JpcHRpb24AAAAAAAAAAAEAAAAAAAAAAAgGBAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWFzc2V0AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABJjb250cm9sbGVyX2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAASY29udHJvbGxlcl9hZGRyZXNzAgAAACIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuCQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAC0JNTF9Ub2tlbklECQACWAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAdhc3NldElkAAAAAAAAAAABBQAAAANuaWwAAAABaQEAAAAGRGVsZXRlAAAAAAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAAtCTUxfVG9rZW5JRAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXk8eOdG", "height": 2710323, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4QtC2PU1LWMs9GjvVs4XcSTHkRWowvFoawpyCaiNjYm5 Next: fGN9aG2rcSyJ6vuK5wbkfnX2AaZ7WB43NbSfVvcSvgc Diff:
Old | New | Differences | |
---|---|---|---|
252 | 252 | ||
253 | 253 | ||
254 | 254 | @Callable(r) | |
255 | - | func Delete ( | |
255 | + | func Delete () = [DeleteEntry("BML_TokenID")] | |
256 | 256 | ||
257 | 257 | ||
258 | - | @Verifier( | |
259 | - | func | |
258 | + | @Verifier(as) | |
259 | + | func at () = sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
260 | 260 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 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.") | |
5 | 5 | ||
6 | 6 | let b = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
7 | 7 | ||
8 | 8 | let c = addressFromPublicKey(b) | |
9 | 9 | ||
10 | 10 | let d = "Start Timestamp can't be less than last block Timestamp." | |
11 | 11 | ||
12 | 12 | let e = "End Timestamp can't be less than or equal to Start Timestamp" | |
13 | 13 | ||
14 | 14 | let f = "Token Price can't be less than or Zero" | |
15 | 15 | ||
16 | 16 | let g = "Soft Cap Amount can't be more than Hard Cap Amount." | |
17 | 17 | ||
18 | 18 | let h = "<h1>Presale Order Submitted Successfully!</h1><br>" | |
19 | 19 | ||
20 | 20 | let i = "<h1>PreSale Parameters Submitted Successfully!</h1><br>" | |
21 | 21 | ||
22 | 22 | let j = "DApp Need WAVES Token as Attach payment[1]." | |
23 | 23 | ||
24 | 24 | let k = "Attached payment[1] is less than token price " | |
25 | 25 | ||
26 | 26 | let l = "Dapp will start Pre-Sale at Timestamp " | |
27 | 27 | ||
28 | 28 | let m = "Minimum 0.1 WAVES required on Your Address, Please hold min. 0.1 WAVES on your Address to place order." | |
29 | 29 | ||
30 | 30 | let n = "Pre-Sale is over for this Round." | |
31 | 31 | ||
32 | 32 | let o = "Pre-Sale is not over for this Round." | |
33 | 33 | ||
34 | 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." | |
35 | 35 | ||
36 | 36 | let q = "<h1>Refund Received Successfully!.</h1><br>" | |
37 | 37 | ||
38 | 38 | @Callable(r) | |
39 | 39 | func SetPreSaleParameters (s,t,u,v,w,x) = { | |
40 | 40 | let y = s | |
41 | 41 | let z = t | |
42 | 42 | let A = { | |
43 | 43 | let B = getInteger(this, "Current_Funding_Round") | |
44 | 44 | if ($isInstanceOf(B, "Int")) | |
45 | 45 | then { | |
46 | 46 | let C = B | |
47 | 47 | C | |
48 | 48 | } | |
49 | 49 | else 0 | |
50 | 50 | } | |
51 | 51 | let D = (A + 1) | |
52 | 52 | if ((r.caller != c)) | |
53 | 53 | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
54 | 54 | else if ((lastBlock.timestamp > s)) | |
55 | 55 | then throw(d) | |
56 | 56 | else if ((size(toString(s)) != 13)) | |
57 | 57 | then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.") | |
58 | 58 | else if ((size(toString(t)) != 13)) | |
59 | 59 | then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.") | |
60 | 60 | else if ((1 > u)) | |
61 | 61 | then throw(f) | |
62 | 62 | else if ((y >= z)) | |
63 | 63 | then throw(e) | |
64 | 64 | else if ((v > w)) | |
65 | 65 | then throw(g) | |
66 | 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)] | |
67 | 67 | } | |
68 | 68 | ||
69 | 69 | ||
70 | 70 | ||
71 | 71 | @Callable(r) | |
72 | 72 | func PlacePresaleOrder (E) = { | |
73 | 73 | let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.") | |
74 | 74 | let G = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.") | |
75 | 75 | let H = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.") | |
76 | 76 | let I = valueOrErrorMessage(getInteger(this, (toString(E) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.") | |
77 | 77 | let J = valueOrErrorMessage(getInteger(this, (toString(E) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.") | |
78 | 78 | let K = valueOrErrorMessage(getBoolean(this, (toString(E) + "_Allow_Refund")), "Refund is not set for this Presale Round.") | |
79 | 79 | let L = unit | |
80 | 80 | let M = toBase58String(r.caller.bytes) | |
81 | 81 | let N = if ((size(r.payments) == 1)) | |
82 | 82 | then r.payments[0] | |
83 | 83 | else throw(j) | |
84 | 84 | let O = { | |
85 | 85 | let B = getInteger(this, (toString(E) + "_Funds_Collection")) | |
86 | 86 | if ($isInstanceOf(B, "Int")) | |
87 | 87 | then { | |
88 | 88 | let C = B | |
89 | 89 | C | |
90 | 90 | } | |
91 | 91 | else 0 | |
92 | 92 | } | |
93 | 93 | let P = (O + N.amount) | |
94 | 94 | let Q = { | |
95 | 95 | let B = getInteger(this, (toString(E) + "_total_auto_withdraw_txns")) | |
96 | 96 | if ($isInstanceOf(B, "Int")) | |
97 | 97 | then { | |
98 | 98 | let C = B | |
99 | 99 | C | |
100 | 100 | } | |
101 | 101 | else 0 | |
102 | 102 | } | |
103 | 103 | let R = (Q + 1) | |
104 | 104 | let S = { | |
105 | 105 | let B = getInteger(this, (toString(E) + "_total_txns")) | |
106 | 106 | if ($isInstanceOf(B, "Int")) | |
107 | 107 | then { | |
108 | 108 | let C = B | |
109 | 109 | C | |
110 | 110 | } | |
111 | 111 | else 0 | |
112 | 112 | } | |
113 | 113 | let T = (S + 1) | |
114 | 114 | let U = { | |
115 | 115 | let B = getInteger(this, ((toString(E) + "_") + M)) | |
116 | 116 | if ($isInstanceOf(B, "Int")) | |
117 | 117 | then { | |
118 | 118 | let C = B | |
119 | 119 | C | |
120 | 120 | } | |
121 | 121 | else 0 | |
122 | 122 | } | |
123 | 123 | let V = (U + N.amount) | |
124 | 124 | let W = (I - P) | |
125 | 125 | let X = (J - P) | |
126 | 126 | if (isDefined(N.assetId)) | |
127 | 127 | then throw(j) | |
128 | 128 | else if ((F > N.amount)) | |
129 | 129 | then throw((((k + "[") + toString(F)) + "/10^8.]")) | |
130 | 130 | else if ((G > lastBlock.timestamp)) | |
131 | 131 | then throw((l + toString(G))) | |
132 | 132 | else if ((lastBlock.timestamp > H)) | |
133 | 133 | then throw(n) | |
134 | 134 | else if (if ((W > 0)) | |
135 | 135 | then (X > 0) | |
136 | 136 | else false) | |
137 | 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)] | |
138 | 138 | else if (if (if ((0 >= W)) | |
139 | 139 | then (X > 0) | |
140 | 140 | else false) | |
141 | 141 | then (R == 1) | |
142 | 142 | else false) | |
143 | 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)] | |
144 | 144 | else if (if (if ((0 >= W)) | |
145 | 145 | then (X > 0) | |
146 | 146 | else false) | |
147 | 147 | then (R > 1) | |
148 | 148 | else false) | |
149 | 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)] | |
150 | 150 | else if (if (if ((0 >= W)) | |
151 | 151 | then (0 >= X) | |
152 | 152 | else false) | |
153 | 153 | then (R == 1) | |
154 | 154 | else false) | |
155 | 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)] | |
156 | 156 | else if (if (if ((0 >= W)) | |
157 | 157 | then (0 >= X) | |
158 | 158 | else false) | |
159 | 159 | then (R > 1) | |
160 | 160 | else false) | |
161 | 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)] | |
162 | 162 | else throw("Error.") | |
163 | 163 | } | |
164 | 164 | ||
165 | 165 | ||
166 | 166 | ||
167 | 167 | @Callable(r) | |
168 | 168 | func Refund (E) = { | |
169 | 169 | let L = unit | |
170 | 170 | let M = toBase58String(r.caller.bytes) | |
171 | 171 | let Y = valueOrErrorMessage(getInteger(this, (toString(E) + "_Initiated_Height")), "Initiated Height not Found for this Presale Round.") | |
172 | 172 | let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.") | |
173 | 173 | let G = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_Start_TimeStamp")), "Start Timestamp not Found for this Presale Round.") | |
174 | 174 | let H = valueOrErrorMessage(getInteger(this, (toString(E) + "_Presale_End_TimeStamp")), "End Timestamp not Found for this Presale Round.") | |
175 | 175 | let I = valueOrErrorMessage(getInteger(this, (toString(E) + "_Soft_Cap_Amount")), "Soft Cap Amount not Found for this Presale Round.") | |
176 | 176 | let J = valueOrErrorMessage(getInteger(this, (toString(E) + "_Hard_Cap_Amount")), "Hard Cap Amount not Found for this Presale Round.") | |
177 | 177 | let Z = valueOrErrorMessage(getInteger(this, (toString(E) + "_Funds_Collection")), "Total Funds Collection not Found for this Presale Round.") | |
178 | 178 | let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.") | |
179 | 179 | let K = valueOrErrorMessage(getBoolean(this, (toString(E) + "_Allow_Refund")), "Allow_Refund has no Boolen Entry for this Presale Round.") | |
180 | 180 | let W = (I - Z) | |
181 | 181 | let X = (J - Z) | |
182 | 182 | let aa = 1000 | |
183 | 183 | let ab = (60 * aa) | |
184 | 184 | let ac = (H - G) | |
185 | 185 | let ad = 10 | |
186 | 186 | let ae = ((Y + fraction(ac, 1, ab)) + ad) | |
187 | 187 | let af = (Z - U) | |
188 | 188 | if ((ae > lastBlock.height)) | |
189 | 189 | then throw((((o + " Please Wait Until ~") + toString(ae)) + " Height is reached.")) | |
190 | 190 | else if ((K == false)) | |
191 | 191 | then throw(p) | |
192 | 192 | else if ((U == 0)) | |
193 | 193 | then throw("Refund has been Already Claimed by this Address.") | |
194 | 194 | else if (if ((W > 0)) | |
195 | 195 | then (X > 0) | |
196 | 196 | else false) | |
197 | 197 | then [ScriptTransfer(addressFromStringValue(M), U, L), IntegerEntry(((toString(E) + "_") + "Pending_Refund"), af), IntegerEntry(((toString(E) + "_") + M), 0), StringEntry("message", q)] | |
198 | 198 | else if (if ((0 >= W)) | |
199 | 199 | then (X > 0) | |
200 | 200 | else false) | |
201 | 201 | then throw("SoftCap Already Reached for this Round. Please Click on 'Claim Tokens' Function to Receive Your Tokens.") | |
202 | 202 | else if (if ((0 >= W)) | |
203 | 203 | then (0 >= X) | |
204 | 204 | else false) | |
205 | 205 | then throw("SoftCap and Hard Already Reached for this Round. Please Click on Claim to Receive Your Tokens.") | |
206 | 206 | else throw("Wrong Entry Found.") | |
207 | 207 | } | |
208 | 208 | ||
209 | 209 | ||
210 | 210 | ||
211 | 211 | @Callable(r) | |
212 | 212 | func Claim_Tokens (E) = { | |
213 | 213 | let M = toBase58String(r.caller.bytes) | |
214 | 214 | let ag = 100000000 | |
215 | 215 | let ah = valueOrErrorMessage(getString(this, (toString(E) + "_softcap_status")), "SoftCap Status not Found for this Presale Round.") | |
216 | 216 | let ai = valueOrErrorMessage(getString(this, (toString(E) + "_hardcap_status")), "HardCap Status not Found for this Presale Round.") | |
217 | 217 | let F = valueOrErrorMessage(getInteger(this, (toString(E) + "_Token_Price")), "Token Price not Found for this Presale Round.") | |
218 | 218 | let U = valueOrErrorMessage(getInteger(this, ((toString(E) + "_") + M)), "No Deposit was made by this Address for this Presale Round.") | |
219 | 219 | let aj = fraction(U, ag, F) | |
220 | 220 | let ak = fraction(U, ag, F) | |
221 | 221 | let al = { | |
222 | 222 | let B = getInteger(this, (toString(E) + "_Tokens_Claimed")) | |
223 | 223 | if ($isInstanceOf(B, "Int")) | |
224 | 224 | then { | |
225 | 225 | let C = B | |
226 | 226 | C | |
227 | 227 | } | |
228 | 228 | else 0 | |
229 | 229 | } | |
230 | 230 | let am = (al + ak) | |
231 | 231 | let an = (aj - ak) | |
232 | 232 | if ((ah == "No")) | |
233 | 233 | then throw("No Tokens Claim,as SoftCap Amount didn't reach numbers for this Round.") | |
234 | 234 | else if (if ((ah == "Yes")) | |
235 | 235 | then true | |
236 | 236 | else (ai == "Yes")) | |
237 | 237 | then [IntegerEntry((toString(E) + "_Tokens_Claimed"), am), IntegerEntry((toString(E) + "_Pending_Tokens_To_Claim"), an), ScriptTransfer(addressFromStringValue(M), ak, a)] | |
238 | 238 | else throw("Wrong Entry Found.") | |
239 | 239 | } | |
240 | 240 | ||
241 | 241 | ||
242 | 242 | ||
243 | 243 | @Callable(r) | |
244 | 244 | func Mint_BML (ao,ap) = { | |
245 | 245 | let aq = Issue(ao, ap, 1, 8, true) | |
246 | 246 | let ar = calculateAssetId(aq) | |
247 | 247 | if ((r.caller != c)) | |
248 | 248 | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
249 | 249 | else [aq, StringEntry("BML_TokenID", toBase58String(ar)), Burn(ar, 1)] | |
250 | 250 | } | |
251 | 251 | ||
252 | 252 | ||
253 | 253 | ||
254 | 254 | @Callable(r) | |
255 | - | func Delete ( | |
255 | + | func Delete () = [DeleteEntry("BML_TokenID")] | |
256 | 256 | ||
257 | 257 | ||
258 | - | @Verifier( | |
259 | - | func | |
258 | + | @Verifier(as) | |
259 | + | func at () = sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
260 | 260 |
github/deemru/w8io/026f985 43.22 ms ◑