tx · DXxQ9NicX9yQSV11BsqAvFnR1T1Dvmq4pye6RYWSruDe

3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2:  -0.02600000 Waves

2023.11.24 23:21 [2857953] smart account 3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2 > SELF 0.00000000 Waves

{ "type": 13, "id": "DXxQ9NicX9yQSV11BsqAvFnR1T1Dvmq4pye6RYWSruDe", "fee": 2600000, "feeAssetId": null, "timestamp": 1700857239565, "version": 2, "chainId": 84, "sender": "3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2", "senderPublicKey": "DNKNL32sAVUYg4iGA3tW8Z6VXrENmGCmKfG6DLar82aP", "proofs": [ "1MkGQjxqDpnKNrA7CWJdSyuvD5JBeGhKZsRGbAdTh1ACqkREzAcd2rhZwx39i6EDmiC6HegAibZ47ijR5RQjqk" ], "script": "base64:AAIFAAAAAAAAAEAIAhIMCgoBAQgIAQEBCAEBEgwKCgEBCAgBAQEIAQESABIAEgwKCgEBCAgBAQEIAQESBAoCCAESAwoBCBIDCgEIAAAADgAAAAAWcG9vbF9saXF1aWRpdHlfYWRkcmVzcwIAAAAjM040d0JnWXRXZ0pXMkxUUmVmMmVrV1FUckVYQ1JmWG1HTGgAAAAAFERhcHBfQWRkcmVzc19wdWJfa2V5AQAAACDI7Zjahu5VNVhgxzyW6CpbYvUiMMUf5OyBUQlo584acwAAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wAAAAAYq/YBYgAAAAAAtDdXJyZW5jeV9JRAIAAAAFV0FWRVMAAAAAFHByb2R1Y3RfbGF1bmNoX2Vycm9yAgAAACNQcm9kdWN0IExhdW5jaCBUaW1lc3RhbXAgaXMgc2V0IGF0IAAAAAAQbm9fcGF5bWVudF9lcnJvcgIAAAA3Tm8gcGF5bWVudCBhdHRhY2hlZCwgUGxlYXNlIEF0dGFjaCBUb2tlbiBpbiBwYXltZW50WzFdLgAAAAASY2xvc2VkX29yYWNsZV9lcm9yAgAAADFPcmFjbGUgaXMgY2xvc2VkLiBXYWl0IFVudGlsIE9yYWNsZSBpcyBUdXJuZWQgT24uAAAAABF3aGl0ZWxpc3RfYWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAURGFwcF9BZGRyZXNzX3B1Yl9rZXkAAAAAC25ldHdvcmtfZmVlAAAAAAAADbugAAAAABF2b3VjaGVyX2NsYWltX2ZlZQAAAAAAABbjYAAAAAAdbWF4aW11bV92b2N1Y2hlcl9jbGFpbV9hbW91bnQAAAAAAAL68IAAAAAAEm1pbmltdW1fb3JkZXJfc2l6ZQAAAAAAAJiWgAAAAAASbWF4aW11bV9vcmRlcl9zaXplAAAAAAJUC+QAAQAAABtBZGRfVm91Y2hlcl90b19Vc2VyX0JhbGFuY2UAAAACAAAADFVzZXJfQWRkcmVzcwAAAAZBbW91bnQEAAAAE1ByZXZpb3VzVXNlckRlcG9zaXQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAAC0N1cnJlbmN5X0lEAgAAAAFfBQAAAAxVc2VyX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAQVG90YWxVc2VyRGVwb3NpdAkAAGQAAAACBQAAABNQcmV2aW91c1VzZXJEZXBvc2l0BQAAAAZBbW91bnQFAAAAEFRvdGFsVXNlckRlcG9zaXQAAAAIAAAAAWkBAAAAD3BsYWNlb3B0aW9uQ2FsbAAAAAoAAAAGQW1vdW50AAAAD09wdGlvbkNvdW50ZXJJRAAAAAdVc2VyX0lEAAAADFVzZXJfQWRkcmVzcwAAAAVQcmljZQAAAAtDYWxsX0xpbWl0cwAAAApQdXRfTGltaXRzAAAADU9yYWNsZV9TdGF0dXMAAAAVU3RhcnRfT3JkZXJfVGltZXN0YW1wAAAAE0VuZF9PcmRlcl9UaW1lc3RhbXAEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANaWZCbGFja2xpc3RlZAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEWFkZHJfQkxBQ0tMSVNURURfBQAAAAxVc2VyX0FkZHJlc3MEAAAACHJlYWRfVFBMCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAWcG9vbF9saXF1aWRpdHlfYWRkcmVzcwIAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkCAAAAJE5vIEluaXRpYWwgUG9vbCBMaXF1aWRpdHkgd2FzIEZvdW5kLgQAAAAPcmVhZF91c2VyX2Z1bmRzCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwQAAAARdXBkYXRlX3VzZXJfZnVuZHMJAABlAAAAAgkAAGUAAAACBQAAAA9yZWFkX3VzZXJfZnVuZHMFAAAABkFtb3VudAUAAAALbmV0d29ya19mZWUEAAAAIXJlYWRfc3RhcnRfb3JkZXJfcGVybWl0X3RpbWVzdGFtcAUAAAAVU3RhcnRfT3JkZXJfVGltZXN0YW1wBAAAAB9yZWFkX2VuZF9vcmRlcl9wZXJtaXRfdGltZXN0YW1wBQAAABNFbmRfT3JkZXJfVGltZXN0YW1wBAAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAUAAAAPT3B0aW9uQ291bnRlcklEBAAAABJPcGlvbkV4cGlyZUNvdW50ZXIAAAAAAAAAAAEEAAAAFU9wdGlvbkV4cGlyZUNvdW50ZXJJRAkAAGQAAAACBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAUAAAAST3Bpb25FeHBpcmVDb3VudGVyBAAAABRQcmV2aW91c09wdGlvbk9yZGVycwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABNUb3RhbF9PcHRpb25fT3JkZXJzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEVRvdGFsT3B0aW9uT3JkZXJzCQAAZAAAAAIFAAAAFFByZXZpb3VzT3B0aW9uT3JkZXJzAAAAAAAAAAABBAAAACdQcmV2aW91c0Z1bmRzQWRkZWRJblNwZWNpZmljT3B0aW9uT3JkZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAACJUb3RhbF9GdW5kc19BZGRlZF9Jbl9PcHRpb25fT3JkZXJfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAJFRvdGFsRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgkAAGQAAAACBQAAACdQcmV2aW91c0Z1bmRzQWRkZWRJblNwZWNpZmljT3B0aW9uT3JkZXIFAAAABkFtb3VudAQAAAAlUHJldmlvdXNPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFFRvdGFsX09wdGlvbl9PcmRlcnNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAIlRvdGFsT3B0aW9uT3JkZXJzaW5TcGVjaWZpY0NvdW50ZXIJAABkAAAAAgUAAAAlUHJldmlvdXNPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgAAAAAAAAAAAQQAAAAMUHJldmlvdXNDYWxsBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC1RvdGFsX0NhbGxzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACVRvdGFsQ2FsbAkAAGQAAAACBQAAAAxQcmV2aW91c0NhbGwAAAAAAAAAAAEEAAAAHVByZXZpb3VzQ2FsbGluU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAMVG90YWxfQ2FsbHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGlRvdGFsQ2FsbGluU3BlY2lmaWNDb3VudGVyCQAAZAAAAAIFAAAAHVByZXZpb3VzQ2FsbGluU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAABBQcmV2aW91c1VzZXJDYWxsBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAMVXNlcl9BZGRyZXNzAgAAAAxfVG90YWxfQ2FsbHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANVG90YWxVc2VyQ2FsbAkAAGQAAAACBQAAABBQcmV2aW91c1VzZXJDYWxsAAAAAAAAAAABBAAAACFQcmV2aW91c1VzZXJDYWxsaW5TcGVjaWZpY0NvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAADFVzZXJfQWRkcmVzcwIAAAANX1RvdGFsX0NhbGxzXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAB5Ub3RhbFVzZXJDYWxsaW5TcGVjaWZpY0NvdW50ZXIJAABkAAAAAgUAAAAhUHJldmlvdXNVc2VyQ2FsbGluU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAA1GdW5kc19hdF9yaXNrCQAAawAAAAMFAAAACHJlYWRfVFBMAAAAAAAAAAAFAAAAAAAAAABkAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAABmAAAAAgUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAIFAAAAFHByb2R1Y3RfbGF1bmNoX2Vycm9yCQABpAAAAAEFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAMJAAAAAAAAAgUAAAANT3JhY2xlX1N0YXR1cwIAAAAFQ0xPU0UJAAACAAAAAQUAAAASY2xvc2VkX29yYWNsZV9lcm9yAwkAAAAAAAACBQAAAA1pZkJsYWNrbGlzdGVkAgAAAANZZXMJAAACAAAAAQkAASwAAAACBQAAAAxVc2VyX0FkZHJlc3MCAAAAPiBBZGRyZXNzIGlzIEJsYWNrbGlzdGVkLiBQbGVhc2UgY29udGFjdCBBZG1pbiB0byBXaGl0ZWxpc3QgaXQuAwkAAGcAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAfcmVhZF9lbmRfb3JkZXJfcGVybWl0X3RpbWVzdGFtcAkAAAIAAAABAgAAAEdPcHRpb24gT3JkZXIgcGxhY2luZyBUaW1pbmcgTGltaXRzIGFyZSBPdmVyLiBQbGVhc2UgSm9pbiBpbiBOZXh0IEN5Y2xlLgMJAABmAAAAAgUAAAAkVG90YWxGdW5kc0FkZGVkSW5TcGVjaWZpY09wdGlvbk9yZGVyBQAAAA1GdW5kc19hdF9yaXNrCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABDTm8gbW9yZSBvcmRlcnMgYWNjZXB0ZWQsIE9wdGlvbiBIb3VzZSBSaXNrIFNpemUgaXMgb25seSBsaW1pdGVkIHRvIAkAAaQAAAABBQAAAA1GdW5kc19hdF9yaXNrAgAAABgsIFBlbmRpbmcgSG91c2UgUmlzayBpcyAJAAGkAAAAAQkAAGUAAAACBQAAAA1GdW5kc19hdF9yaXNrBQAAACdQcmV2aW91c0Z1bmRzQWRkZWRJblNwZWNpZmljT3B0aW9uT3JkZXICAAAAFS4gSm9pbiBpbiBuZXh0IEN5Y2xlLgMJAABmAAAAAgUAAAASbWluaW11bV9vcmRlcl9zaXplBQAAAAZBbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIFBsYWNlZCBPcmRlciBTaXplIGlzIGxlc3MgdGhhbiBbCQABpAAAAAEFAAAAEm1pbmltdW1fb3JkZXJfc2l6ZQIAAAANLzEwXjhdIFdBVkVTLgMJAABmAAAAAgUAAAAGQW1vdW50BQAAABJtYXhpbXVtX29yZGVyX3NpemUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIFBsYWNlZCBPcmRlciBTaXplIGlzIG1vcmUgdGhhbiBbCQABpAAAAAEFAAAAEm1heGltdW1fb3JkZXJfc2l6ZQIAAAANLzEwXjhdIFdBVkVTLgMJAABmAAAAAgAAAAAAAAAAAAUAAAARdXBkYXRlX3VzZXJfZnVuZHMJAAACAAAAAQkAASwAAAACAgAAAFxQbGFjZWQgT3JkZXIgQW1vdW50IGlzIGdvaW5nIG5lZ2F0aXZlLiBQbGVhc2UgcmVkdWNlIHRoZSBPcmRlciBTaXplLiBOZWdhdGl2ZSBGdW5kIEFtb3VudCA9IAkAAaQAAAABBQAAABF1cGRhdGVfdXNlcl9mdW5kcwMJAQAAAAIhPQAAAAIJAAExAAAAAQkAAaQAAAABBQAAABVTdGFydF9PcmRlcl9UaW1lc3RhbXAAAAAAAAAAAA0JAAACAAAAAQIAAABvU3RhcnQgVGltZXN0YW1wIGlzIFdyb25nLiBQbGVhc2UgRW50ZXIgYSBWYWxpZCBUaW1lc3RhbXAuIFByb2JhYmx5IHlvdSBlbnRlcmVkIGFuIFRpbWVzdGFtcCBsZXNzIHRoYW4gMTMgQ2hhcnMuAwkBAAAAAiE9AAAAAgkAATEAAAABCQABpAAAAAEFAAAAE0VuZF9PcmRlcl9UaW1lc3RhbXAAAAAAAAAAAA0JAAACAAAAAQIAAABtRW5kIFRpbWVzdGFtcCBpcyBXcm9uZy4gUGxlYXNlIEVudGVyIGEgVmFsaWQgVGltZXN0YW1wLiBQcm9iYWJseSB5b3UgZW50ZXJlZCBhbiBUaW1lc3RhbXAgbGVzcyB0aGFuIDEzIENoYXJzLgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAACFVzZXJfSURfBQAAAAxVc2VyX0FkZHJlc3MFAAAAB1VzZXJfSUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAtDdXJyZW5jeV9JRAIAAAABXwUAAAAMVXNlcl9BZGRyZXNzBQAAABF1cGRhdGVfdXNlcl9mdW5kcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaTmV0d29ya19GZWVfVG9fUGxhY2VfT3JkZXIFAAAAC25ldHdvcmtfZmVlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABUNhbGxfBQAAAAxVc2VyX0FkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAANVG90YWxVc2VyQ2FsbAkAAaQAAAABBQAAAAVQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMQ2FsbF9BbW91bnRfBQAAAAxVc2VyX0FkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAANVG90YWxVc2VyQ2FsbAUAAAAGQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD0NhbGxfU3RhcnRfRW5kXwUAAAAMVXNlcl9BZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADVRvdGFsVXNlckNhbGwJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAgAAAAFfCQABpAAAAAEFAAAAFU9wdGlvbkV4cGlyZUNvdW50ZXJJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfT3B0aW9uX09yZGVycwUAAAARVG90YWxPcHRpb25PcmRlcnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAiVG90YWxfRnVuZHNfQWRkZWRfSW5fT3B0aW9uX09yZGVyXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAUAAAAkVG90YWxGdW5kc0FkZGVkSW5TcGVjaWZpY09wdGlvbk9yZGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQUAAAAIcmVhZF9UUEwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAORnVuZHNfQXRfUmlza18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAADUZ1bmRzX2F0X3Jpc2sJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC0NhbGxfTGltaXRzBQAAAAtDYWxsX0xpbWl0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKUHV0X0xpbWl0cwUAAAAKUHV0X0xpbWl0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABRUb3RhbF9PcHRpb25fT3JkZXJzXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAUAAAAiVG90YWxPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfQ2FsbHMFAAAACVRvdGFsQ2FsbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAxUb3RhbF9DYWxsc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAGlRvdGFsQ2FsbGluU3BlY2lmaWNDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADFVzZXJfQWRkcmVzcwIAAAAMX1RvdGFsX0NhbGxzBQAAAA1Ub3RhbFVzZXJDYWxsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAMVXNlcl9BZGRyZXNzAgAAAA1fVG90YWxfQ2FsbHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAB5Ub3RhbFVzZXJDYWxsaW5TcGVjaWZpY0NvdW50ZXIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARd2hpdGVsaXN0X2FkZHJlc3MFAAAAC25ldHdvcmtfZmVlBQAAAAR1bml0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAFnBvb2xfbGlxdWlkaXR5X2FkZHJlc3MFAAAABkFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAADnBsYWNlb3B0aW9uUHV0AAAACgAAAAZBbW91bnQAAAAPT3B0aW9uQ291bnRlcklEAAAAB1VzZXJfSUQAAAAMVXNlcl9BZGRyZXNzAAAABVByaWNlAAAAC0NhbGxfTGltaXRzAAAAClB1dF9MaW1pdHMAAAANT3JhY2xlX1N0YXR1cwAAABVTdGFydF9PcmRlcl9UaW1lc3RhbXAAAAATRW5kX09yZGVyX1RpbWVzdGFtcAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAADFVzZXJfQWRkcmVzcwQAAAAIcmVhZF9UUEwJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABZwb29sX2xpcXVpZGl0eV9hZGRyZXNzAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQIAAAAkTm8gSW5pdGlhbCBQb29sIExpcXVpZGl0eSB3YXMgRm91bmQuBAAAAA9yZWFkX3VzZXJfZnVuZHMJAQAAABFAZXh0ck5hdGl2ZSgxMDU1KQAAAAEJAAEsAAAAAgkAASwAAAACBQAAAAtDdXJyZW5jeV9JRAIAAAABXwUAAAAMVXNlcl9BZGRyZXNzBAAAABF1cGRhdGVfdXNlcl9mdW5kcwkAAGUAAAACCQAAZQAAAAIFAAAAD3JlYWRfdXNlcl9mdW5kcwUAAAAGQW1vdW50BQAAAAtuZXR3b3JrX2ZlZQQAAAAhcmVhZF9zdGFydF9vcmRlcl9wZXJtaXRfdGltZXN0YW1wBQAAABVTdGFydF9PcmRlcl9UaW1lc3RhbXAEAAAAH3JlYWRfZW5kX29yZGVyX3Blcm1pdF90aW1lc3RhbXAFAAAAE0VuZF9PcmRlcl9UaW1lc3RhbXAEAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAA9PcHRpb25Db3VudGVySUQEAAAAEk9waW9uRXhwaXJlQ291bnRlcgAAAAAAAAAAAQQAAAAVT3B0aW9uRXhwaXJlQ291bnRlcklECQAAZAAAAAIFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABJPcGlvbkV4cGlyZUNvdW50ZXIEAAAAFFByZXZpb3VzT3B0aW9uT3JkZXJzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX09wdGlvbl9PcmRlcnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxPcHRpb25PcmRlcnMJAABkAAAAAgUAAAAUUHJldmlvdXNPcHRpb25PcmRlcnMAAAAAAAAAAAEEAAAAJ1ByZXZpb3VzRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAIlRvdGFsX0Z1bmRzX0FkZGVkX0luX09wdGlvbl9PcmRlcl8JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAkVG90YWxGdW5kc0FkZGVkSW5TcGVjaWZpY09wdGlvbk9yZGVyCQAAZAAAAAIFAAAAJ1ByZXZpb3VzRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgUAAAAGQW1vdW50BAAAACVQcmV2aW91c09wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAUVG90YWxfT3B0aW9uX09yZGVyc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAiVG90YWxPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgkAAGQAAAACBQAAACVQcmV2aW91c09wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAAtQcmV2aW91c1B1dAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAApUb3RhbF9QdXRzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACFRvdGFsUHV0CQAAZAAAAAIFAAAAC1ByZXZpb3VzUHV0AAAAAAAAAAABBAAAABxQcmV2aW91c1B1dGluU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALVG90YWxfUHV0c18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAZVG90YWxQdXRpblNwZWNpZmljQ291bnRlcgkAAGQAAAACBQAAABxQcmV2aW91c1B1dGluU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAA9QcmV2aW91c1VzZXJQdXQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAxVc2VyX0FkZHJlc3MCAAAAC19Ub3RhbF9QdXRzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADFRvdGFsVXNlclB1dAkAAGQAAAACBQAAAA9QcmV2aW91c1VzZXJQdXQAAAAAAAAAAAEEAAAAIFByZXZpb3VzVXNlclB1dGluU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAAxVc2VyX0FkZHJlc3MCAAAADF9Ub3RhbF9QdXRzXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAB1Ub3RhbFVzZXJQdXRpblNwZWNpZmljQ291bnRlcgkAAGQAAAACBQAAACBQcmV2aW91c1VzZXJQdXRpblNwZWNpZmljQ291bnRlcgAAAAAAAAAAAQQAAAANRnVuZHNfYXRfcmlzawkAAGsAAAADBQAAAAhyZWFkX1RQTAAAAAAAAAAABQAAAAAAAAAAZAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAZgAAAAIFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAACAAAAAQkAASwAAAACBQAAABRwcm9kdWN0X2xhdW5jaF9lcnJvcgkAAaQAAAABBQAAABhwcm9kdWN0X2xhdW5jaF90aW1lc3RhbXADCQAAAAAAAAIFAAAADU9yYWNsZV9TdGF0dXMCAAAABUNMT1NFCQAAAgAAAAEFAAAAEmNsb3NlZF9vcmFjbGVfZXJvcgMJAAAAAAAAAgUAAAANaWZCbGFja2xpc3RlZAIAAAADWWVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMVXNlcl9BZGRyZXNzAgAAAD4gQWRkcmVzcyBpcyBCbGFja2xpc3RlZC4gUGxlYXNlIGNvbnRhY3QgQWRtaW4gdG8gV2hpdGVsaXN0IGl0LgMJAABnAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAAH3JlYWRfZW5kX29yZGVyX3Blcm1pdF90aW1lc3RhbXAJAAACAAAAAQIAAABHT3B0aW9uIE9yZGVyIHBsYWNpbmcgVGltaW5nIExpbWl0cyBhcmUgT3Zlci4gUGxlYXNlIEpvaW4gaW4gTmV4dCBDeWNsZS4DCQAAZgAAAAIFAAAAJFRvdGFsRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgUAAAANRnVuZHNfYXRfcmlzawkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAQ05vIG1vcmUgb3JkZXJzIGFjY2VwdGVkLCBPcHRpb24gSG91c2UgUmlzayBTaXplIGlzIG9ubHkgbGltaXRlZCB0byAJAAGkAAAAAQUAAAANRnVuZHNfYXRfcmlzawIAAAAYLCBQZW5kaW5nIEhvdXNlIFJpc2sgaXMgCQABpAAAAAEJAABlAAAAAgUAAAANRnVuZHNfYXRfcmlzawUAAAAnUHJldmlvdXNGdW5kc0FkZGVkSW5TcGVjaWZpY09wdGlvbk9yZGVyAgAAABUuIEpvaW4gaW4gbmV4dCBDeWNsZS4DCQAAZgAAAAIFAAAAEm1pbmltdW1fb3JkZXJfc2l6ZQUAAAAGQW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACBQbGFjZWQgT3JkZXIgU2l6ZSBpcyBsZXNzIHRoYW4gWwkAAaQAAAABBQAAABJtaW5pbXVtX29yZGVyX3NpemUCAAAADS8xMF44XSBXQVZFUy4DCQAAZgAAAAIFAAAABkFtb3VudAUAAAASbWF4aW11bV9vcmRlcl9zaXplCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACBQbGFjZWQgT3JkZXIgU2l6ZSBpcyBtb3JlIHRoYW4gWwkAAaQAAAABBQAAABJtYXhpbXVtX29yZGVyX3NpemUCAAAADS8xMF44XSBXQVZFUy4DCQAAZgAAAAIAAAAAAAAAAAAFAAAAEXVwZGF0ZV91c2VyX2Z1bmRzCQAAAgAAAAEJAAEsAAAAAgIAAABcUGxhY2VkIE9yZGVyIEFtb3VudCBpcyBnb2luZyBuZWdhdGl2ZS4gUGxlYXNlIHJlZHVjZSB0aGUgT3JkZXIgU2l6ZS4gTmVnYXRpdmUgRnVuZCBBbW91bnQgPSAJAAGkAAAAAQUAAAARdXBkYXRlX3VzZXJfZnVuZHMDCQEAAAACIT0AAAACCQABMQAAAAEJAAGkAAAAAQUAAAAVU3RhcnRfT3JkZXJfVGltZXN0YW1wAAAAAAAAAAANCQAAAgAAAAECAAAAb1N0YXJ0IFRpbWVzdGFtcCBpcyBXcm9uZy4gUGxlYXNlIEVudGVyIGEgVmFsaWQgVGltZXN0YW1wLiBQcm9iYWJseSB5b3UgZW50ZXJlZCBhbiBUaW1lc3RhbXAgbGVzcyB0aGFuIDEzIENoYXJzLgMJAQAAAAIhPQAAAAIJAAExAAAAAQkAAaQAAAABBQAAABNFbmRfT3JkZXJfVGltZXN0YW1wAAAAAAAAAAANCQAAAgAAAAECAAAAbUVuZCBUaW1lc3RhbXAgaXMgV3JvbmcuIFBsZWFzZSBFbnRlciBhIFZhbGlkIFRpbWVzdGFtcC4gUHJvYmFibHkgeW91IGVudGVyZWQgYW4gVGltZXN0YW1wIGxlc3MgdGhhbiAxMyBDaGFycy4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAAhVc2VyX0lEXwUAAAAMVXNlcl9BZGRyZXNzBQAAAAdVc2VyX0lECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwUAAAARdXBkYXRlX3VzZXJfZnVuZHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGk5ldHdvcmtfRmVlX1RvX1BsYWNlX09yZGVyBQAAAAtuZXR3b3JrX2ZlZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAARQdXRfBQAAAAxVc2VyX0FkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAAMVG90YWxVc2VyUHV0CQABpAAAAAEFAAAABVByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtQdXRfQW1vdW50XwUAAAAMVXNlcl9BZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADFRvdGFsVXNlclB1dAUAAAAGQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADlB1dF9TdGFydF9FbmRfBQAAAAxVc2VyX0FkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAAMVG90YWxVc2VyUHV0CQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAIAAAABXwkAAaQAAAABBQAAABVPcHRpb25FeHBpcmVDb3VudGVySUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX09wdGlvbl9PcmRlcnMFAAAAEVRvdGFsT3B0aW9uT3JkZXJzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAIlRvdGFsX0Z1bmRzX0FkZGVkX0luX09wdGlvbl9PcmRlcl8JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAJFRvdGFsRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkFAAAACHJlYWRfVFBMCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAADkZ1bmRzX0F0X1Jpc2tfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAA1GdW5kc19hdF9yaXNrCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtDYWxsX0xpbWl0cwUAAAALQ2FsbF9MaW1pdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAClB1dF9MaW1pdHMFAAAAClB1dF9MaW1pdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAUVG90YWxfT3B0aW9uX09yZGVyc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAIlRvdGFsT3B0aW9uT3JkZXJzaW5TcGVjaWZpY0NvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAClRvdGFsX1B1dHMFAAAACFRvdGFsUHV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1RvdGFsX1B1dHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABlUb3RhbFB1dGluU3BlY2lmaWNDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADFVzZXJfQWRkcmVzcwIAAAALX1RvdGFsX1B1dHMFAAAADFRvdGFsVXNlclB1dAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAADFVzZXJfQWRkcmVzcwIAAAAMX1RvdGFsX1B1dHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAB1Ub3RhbFVzZXJQdXRpblNwZWNpZmljQ291bnRlcgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwUAAAALbmV0d29ya19mZWUFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAWcG9vbF9saXF1aWRpdHlfYWRkcmVzcwUAAAAGQW1vdW50BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAQRGVwb3NpdFVzZXJGdW5kcwAAAAAEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAASU5vIHBheW1lbnQgYXR0YWNoZWQsIFBsZWFzZSBBdHRhY2ggb25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgaW4gcGF5bWVudFsxXS4EAAAADWlmQmxhY2tsaXN0ZWQJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAANY2FsbGVyYWRkcmVzcwQAAAATUHJldmlvdXNVc2VyRGVwb3NpdAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADWNhbGxlcmFkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAQVG90YWxVc2VyRGVwb3NpdAkAAGQAAAACBQAAABNQcmV2aW91c1VzZXJEZXBvc2l0CAUAAAADcG10AAAABmFtb3VudAQAAAAYUHJldmlvdXNEZXBvc2l0Q291bnRlcklEBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAEkRlcG9zaXRfQ291bnRlcl9JRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVUb3RhbERlcG9zaXRDb3VudGVySUQJAABkAAAAAgUAAAAYUHJldmlvdXNEZXBvc2l0Q291bnRlcklEAAAAAAAAAAABAwkAAGYAAAACBQAAABhwcm9kdWN0X2xhdW5jaF90aW1lc3RhbXAIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAAAgAAAAEJAAEsAAAAAgUAAAAUcHJvZHVjdF9sYXVuY2hfZXJyb3IJAAGkAAAAAQUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wAwkAAAAAAAACBQAAAA1pZkJsYWNrbGlzdGVkAgAAAANZZXMJAAACAAAAAQkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAD4gQWRkcmVzcyBpcyBCbGFja2xpc3RlZC4gUGxlYXNlIGNvbnRhY3QgQWRtaW4gdG8gV2hpdGVsaXN0IGl0LgMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAuT25seSBXQVZFUyBpcyBhbGxvd2VkIHRvIGRlcG9zaXQgYXQgdGhlIG1vbWVudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAAC0N1cnJlbmN5X0lEAgAAAAFfBQAAAA1jYWxsZXJhZGRyZXNzBQAAABBUb3RhbFVzZXJEZXBvc2l0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAVVG90YWxEZXBvc2l0Q291bnRlcklEAgAAAAFfBQAAAAtDdXJyZW5jeV9JRAIAAAABXwUAAAANY2FsbGVyYWRkcmVzcwgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEkRlcG9zaXRfQ291bnRlcl9JRAUAAAAVVG90YWxEZXBvc2l0Q291bnRlcklEBQAAAANuaWwAAAABaQEAAAAXRmlsbF9Wb3VjaGVyc19MaXF1aWRpdHkAAAAABAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAAElObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIG9ubHkgV2hpdGVsaXN0ZWQgVG9rZW5zIGluIHBheW1lbnRbMV0uBAAAABdQcmV2aW91c1ZvdWNoZXJzQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABpBdmFpbGFibGVfVm91Y2hlcnNfQmFsYW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABRUb3RhbFZvdWNoZXJzQmFsYW5jZQkAAGQAAAACBQAAABdQcmV2aW91c1ZvdWNoZXJzQmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAGVByZXZpb3VzVm91Y2hlcnNDb3VudGVySUQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAATVm91Y2hlcnNfQ291bnRlcl9JRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABZUb3RhbFZvdWNoZXJzQ291bnRlcklECQAAZAAAAAIFAAAAGVByZXZpb3VzVm91Y2hlcnNDb3VudGVySUQAAAAAAAAAAAEDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAALk9ubHkgV0FWRVMgaXMgYWxsb3dlZCB0byBkZXBvc2l0IGF0IHRoZSBtb21lbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGkF2YWlsYWJsZV9Wb3VjaGVyc19CYWxhbmNlBQAAABRUb3RhbFZvdWNoZXJzQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAFlRvdGFsVm91Y2hlcnNDb3VudGVySUQCAAAAD19Wb3VjaGVyX0Ftb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1ZvdWNoZXJzX0NvdW50ZXJfSUQFAAAAFlRvdGFsVm91Y2hlcnNDb3VudGVySUQFAAAAA25pbAAAAAFpAQAAABJQbGF5X1dpdGhfVm91Y2hlcnMAAAAKAAAABkFtb3VudAAAAA9PcHRpb25Db3VudGVySUQAAAAHVXNlcl9JRAAAAAxVc2VyX0FkZHJlc3MAAAAFUHJpY2UAAAALQ2FsbF9MaW1pdHMAAAAKUHV0X0xpbWl0cwAAAA1PcmFjbGVfU3RhdHVzAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAAAABNFbmRfT3JkZXJfVGltZXN0YW1wBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAAElObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIG9ubHkgV2hpdGVsaXN0ZWQgVG9rZW5zIGluIHBheW1lbnRbMV0uBAAAABNyZWFkX3ZvdWNoZXJzX2Z1bmRzCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABAgAAABpBdmFpbGFibGVfVm91Y2hlcnNfQmFsYW5jZQQAAAAUVXNlcl9Wb3VjaGVyX0JhbGFuY2UJAQAAABtBZGRfVm91Y2hlcl90b19Vc2VyX0JhbGFuY2UAAAACBQAAAAxVc2VyX0FkZHJlc3MFAAAABkFtb3VudAQAAAASbmV3X3ZvdWNoZXJzX2Z1bmRzCQAAZQAAAAIFAAAAE3JlYWRfdm91Y2hlcnNfZnVuZHMFAAAABkFtb3VudAQAAAALcGxhY2Vfb3JkZXIJAAP8AAAABAUAAAAEdGhpcwIAAAAPcGxhY2VvcHRpb25DYWxsCQAETAAAAAIFAAAABkFtb3VudAkABEwAAAACBQAAAA9PcHRpb25Db3VudGVySUQJAARMAAAAAgUAAAAHVXNlcl9JRAkABEwAAAACBQAAAAxVc2VyX0FkZHJlc3MJAARMAAAAAgUAAAAFUHJpY2UJAARMAAAAAgUAAAALQ2FsbF9MaW1pdHMJAARMAAAAAgUAAAAKUHV0X0xpbWl0cwkABEwAAAACBQAAAA1PcmFjbGVfU3RhdHVzCQAETAAAAAIFAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAkABEwAAAACBQAAABNFbmRfT3JkZXJfVGltZXN0YW1wBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAALcGxhY2Vfb3JkZXIFAAAAC3BsYWNlX29yZGVyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAABmAAAAAgAAAAAAAAAAAAUAAAASbmV3X3ZvdWNoZXJzX2Z1bmRzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADdSZXF1ZXN0ZWQgVm91Y2hlciBBbW91bnQgaXMgZ29pbmcgaW4gbmVnYXRpdmUgU3RhdGUgb2YgCQABpAAAAAEFAAAAEm5ld192b3VjaGVyc19mdW5kcwIAAAANLzEwXjhdIFdBVkVTLgMJAQAAAAIhPQAAAAIFAAAAEXZvdWNoZXJfY2xhaW1fZmVlCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAWUGxlYXNlIEF0dGFjaCBhdGxlYXN0IAkAAaQAAAABBQAAABF2b3VjaGVyX2NsYWltX2ZlZQIAAAAYIFdBVkVTIHRvIENsYWltIFZvdWNoZXIuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpBdmFpbGFibGVfVm91Y2hlcnNfQmFsYW5jZQUAAAASbmV3X3ZvdWNoZXJzX2Z1bmRzBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAEVdpdGhkcmF3VXNlckZ1bmRzAAAAAgAAAAxVc2VyX0FkZHJlc3MAAAAGQW1vdW50BAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAD3JlYWR1c2VyYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTUpAAAAAQkAASwAAAACCQABLAAAAAIFAAAAC0N1cnJlbmN5X0lEAgAAAAFfBQAAAAxVc2VyX0FkZHJlc3MEAAAAEXVwZGF0ZV91c2VyX2Z1bmRzCQAAZQAAAAIJAABlAAAAAgUAAAAPcmVhZHVzZXJiYWxhbmNlBQAAAAZBbW91bnQFAAAAC25ldHdvcmtfZmVlBAAAABdtaW5pbWltX3dpdGhkcmF3X2Ftb3VudAAAAAAAAJiWgAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAZgAAAAIFAAAAF21pbmltaW1fd2l0aGRyYXdfYW1vdW50BQAAAAZBbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAG01pbmltdW0gV2l0aGRyYXcgQW1vdW50IGlzIAkAAaQAAAABBQAAABdtaW5pbWltX3dpdGhkcmF3X2Ftb3VudAIAAAANLzEwXjhdIFdBVkVTLgMJAABmAAAAAgAAAAAAAAAAAAUAAAARdXBkYXRlX3VzZXJfZnVuZHMJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAANVBsYWNlZCBXaXRoZHJhdyBBbW91bnQgaXMgZ29pbmcgaW4gbmVnYXRpdmUgU3RhdGUgb2YgCQABpAAAAAEFAAAAEXVwZGF0ZV91c2VyX2Z1bmRzAgAAAA0vMTBeOF0gV0FWRVMuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABBQcmV2aW91c19CYWxhbmNlBQAAAA9yZWFkdXNlcmJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF05ldHdvcmtfRmVlX1RvX1dpdGhkcmF3BQAAAAtuZXR3b3JrX2ZlZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAAC0N1cnJlbmN5X0lEAgAAAAFfBQAAAAxVc2VyX0FkZHJlc3MFAAAAEXVwZGF0ZV91c2VyX2Z1bmRzCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEXdoaXRlbGlzdF9hZGRyZXNzBQAAAAtuZXR3b3JrX2ZlZQUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAxVc2VyX0FkZHJlc3MFAAAABkFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAAEEJsYWNrTGlzdEFkZHJlc3MAAAABAAAAC1VzZXJBZGRyZXNzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzBAAAABhQcmV2aW91c0JsYWNrTGlzdEFkZHJlc3MEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxCbGFja0xpc3RBZGRyZXNzCQAAZAAAAAIFAAAAGFByZXZpb3VzQmxhY2tMaXN0QWRkcmVzcwAAAAAAAAAAAQMJAABmAAAAAgUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAIFAAAAFHByb2R1Y3RfbGF1bmNoX2Vycm9yCQABpAAAAAEFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAAAAAAAIFAAAADWlmQmxhY2tsaXN0ZWQCAAAAA1llcwkAAAIAAAABAgAAACpBZGRyZXNzIGlzIGFscmVhZHkgYXZhaWxhYmxlIGluIEJsYWNrbGlzdC4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAALVXNlckFkZHJlc3MCAAAAA1llcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MFAAAAFVRvdGFsQmxhY2tMaXN0QWRkcmVzcwUAAAADbmlsAAAAAWkBAAAAFkRlbGV0ZUJsYWNrTGlzdEFkZHJlc3MAAAABAAAAC1VzZXJBZGRyZXNzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzBAAAABhQcmV2aW91c0JsYWNrTGlzdEFkZHJlc3MEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxCbGFja0xpc3RBZGRyZXNzCQAAZQAAAAIFAAAAGFByZXZpb3VzQmxhY2tMaXN0QWRkcmVzcwAAAAAAAAAAAQMJAABmAAAAAgUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAICAAAAI1Byb2R1Y3QgTGF1bmNoIFRpbWVzdGFtcCBpcyBzZXQgYXQgCQABpAAAAAEFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAAAAAAAIFAAAADWlmQmxhY2tsaXN0ZWQCAAAAA1llcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAEWFkZHJfQkxBQ0tMSVNURURfBQAAAAtVc2VyQWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MFAAAAFVRvdGFsQmxhY2tMaXN0QWRkcmVzcwUAAAADbmlsCQAAAgAAAAECAAAAJkFkZHJlc3MgaXMgbm90IGF2YWlsYWJsZSBpbiBCbGFja2xpc3QuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVPcmRlcgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAcJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V50PSVLA==", "height": 2857953, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: n5wJDsfqtMFDphVdm2GzmCjCiTdJVJsbnhM9pYcZM5v Next: DnVDfTUdzuXtMGmKZ1A1yX12TS4ana29kiYK3ves38dV Diff:
OldNewDifferences
1919
2020 let i = 900000
2121
22-let j = 10000000
22+let j = 1500000
2323
24-let k = 10000000000
24+let k = 50000000
2525
26-@Callable(l)
27-func placeoptionCall (m,n,o,p,q,r,s,t,u,v) = {
28- let w = toBase58String(l.caller.bytes)
29- let x = getString(this, ("addr_BLACKLISTED_" + p))
30- let y = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
31- let z = getIntegerValue(((d + "_") + p))
32- let A = ((z - m) - i)
33- let B = u
34- let C = v
35- let D = n
36- let E = 1
37- let F = (D + E)
38- let G = {
39- let H = getInteger(this, "Total_Option_Orders")
40- if ($isInstanceOf(H, "Int"))
26+let l = 10000000
27+
28+let m = 10000000000
29+
30+func n (o,p) = {
31+ let q = {
32+ let r = getInteger(this, ((d + "_") + o))
33+ if ($isInstanceOf(r, "Int"))
4134 then {
42- let I = H
43- I
35+ let s = r
36+ s
4437 }
4538 else 0
4639 }
47- let J = (G + 1)
48- let K = {
49- let H = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(D)))
50- if ($isInstanceOf(H, "Int"))
40+ let t = (q + p)
41+ t
42+ }
43+
44+
45+@Callable(u)
46+func placeoptionCall (p,v,w,o,x,y,z,A,B,C) = {
47+ let D = toBase58String(u.caller.bytes)
48+ let E = getString(this, ("addr_BLACKLISTED_" + o))
49+ let F = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
50+ let G = getIntegerValue(((d + "_") + o))
51+ let H = ((G - p) - i)
52+ let I = B
53+ let J = C
54+ let K = v
55+ let L = 1
56+ let M = (K + L)
57+ let N = {
58+ let r = getInteger(this, "Total_Option_Orders")
59+ if ($isInstanceOf(r, "Int"))
5160 then {
52- let I = H
53- I
61+ let s = r
62+ s
5463 }
5564 else 0
5665 }
57- let L = (K + m)
58- let M = {
59- let H = getInteger(this, ("Total_Option_Orders_" + toString(D)))
60- if ($isInstanceOf(H, "Int"))
66+ let O = (N + 1)
67+ let P = {
68+ let r = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(K)))
69+ if ($isInstanceOf(r, "Int"))
6170 then {
62- let I = H
63- I
71+ let s = r
72+ s
6473 }
6574 else 0
6675 }
67- let N = (M + 1)
68- let O = {
69- let H = getInteger(this, "Total_Calls")
70- if ($isInstanceOf(H, "Int"))
76+ let Q = (P + p)
77+ let R = {
78+ let r = getInteger(this, ("Total_Option_Orders_" + toString(K)))
79+ if ($isInstanceOf(r, "Int"))
7180 then {
72- let I = H
73- I
81+ let s = r
82+ s
7483 }
7584 else 0
7685 }
77- let P = (O + 1)
78- let Q = {
79- let H = getInteger(this, ("Total_Calls_" + toString(D)))
80- if ($isInstanceOf(H, "Int"))
86+ let S = (R + 1)
87+ let T = {
88+ let r = getInteger(this, "Total_Calls")
89+ if ($isInstanceOf(r, "Int"))
8190 then {
82- let I = H
83- I
91+ let s = r
92+ s
8493 }
8594 else 0
8695 }
87- let R = (Q + 1)
88- let S = {
89- let H = getInteger(this, (p + "_Total_Calls"))
90- if ($isInstanceOf(H, "Int"))
96+ let U = (T + 1)
97+ let V = {
98+ let r = getInteger(this, ("Total_Calls_" + toString(K)))
99+ if ($isInstanceOf(r, "Int"))
91100 then {
92- let I = H
93- I
101+ let s = r
102+ s
94103 }
95104 else 0
96105 }
97- let T = (S + 1)
98- let U = {
99- let H = getInteger(this, ((p + "_Total_Calls_") + toString(D)))
100- if ($isInstanceOf(H, "Int"))
106+ let W = (V + 1)
107+ let X = {
108+ let r = getInteger(this, (o + "_Total_Calls"))
109+ if ($isInstanceOf(r, "Int"))
101110 then {
102- let I = H
103- I
104- }
105- else 0
106- }
107- let V = (U + 1)
108- let W = fraction(y, 5, 100)
109- if ((l.caller != h))
110- then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
111- else if ((c > lastBlock.timestamp))
112- then throw((e + toString(c)))
113- else if ((t == "CLOSE"))
114- then throw(g)
115- else if ((x == "Yes"))
116- then throw((p + " Address is Blacklisted. Please contact Admin to Whitelist it."))
117- else if ((lastBlock.timestamp >= C))
118- then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.")
119- else if ((L > W))
120- then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(W)) + ", Pending House Risk is ") + toString((W - K))) + ". Join in next Cycle."))
121- else if ((j > m))
122- then throw((("Placed Order Size is less than [" + toString(j)) + "/10^8] WAVES."))
123- else if ((m > k))
124- then throw((("Placed Order Size is more than [" + toString(k)) + "/10^8] WAVES."))
125- else if ((0 > A))
126- then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(A)))
127- else if ((size(toString(u)) != 13))
128- then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
129- else if ((size(toString(v)) != 13))
130- then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
131- else [StringEntry(("User_ID_" + p), o), IntegerEntry(((d + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Call_" + p) + "_") + toString(T)), toString(q)), IntegerEntry(((("Call_Amount_" + p) + "_") + toString(T)), m), StringEntry(((("Call_Start_End_" + p) + "_") + toString(T)), ((toString(D) + "_") + toString(F))), IntegerEntry("Total_Option_Orders", J), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(D)), L), IntegerEntry("Total_Pool_Liquidity", y), IntegerEntry(("Funds_At_Risk_" + toString(D)), W), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(D)), N), IntegerEntry("Total_Calls", P), IntegerEntry(("Total_Calls_" + toString(D)), R), IntegerEntry((p + "_Total_Calls"), T), IntegerEntry(((p + "_Total_Calls_") + toString(D)), V), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), m, unit)]
132- }
133-
134-
135-
136-@Callable(l)
137-func placeoptionPut (m,n,o,p,q,r,s,t,u,v) = {
138- let w = toBase58String(l.caller.bytes)
139- let x = getString(this, ("addr_BLACKLISTED_" + p))
140- let y = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
141- let z = getIntegerValue(((d + "_") + p))
142- let A = ((z - m) - i)
143- let B = u
144- let C = v
145- let D = n
146- let E = 1
147- let F = (D + E)
148- let G = {
149- let H = getInteger(this, "Total_Option_Orders")
150- if ($isInstanceOf(H, "Int"))
151- then {
152- let I = H
153- I
154- }
155- else 0
156- }
157- let J = (G + 1)
158- let K = {
159- let H = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(D)))
160- if ($isInstanceOf(H, "Int"))
161- then {
162- let I = H
163- I
164- }
165- else 0
166- }
167- let L = (K + m)
168- let M = {
169- let H = getInteger(this, ("Total_Option_Orders_" + toString(D)))
170- if ($isInstanceOf(H, "Int"))
171- then {
172- let I = H
173- I
174- }
175- else 0
176- }
177- let N = (M + 1)
178- let X = {
179- let H = getInteger(this, "Total_Puts")
180- if ($isInstanceOf(H, "Int"))
181- then {
182- let I = H
183- I
111+ let s = r
112+ s
184113 }
185114 else 0
186115 }
187116 let Y = (X + 1)
188117 let Z = {
189- let H = getInteger(this, ("Total_Puts_" + toString(D)))
190- if ($isInstanceOf(H, "Int"))
118+ let r = getInteger(this, ((o + "_Total_Calls_") + toString(K)))
119+ if ($isInstanceOf(r, "Int"))
191120 then {
192- let I = H
193- I
121+ let s = r
122+ s
194123 }
195124 else 0
196125 }
197126 let aa = (Z + 1)
198- let ab = {
199- let H = getInteger(this, (p + "_Total_Puts"))
200- if ($isInstanceOf(H, "Int"))
201- then {
202- let I = H
203- I
204- }
205- else 0
206- }
207- let ac = (ab + 1)
208- let ad = {
209- let H = getInteger(this, ((p + "_Total_Puts_") + toString(D)))
210- if ($isInstanceOf(H, "Int"))
211- then {
212- let I = H
213- I
214- }
215- else 0
216- }
217- let ae = (ad + 1)
218- let W = fraction(y, 5, 100)
219- if ((l.caller != h))
127+ let ab = fraction(F, 5, 100)
128+ if ((u.caller != h))
220129 then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
221130 else if ((c > lastBlock.timestamp))
222131 then throw((e + toString(c)))
223- else if ((t == "CLOSE"))
132+ else if ((A == "CLOSE"))
224133 then throw(g)
225- else if ((x == "Yes"))
226- then throw((p + " Address is Blacklisted. Please contact Admin to Whitelist it."))
227- else if ((lastBlock.timestamp >= C))
134+ else if ((E == "Yes"))
135+ then throw((o + " Address is Blacklisted. Please contact Admin to Whitelist it."))
136+ else if ((lastBlock.timestamp >= J))
228137 then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.")
229- else if ((L > W))
230- then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(W)) + ", Pending House Risk is ") + toString((W - K))) + ". Join in next Cycle."))
231- else if ((j > m))
232- then throw((("Placed Order Size is less than [" + toString(j)) + "/10^8] WAVES."))
233- else if ((m > k))
234- then throw((("Placed Order Size is more than [" + toString(k)) + "/10^8] WAVES."))
235- else if ((0 > A))
236- then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(A)))
237- else if ((size(toString(u)) != 13))
138+ else if ((Q > ab))
139+ then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(ab)) + ", Pending House Risk is ") + toString((ab - P))) + ". Join in next Cycle."))
140+ else if ((l > p))
141+ then throw((("Placed Order Size is less than [" + toString(l)) + "/10^8] WAVES."))
142+ else if ((p > m))
143+ then throw((("Placed Order Size is more than [" + toString(m)) + "/10^8] WAVES."))
144+ else if ((0 > H))
145+ then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(H)))
146+ else if ((size(toString(B)) != 13))
238147 then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
239- else if ((size(toString(v)) != 13))
148+ else if ((size(toString(C)) != 13))
240149 then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
241- else [StringEntry(("User_ID_" + p), o), IntegerEntry(((d + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Put_" + p) + "_") + toString(ac)), toString(q)), IntegerEntry(((("Put_Amount_" + p) + "_") + toString(ac)), m), StringEntry(((("Put_Start_End_" + p) + "_") + toString(ac)), ((toString(D) + "_") + toString(F))), IntegerEntry("Total_Option_Orders", J), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(D)), L), IntegerEntry("Total_Pool_Liquidity", y), IntegerEntry(("Funds_At_Risk_" + toString(D)), W), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(D)), N), IntegerEntry("Total_Puts", Y), IntegerEntry(("Total_Puts_" + toString(D)), aa), IntegerEntry((p + "_Total_Puts"), ac), IntegerEntry(((p + "_Total_Puts_") + toString(D)), ae), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), m, unit)]
150+ else [StringEntry(("User_ID_" + o), w), IntegerEntry(((d + "_") + o), H), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Call_" + o) + "_") + toString(Y)), toString(x)), IntegerEntry(((("Call_Amount_" + o) + "_") + toString(Y)), p), StringEntry(((("Call_Start_End_" + o) + "_") + toString(Y)), ((toString(K) + "_") + toString(M))), IntegerEntry("Total_Option_Orders", O), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(K)), Q), IntegerEntry("Total_Pool_Liquidity", F), IntegerEntry(("Funds_At_Risk_" + toString(K)), ab), IntegerEntry("Call_Limits", y), IntegerEntry("Put_Limits", z), IntegerEntry(("Total_Option_Orders_" + toString(K)), S), IntegerEntry("Total_Calls", U), IntegerEntry(("Total_Calls_" + toString(K)), W), IntegerEntry((o + "_Total_Calls"), Y), IntegerEntry(((o + "_Total_Calls_") + toString(K)), aa), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), p, unit)]
242151 }
243152
244153
245154
246-@Callable(l)
247-func DepositUserFunds () = {
248- let w = toBase58String(l.caller.bytes)
249- let af = if ((size(l.payments) == 1))
250- then l.payments[0]
251- else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
252- let x = getString(this, ("addr_BLACKLISTED_" + w))
253- let ag = {
254- let H = getInteger(this, ((d + "_") + w))
255- if ($isInstanceOf(H, "Int"))
155+@Callable(u)
156+func placeoptionPut (p,v,w,o,x,y,z,A,B,C) = {
157+ let D = toBase58String(u.caller.bytes)
158+ let E = getString(this, ("addr_BLACKLISTED_" + o))
159+ let F = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
160+ let G = getIntegerValue(((d + "_") + o))
161+ let H = ((G - p) - i)
162+ let I = B
163+ let J = C
164+ let K = v
165+ let L = 1
166+ let M = (K + L)
167+ let N = {
168+ let r = getInteger(this, "Total_Option_Orders")
169+ if ($isInstanceOf(r, "Int"))
256170 then {
257- let I = H
258- I
171+ let s = r
172+ s
259173 }
260174 else 0
261175 }
262- let ah = (ag + af.amount)
176+ let O = (N + 1)
177+ let P = {
178+ let r = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(K)))
179+ if ($isInstanceOf(r, "Int"))
180+ then {
181+ let s = r
182+ s
183+ }
184+ else 0
185+ }
186+ let Q = (P + p)
187+ let R = {
188+ let r = getInteger(this, ("Total_Option_Orders_" + toString(K)))
189+ if ($isInstanceOf(r, "Int"))
190+ then {
191+ let s = r
192+ s
193+ }
194+ else 0
195+ }
196+ let S = (R + 1)
197+ let ac = {
198+ let r = getInteger(this, "Total_Puts")
199+ if ($isInstanceOf(r, "Int"))
200+ then {
201+ let s = r
202+ s
203+ }
204+ else 0
205+ }
206+ let ad = (ac + 1)
207+ let ae = {
208+ let r = getInteger(this, ("Total_Puts_" + toString(K)))
209+ if ($isInstanceOf(r, "Int"))
210+ then {
211+ let s = r
212+ s
213+ }
214+ else 0
215+ }
216+ let af = (ae + 1)
217+ let ag = {
218+ let r = getInteger(this, (o + "_Total_Puts"))
219+ if ($isInstanceOf(r, "Int"))
220+ then {
221+ let s = r
222+ s
223+ }
224+ else 0
225+ }
226+ let ah = (ag + 1)
263227 let ai = {
264- let H = getInteger(this, "Deposit_Counter_ID")
265- if ($isInstanceOf(H, "Int"))
228+ let r = getInteger(this, ((o + "_Total_Puts_") + toString(K)))
229+ if ($isInstanceOf(r, "Int"))
266230 then {
267- let I = H
268- I
231+ let s = r
232+ s
269233 }
270234 else 0
271235 }
272236 let aj = (ai + 1)
273- if ((c > lastBlock.timestamp))
274- then throw((e + toString(c)))
275- else if ((x == "Yes"))
276- then throw((w + " Address is Blacklisted. Please contact Admin to Whitelist it."))
277- else if (isDefined(af.assetId))
278- then throw("Only WAVES is allowed to deposit at the moment")
279- else [IntegerEntry(((d + "_") + w), ah), IntegerEntry(((((toString(aj) + "_") + d) + "_") + w), af.amount), IntegerEntry("Deposit_Counter_ID", aj)]
237+ let ab = fraction(F, 5, 100)
238+ if ((u.caller != h))
239+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
240+ else if ((c > lastBlock.timestamp))
241+ then throw((e + toString(c)))
242+ else if ((A == "CLOSE"))
243+ then throw(g)
244+ else if ((E == "Yes"))
245+ then throw((o + " Address is Blacklisted. Please contact Admin to Whitelist it."))
246+ else if ((lastBlock.timestamp >= J))
247+ then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.")
248+ else if ((Q > ab))
249+ then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(ab)) + ", Pending House Risk is ") + toString((ab - P))) + ". Join in next Cycle."))
250+ else if ((l > p))
251+ then throw((("Placed Order Size is less than [" + toString(l)) + "/10^8] WAVES."))
252+ else if ((p > m))
253+ then throw((("Placed Order Size is more than [" + toString(m)) + "/10^8] WAVES."))
254+ else if ((0 > H))
255+ then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(H)))
256+ else if ((size(toString(B)) != 13))
257+ then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
258+ else if ((size(toString(C)) != 13))
259+ then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
260+ else [StringEntry(("User_ID_" + o), w), IntegerEntry(((d + "_") + o), H), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Put_" + o) + "_") + toString(ah)), toString(x)), IntegerEntry(((("Put_Amount_" + o) + "_") + toString(ah)), p), StringEntry(((("Put_Start_End_" + o) + "_") + toString(ah)), ((toString(K) + "_") + toString(M))), IntegerEntry("Total_Option_Orders", O), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(K)), Q), IntegerEntry("Total_Pool_Liquidity", F), IntegerEntry(("Funds_At_Risk_" + toString(K)), ab), IntegerEntry("Call_Limits", y), IntegerEntry("Put_Limits", z), IntegerEntry(("Total_Option_Orders_" + toString(K)), S), IntegerEntry("Total_Puts", ad), IntegerEntry(("Total_Puts_" + toString(K)), af), IntegerEntry((o + "_Total_Puts"), ah), IntegerEntry(((o + "_Total_Puts_") + toString(K)), aj), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), p, unit)]
280261 }
281262
282263
283264
284-@Callable(l)
285-func WithdrawUserFunds (p,m) = {
286- let w = toBase58String(l.caller.bytes)
287- let ak = getIntegerValue(((d + "_") + p))
288- let A = ((ak - m) - i)
289- let al = 10000000
290- if ((l.caller != h))
291- then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
292- else if ((al > m))
293- then throw((("Minimum Withdraw Amount is " + toString(al)) + "/10^8] WAVES."))
294- else if ((0 > A))
295- then throw((("Placed Withdraw Amount is going in negative State of " + toString(A)) + "/10^8] WAVES."))
296- else [IntegerEntry("Previous_Balance", ak), IntegerEntry("Network_Fee_To_Withdraw", i), IntegerEntry(((d + "_") + p), A), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(p), m, unit)]
265+@Callable(u)
266+func DepositUserFunds () = {
267+ let D = toBase58String(u.caller.bytes)
268+ let ak = if ((size(u.payments) == 1))
269+ then u.payments[0]
270+ else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
271+ let E = getString(this, ("addr_BLACKLISTED_" + D))
272+ let q = {
273+ let r = getInteger(this, ((d + "_") + D))
274+ if ($isInstanceOf(r, "Int"))
275+ then {
276+ let s = r
277+ s
278+ }
279+ else 0
280+ }
281+ let t = (q + ak.amount)
282+ let al = {
283+ let r = getInteger(this, "Deposit_Counter_ID")
284+ if ($isInstanceOf(r, "Int"))
285+ then {
286+ let s = r
287+ s
288+ }
289+ else 0
290+ }
291+ let am = (al + 1)
292+ if ((c > lastBlock.timestamp))
293+ then throw((e + toString(c)))
294+ else if ((E == "Yes"))
295+ then throw((D + " Address is Blacklisted. Please contact Admin to Whitelist it."))
296+ else if (isDefined(ak.assetId))
297+ then throw("Only WAVES is allowed to deposit at the moment")
298+ else [IntegerEntry(((d + "_") + D), t), IntegerEntry(((((toString(am) + "_") + d) + "_") + D), ak.amount), IntegerEntry("Deposit_Counter_ID", am)]
297299 }
298300
299301
300302
301-@Callable(l)
302-func BlackListAddress (am) = {
303- let x = getString(this, ("addr_BLACKLISTED_" + am))
303+@Callable(u)
304+func Fill_Vouchers_Liquidity () = {
305+ let D = toBase58String(u.caller.bytes)
306+ let ak = if ((size(u.payments) == 1))
307+ then u.payments[0]
308+ else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
304309 let an = {
305- let H = getInteger(this, "Total_Black_Listed_Address")
306- if ($isInstanceOf(H, "Int"))
310+ let r = getInteger(this, "Available_Vouchers_Balance")
311+ if ($isInstanceOf(r, "Int"))
307312 then {
308- let I = H
309- I
313+ let s = r
314+ s
310315 }
311316 else 0
312317 }
313- let ao = (an + 1)
314- if ((c > lastBlock.timestamp))
315- then throw((e + toString(c)))
316- else if ((l.caller != h))
317- then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
318- else if ((x == "Yes"))
319- then throw("Address is already available in Blacklist.")
320- else [StringEntry(("addr_BLACKLISTED_" + am), "Yes"), IntegerEntry("Total_Black_Listed_Address", ao)]
318+ let ao = (an + ak.amount)
319+ let ap = {
320+ let r = getInteger(this, "Vouchers_Counter_ID")
321+ if ($isInstanceOf(r, "Int"))
322+ then {
323+ let s = r
324+ s
325+ }
326+ else 0
327+ }
328+ let aq = (ap + 1)
329+ if (isDefined(ak.assetId))
330+ then throw("Only WAVES is allowed to deposit at the moment")
331+ else [IntegerEntry("Available_Vouchers_Balance", ao), IntegerEntry((toString(aq) + "_Voucher_Amount"), ak.amount), IntegerEntry("Vouchers_Counter_ID", aq)]
321332 }
322333
323334
324335
325-@Callable(l)
326-func DeleteBlackListAddress (am) = {
327- let x = getString(this, ("addr_BLACKLISTED_" + am))
328- let an = {
329- let H = getInteger(this, "Total_Black_Listed_Address")
330- if ($isInstanceOf(H, "Int"))
336+@Callable(u)
337+func Play_With_Vouchers (p,v,w,o,x,y,z,A,B,C) = {
338+ let D = toBase58String(u.caller.bytes)
339+ let ak = if ((size(u.payments) == 1))
340+ then u.payments[0]
341+ else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
342+ let ar = getIntegerValue("Available_Vouchers_Balance")
343+ let as = n(o, p)
344+ let at = (ar - p)
345+ let au = invoke(this, "placeoptionCall", [p, v, w, o, x, y, z, A, B, C], nil)
346+ if ((au == au))
347+ then if ((u.caller != h))
348+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
349+ else if ((0 > at))
350+ then throw((("Requested Voucher Amount is going in negative State of " + toString(at)) + "/10^8] WAVES."))
351+ else if ((j != ak.amount))
352+ then throw((("Please Attach atleast " + toString(j)) + " WAVES to Claim Voucher."))
353+ else [IntegerEntry("Available_Vouchers_Balance", at)]
354+ else throw("Strict value is not equal to itself.")
355+ }
356+
357+
358+
359+@Callable(u)
360+func WithdrawUserFunds (o,p) = {
361+ let D = toBase58String(u.caller.bytes)
362+ let av = getIntegerValue(((d + "_") + o))
363+ let H = ((av - p) - i)
364+ let aw = 10000000
365+ if ((u.caller != h))
366+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
367+ else if ((aw > p))
368+ then throw((("Minimum Withdraw Amount is " + toString(aw)) + "/10^8] WAVES."))
369+ else if ((0 > H))
370+ then throw((("Placed Withdraw Amount is going in negative State of " + toString(H)) + "/10^8] WAVES."))
371+ else [IntegerEntry("Previous_Balance", av), IntegerEntry("Network_Fee_To_Withdraw", i), IntegerEntry(((d + "_") + o), H), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(o), p, unit)]
372+ }
373+
374+
375+
376+@Callable(u)
377+func BlackListAddress (ax) = {
378+ let E = getString(this, ("addr_BLACKLISTED_" + ax))
379+ let ay = {
380+ let r = getInteger(this, "Total_Black_Listed_Address")
381+ if ($isInstanceOf(r, "Int"))
331382 then {
332- let I = H
333- I
383+ let s = r
384+ s
334385 }
335386 else 0
336387 }
337- let ao = (an - 1)
388+ let az = (ay + 1)
389+ if ((c > lastBlock.timestamp))
390+ then throw((e + toString(c)))
391+ else if ((u.caller != h))
392+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
393+ else if ((E == "Yes"))
394+ then throw("Address is already available in Blacklist.")
395+ else [StringEntry(("addr_BLACKLISTED_" + ax), "Yes"), IntegerEntry("Total_Black_Listed_Address", az)]
396+ }
397+
398+
399+
400+@Callable(u)
401+func DeleteBlackListAddress (ax) = {
402+ let E = getString(this, ("addr_BLACKLISTED_" + ax))
403+ let ay = {
404+ let r = getInteger(this, "Total_Black_Listed_Address")
405+ if ($isInstanceOf(r, "Int"))
406+ then {
407+ let s = r
408+ s
409+ }
410+ else 0
411+ }
412+ let az = (ay - 1)
338413 if ((c > lastBlock.timestamp))
339414 then throw(("Product Launch Timestamp is set at " + toString(c)))
340- else if ((l.caller != h))
415+ else if ((u.caller != h))
341416 then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
342- else if ((x == "Yes"))
343- then [DeleteEntry(("addr_BLACKLISTED_" + am)), IntegerEntry("Total_Black_Listed_Address", ao)]
417+ else if ((E == "Yes"))
418+ then [DeleteEntry(("addr_BLACKLISTED_" + ax)), IntegerEntry("Total_Black_Listed_Address", az)]
344419 else throw("Address is not available in Blacklist.")
345420 }
346421
347422
348-@Verifier(ap)
349-func aq () = {
350- let H = ap
351- if (if ($isInstanceOf(H, "Order"))
423+@Verifier(aA)
424+func aB () = {
425+ let r = aA
426+ if (if ($isInstanceOf(r, "Order"))
352427 then true
353- else if ($isInstanceOf(H, "ExchangeTransaction"))
428+ else if ($isInstanceOf(r, "ExchangeTransaction"))
354429 then true
355- else if ($isInstanceOf(H, "MassTransferTransaction"))
430+ else if ($isInstanceOf(r, "MassTransferTransaction"))
356431 then true
357- else $isInstanceOf(H, "TransferTransaction"))
432+ else $isInstanceOf(r, "TransferTransaction"))
358433 then {
359- let ar = H
434+ let aC = r
360435 false
361436 }
362- else sigVerify(ap.bodyBytes, ap.proofs[0], ap.senderPublicKey)
437+ else sigVerify(aA.bodyBytes, aA.proofs[0], aA.senderPublicKey)
363438 }
364439
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3N4wBgYtWgJW2LTRef2ekWQTrEXCRfXmGLh"
55
66 let b = base58'EXLfxKmqhQPiProBaoPatTentUSZX5Dd8A8bYDcmfNwt'
77
88 let c = 1695427860000
99
1010 let d = "WAVES"
1111
1212 let e = "Product Launch Timestamp is set at "
1313
1414 let f = "No payment attached, Please Attach Token in payment[1]."
1515
1616 let g = "Oracle is closed. Wait Until Oracle is Turned On."
1717
1818 let h = addressFromPublicKey(b)
1919
2020 let i = 900000
2121
22-let j = 10000000
22+let j = 1500000
2323
24-let k = 10000000000
24+let k = 50000000
2525
26-@Callable(l)
27-func placeoptionCall (m,n,o,p,q,r,s,t,u,v) = {
28- let w = toBase58String(l.caller.bytes)
29- let x = getString(this, ("addr_BLACKLISTED_" + p))
30- let y = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
31- let z = getIntegerValue(((d + "_") + p))
32- let A = ((z - m) - i)
33- let B = u
34- let C = v
35- let D = n
36- let E = 1
37- let F = (D + E)
38- let G = {
39- let H = getInteger(this, "Total_Option_Orders")
40- if ($isInstanceOf(H, "Int"))
26+let l = 10000000
27+
28+let m = 10000000000
29+
30+func n (o,p) = {
31+ let q = {
32+ let r = getInteger(this, ((d + "_") + o))
33+ if ($isInstanceOf(r, "Int"))
4134 then {
42- let I = H
43- I
35+ let s = r
36+ s
4437 }
4538 else 0
4639 }
47- let J = (G + 1)
48- let K = {
49- let H = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(D)))
50- if ($isInstanceOf(H, "Int"))
40+ let t = (q + p)
41+ t
42+ }
43+
44+
45+@Callable(u)
46+func placeoptionCall (p,v,w,o,x,y,z,A,B,C) = {
47+ let D = toBase58String(u.caller.bytes)
48+ let E = getString(this, ("addr_BLACKLISTED_" + o))
49+ let F = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
50+ let G = getIntegerValue(((d + "_") + o))
51+ let H = ((G - p) - i)
52+ let I = B
53+ let J = C
54+ let K = v
55+ let L = 1
56+ let M = (K + L)
57+ let N = {
58+ let r = getInteger(this, "Total_Option_Orders")
59+ if ($isInstanceOf(r, "Int"))
5160 then {
52- let I = H
53- I
61+ let s = r
62+ s
5463 }
5564 else 0
5665 }
57- let L = (K + m)
58- let M = {
59- let H = getInteger(this, ("Total_Option_Orders_" + toString(D)))
60- if ($isInstanceOf(H, "Int"))
66+ let O = (N + 1)
67+ let P = {
68+ let r = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(K)))
69+ if ($isInstanceOf(r, "Int"))
6170 then {
62- let I = H
63- I
71+ let s = r
72+ s
6473 }
6574 else 0
6675 }
67- let N = (M + 1)
68- let O = {
69- let H = getInteger(this, "Total_Calls")
70- if ($isInstanceOf(H, "Int"))
76+ let Q = (P + p)
77+ let R = {
78+ let r = getInteger(this, ("Total_Option_Orders_" + toString(K)))
79+ if ($isInstanceOf(r, "Int"))
7180 then {
72- let I = H
73- I
81+ let s = r
82+ s
7483 }
7584 else 0
7685 }
77- let P = (O + 1)
78- let Q = {
79- let H = getInteger(this, ("Total_Calls_" + toString(D)))
80- if ($isInstanceOf(H, "Int"))
86+ let S = (R + 1)
87+ let T = {
88+ let r = getInteger(this, "Total_Calls")
89+ if ($isInstanceOf(r, "Int"))
8190 then {
82- let I = H
83- I
91+ let s = r
92+ s
8493 }
8594 else 0
8695 }
87- let R = (Q + 1)
88- let S = {
89- let H = getInteger(this, (p + "_Total_Calls"))
90- if ($isInstanceOf(H, "Int"))
96+ let U = (T + 1)
97+ let V = {
98+ let r = getInteger(this, ("Total_Calls_" + toString(K)))
99+ if ($isInstanceOf(r, "Int"))
91100 then {
92- let I = H
93- I
101+ let s = r
102+ s
94103 }
95104 else 0
96105 }
97- let T = (S + 1)
98- let U = {
99- let H = getInteger(this, ((p + "_Total_Calls_") + toString(D)))
100- if ($isInstanceOf(H, "Int"))
106+ let W = (V + 1)
107+ let X = {
108+ let r = getInteger(this, (o + "_Total_Calls"))
109+ if ($isInstanceOf(r, "Int"))
101110 then {
102- let I = H
103- I
104- }
105- else 0
106- }
107- let V = (U + 1)
108- let W = fraction(y, 5, 100)
109- if ((l.caller != h))
110- then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
111- else if ((c > lastBlock.timestamp))
112- then throw((e + toString(c)))
113- else if ((t == "CLOSE"))
114- then throw(g)
115- else if ((x == "Yes"))
116- then throw((p + " Address is Blacklisted. Please contact Admin to Whitelist it."))
117- else if ((lastBlock.timestamp >= C))
118- then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.")
119- else if ((L > W))
120- then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(W)) + ", Pending House Risk is ") + toString((W - K))) + ". Join in next Cycle."))
121- else if ((j > m))
122- then throw((("Placed Order Size is less than [" + toString(j)) + "/10^8] WAVES."))
123- else if ((m > k))
124- then throw((("Placed Order Size is more than [" + toString(k)) + "/10^8] WAVES."))
125- else if ((0 > A))
126- then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(A)))
127- else if ((size(toString(u)) != 13))
128- then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
129- else if ((size(toString(v)) != 13))
130- then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
131- else [StringEntry(("User_ID_" + p), o), IntegerEntry(((d + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Call_" + p) + "_") + toString(T)), toString(q)), IntegerEntry(((("Call_Amount_" + p) + "_") + toString(T)), m), StringEntry(((("Call_Start_End_" + p) + "_") + toString(T)), ((toString(D) + "_") + toString(F))), IntegerEntry("Total_Option_Orders", J), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(D)), L), IntegerEntry("Total_Pool_Liquidity", y), IntegerEntry(("Funds_At_Risk_" + toString(D)), W), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(D)), N), IntegerEntry("Total_Calls", P), IntegerEntry(("Total_Calls_" + toString(D)), R), IntegerEntry((p + "_Total_Calls"), T), IntegerEntry(((p + "_Total_Calls_") + toString(D)), V), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), m, unit)]
132- }
133-
134-
135-
136-@Callable(l)
137-func placeoptionPut (m,n,o,p,q,r,s,t,u,v) = {
138- let w = toBase58String(l.caller.bytes)
139- let x = getString(this, ("addr_BLACKLISTED_" + p))
140- let y = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
141- let z = getIntegerValue(((d + "_") + p))
142- let A = ((z - m) - i)
143- let B = u
144- let C = v
145- let D = n
146- let E = 1
147- let F = (D + E)
148- let G = {
149- let H = getInteger(this, "Total_Option_Orders")
150- if ($isInstanceOf(H, "Int"))
151- then {
152- let I = H
153- I
154- }
155- else 0
156- }
157- let J = (G + 1)
158- let K = {
159- let H = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(D)))
160- if ($isInstanceOf(H, "Int"))
161- then {
162- let I = H
163- I
164- }
165- else 0
166- }
167- let L = (K + m)
168- let M = {
169- let H = getInteger(this, ("Total_Option_Orders_" + toString(D)))
170- if ($isInstanceOf(H, "Int"))
171- then {
172- let I = H
173- I
174- }
175- else 0
176- }
177- let N = (M + 1)
178- let X = {
179- let H = getInteger(this, "Total_Puts")
180- if ($isInstanceOf(H, "Int"))
181- then {
182- let I = H
183- I
111+ let s = r
112+ s
184113 }
185114 else 0
186115 }
187116 let Y = (X + 1)
188117 let Z = {
189- let H = getInteger(this, ("Total_Puts_" + toString(D)))
190- if ($isInstanceOf(H, "Int"))
118+ let r = getInteger(this, ((o + "_Total_Calls_") + toString(K)))
119+ if ($isInstanceOf(r, "Int"))
191120 then {
192- let I = H
193- I
121+ let s = r
122+ s
194123 }
195124 else 0
196125 }
197126 let aa = (Z + 1)
198- let ab = {
199- let H = getInteger(this, (p + "_Total_Puts"))
200- if ($isInstanceOf(H, "Int"))
201- then {
202- let I = H
203- I
204- }
205- else 0
206- }
207- let ac = (ab + 1)
208- let ad = {
209- let H = getInteger(this, ((p + "_Total_Puts_") + toString(D)))
210- if ($isInstanceOf(H, "Int"))
211- then {
212- let I = H
213- I
214- }
215- else 0
216- }
217- let ae = (ad + 1)
218- let W = fraction(y, 5, 100)
219- if ((l.caller != h))
127+ let ab = fraction(F, 5, 100)
128+ if ((u.caller != h))
220129 then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
221130 else if ((c > lastBlock.timestamp))
222131 then throw((e + toString(c)))
223- else if ((t == "CLOSE"))
132+ else if ((A == "CLOSE"))
224133 then throw(g)
225- else if ((x == "Yes"))
226- then throw((p + " Address is Blacklisted. Please contact Admin to Whitelist it."))
227- else if ((lastBlock.timestamp >= C))
134+ else if ((E == "Yes"))
135+ then throw((o + " Address is Blacklisted. Please contact Admin to Whitelist it."))
136+ else if ((lastBlock.timestamp >= J))
228137 then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.")
229- else if ((L > W))
230- then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(W)) + ", Pending House Risk is ") + toString((W - K))) + ". Join in next Cycle."))
231- else if ((j > m))
232- then throw((("Placed Order Size is less than [" + toString(j)) + "/10^8] WAVES."))
233- else if ((m > k))
234- then throw((("Placed Order Size is more than [" + toString(k)) + "/10^8] WAVES."))
235- else if ((0 > A))
236- then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(A)))
237- else if ((size(toString(u)) != 13))
138+ else if ((Q > ab))
139+ then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(ab)) + ", Pending House Risk is ") + toString((ab - P))) + ". Join in next Cycle."))
140+ else if ((l > p))
141+ then throw((("Placed Order Size is less than [" + toString(l)) + "/10^8] WAVES."))
142+ else if ((p > m))
143+ then throw((("Placed Order Size is more than [" + toString(m)) + "/10^8] WAVES."))
144+ else if ((0 > H))
145+ then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(H)))
146+ else if ((size(toString(B)) != 13))
238147 then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
239- else if ((size(toString(v)) != 13))
148+ else if ((size(toString(C)) != 13))
240149 then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
241- else [StringEntry(("User_ID_" + p), o), IntegerEntry(((d + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Put_" + p) + "_") + toString(ac)), toString(q)), IntegerEntry(((("Put_Amount_" + p) + "_") + toString(ac)), m), StringEntry(((("Put_Start_End_" + p) + "_") + toString(ac)), ((toString(D) + "_") + toString(F))), IntegerEntry("Total_Option_Orders", J), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(D)), L), IntegerEntry("Total_Pool_Liquidity", y), IntegerEntry(("Funds_At_Risk_" + toString(D)), W), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(D)), N), IntegerEntry("Total_Puts", Y), IntegerEntry(("Total_Puts_" + toString(D)), aa), IntegerEntry((p + "_Total_Puts"), ac), IntegerEntry(((p + "_Total_Puts_") + toString(D)), ae), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), m, unit)]
150+ else [StringEntry(("User_ID_" + o), w), IntegerEntry(((d + "_") + o), H), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Call_" + o) + "_") + toString(Y)), toString(x)), IntegerEntry(((("Call_Amount_" + o) + "_") + toString(Y)), p), StringEntry(((("Call_Start_End_" + o) + "_") + toString(Y)), ((toString(K) + "_") + toString(M))), IntegerEntry("Total_Option_Orders", O), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(K)), Q), IntegerEntry("Total_Pool_Liquidity", F), IntegerEntry(("Funds_At_Risk_" + toString(K)), ab), IntegerEntry("Call_Limits", y), IntegerEntry("Put_Limits", z), IntegerEntry(("Total_Option_Orders_" + toString(K)), S), IntegerEntry("Total_Calls", U), IntegerEntry(("Total_Calls_" + toString(K)), W), IntegerEntry((o + "_Total_Calls"), Y), IntegerEntry(((o + "_Total_Calls_") + toString(K)), aa), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), p, unit)]
242151 }
243152
244153
245154
246-@Callable(l)
247-func DepositUserFunds () = {
248- let w = toBase58String(l.caller.bytes)
249- let af = if ((size(l.payments) == 1))
250- then l.payments[0]
251- else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
252- let x = getString(this, ("addr_BLACKLISTED_" + w))
253- let ag = {
254- let H = getInteger(this, ((d + "_") + w))
255- if ($isInstanceOf(H, "Int"))
155+@Callable(u)
156+func placeoptionPut (p,v,w,o,x,y,z,A,B,C) = {
157+ let D = toBase58String(u.caller.bytes)
158+ let E = getString(this, ("addr_BLACKLISTED_" + o))
159+ let F = valueOrErrorMessage(getInteger(addressFromStringValue(a), "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
160+ let G = getIntegerValue(((d + "_") + o))
161+ let H = ((G - p) - i)
162+ let I = B
163+ let J = C
164+ let K = v
165+ let L = 1
166+ let M = (K + L)
167+ let N = {
168+ let r = getInteger(this, "Total_Option_Orders")
169+ if ($isInstanceOf(r, "Int"))
256170 then {
257- let I = H
258- I
171+ let s = r
172+ s
259173 }
260174 else 0
261175 }
262- let ah = (ag + af.amount)
176+ let O = (N + 1)
177+ let P = {
178+ let r = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(K)))
179+ if ($isInstanceOf(r, "Int"))
180+ then {
181+ let s = r
182+ s
183+ }
184+ else 0
185+ }
186+ let Q = (P + p)
187+ let R = {
188+ let r = getInteger(this, ("Total_Option_Orders_" + toString(K)))
189+ if ($isInstanceOf(r, "Int"))
190+ then {
191+ let s = r
192+ s
193+ }
194+ else 0
195+ }
196+ let S = (R + 1)
197+ let ac = {
198+ let r = getInteger(this, "Total_Puts")
199+ if ($isInstanceOf(r, "Int"))
200+ then {
201+ let s = r
202+ s
203+ }
204+ else 0
205+ }
206+ let ad = (ac + 1)
207+ let ae = {
208+ let r = getInteger(this, ("Total_Puts_" + toString(K)))
209+ if ($isInstanceOf(r, "Int"))
210+ then {
211+ let s = r
212+ s
213+ }
214+ else 0
215+ }
216+ let af = (ae + 1)
217+ let ag = {
218+ let r = getInteger(this, (o + "_Total_Puts"))
219+ if ($isInstanceOf(r, "Int"))
220+ then {
221+ let s = r
222+ s
223+ }
224+ else 0
225+ }
226+ let ah = (ag + 1)
263227 let ai = {
264- let H = getInteger(this, "Deposit_Counter_ID")
265- if ($isInstanceOf(H, "Int"))
228+ let r = getInteger(this, ((o + "_Total_Puts_") + toString(K)))
229+ if ($isInstanceOf(r, "Int"))
266230 then {
267- let I = H
268- I
231+ let s = r
232+ s
269233 }
270234 else 0
271235 }
272236 let aj = (ai + 1)
273- if ((c > lastBlock.timestamp))
274- then throw((e + toString(c)))
275- else if ((x == "Yes"))
276- then throw((w + " Address is Blacklisted. Please contact Admin to Whitelist it."))
277- else if (isDefined(af.assetId))
278- then throw("Only WAVES is allowed to deposit at the moment")
279- else [IntegerEntry(((d + "_") + w), ah), IntegerEntry(((((toString(aj) + "_") + d) + "_") + w), af.amount), IntegerEntry("Deposit_Counter_ID", aj)]
237+ let ab = fraction(F, 5, 100)
238+ if ((u.caller != h))
239+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
240+ else if ((c > lastBlock.timestamp))
241+ then throw((e + toString(c)))
242+ else if ((A == "CLOSE"))
243+ then throw(g)
244+ else if ((E == "Yes"))
245+ then throw((o + " Address is Blacklisted. Please contact Admin to Whitelist it."))
246+ else if ((lastBlock.timestamp >= J))
247+ then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.")
248+ else if ((Q > ab))
249+ then throw((((("No more orders accepted, Option House Risk Size is only limited to " + toString(ab)) + ", Pending House Risk is ") + toString((ab - P))) + ". Join in next Cycle."))
250+ else if ((l > p))
251+ then throw((("Placed Order Size is less than [" + toString(l)) + "/10^8] WAVES."))
252+ else if ((p > m))
253+ then throw((("Placed Order Size is more than [" + toString(m)) + "/10^8] WAVES."))
254+ else if ((0 > H))
255+ then throw(("Placed Order Amount is going negative. Please reduce the Order Size. Negative Fund Amount = " + toString(H)))
256+ else if ((size(toString(B)) != 13))
257+ then throw("Start Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
258+ else if ((size(toString(C)) != 13))
259+ then throw("End Timestamp is Wrong. Please Enter a Valid Timestamp. Probably you entered an Timestamp less than 13 Chars.")
260+ else [StringEntry(("User_ID_" + o), w), IntegerEntry(((d + "_") + o), H), IntegerEntry("Network_Fee_To_Place_Order", i), StringEntry(((("Put_" + o) + "_") + toString(ah)), toString(x)), IntegerEntry(((("Put_Amount_" + o) + "_") + toString(ah)), p), StringEntry(((("Put_Start_End_" + o) + "_") + toString(ah)), ((toString(K) + "_") + toString(M))), IntegerEntry("Total_Option_Orders", O), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(K)), Q), IntegerEntry("Total_Pool_Liquidity", F), IntegerEntry(("Funds_At_Risk_" + toString(K)), ab), IntegerEntry("Call_Limits", y), IntegerEntry("Put_Limits", z), IntegerEntry(("Total_Option_Orders_" + toString(K)), S), IntegerEntry("Total_Puts", ad), IntegerEntry(("Total_Puts_" + toString(K)), af), IntegerEntry((o + "_Total_Puts"), ah), IntegerEntry(((o + "_Total_Puts_") + toString(K)), aj), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(a), p, unit)]
280261 }
281262
282263
283264
284-@Callable(l)
285-func WithdrawUserFunds (p,m) = {
286- let w = toBase58String(l.caller.bytes)
287- let ak = getIntegerValue(((d + "_") + p))
288- let A = ((ak - m) - i)
289- let al = 10000000
290- if ((l.caller != h))
291- then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
292- else if ((al > m))
293- then throw((("Minimum Withdraw Amount is " + toString(al)) + "/10^8] WAVES."))
294- else if ((0 > A))
295- then throw((("Placed Withdraw Amount is going in negative State of " + toString(A)) + "/10^8] WAVES."))
296- else [IntegerEntry("Previous_Balance", ak), IntegerEntry("Network_Fee_To_Withdraw", i), IntegerEntry(((d + "_") + p), A), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(p), m, unit)]
265+@Callable(u)
266+func DepositUserFunds () = {
267+ let D = toBase58String(u.caller.bytes)
268+ let ak = if ((size(u.payments) == 1))
269+ then u.payments[0]
270+ else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
271+ let E = getString(this, ("addr_BLACKLISTED_" + D))
272+ let q = {
273+ let r = getInteger(this, ((d + "_") + D))
274+ if ($isInstanceOf(r, "Int"))
275+ then {
276+ let s = r
277+ s
278+ }
279+ else 0
280+ }
281+ let t = (q + ak.amount)
282+ let al = {
283+ let r = getInteger(this, "Deposit_Counter_ID")
284+ if ($isInstanceOf(r, "Int"))
285+ then {
286+ let s = r
287+ s
288+ }
289+ else 0
290+ }
291+ let am = (al + 1)
292+ if ((c > lastBlock.timestamp))
293+ then throw((e + toString(c)))
294+ else if ((E == "Yes"))
295+ then throw((D + " Address is Blacklisted. Please contact Admin to Whitelist it."))
296+ else if (isDefined(ak.assetId))
297+ then throw("Only WAVES is allowed to deposit at the moment")
298+ else [IntegerEntry(((d + "_") + D), t), IntegerEntry(((((toString(am) + "_") + d) + "_") + D), ak.amount), IntegerEntry("Deposit_Counter_ID", am)]
297299 }
298300
299301
300302
301-@Callable(l)
302-func BlackListAddress (am) = {
303- let x = getString(this, ("addr_BLACKLISTED_" + am))
303+@Callable(u)
304+func Fill_Vouchers_Liquidity () = {
305+ let D = toBase58String(u.caller.bytes)
306+ let ak = if ((size(u.payments) == 1))
307+ then u.payments[0]
308+ else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
304309 let an = {
305- let H = getInteger(this, "Total_Black_Listed_Address")
306- if ($isInstanceOf(H, "Int"))
310+ let r = getInteger(this, "Available_Vouchers_Balance")
311+ if ($isInstanceOf(r, "Int"))
307312 then {
308- let I = H
309- I
313+ let s = r
314+ s
310315 }
311316 else 0
312317 }
313- let ao = (an + 1)
314- if ((c > lastBlock.timestamp))
315- then throw((e + toString(c)))
316- else if ((l.caller != h))
317- then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
318- else if ((x == "Yes"))
319- then throw("Address is already available in Blacklist.")
320- else [StringEntry(("addr_BLACKLISTED_" + am), "Yes"), IntegerEntry("Total_Black_Listed_Address", ao)]
318+ let ao = (an + ak.amount)
319+ let ap = {
320+ let r = getInteger(this, "Vouchers_Counter_ID")
321+ if ($isInstanceOf(r, "Int"))
322+ then {
323+ let s = r
324+ s
325+ }
326+ else 0
327+ }
328+ let aq = (ap + 1)
329+ if (isDefined(ak.assetId))
330+ then throw("Only WAVES is allowed to deposit at the moment")
331+ else [IntegerEntry("Available_Vouchers_Balance", ao), IntegerEntry((toString(aq) + "_Voucher_Amount"), ak.amount), IntegerEntry("Vouchers_Counter_ID", aq)]
321332 }
322333
323334
324335
325-@Callable(l)
326-func DeleteBlackListAddress (am) = {
327- let x = getString(this, ("addr_BLACKLISTED_" + am))
328- let an = {
329- let H = getInteger(this, "Total_Black_Listed_Address")
330- if ($isInstanceOf(H, "Int"))
336+@Callable(u)
337+func Play_With_Vouchers (p,v,w,o,x,y,z,A,B,C) = {
338+ let D = toBase58String(u.caller.bytes)
339+ let ak = if ((size(u.payments) == 1))
340+ then u.payments[0]
341+ else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
342+ let ar = getIntegerValue("Available_Vouchers_Balance")
343+ let as = n(o, p)
344+ let at = (ar - p)
345+ let au = invoke(this, "placeoptionCall", [p, v, w, o, x, y, z, A, B, C], nil)
346+ if ((au == au))
347+ then if ((u.caller != h))
348+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
349+ else if ((0 > at))
350+ then throw((("Requested Voucher Amount is going in negative State of " + toString(at)) + "/10^8] WAVES."))
351+ else if ((j != ak.amount))
352+ then throw((("Please Attach atleast " + toString(j)) + " WAVES to Claim Voucher."))
353+ else [IntegerEntry("Available_Vouchers_Balance", at)]
354+ else throw("Strict value is not equal to itself.")
355+ }
356+
357+
358+
359+@Callable(u)
360+func WithdrawUserFunds (o,p) = {
361+ let D = toBase58String(u.caller.bytes)
362+ let av = getIntegerValue(((d + "_") + o))
363+ let H = ((av - p) - i)
364+ let aw = 10000000
365+ if ((u.caller != h))
366+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
367+ else if ((aw > p))
368+ then throw((("Minimum Withdraw Amount is " + toString(aw)) + "/10^8] WAVES."))
369+ else if ((0 > H))
370+ then throw((("Placed Withdraw Amount is going in negative State of " + toString(H)) + "/10^8] WAVES."))
371+ else [IntegerEntry("Previous_Balance", av), IntegerEntry("Network_Fee_To_Withdraw", i), IntegerEntry(((d + "_") + o), H), ScriptTransfer(h, i, unit), ScriptTransfer(addressFromStringValue(o), p, unit)]
372+ }
373+
374+
375+
376+@Callable(u)
377+func BlackListAddress (ax) = {
378+ let E = getString(this, ("addr_BLACKLISTED_" + ax))
379+ let ay = {
380+ let r = getInteger(this, "Total_Black_Listed_Address")
381+ if ($isInstanceOf(r, "Int"))
331382 then {
332- let I = H
333- I
383+ let s = r
384+ s
334385 }
335386 else 0
336387 }
337- let ao = (an - 1)
388+ let az = (ay + 1)
389+ if ((c > lastBlock.timestamp))
390+ then throw((e + toString(c)))
391+ else if ((u.caller != h))
392+ then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
393+ else if ((E == "Yes"))
394+ then throw("Address is already available in Blacklist.")
395+ else [StringEntry(("addr_BLACKLISTED_" + ax), "Yes"), IntegerEntry("Total_Black_Listed_Address", az)]
396+ }
397+
398+
399+
400+@Callable(u)
401+func DeleteBlackListAddress (ax) = {
402+ let E = getString(this, ("addr_BLACKLISTED_" + ax))
403+ let ay = {
404+ let r = getInteger(this, "Total_Black_Listed_Address")
405+ if ($isInstanceOf(r, "Int"))
406+ then {
407+ let s = r
408+ s
409+ }
410+ else 0
411+ }
412+ let az = (ay - 1)
338413 if ((c > lastBlock.timestamp))
339414 then throw(("Product Launch Timestamp is set at " + toString(c)))
340- else if ((l.caller != h))
415+ else if ((u.caller != h))
341416 then throw((("This Address is not Authorized. Only " + toString(h)) + " is Authorized Address to Sign it."))
342- else if ((x == "Yes"))
343- then [DeleteEntry(("addr_BLACKLISTED_" + am)), IntegerEntry("Total_Black_Listed_Address", ao)]
417+ else if ((E == "Yes"))
418+ then [DeleteEntry(("addr_BLACKLISTED_" + ax)), IntegerEntry("Total_Black_Listed_Address", az)]
344419 else throw("Address is not available in Blacklist.")
345420 }
346421
347422
348-@Verifier(ap)
349-func aq () = {
350- let H = ap
351- if (if ($isInstanceOf(H, "Order"))
423+@Verifier(aA)
424+func aB () = {
425+ let r = aA
426+ if (if ($isInstanceOf(r, "Order"))
352427 then true
353- else if ($isInstanceOf(H, "ExchangeTransaction"))
428+ else if ($isInstanceOf(r, "ExchangeTransaction"))
354429 then true
355- else if ($isInstanceOf(H, "MassTransferTransaction"))
430+ else if ($isInstanceOf(r, "MassTransferTransaction"))
356431 then true
357- else $isInstanceOf(H, "TransferTransaction"))
432+ else $isInstanceOf(r, "TransferTransaction"))
358433 then {
359- let ar = H
434+ let aC = r
360435 false
361436 }
362- else sigVerify(ap.bodyBytes, ap.proofs[0], ap.senderPublicKey)
437+ else sigVerify(aA.bodyBytes, aA.proofs[0], aA.senderPublicKey)
363438 }
364439

github/deemru/w8io/873ac7e 
110.28 ms