tx · 2wwUMhKvNiBwQ6sJQg1mnGXaL18Gi3rVu694zoNLHpNH 3N4K6JFDDdcd1qrk2HszwHQrMqznvhYBgjn: -0.02000000 Waves 2023.06.15 16:46 [2623836] smart account 3N4K6JFDDdcd1qrk2HszwHQrMqznvhYBgjn > SELF 0.00000000 Waves
{ "type": 13, "id": "2wwUMhKvNiBwQ6sJQg1mnGXaL18Gi3rVu694zoNLHpNH", "fee": 2000000, "feeAssetId": null, "timestamp": 1686836821369, "version": 2, "chainId": 84, "sender": "3N4K6JFDDdcd1qrk2HszwHQrMqznvhYBgjn", "senderPublicKey": "9vxW4kEGgMt47hfP42SnhhMRhEVqbedX6N57xB8XKYcV", "proofs": [ "5L3YBAPqLEYXSe3wd9gxd1WCWXedRnhzqN4fVsRG186AAyoimWqKYDxsfJ92yrrWfv6Dgs5ehgaiyXixuaw6q3zE" ], "script": "base64:AAIFAAAAAAAAADcIAhIOCgwBAQEICAEBAQEIAQESDgoMAQEBCAgBAQEBCAEBEgASAwoBCBIDCgEIEgcKBQgICAgIAAAACgAAAAAURGFwcF9BZGRyZXNzX3B1Yl9rZXkBAAAAIJ/6IoC/X+WmAH3lOFnN9kmPro1K68e8JnOQXRnHLN0cAAAAABhwcm9kdWN0X2xhdW5jaF90aW1lc3RhbXAAAAABhgpF7AAAAAAAC0N1cnJlbmN5X0lEAgAAAAVXQVZFUwAAAAAUcHJvZHVjdF9sYXVuY2hfZXJyb3ICAAAAI1Byb2R1Y3QgTGF1bmNoIFRpbWVzdGFtcCBpcyBzZXQgYXQgAAAAABBub19wYXltZW50X2Vycm9yAgAAADdObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIFRva2VuIGluIHBheW1lbnRbMV0uAAAAABJjbG9zZWRfb3JhY2xlX2Vyb3ICAAAAMU9yYWNsZSBpcyBjbG9zZWQuIFdhaXQgVW50aWwgT3JhY2xlIGlzIFR1cm5lZCBPbi4AAAAAEXdoaXRlbGlzdF9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABREYXBwX0FkZHJlc3NfcHViX2tleQAAAAAJb3JkZXJfZmVlAAAAAAAADbugAAAAABJtaW5pbXVtX29yZGVyX3NpemUAAAAAAACYloAAAAAAEm1heGltdW1fb3JkZXJfc2l6ZQAAAAACVAvkAAAAAAYAAAABaQEAAAAPcGxhY2VvcHRpb25DYWxsAAAADAAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQAAAAZBbW91bnQAAAAPT3B0aW9uQ291bnRlcklEAAAAB1VzZXJfSUQAAAAMVXNlcl9BZGRyZXNzAAAACkhvdXNlX3Jpc2sAAAAFUHJpY2UAAAALQ2FsbF9MaW1pdHMAAAAKUHV0X0xpbWl0cwAAAA1PcmFjbGVfU3RhdHVzAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAAAABNFbmRfT3JkZXJfVGltZXN0YW1wBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWlmQmxhY2tsaXN0ZWQJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAANY2FsbGVyYWRkcmVzcwQAAAAPcmVhZF91c2VyX2Z1bmRzCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwQAAAARdXBkYXRlX3VzZXJfZnVuZHMJAABlAAAAAgkAAGUAAAACBQAAAA9yZWFkX3VzZXJfZnVuZHMFAAAABkFtb3VudAUAAAAJb3JkZXJfZmVlBAAAACFyZWFkX3N0YXJ0X29yZGVyX3Blcm1pdF90aW1lc3RhbXAFAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAQAAAAfcmVhZF9lbmRfb3JkZXJfcGVybWl0X3RpbWVzdGFtcAUAAAATRW5kX09yZGVyX1RpbWVzdGFtcAQAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQUAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkEAAAAGG5ld190b3RhbF9wb29sX2xpcXVpZGl0eQkAAGQAAAACBQAAABlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BQAAAAZBbW91bnQEAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAA9PcHRpb25Db3VudGVySUQEAAAAEk9waW9uRXhwaXJlQ291bnRlcgAAAAAAAAAAAQQAAAAVT3B0aW9uRXhwaXJlQ291bnRlcklECQAAZAAAAAIFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABJPcGlvbkV4cGlyZUNvdW50ZXIEAAAAFFByZXZpb3VzT3B0aW9uT3JkZXJzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX09wdGlvbl9PcmRlcnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxPcHRpb25PcmRlcnMJAABkAAAAAgUAAAAUUHJldmlvdXNPcHRpb25PcmRlcnMAAAAAAAAAAAEEAAAAJ1ByZXZpb3VzRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAIlRvdGFsX0Z1bmRzX0FkZGVkX0luX09wdGlvbl9PcmRlcl8JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAkVG90YWxGdW5kc0FkZGVkSW5TcGVjaWZpY09wdGlvbk9yZGVyCQAAZAAAAAIFAAAAJ1ByZXZpb3VzRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgUAAAAGQW1vdW50BAAAACVQcmV2aW91c09wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAUVG90YWxfT3B0aW9uX09yZGVyc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAiVG90YWxPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgkAAGQAAAACBQAAACVQcmV2aW91c09wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAAxQcmV2aW91c0NhbGwEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAALVG90YWxfQ2FsbHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAJVG90YWxDYWxsCQAAZAAAAAIFAAAADFByZXZpb3VzQ2FsbAAAAAAAAAAAAQQAAAAdUHJldmlvdXNDYWxsaW5TcGVjaWZpY0NvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAxUb3RhbF9DYWxsc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAaVG90YWxDYWxsaW5TcGVjaWZpY0NvdW50ZXIJAABkAAAAAgUAAAAdUHJldmlvdXNDYWxsaW5TcGVjaWZpY0NvdW50ZXIAAAAAAAAAAAEEAAAAEFByZXZpb3VzVXNlckNhbGwEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAxfVG90YWxfQ2FsbHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANVG90YWxVc2VyQ2FsbAkAAGQAAAACBQAAABBQcmV2aW91c1VzZXJDYWxsAAAAAAAAAAABBAAAACFQcmV2aW91c1VzZXJDYWxsaW5TcGVjaWZpY0NvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAADV9Ub3RhbF9DYWxsc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAeVG90YWxVc2VyQ2FsbGluU3BlY2lmaWNDb3VudGVyCQAAZAAAAAIFAAAAIVByZXZpb3VzVXNlckNhbGxpblNwZWNpZmljQ291bnRlcgAAAAAAAAAAAQQAAAANRnVuZHNfYXRfcmlzawUAAAAKSG91c2VfcmlzawMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAZgAAAAIFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAACAAAAAQkAASwAAAACBQAAABRwcm9kdWN0X2xhdW5jaF9lcnJvcgkAAaQAAAABBQAAABhwcm9kdWN0X2xhdW5jaF90aW1lc3RhbXADCQAAAAAAAAIFAAAADU9yYWNsZV9TdGF0dXMCAAAABUNMT1NFCQAAAgAAAAEFAAAAEmNsb3NlZF9vcmFjbGVfZXJvcgMJAAAAAAAAAgUAAAANaWZCbGFja2xpc3RlZAIAAAADWWVzCQAAAgAAAAEJAAEsAAAAAgUAAAANY2FsbGVyYWRkcmVzcwIAAAA+IEFkZHJlc3MgaXMgQmxhY2tsaXN0ZWQuIFBsZWFzZSBjb250YWN0IEFkbWluIHRvIFdoaXRlbGlzdCBpdC4DCQAAZwAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAB9yZWFkX2VuZF9vcmRlcl9wZXJtaXRfdGltZXN0YW1wCQAAAgAAAAECAAAAR09wdGlvbiBPcmRlciBwbGFjaW5nIFRpbWluZyBMaW1pdHMgYXJlIE92ZXIuIFBsZWFzZSBKb2luIGluIE5leHQgQ3ljbGUuAwkAAGYAAAACBQAAABJtaW5pbXVtX29yZGVyX3NpemUFAAAABkFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAgUGxhY2VkIE9yZGVyIFNpemUgaXMgbGVzcyB0aGFuIFsJAAGkAAAAAQUAAAASbWluaW11bV9vcmRlcl9zaXplAgAAAA0vMTBeOF0gV0FWRVMuAwkAAGYAAAACBQAAAAZBbW91bnQFAAAAEm1heGltdW1fb3JkZXJfc2l6ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAgUGxhY2VkIE9yZGVyIFNpemUgaXMgbW9yZSB0aGFuIFsJAAGkAAAAAQUAAAASbWF4aW11bV9vcmRlcl9zaXplAgAAAA0vMTBeOF0gV0FWRVMuAwkAAGYAAAACAAAAAAAAAAAABQAAABF1cGRhdGVfdXNlcl9mdW5kcwkAAAIAAAABAgAAAERQbGFjZWQgT3JkZXIgQW1vdW50IGlzIGdvaW5nIG5lZ2F0aXZlLiBQbGVhc2UgcmVkdWNlIHRoZSBPcmRlciBTaXplLgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAACFVzZXJfSURfBQAAAA1jYWxsZXJhZGRyZXNzBQAAAAdVc2VyX0lECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwUAAAARdXBkYXRlX3VzZXJfZnVuZHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGk5ldHdvcmtfRmVlX1RvX1BsYWNlX09yZGVyBQAAAAlvcmRlcl9mZWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFQ2FsbF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAANVG90YWxVc2VyQ2FsbAkAAaQAAAABBQAAAAVQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMQ2FsbF9BbW91bnRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADVRvdGFsVXNlckNhbGwFAAAABkFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9DYWxsX1N0YXJ0X0VuZF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAANVG90YWxVc2VyQ2FsbAkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQCAAAAAV8JAAGkAAAAAQUAAAAVT3B0aW9uRXhwaXJlQ291bnRlcklECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9PcHRpb25fT3JkZXJzBQAAABFUb3RhbE9wdGlvbk9yZGVycwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAACJUb3RhbF9GdW5kc19BZGRlZF9Jbl9PcHRpb25fT3JkZXJfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAACRUb3RhbEZ1bmRzQWRkZWRJblNwZWNpZmljT3B0aW9uT3JkZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX1Bvb2xfTGlxdWlkaXR5BQAAABhuZXdfdG90YWxfcG9vbF9saXF1aWRpdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAORnVuZHNfQXRfUmlza18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAADUZ1bmRzX2F0X3Jpc2sJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC0NhbGxfTGltaXRzBQAAAAtDYWxsX0xpbWl0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKUHV0X0xpbWl0cwUAAAAKUHV0X0xpbWl0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABRUb3RhbF9PcHRpb25fT3JkZXJzXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAUAAAAiVG90YWxPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfQ2FsbHMFAAAACVRvdGFsQ2FsbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAxUb3RhbF9DYWxsc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAGlRvdGFsQ2FsbGluU3BlY2lmaWNDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAADF9Ub3RhbF9DYWxscwUAAAANVG90YWxVc2VyQ2FsbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAADV9Ub3RhbF9DYWxsc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAHlRvdGFsVXNlckNhbGxpblNwZWNpZmljQ291bnRlcgUAAAADbmlsAAAAAWkBAAAADnBsYWNlb3B0aW9uUHV0AAAADAAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQAAAAZBbW91bnQAAAAPT3B0aW9uQ291bnRlcklEAAAAB1VzZXJfSUQAAAAMVXNlcl9BZGRyZXNzAAAACkhvdXNlX3Jpc2sAAAAFUHJpY2UAAAALQ2FsbF9MaW1pdHMAAAAKUHV0X0xpbWl0cwAAAA1PcmFjbGVfU3RhdHVzAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAAAABNFbmRfT3JkZXJfVGltZXN0YW1wBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWlmQmxhY2tsaXN0ZWQJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAANY2FsbGVyYWRkcmVzcwQAAAAPcmVhZF91c2VyX2Z1bmRzCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwQAAAARdXBkYXRlX3VzZXJfZnVuZHMJAABlAAAAAgkAAGUAAAACBQAAAA9yZWFkX3VzZXJfZnVuZHMFAAAABkFtb3VudAUAAAAJb3JkZXJfZmVlBAAAACFyZWFkX3N0YXJ0X29yZGVyX3Blcm1pdF90aW1lc3RhbXAFAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAQAAAAfcmVhZF9lbmRfb3JkZXJfcGVybWl0X3RpbWVzdGFtcAUAAAATRW5kX09yZGVyX1RpbWVzdGFtcAQAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQUAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkEAAAAGG5ld190b3RhbF9wb29sX2xpcXVpZGl0eQkAAGQAAAACBQAAABlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BQAAAAZBbW91bnQEAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAA9PcHRpb25Db3VudGVySUQEAAAAEk9waW9uRXhwaXJlQ291bnRlcgAAAAAAAAAAAQQAAAAVT3B0aW9uRXhwaXJlQ291bnRlcklECQAAZAAAAAIFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABJPcGlvbkV4cGlyZUNvdW50ZXIEAAAAFFByZXZpb3VzT3B0aW9uT3JkZXJzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX09wdGlvbl9PcmRlcnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxPcHRpb25PcmRlcnMJAABkAAAAAgUAAAAUUHJldmlvdXNPcHRpb25PcmRlcnMAAAAAAAAAAAEEAAAAJ1ByZXZpb3VzRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAIlRvdGFsX0Z1bmRzX0FkZGVkX0luX09wdGlvbl9PcmRlcl8JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAkVG90YWxGdW5kc0FkZGVkSW5TcGVjaWZpY09wdGlvbk9yZGVyCQAAZAAAAAIFAAAAJ1ByZXZpb3VzRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgUAAAAGQW1vdW50BAAAACVQcmV2aW91c09wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAUVG90YWxfT3B0aW9uX09yZGVyc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAiVG90YWxPcHRpb25PcmRlcnNpblNwZWNpZmljQ291bnRlcgkAAGQAAAACBQAAACVQcmV2aW91c09wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAAtQcmV2aW91c1B1dAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAApUb3RhbF9QdXRzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACFRvdGFsUHV0CQAAZAAAAAIFAAAAC1ByZXZpb3VzUHV0AAAAAAAAAAABBAAAABxQcmV2aW91c1B1dGluU3BlY2lmaWNDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALVG90YWxfUHV0c18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAZVG90YWxQdXRpblNwZWNpZmljQ291bnRlcgkAAGQAAAACBQAAABxQcmV2aW91c1B1dGluU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAA9QcmV2aW91c1VzZXJQdXQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAtfVG90YWxfUHV0cwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAxUb3RhbFVzZXJQdXQJAABkAAAAAgUAAAAPUHJldmlvdXNVc2VyUHV0AAAAAAAAAAABBAAAACBQcmV2aW91c1VzZXJQdXRpblNwZWNpZmljQ291bnRlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAANY2FsbGVyYWRkcmVzcwIAAAAMX1RvdGFsX1B1dHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAHVRvdGFsVXNlclB1dGluU3BlY2lmaWNDb3VudGVyCQAAZAAAAAIFAAAAIFByZXZpb3VzVXNlclB1dGluU3BlY2lmaWNDb3VudGVyAAAAAAAAAAABBAAAAA1GdW5kc19hdF9yaXNrBQAAAApIb3VzZV9yaXNrAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAABmAAAAAgUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAIFAAAAFHByb2R1Y3RfbGF1bmNoX2Vycm9yCQABpAAAAAEFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAMJAAAAAAAAAgUAAAANT3JhY2xlX1N0YXR1cwIAAAAFQ0xPU0UJAAACAAAAAQUAAAASY2xvc2VkX29yYWNsZV9lcm9yAwkAAAAAAAACBQAAAA1pZkJsYWNrbGlzdGVkAgAAAANZZXMJAAACAAAAAQkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAD4gQWRkcmVzcyBpcyBCbGFja2xpc3RlZC4gUGxlYXNlIGNvbnRhY3QgQWRtaW4gdG8gV2hpdGVsaXN0IGl0LgMJAABnAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAAH3JlYWRfZW5kX29yZGVyX3Blcm1pdF90aW1lc3RhbXAJAAACAAAAAQIAAABHT3B0aW9uIE9yZGVyIHBsYWNpbmcgVGltaW5nIExpbWl0cyBhcmUgT3Zlci4gUGxlYXNlIEpvaW4gaW4gTmV4dCBDeWNsZS4DCQAAZgAAAAIFAAAAEm1pbmltdW1fb3JkZXJfc2l6ZQUAAAAGQW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACBQbGFjZWQgT3JkZXIgU2l6ZSBpcyBsZXNzIHRoYW4gWwkAAaQAAAABBQAAABJtaW5pbXVtX29yZGVyX3NpemUCAAAADS8xMF44XSBXQVZFUy4DCQAAZgAAAAIFAAAABkFtb3VudAUAAAASbWF4aW11bV9vcmRlcl9zaXplCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACBQbGFjZWQgT3JkZXIgU2l6ZSBpcyBtb3JlIHRoYW4gWwkAAaQAAAABBQAAABJtYXhpbXVtX29yZGVyX3NpemUCAAAADS8xMF44XSBXQVZFUy4DCQAAZgAAAAIAAAAAAAAAAAAFAAAAEXVwZGF0ZV91c2VyX2Z1bmRzCQAAAgAAAAECAAAARFBsYWNlZCBPcmRlciBBbW91bnQgaXMgZ29pbmcgbmVnYXRpdmUuIFBsZWFzZSByZWR1Y2UgdGhlIE9yZGVyIFNpemUuCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAIVXNlcl9JRF8FAAAADWNhbGxlcmFkZHJlc3MFAAAAB1VzZXJfSUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAtDdXJyZW5jeV9JRAIAAAABXwUAAAAMVXNlcl9BZGRyZXNzBQAAABF1cGRhdGVfdXNlcl9mdW5kcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaTmV0d29ya19GZWVfVG9fUGxhY2VfT3JkZXIFAAAACW9yZGVyX2ZlZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAARQdXRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADFRvdGFsVXNlclB1dAkAAaQAAAABBQAAAAVQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALUHV0X0Ftb3VudF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAAMVG90YWxVc2VyUHV0BQAAAAZBbW91bnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAOUHV0X1N0YXJ0X0VuZF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAAMVG90YWxVc2VyUHV0CQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAIAAAABXwkAAaQAAAABBQAAABVPcHRpb25FeHBpcmVDb3VudGVySUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX09wdGlvbl9PcmRlcnMFAAAAEVRvdGFsT3B0aW9uT3JkZXJzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAIlRvdGFsX0Z1bmRzX0FkZGVkX0luX09wdGlvbl9PcmRlcl8JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAJFRvdGFsRnVuZHNBZGRlZEluU3BlY2lmaWNPcHRpb25PcmRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkFAAAAGG5ld190b3RhbF9wb29sX2xpcXVpZGl0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA5GdW5kc19BdF9SaXNrXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAUAAAANRnVuZHNfYXRfcmlzawkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALQ2FsbF9MaW1pdHMFAAAAC0NhbGxfTGltaXRzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApQdXRfTGltaXRzBQAAAApQdXRfTGltaXRzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFFRvdGFsX09wdGlvbl9PcmRlcnNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAACJUb3RhbE9wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApUb3RhbF9QdXRzBQAAAAhUb3RhbFB1dAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtUb3RhbF9Q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X0NvdW50ZXJfSUQFAAAAFVRvdGFsRGVwb3NpdENvdW50ZXJJRAUAAAADbmlsAAAAAWkBAAAAEEJsYWNrTGlzdEFkZHJlc3MAAAABAAAAC1VzZXJBZGRyZXNzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzBAAAABhQcmV2aW91c0JsYWNrTGlzdEFkZHJlc3MEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxCbGFja0xpc3RBZGRyZXNzCQAAZAAAAAIFAAAAGFByZXZpb3VzQmxhY2tMaXN0QWRkcmVzcwAAAAAAAAAAAQMJAABmAAAAAgUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAIFAAAAFHByb2R1Y3RfbGF1bmNoX2Vycm9yCQABpAAAAAEFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAAAAAAAIFAAAADWlmQmxhY2tsaXN0ZWQCAAAAA1llcwkAAAIAAAABAgAAACpBZGRyZXNzIGlzIGFscmVhZHkgYXZhaWxhYmxlIGluIEJsYWNrbGlzdC4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAALVXNlckFkZHJlc3MCAAAAA1llcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MFAAAAFVRvdGFsQmxhY2tMaXN0QWRkcmVzcwUAAAADbmlsAAAAAWkBAAAAFkRlbGV0ZUJsYWNrTGlzdEFkZHJlc3MAAAABAAAAC1VzZXJBZGRyZXNzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzBAAAABhQcmV2aW91c0JsYWNrTGlzdEFkZHJlc3MEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxCbGFja0xpc3RBZGRyZXNzCQAAZQAAAAIFAAAAGFByZXZpb3VzQmxhY2tMaXN0QWRkcmVzcwAAAAAAAAAAAQMJAABmAAAAAgUAAAAYcHJvZHVjdF9sYXVuY2hfdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAAIAAAABCQABLAAAAAICAAAAI1Byb2R1Y3QgTGF1bmNoIFRpbWVzdGFtcCBpcyBzZXQgYXQgCQABpAAAAAEFAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAAAAAAAIFAAAADWlmQmxhY2tsaXN0ZWQCAAAAA1llcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAEWFkZHJfQkxBQ0tMSVNURURfBQAAAAtVc2VyQWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MFAAAAFVRvdGFsQmxhY2tMaXN0QWRkcmVzcwUAAAADbmlsCQAAAgAAAAECAAAAJkFkZHJlc3MgaXMgbm90IGF2YWlsYWJsZSBpbiBCbGFja2xpc3QuAAAAAWkBAAAACERlbEVudHJ5AAAABQAAAAJFMQAAAAJFMgAAAAJFMwAAAAJFNAAAAAJFNQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAJFMQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAJFMgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAJFMwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAJFNAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAJFNQUAAAADbmlsAAAAAKkv6ns=", "height": 2623836, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 39f5rihteMjHYNWBAtJaPZZ5q1J83Uc7eBncuVF7YDiL Next: Eo6iCvFpxSSRCWkhTPEWkxTeGXAJ8rTGBGpSst2su4vW Diff:
Old | New | Differences | |
---|---|---|---|
22 | 22 | let j = 10000000000 | |
23 | 23 | ||
24 | 24 | @Callable(k) | |
25 | - | func placeoptionCall (l,m,n,o,p,q,r,s,t,u,v) = { | |
26 | - | let w = toBase58String(k.caller.bytes) | |
27 | - | let x = if ((size(k.payments) == 1)) | |
28 | - | then k.payments[0] | |
29 | - | else throw(e) | |
30 | - | let y = getString(this, ("addr_BLACKLISTED_" + w)) | |
31 | - | let z = getIntegerValue(((c + "_") + o)) | |
32 | - | let A = ((z - x.amount) - h) | |
33 | - | let B = u | |
34 | - | let C = v | |
25 | + | func placeoptionCall (l,m,n,o,p,q,r,s,t,u,v,w) = { | |
26 | + | let x = toBase58String(k.caller.bytes) | |
27 | + | let y = getString(this, ("addr_BLACKLISTED_" + x)) | |
28 | + | let z = getIntegerValue(((c + "_") + p)) | |
29 | + | let A = ((z - m) - h) | |
30 | + | let B = v | |
31 | + | let C = w | |
35 | 32 | let D = l | |
36 | - | let E = (D + | |
37 | - | let F = | |
33 | + | let E = (D + m) | |
34 | + | let F = n | |
38 | 35 | let G = 1 | |
39 | 36 | let H = (F + G) | |
40 | 37 | let I = { | |
56 | 53 | } | |
57 | 54 | else 0 | |
58 | 55 | } | |
59 | - | let N = (M + | |
56 | + | let N = (M + m) | |
60 | 57 | let O = { | |
61 | 58 | let J = getInteger(this, ("Total_Option_Orders_" + toString(F))) | |
62 | 59 | if ($isInstanceOf(J, "Int")) | |
88 | 85 | } | |
89 | 86 | let T = (S + 1) | |
90 | 87 | let U = { | |
91 | - | let J = getInteger(this, ( | |
88 | + | let J = getInteger(this, (x + "_Total_Calls")) | |
92 | 89 | if ($isInstanceOf(J, "Int")) | |
93 | 90 | then { | |
94 | 91 | let K = J | |
98 | 95 | } | |
99 | 96 | let V = (U + 1) | |
100 | 97 | let W = { | |
101 | - | let J = getInteger(this, (( | |
98 | + | let J = getInteger(this, ((x + "_Total_Calls_") + toString(F))) | |
102 | 99 | if ($isInstanceOf(J, "Int")) | |
103 | 100 | then { | |
104 | 101 | let K = J | |
107 | 104 | else 0 | |
108 | 105 | } | |
109 | 106 | let X = (W + 1) | |
110 | - | let Y = | |
107 | + | let Y = q | |
111 | 108 | if ((k.caller != g)) | |
112 | 109 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
113 | 110 | else if ((b > lastBlock.timestamp)) | |
114 | 111 | then throw((d + toString(b))) | |
115 | - | else if (( | |
112 | + | else if ((u == "CLOSE")) | |
116 | 113 | then throw(f) | |
117 | 114 | else if ((y == "Yes")) | |
118 | - | then throw((w + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
119 | - | else if (isDefined(x.assetId)) | |
120 | - | then throw("Only WAVES is allowed to deposit at the moment") | |
121 | - | else if ((lastBlock.timestamp >= C)) | |
122 | - | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
123 | - | else if ((i > x.amount)) | |
124 | - | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
125 | - | else if ((x.amount > j)) | |
126 | - | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
127 | - | else if ((0 > A)) | |
128 | - | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
129 | - | else [StringEntry(("User_ID_" + w), n), IntegerEntry(((c + "_") + o), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Call_" + w) + "_") + toString(V)), toString(q)), IntegerEntry(((("Call_Amount_" + w) + "_") + toString(V)), x.amount), StringEntry(((("Call_Start_End_" + w) + "_") + toString(V)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Calls", R), IntegerEntry(("Total_Calls_" + toString(F)), T), IntegerEntry((w + "_Total_Calls"), V), IntegerEntry(((w + "_Total_Calls_") + toString(F)), X)] | |
115 | + | then throw((x + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
116 | + | else if ((lastBlock.timestamp >= C)) | |
117 | + | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
118 | + | else if ((i > m)) | |
119 | + | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
120 | + | else if ((m > j)) | |
121 | + | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
122 | + | else if ((0 > A)) | |
123 | + | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
124 | + | else [StringEntry(("User_ID_" + x), o), IntegerEntry(((c + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Call_" + x) + "_") + toString(V)), toString(r)), IntegerEntry(((("Call_Amount_" + x) + "_") + toString(V)), m), StringEntry(((("Call_Start_End_" + x) + "_") + toString(V)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", s), IntegerEntry("Put_Limits", t), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Calls", R), IntegerEntry(("Total_Calls_" + toString(F)), T), IntegerEntry((x + "_Total_Calls"), V), IntegerEntry(((x + "_Total_Calls_") + toString(F)), X)] | |
130 | 125 | } | |
131 | 126 | ||
132 | 127 | ||
133 | 128 | ||
134 | 129 | @Callable(k) | |
135 | - | func placeoptionPut (l,m,n,o,p,q,r,s,t,u,v) = { | |
136 | - | let w = toBase58String(k.caller.bytes) | |
137 | - | let x = if ((size(k.payments) == 1)) | |
138 | - | then k.payments[0] | |
139 | - | else throw(e) | |
140 | - | let y = getString(this, ("addr_BLACKLISTED_" + w)) | |
141 | - | let z = getIntegerValue(((c + "_") + o)) | |
142 | - | let A = ((z - x.amount) - h) | |
143 | - | let B = u | |
144 | - | let C = v | |
130 | + | func placeoptionPut (l,m,n,o,p,q,r,s,t,u,v,w) = { | |
131 | + | let x = toBase58String(k.caller.bytes) | |
132 | + | let y = getString(this, ("addr_BLACKLISTED_" + x)) | |
133 | + | let z = getIntegerValue(((c + "_") + p)) | |
134 | + | let A = ((z - m) - h) | |
135 | + | let B = v | |
136 | + | let C = w | |
145 | 137 | let D = l | |
146 | - | let E = (D + | |
147 | - | let F = | |
138 | + | let E = (D + m) | |
139 | + | let F = n | |
148 | 140 | let G = 1 | |
149 | 141 | let H = (F + G) | |
150 | 142 | let I = { | |
166 | 158 | } | |
167 | 159 | else 0 | |
168 | 160 | } | |
169 | - | let N = (M + | |
161 | + | let N = (M + m) | |
170 | 162 | let O = { | |
171 | 163 | let J = getInteger(this, ("Total_Option_Orders_" + toString(F))) | |
172 | 164 | if ($isInstanceOf(J, "Int")) | |
198 | 190 | } | |
199 | 191 | let ac = (ab + 1) | |
200 | 192 | let ad = { | |
201 | - | let J = getInteger(this, ( | |
193 | + | let J = getInteger(this, (x + "_Total_Puts")) | |
202 | 194 | if ($isInstanceOf(J, "Int")) | |
203 | 195 | then { | |
204 | 196 | let K = J | |
208 | 200 | } | |
209 | 201 | let ae = (ad + 1) | |
210 | 202 | let af = { | |
211 | - | let J = getInteger(this, (( | |
203 | + | let J = getInteger(this, ((x + "_Total_Puts_") + toString(F))) | |
212 | 204 | if ($isInstanceOf(J, "Int")) | |
213 | 205 | then { | |
214 | 206 | let K = J | |
217 | 209 | else 0 | |
218 | 210 | } | |
219 | 211 | let ag = (af + 1) | |
220 | - | let Y = | |
212 | + | let Y = q | |
221 | 213 | if ((k.caller != g)) | |
222 | 214 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
223 | 215 | else if ((b > lastBlock.timestamp)) | |
224 | 216 | then throw((d + toString(b))) | |
225 | - | else if (( | |
217 | + | else if ((u == "CLOSE")) | |
226 | 218 | then throw(f) | |
227 | 219 | else if ((y == "Yes")) | |
228 | - | then throw((w + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
229 | - | else if (isDefined(x.assetId)) | |
230 | - | then throw("Only WAVES is allowed to deposit at the moment") | |
231 | - | else if ((lastBlock.timestamp >= C)) | |
232 | - | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
233 | - | else if ((i > x.amount)) | |
234 | - | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
235 | - | else if ((x.amount > j)) | |
236 | - | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
237 | - | else if ((0 > A)) | |
238 | - | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
239 | - | else [StringEntry(("User_ID_" + w), n), IntegerEntry(((c + "_") + o), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Put_" + w) + "_") + toString(ae)), toString(q)), IntegerEntry(((("Put_Amount_" + w) + "_") + toString(ae)), x.amount), StringEntry(((("Put_Start_End_" + w) + "_") + toString(ae)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Puts", aa), IntegerEntry(("Total_Puts_" + toString(F)), ac), IntegerEntry((w + "_Total_Puts"), ae), IntegerEntry(((w + "_Total_Puts_") + toString(F)), ag)] | |
220 | + | then throw((x + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
221 | + | else if ((lastBlock.timestamp >= C)) | |
222 | + | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
223 | + | else if ((i > m)) | |
224 | + | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
225 | + | else if ((m > j)) | |
226 | + | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
227 | + | else if ((0 > A)) | |
228 | + | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
229 | + | else [StringEntry(("User_ID_" + x), o), IntegerEntry(((c + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Put_" + x) + "_") + toString(ae)), toString(r)), IntegerEntry(((("Put_Amount_" + x) + "_") + toString(ae)), m), StringEntry(((("Put_Start_End_" + x) + "_") + toString(ae)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", s), IntegerEntry("Put_Limits", t), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Puts", aa), IntegerEntry(("Total_Puts_" + toString(F)), ac), IntegerEntry((x + "_Total_Puts"), ae), IntegerEntry(((x + "_Total_Puts_") + toString(F)), ag)] | |
240 | 230 | } | |
241 | 231 | ||
242 | 232 | ||
243 | 233 | ||
244 | 234 | @Callable(k) | |
245 | 235 | func DepositUserFunds () = { | |
246 | - | let | |
247 | - | let | |
236 | + | let x = toBase58String(k.caller.bytes) | |
237 | + | let ah = if ((size(k.payments) == 1)) | |
248 | 238 | then k.payments[0] | |
249 | 239 | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") | |
250 | - | let y = getString(this, ("addr_BLACKLISTED_" + | |
251 | - | let | |
252 | - | let J = getInteger(this, ((c + "_") + | |
240 | + | let y = getString(this, ("addr_BLACKLISTED_" + x)) | |
241 | + | let ai = { | |
242 | + | let J = getInteger(this, ((c + "_") + x)) | |
253 | 243 | if ($isInstanceOf(J, "Int")) | |
254 | 244 | then { | |
255 | 245 | let K = J | |
257 | 247 | } | |
258 | 248 | else 0 | |
259 | 249 | } | |
260 | - | let | |
261 | - | let | |
250 | + | let aj = (ai + ah.amount) | |
251 | + | let ak = { | |
262 | 252 | let J = getInteger(this, "Deposit_Counter_ID") | |
263 | 253 | if ($isInstanceOf(J, "Int")) | |
264 | 254 | then { | |
267 | 257 | } | |
268 | 258 | else 0 | |
269 | 259 | } | |
270 | - | let | |
260 | + | let al = (ak + 1) | |
271 | 261 | if ((b > lastBlock.timestamp)) | |
272 | 262 | then throw((d + toString(b))) | |
273 | 263 | else if ((y == "Yes")) | |
274 | - | then throw(( | |
275 | - | else if (isDefined( | |
264 | + | then throw((x + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
265 | + | else if (isDefined(ah.assetId)) | |
276 | 266 | then throw("Only WAVES is allowed to deposit at the moment") | |
277 | - | else [IntegerEntry(((c + "_") + | |
267 | + | else [IntegerEntry(((c + "_") + x), aj), IntegerEntry(((((toString(al) + "_") + c) + "_") + x), ah.amount), IntegerEntry("Deposit_Counter_ID", al)] | |
278 | 268 | } | |
279 | 269 | ||
280 | 270 | ||
281 | 271 | ||
282 | 272 | @Callable(k) | |
283 | - | func BlackListAddress ( | |
284 | - | let y = getString(this, ("addr_BLACKLISTED_" + | |
285 | - | let | |
273 | + | func BlackListAddress (am) = { | |
274 | + | let y = getString(this, ("addr_BLACKLISTED_" + am)) | |
275 | + | let an = { | |
286 | 276 | let J = getInteger(this, "Total_Black_Listed_Address") | |
287 | 277 | if ($isInstanceOf(J, "Int")) | |
288 | 278 | then { | |
291 | 281 | } | |
292 | 282 | else 0 | |
293 | 283 | } | |
294 | - | let | |
284 | + | let ao = (an + 1) | |
295 | 285 | if ((b > lastBlock.timestamp)) | |
296 | 286 | then throw((d + toString(b))) | |
297 | 287 | else if ((k.caller != g)) | |
298 | 288 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
299 | 289 | else if ((y == "Yes")) | |
300 | 290 | then throw("Address is already available in Blacklist.") | |
301 | - | else [StringEntry(("addr_BLACKLISTED_" + | |
291 | + | else [StringEntry(("addr_BLACKLISTED_" + am), "Yes"), IntegerEntry("Total_Black_Listed_Address", ao)] | |
302 | 292 | } | |
303 | 293 | ||
304 | 294 | ||
305 | 295 | ||
306 | 296 | @Callable(k) | |
307 | - | func DeleteBlackListAddress ( | |
308 | - | let y = getString(this, ("addr_BLACKLISTED_" + | |
309 | - | let | |
297 | + | func DeleteBlackListAddress (am) = { | |
298 | + | let y = getString(this, ("addr_BLACKLISTED_" + am)) | |
299 | + | let an = { | |
310 | 300 | let J = getInteger(this, "Total_Black_Listed_Address") | |
311 | 301 | if ($isInstanceOf(J, "Int")) | |
312 | 302 | then { | |
315 | 305 | } | |
316 | 306 | else 0 | |
317 | 307 | } | |
318 | - | let | |
308 | + | let ao = (an - 1) | |
319 | 309 | if ((b > lastBlock.timestamp)) | |
320 | 310 | then throw(("Product Launch Timestamp is set at " + toString(b))) | |
321 | 311 | else if ((k.caller != g)) | |
322 | 312 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
323 | 313 | else if ((y == "Yes")) | |
324 | - | then [DeleteEntry(("addr_BLACKLISTED_" + | |
314 | + | then [DeleteEntry(("addr_BLACKLISTED_" + am)), IntegerEntry("Total_Black_Listed_Address", ao)] | |
325 | 315 | else throw("Address is not available in Blacklist.") | |
326 | 316 | } | |
327 | 317 | ||
328 | 318 | ||
329 | 319 | ||
330 | 320 | @Callable(k) | |
331 | - | func DelEntry ( | |
321 | + | func DelEntry (ap,aq,ar,as,at) = [DeleteEntry(ap), DeleteEntry(aq), DeleteEntry(ar), DeleteEntry(as), DeleteEntry(at)] | |
332 | 322 | ||
333 | 323 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'BmV3aPhqkjNgu3zD3rx1oaWTnPqgB8uRBQuvYjpYWtTu' | |
5 | 5 | ||
6 | 6 | let b = 1675209600000 | |
7 | 7 | ||
8 | 8 | let c = "WAVES" | |
9 | 9 | ||
10 | 10 | let d = "Product Launch Timestamp is set at " | |
11 | 11 | ||
12 | 12 | let e = "No payment attached, Please Attach Token in payment[1]." | |
13 | 13 | ||
14 | 14 | let f = "Oracle is closed. Wait Until Oracle is Turned On." | |
15 | 15 | ||
16 | 16 | let g = addressFromPublicKey(a) | |
17 | 17 | ||
18 | 18 | let h = 900000 | |
19 | 19 | ||
20 | 20 | let i = 10000000 | |
21 | 21 | ||
22 | 22 | let j = 10000000000 | |
23 | 23 | ||
24 | 24 | @Callable(k) | |
25 | - | func placeoptionCall (l,m,n,o,p,q,r,s,t,u,v) = { | |
26 | - | let w = toBase58String(k.caller.bytes) | |
27 | - | let x = if ((size(k.payments) == 1)) | |
28 | - | then k.payments[0] | |
29 | - | else throw(e) | |
30 | - | let y = getString(this, ("addr_BLACKLISTED_" + w)) | |
31 | - | let z = getIntegerValue(((c + "_") + o)) | |
32 | - | let A = ((z - x.amount) - h) | |
33 | - | let B = u | |
34 | - | let C = v | |
25 | + | func placeoptionCall (l,m,n,o,p,q,r,s,t,u,v,w) = { | |
26 | + | let x = toBase58String(k.caller.bytes) | |
27 | + | let y = getString(this, ("addr_BLACKLISTED_" + x)) | |
28 | + | let z = getIntegerValue(((c + "_") + p)) | |
29 | + | let A = ((z - m) - h) | |
30 | + | let B = v | |
31 | + | let C = w | |
35 | 32 | let D = l | |
36 | - | let E = (D + | |
37 | - | let F = | |
33 | + | let E = (D + m) | |
34 | + | let F = n | |
38 | 35 | let G = 1 | |
39 | 36 | let H = (F + G) | |
40 | 37 | let I = { | |
41 | 38 | let J = getInteger(this, "Total_Option_Orders") | |
42 | 39 | if ($isInstanceOf(J, "Int")) | |
43 | 40 | then { | |
44 | 41 | let K = J | |
45 | 42 | K | |
46 | 43 | } | |
47 | 44 | else 0 | |
48 | 45 | } | |
49 | 46 | let L = (I + 1) | |
50 | 47 | let M = { | |
51 | 48 | let J = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(F))) | |
52 | 49 | if ($isInstanceOf(J, "Int")) | |
53 | 50 | then { | |
54 | 51 | let K = J | |
55 | 52 | K | |
56 | 53 | } | |
57 | 54 | else 0 | |
58 | 55 | } | |
59 | - | let N = (M + | |
56 | + | let N = (M + m) | |
60 | 57 | let O = { | |
61 | 58 | let J = getInteger(this, ("Total_Option_Orders_" + toString(F))) | |
62 | 59 | if ($isInstanceOf(J, "Int")) | |
63 | 60 | then { | |
64 | 61 | let K = J | |
65 | 62 | K | |
66 | 63 | } | |
67 | 64 | else 0 | |
68 | 65 | } | |
69 | 66 | let P = (O + 1) | |
70 | 67 | let Q = { | |
71 | 68 | let J = getInteger(this, "Total_Calls") | |
72 | 69 | if ($isInstanceOf(J, "Int")) | |
73 | 70 | then { | |
74 | 71 | let K = J | |
75 | 72 | K | |
76 | 73 | } | |
77 | 74 | else 0 | |
78 | 75 | } | |
79 | 76 | let R = (Q + 1) | |
80 | 77 | let S = { | |
81 | 78 | let J = getInteger(this, ("Total_Calls_" + toString(F))) | |
82 | 79 | if ($isInstanceOf(J, "Int")) | |
83 | 80 | then { | |
84 | 81 | let K = J | |
85 | 82 | K | |
86 | 83 | } | |
87 | 84 | else 0 | |
88 | 85 | } | |
89 | 86 | let T = (S + 1) | |
90 | 87 | let U = { | |
91 | - | let J = getInteger(this, ( | |
88 | + | let J = getInteger(this, (x + "_Total_Calls")) | |
92 | 89 | if ($isInstanceOf(J, "Int")) | |
93 | 90 | then { | |
94 | 91 | let K = J | |
95 | 92 | K | |
96 | 93 | } | |
97 | 94 | else 0 | |
98 | 95 | } | |
99 | 96 | let V = (U + 1) | |
100 | 97 | let W = { | |
101 | - | let J = getInteger(this, (( | |
98 | + | let J = getInteger(this, ((x + "_Total_Calls_") + toString(F))) | |
102 | 99 | if ($isInstanceOf(J, "Int")) | |
103 | 100 | then { | |
104 | 101 | let K = J | |
105 | 102 | K | |
106 | 103 | } | |
107 | 104 | else 0 | |
108 | 105 | } | |
109 | 106 | let X = (W + 1) | |
110 | - | let Y = | |
107 | + | let Y = q | |
111 | 108 | if ((k.caller != g)) | |
112 | 109 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
113 | 110 | else if ((b > lastBlock.timestamp)) | |
114 | 111 | then throw((d + toString(b))) | |
115 | - | else if (( | |
112 | + | else if ((u == "CLOSE")) | |
116 | 113 | then throw(f) | |
117 | 114 | else if ((y == "Yes")) | |
118 | - | then throw((w + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
119 | - | else if (isDefined(x.assetId)) | |
120 | - | then throw("Only WAVES is allowed to deposit at the moment") | |
121 | - | else if ((lastBlock.timestamp >= C)) | |
122 | - | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
123 | - | else if ((i > x.amount)) | |
124 | - | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
125 | - | else if ((x.amount > j)) | |
126 | - | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
127 | - | else if ((0 > A)) | |
128 | - | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
129 | - | else [StringEntry(("User_ID_" + w), n), IntegerEntry(((c + "_") + o), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Call_" + w) + "_") + toString(V)), toString(q)), IntegerEntry(((("Call_Amount_" + w) + "_") + toString(V)), x.amount), StringEntry(((("Call_Start_End_" + w) + "_") + toString(V)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Calls", R), IntegerEntry(("Total_Calls_" + toString(F)), T), IntegerEntry((w + "_Total_Calls"), V), IntegerEntry(((w + "_Total_Calls_") + toString(F)), X)] | |
115 | + | then throw((x + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
116 | + | else if ((lastBlock.timestamp >= C)) | |
117 | + | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
118 | + | else if ((i > m)) | |
119 | + | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
120 | + | else if ((m > j)) | |
121 | + | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
122 | + | else if ((0 > A)) | |
123 | + | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
124 | + | else [StringEntry(("User_ID_" + x), o), IntegerEntry(((c + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Call_" + x) + "_") + toString(V)), toString(r)), IntegerEntry(((("Call_Amount_" + x) + "_") + toString(V)), m), StringEntry(((("Call_Start_End_" + x) + "_") + toString(V)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", s), IntegerEntry("Put_Limits", t), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Calls", R), IntegerEntry(("Total_Calls_" + toString(F)), T), IntegerEntry((x + "_Total_Calls"), V), IntegerEntry(((x + "_Total_Calls_") + toString(F)), X)] | |
130 | 125 | } | |
131 | 126 | ||
132 | 127 | ||
133 | 128 | ||
134 | 129 | @Callable(k) | |
135 | - | func placeoptionPut (l,m,n,o,p,q,r,s,t,u,v) = { | |
136 | - | let w = toBase58String(k.caller.bytes) | |
137 | - | let x = if ((size(k.payments) == 1)) | |
138 | - | then k.payments[0] | |
139 | - | else throw(e) | |
140 | - | let y = getString(this, ("addr_BLACKLISTED_" + w)) | |
141 | - | let z = getIntegerValue(((c + "_") + o)) | |
142 | - | let A = ((z - x.amount) - h) | |
143 | - | let B = u | |
144 | - | let C = v | |
130 | + | func placeoptionPut (l,m,n,o,p,q,r,s,t,u,v,w) = { | |
131 | + | let x = toBase58String(k.caller.bytes) | |
132 | + | let y = getString(this, ("addr_BLACKLISTED_" + x)) | |
133 | + | let z = getIntegerValue(((c + "_") + p)) | |
134 | + | let A = ((z - m) - h) | |
135 | + | let B = v | |
136 | + | let C = w | |
145 | 137 | let D = l | |
146 | - | let E = (D + | |
147 | - | let F = | |
138 | + | let E = (D + m) | |
139 | + | let F = n | |
148 | 140 | let G = 1 | |
149 | 141 | let H = (F + G) | |
150 | 142 | let I = { | |
151 | 143 | let J = getInteger(this, "Total_Option_Orders") | |
152 | 144 | if ($isInstanceOf(J, "Int")) | |
153 | 145 | then { | |
154 | 146 | let K = J | |
155 | 147 | K | |
156 | 148 | } | |
157 | 149 | else 0 | |
158 | 150 | } | |
159 | 151 | let L = (I + 1) | |
160 | 152 | let M = { | |
161 | 153 | let J = getInteger(this, ("Total_Funds_Added_In_Option_Order_" + toString(F))) | |
162 | 154 | if ($isInstanceOf(J, "Int")) | |
163 | 155 | then { | |
164 | 156 | let K = J | |
165 | 157 | K | |
166 | 158 | } | |
167 | 159 | else 0 | |
168 | 160 | } | |
169 | - | let N = (M + | |
161 | + | let N = (M + m) | |
170 | 162 | let O = { | |
171 | 163 | let J = getInteger(this, ("Total_Option_Orders_" + toString(F))) | |
172 | 164 | if ($isInstanceOf(J, "Int")) | |
173 | 165 | then { | |
174 | 166 | let K = J | |
175 | 167 | K | |
176 | 168 | } | |
177 | 169 | else 0 | |
178 | 170 | } | |
179 | 171 | let P = (O + 1) | |
180 | 172 | let Z = { | |
181 | 173 | let J = getInteger(this, "Total_Puts") | |
182 | 174 | if ($isInstanceOf(J, "Int")) | |
183 | 175 | then { | |
184 | 176 | let K = J | |
185 | 177 | K | |
186 | 178 | } | |
187 | 179 | else 0 | |
188 | 180 | } | |
189 | 181 | let aa = (Z + 1) | |
190 | 182 | let ab = { | |
191 | 183 | let J = getInteger(this, ("Total_Puts_" + toString(F))) | |
192 | 184 | if ($isInstanceOf(J, "Int")) | |
193 | 185 | then { | |
194 | 186 | let K = J | |
195 | 187 | K | |
196 | 188 | } | |
197 | 189 | else 0 | |
198 | 190 | } | |
199 | 191 | let ac = (ab + 1) | |
200 | 192 | let ad = { | |
201 | - | let J = getInteger(this, ( | |
193 | + | let J = getInteger(this, (x + "_Total_Puts")) | |
202 | 194 | if ($isInstanceOf(J, "Int")) | |
203 | 195 | then { | |
204 | 196 | let K = J | |
205 | 197 | K | |
206 | 198 | } | |
207 | 199 | else 0 | |
208 | 200 | } | |
209 | 201 | let ae = (ad + 1) | |
210 | 202 | let af = { | |
211 | - | let J = getInteger(this, (( | |
203 | + | let J = getInteger(this, ((x + "_Total_Puts_") + toString(F))) | |
212 | 204 | if ($isInstanceOf(J, "Int")) | |
213 | 205 | then { | |
214 | 206 | let K = J | |
215 | 207 | K | |
216 | 208 | } | |
217 | 209 | else 0 | |
218 | 210 | } | |
219 | 211 | let ag = (af + 1) | |
220 | - | let Y = | |
212 | + | let Y = q | |
221 | 213 | if ((k.caller != g)) | |
222 | 214 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
223 | 215 | else if ((b > lastBlock.timestamp)) | |
224 | 216 | then throw((d + toString(b))) | |
225 | - | else if (( | |
217 | + | else if ((u == "CLOSE")) | |
226 | 218 | then throw(f) | |
227 | 219 | else if ((y == "Yes")) | |
228 | - | then throw((w + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
229 | - | else if (isDefined(x.assetId)) | |
230 | - | then throw("Only WAVES is allowed to deposit at the moment") | |
231 | - | else if ((lastBlock.timestamp >= C)) | |
232 | - | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
233 | - | else if ((i > x.amount)) | |
234 | - | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
235 | - | else if ((x.amount > j)) | |
236 | - | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
237 | - | else if ((0 > A)) | |
238 | - | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
239 | - | else [StringEntry(("User_ID_" + w), n), IntegerEntry(((c + "_") + o), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Put_" + w) + "_") + toString(ae)), toString(q)), IntegerEntry(((("Put_Amount_" + w) + "_") + toString(ae)), x.amount), StringEntry(((("Put_Start_End_" + w) + "_") + toString(ae)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", r), IntegerEntry("Put_Limits", s), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Puts", aa), IntegerEntry(("Total_Puts_" + toString(F)), ac), IntegerEntry((w + "_Total_Puts"), ae), IntegerEntry(((w + "_Total_Puts_") + toString(F)), ag)] | |
220 | + | then throw((x + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
221 | + | else if ((lastBlock.timestamp >= C)) | |
222 | + | then throw("Option Order placing Timing Limits are Over. Please Join in Next Cycle.") | |
223 | + | else if ((i > m)) | |
224 | + | then throw((("Placed Order Size is less than [" + toString(i)) + "/10^8] WAVES.")) | |
225 | + | else if ((m > j)) | |
226 | + | then throw((("Placed Order Size is more than [" + toString(j)) + "/10^8] WAVES.")) | |
227 | + | else if ((0 > A)) | |
228 | + | then throw("Placed Order Amount is going negative. Please reduce the Order Size.") | |
229 | + | else [StringEntry(("User_ID_" + x), o), IntegerEntry(((c + "_") + p), A), IntegerEntry("Network_Fee_To_Place_Order", h), StringEntry(((("Put_" + x) + "_") + toString(ae)), toString(r)), IntegerEntry(((("Put_Amount_" + x) + "_") + toString(ae)), m), StringEntry(((("Put_Start_End_" + x) + "_") + toString(ae)), ((toString(F) + "_") + toString(H))), IntegerEntry("Total_Option_Orders", L), IntegerEntry(("Total_Funds_Added_In_Option_Order_" + toString(F)), N), IntegerEntry("Total_Pool_Liquidity", E), IntegerEntry(("Funds_At_Risk_" + toString(F)), Y), IntegerEntry("Call_Limits", s), IntegerEntry("Put_Limits", t), IntegerEntry(("Total_Option_Orders_" + toString(F)), P), IntegerEntry("Total_Puts", aa), IntegerEntry(("Total_Puts_" + toString(F)), ac), IntegerEntry((x + "_Total_Puts"), ae), IntegerEntry(((x + "_Total_Puts_") + toString(F)), ag)] | |
240 | 230 | } | |
241 | 231 | ||
242 | 232 | ||
243 | 233 | ||
244 | 234 | @Callable(k) | |
245 | 235 | func DepositUserFunds () = { | |
246 | - | let | |
247 | - | let | |
236 | + | let x = toBase58String(k.caller.bytes) | |
237 | + | let ah = if ((size(k.payments) == 1)) | |
248 | 238 | then k.payments[0] | |
249 | 239 | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") | |
250 | - | let y = getString(this, ("addr_BLACKLISTED_" + | |
251 | - | let | |
252 | - | let J = getInteger(this, ((c + "_") + | |
240 | + | let y = getString(this, ("addr_BLACKLISTED_" + x)) | |
241 | + | let ai = { | |
242 | + | let J = getInteger(this, ((c + "_") + x)) | |
253 | 243 | if ($isInstanceOf(J, "Int")) | |
254 | 244 | then { | |
255 | 245 | let K = J | |
256 | 246 | K | |
257 | 247 | } | |
258 | 248 | else 0 | |
259 | 249 | } | |
260 | - | let | |
261 | - | let | |
250 | + | let aj = (ai + ah.amount) | |
251 | + | let ak = { | |
262 | 252 | let J = getInteger(this, "Deposit_Counter_ID") | |
263 | 253 | if ($isInstanceOf(J, "Int")) | |
264 | 254 | then { | |
265 | 255 | let K = J | |
266 | 256 | K | |
267 | 257 | } | |
268 | 258 | else 0 | |
269 | 259 | } | |
270 | - | let | |
260 | + | let al = (ak + 1) | |
271 | 261 | if ((b > lastBlock.timestamp)) | |
272 | 262 | then throw((d + toString(b))) | |
273 | 263 | else if ((y == "Yes")) | |
274 | - | then throw(( | |
275 | - | else if (isDefined( | |
264 | + | then throw((x + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
265 | + | else if (isDefined(ah.assetId)) | |
276 | 266 | then throw("Only WAVES is allowed to deposit at the moment") | |
277 | - | else [IntegerEntry(((c + "_") + | |
267 | + | else [IntegerEntry(((c + "_") + x), aj), IntegerEntry(((((toString(al) + "_") + c) + "_") + x), ah.amount), IntegerEntry("Deposit_Counter_ID", al)] | |
278 | 268 | } | |
279 | 269 | ||
280 | 270 | ||
281 | 271 | ||
282 | 272 | @Callable(k) | |
283 | - | func BlackListAddress ( | |
284 | - | let y = getString(this, ("addr_BLACKLISTED_" + | |
285 | - | let | |
273 | + | func BlackListAddress (am) = { | |
274 | + | let y = getString(this, ("addr_BLACKLISTED_" + am)) | |
275 | + | let an = { | |
286 | 276 | let J = getInteger(this, "Total_Black_Listed_Address") | |
287 | 277 | if ($isInstanceOf(J, "Int")) | |
288 | 278 | then { | |
289 | 279 | let K = J | |
290 | 280 | K | |
291 | 281 | } | |
292 | 282 | else 0 | |
293 | 283 | } | |
294 | - | let | |
284 | + | let ao = (an + 1) | |
295 | 285 | if ((b > lastBlock.timestamp)) | |
296 | 286 | then throw((d + toString(b))) | |
297 | 287 | else if ((k.caller != g)) | |
298 | 288 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
299 | 289 | else if ((y == "Yes")) | |
300 | 290 | then throw("Address is already available in Blacklist.") | |
301 | - | else [StringEntry(("addr_BLACKLISTED_" + | |
291 | + | else [StringEntry(("addr_BLACKLISTED_" + am), "Yes"), IntegerEntry("Total_Black_Listed_Address", ao)] | |
302 | 292 | } | |
303 | 293 | ||
304 | 294 | ||
305 | 295 | ||
306 | 296 | @Callable(k) | |
307 | - | func DeleteBlackListAddress ( | |
308 | - | let y = getString(this, ("addr_BLACKLISTED_" + | |
309 | - | let | |
297 | + | func DeleteBlackListAddress (am) = { | |
298 | + | let y = getString(this, ("addr_BLACKLISTED_" + am)) | |
299 | + | let an = { | |
310 | 300 | let J = getInteger(this, "Total_Black_Listed_Address") | |
311 | 301 | if ($isInstanceOf(J, "Int")) | |
312 | 302 | then { | |
313 | 303 | let K = J | |
314 | 304 | K | |
315 | 305 | } | |
316 | 306 | else 0 | |
317 | 307 | } | |
318 | - | let | |
308 | + | let ao = (an - 1) | |
319 | 309 | if ((b > lastBlock.timestamp)) | |
320 | 310 | then throw(("Product Launch Timestamp is set at " + toString(b))) | |
321 | 311 | else if ((k.caller != g)) | |
322 | 312 | then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it.")) | |
323 | 313 | else if ((y == "Yes")) | |
324 | - | then [DeleteEntry(("addr_BLACKLISTED_" + | |
314 | + | then [DeleteEntry(("addr_BLACKLISTED_" + am)), IntegerEntry("Total_Black_Listed_Address", ao)] | |
325 | 315 | else throw("Address is not available in Blacklist.") | |
326 | 316 | } | |
327 | 317 | ||
328 | 318 | ||
329 | 319 | ||
330 | 320 | @Callable(k) | |
331 | - | func DelEntry ( | |
321 | + | func DelEntry (ap,aq,ar,as,at) = [DeleteEntry(ap), DeleteEntry(aq), DeleteEntry(ar), DeleteEntry(as), DeleteEntry(at)] | |
332 | 322 | ||
333 | 323 |
github/deemru/w8io/026f985 66.24 ms ◑