tx · SGheaLWpV8LqBGKJMgdmJoKw8mHDLR4BhvfihARgrdi

3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv:  -0.01600000 Waves

2024.11.05 01:22 [3357318] smart account 3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv > SELF 0.00000000 Waves

{ "type": 13, "id": "SGheaLWpV8LqBGKJMgdmJoKw8mHDLR4BhvfihARgrdi", "fee": 1600000, "feeAssetId": null, "timestamp": 1730758958224, "version": 2, "chainId": 84, "sender": "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv", "senderPublicKey": "2fNSk5gmWbXBDTkSYSKd66xSgVvAYzrJnP9YSAFNvTwC", "proofs": [ "5YbmBKZ39robjAVBUmcm8eWaKPaKsvove4pYzQywwmp5w5YLCZ96YSnurXuk4mqS2PHtgsmEwzsm9oQVd4Wbftbw" ], "script": "base64:BgIbCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIagADU0VQAgJfXwAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFmRlZmF1bHRSZXN0MkFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQRndZdGE4YmlFejMxenBlRmU1REpLOHdFNXRyU3BRVkY4AwkAAAIBAVQFByRtYXRjaDACIzNON1V1WWFyNjI2NFA1OEZCaFZXS1BRQWg0WXVhMmhnbmd2CQACAQINVW5rbm93biBjaGFpbgAVb2xkU3Rha2luZ0NvbnRyYWN0U3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUExuY1h0UzFVODNENmNRYkZEM0g4ckJIUExnenhTRktaMQMJAAACAQFUBQckbWF0Y2gwAiMzTkRDeUJHNXE4NUp1YVJpaWdVZUV0YWlueWpDUVQzWHBabQkAAgECDVVua25vd24gY2hhaW4BD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABBJZHhDZmdBY3JlczJEYXBwAAEADUlkeENmZ1dsZ0RhcHAAAgAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABAAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABQEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ9rZXlSZXN0MkFkZHJlc3MAAg0lc19fcmVzdDJBZGRyARFyZWFkUmVzdENmZ09yRmFpbAEEcmVzdAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUEcmVzdAkBCmtleVJlc3RDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIIcmVzdDJDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQhyZXN0MkNmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADXJlc3QyQ29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBD2tleVJlc3QyQWRkcmVzcwAFFmRlZmF1bHRSZXN0MkFkZHJlc3NTdHIACHJlc3QyQ2ZnCQERcmVhZFJlc3RDZmdPckZhaWwBBQ1yZXN0MkNvbnRyYWN0AA5hY3JlczJDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRBJZHhDZmdBY3JlczJEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBQ1JZHhDZmdXbGdEYXBwABJwdXp6bGVQb29sQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUUSWR4Q2ZnUHV6emxlUG9vbERhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAATb2xkQWNyZXNDb250cmFjdEtleQIQb2xkQWNyZXNDb250cmFjdAERa2V5TGFzdFR4SWRCeVVzZXIBBGFkZHIJAKwCAgIPbGFzdFR4SWRCeVVzZXJfBQRhZGRyAA13bGdBc3NldElkS2V5Agt3bGdfYXNzZXRJZAAKd2xnQXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFC3dsZ0NvbnRyYWN0BQ13bGdBc3NldElkS2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQAD2FjcmVzQXNzZXRJZEtleQIMYWNyZXNBc3NldElkAAxhY3Jlc0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQ5hY3JlczJDb250cmFjdAUPYWNyZXNBc3NldElkS2V5AhdBQ1JFUyBpcyBub3QgaXNzdWVkIHlldAEUa2V5U3Rha2VkRHVja0J5T3duZXIBCW93bmVyQWRkcgkArAICAhJzdGFrZWREdWNrQnlPd25lcl8FCW93bmVyQWRkcgEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEEYWRkcgkArAICAhhhY2NvdW50Q3VzdG9tTmFtZUJ5QWRkcl8FBGFkZHIBD2tleUFkZHJlc3NSZWZCeQEEYWRkcgkArAICAglhY2NSZWZCeV8FBGFkZHIBE2tleUFkZHJlc3NSZWZlcnJhbHMBBGFkZHIJAKwCAgINYWNjUmVmZXJyYWxzXwUEYWRkcgEMYXNUdXBsZTRJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAhQoSW50LCBJbnQsIEludCwgSW50KQQBdAUHJG1hdGNoMAUBdAkAAgECJmZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCwgSW50LCBJbnQpAQxhc1R1cGxlM0ludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACDyhJbnQsIEludCwgSW50KQQBdAUHJG1hdGNoMAUBdAkAAgECIWZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCwgSW50KQEMYXNUdXBsZTJJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgooSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQIcZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50KQADTTZfAMCEPQADTThfAIDC1y8AClRFQU1fU0hBUkUAwJoMAA5BQ1RJVklUWV9TSEFSRQCgjQYADFBMQVlFUl9TSEFSRQCAtRgAC1lFQVJfTUlMTElTAICG68d1AAZEQVlfTVMAgLiZKQAKREFZX0JMT0NLUwCgCwAHSVNTVUUxMACAlOvcAwAPUExBWUVSUzEwX1NIQVJFAIDqMAARTUFSS0VUSU5HMTBfU0hBUkUAoI0GAAxURUFNMTBfU0hBUkUAoI0GABFORVdfU1RBS0lOR19TVEFSVACA2IGrpDIACnRlYW1BZHJLZXkCCHRlYW1BZGRyAA5sYXN0VGVhbVRpbUtleQIUbGFzdENsYWltZWRUaW1lX3RlYW0ADnRlYW1BbXRMZWZ0S2V5Ag50ZWFtQW1vdW50TGVmdAAUbGFzdEFjdGl2aXRpZXNUaW1LZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzAA1hY3RBbXRMZWZ0S2V5AhRhY3Rpdml0aWVzQW1vdW50TGVmdAARc3Rha2Vyc0FtdExlZnRLZXkCEXN0YWtlcnNBbW91bnRMZWZ0ARZrZXlMYXN0Q2xhaW1UaW1lQnlVc2VyAQRhZGRyCQCsAgICFGxhc3RDbGFpbWVkVGltZVVzZXJfBQRhZGRyAQ1kaXN0ckJ5UGVyaW9kAgxpc3N1ZWRBbW91bnQGcGVyaW9kCQBrAwUMaXNzdWVkQW1vdW50CQBoAgUMUExBWUVSX1NIQVJFCQBkAgUGcGVyaW9kAAEJAGgCAAYFA002XwARd2xnSXNzdWUxMFRpbWVLZXkCD3dsZ19pc3N1ZTEwVGltZQAOd2xnSXNzdWVUaW1LZXkCDXdsZ19pc3N1ZVRpbWUAD3dsZ0lzc3VlZEFtdEtleQIQd2xnX2lzc3VlZEFtb3VudAAOemJJc3N1ZWRBbXRLZXkCEnpiaWxsX2lzc3VlZEFtb3VudAEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyABR0b3RhbEZhcm1pbmdQb3dlcktleQIRdG90YWxGYXJtaW5nUG93ZXIACWRhcHAyUmVzdAAAAAxkYXBwMlN0YWtpbmcAAQAIZGFwcDJXbGcAAgALZGFwcDJQdXp6bGUAAwAPZGFwcDJJbnZlc3RGdW5kAAQACmxldmVsQWNyZXMJAMwIAgAACQDMCAIACgkAzAgCABQJAMwIAgAoCQDMCAIAUAkAzAgCAJYBCQDMCAIA+gEJAMwIAgCQAwkAzAgCALwFCQDMCAIA6AcFA25pbAEPZ2V0TGV2ZWxCeUFjcmVzAQVhY3JlcwQDYWNyCQBpAgkAZAIFBWFjcmVzAP/B1y8FA004XwoBB2NoZWNrZXICA2FjYwRpdGVtAwkAZwIFBGl0ZW0FA2FjcgUDYWNjCQBkAgUDYWNjAAEKAAIkbAUKbGV2ZWxBY3JlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHY2hlY2tlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEWZ2V0RmFybWluZ1Bvd2VyQnlBY3JlcwEFYWNyZXMJAGgCCQBoAgUFYWNyZXMAFAkAZAIJAQ9nZXRMZXZlbEJ5QWNyZXMBBQVhY3JlcwAEARBnZXRGYXJtaW5nUG93ZXJzAhJ1c2VyQWRkclN0ck9yRW1wdHkOYWNyZXMyQ29udHJhY3QEB3RvdGFsRlAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QFFHRvdGFsRmFybWluZ1Bvd2VyS2V5AAAECXVzZXJBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUSdXNlckFkZHJTdHJPckVtcHR5AAAEBnVzZXJGUAkBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBQl1c2VyQWNyZXMJAMwIAgUHdG90YWxGUAkAzAgCBQZ1c2VyRlAFA25pbAEOa2V5VXNlclRpY2tldHMBBGFkZHIJAKwCAgIMdXNlclRpY2tldHNfBQRhZGRyAA9rZXlUb3RhbFRpY2tldHMCDHRvdGFsVGlja2V0cwEKd2lubmluZ0JldAEDZGF5CQBqAgkAsQkBCQEFdmFsdWUBCAkBBXZhbHVlAQkA7QcBCQBoAgUDZGF5BQpEQVlfQkxPQ0tTA3ZyZgAEAAppZHhUb3RhbEZQAAAACWlkeFVzZXJGUAABAAtpeFdsZ0Ftb3VudAAAAAhpeFdsZ1dsZwABAAppeFdsZ1ByaWNlAAIACml4V2xnRnVuZHMAAwANaXhXbGdBY3Rpdml0eQAEAAtpeFdsZ0FjcmVzMgAFAA5peFdsZ0FyYml0cmFnZQAGAAlpeFdsZ1Bvb2wABwAOaXhXbGdJc3N1ZVRpbWUACAAUaXhXbGdMYXN0VGVhbUFjdFRpbWUACQAOaXhXbGdUZWFtVG90YWwACgAPaXhXbGdUZWFtQW1MZWZ0AAsAE2l4V2xnVGVhbUFtQXZhaWxOb3cADAAPaXhXbGdUZWFtV2xnb2xkAA0ADWl4V2xnQWN0VG90YWwADgAOaXhXbGdBY3RBbUxlZnQADwASaXhXbGdBY3RBbUF2YWlsTm93ABAADml4V2xnQWN0V2xnb2xkABEADml4V2xnQ3VyUGVyaW9kABIAEGl4V2xnQW1MZWZ0VG90YWwAEwAaaXhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24AFAARaXhXbGdMYXN0VXNlclRpbWUAFQAVaXhXbGdJbnZlc3RGdW5kQW1vdW50ABYAE2l4V2xnVXNlckFtQXZhaWxOb3cAFwAQaXhXbGdFZmZVc2VyVGltZQAYABJpeFdsZ0lzc3VlMTBBbW91bnQAGQAbaXhXbGdNYXJrZXRpbmdJc3N1ZTEwQW1vdW50ABoAFml4V2xnVGVhbUlzc3VlMTBBbW91bnQAGwAPaXhXbGdVc2VyMTBwYXJ0ABwAEGl4V2xnSXNzdWUxMFRpbWUAHQEMZ2V0V2xnU3RhdHMyBAt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQMaXNzdWVkQW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ93bGdJc3N1ZWRBbXRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQHcmVzdFVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUJZGFwcDJSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQZ1c2R0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQJcHV6emxlVXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwMlB1enpsZQUGdXNkdElkBAlhY3JlczJVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFDGRhcHAyU3Rha2luZwUGdXNkdElkBBFpbnZlc3RGbmRDb250cmFjdAkAkQMCBQljb250cmFjdHMFD2RhcHAySW52ZXN0RnVuZAQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRFpbnZlc3RGbmRDb250cmFjdAUGdXNkdElkCQELdmFsdWVPckVsc2UCCQCaCAIFEWludmVzdEZuZENvbnRyYWN0BQ56Yklzc3VlZEFtdEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCWFjcmVzMlVzZAUGd2xnVXNkBQ9pbnZlc3RGdW5kVG90YWwEBXdsZ0lkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ53bGdJc3N1ZVRpbUtleQIPTm90IGluaXRpYWxpemVkBAZ3bGdXbGcJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUMaXNzdWVkQW1vdW50BQpURUFNX1NIQVJFBQNNNl8EDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUOdGVhbUFtdExlZnRLZXkFCXRlYW1Ub3RhbAQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUObGFzdFRlYW1UaW1LZXkFCWlzc3VlVGltZQQIdGVhbUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQp0ZWFtQWRyS2V5BBZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCXRlYW1Ub3RhbAkAZQIFA25vdwUMbGFzdFRlYW1UaW1lCQBoAgADBQtZRUFSX01JTExJUwkAzAgCBQ50ZWFtQW1vdW50TGVmdAUDbmlsBAp0ZWFtV2xnb2xkCQDwBwIFCHRlYW1BZGRyBQV3bGdJZAQIYWN0VG90YWwJAGsDBQxpc3N1ZWRBbW91bnQFDkFDVElWSVRZX1NIQVJFBQNNNl8EDWFjdEFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ1hY3RBbXRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUUbGFzdEFjdGl2aXRpZXNUaW1LZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFC1lFQVJfTUlMTElTCQDMCAIFDWFjdEFtb3VudExlZnQFA25pbAQJYWN0V2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQlkYXBwMlJlc3QFBXdsZ0lkBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnCQEWa2V5TGFzdENsYWltVGltZUJ5VXNlcgEFC3VzZXJBZGRyT3B0BQlpc3N1ZVRpbWUEDmxhc3RVc2VyUGVyaW9kCQBpAgkAZQIFDGxhc3RVc2VyVGltZQUJaXNzdWVUaW1lBQtZRUFSX01JTExJUwQKbm93TGltaXRlZAkAlwMBCQDMCAIFA25vdwkAzAgCCQBkAgUJaXNzdWVUaW1lCQBoAgADBQtZRUFSX01JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQtZRUFSX01JTExJUwkAzAgCAAIFA25pbAQDZWZmCQEQZ2V0RmFybWluZ1Bvd2VycwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwUMZGFwcDJTdGFraW5nBBVjdXJQZXJpb2REaXN0cmlidXRpb24JAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50BQljdXJQZXJpb2QEDXByZXZQZXJpb2RFbmQJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwUJY3VyUGVyaW9kBBFwcmV2UHJldlBlcmlvZEVuZAkAZAIFCWlzc3VlVGltZQkAaAIFC1lFQVJfTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQtZRUFSX01JTExJUwQNdXNlckF2YWlsYWJsZQMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kBQJhMAMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABBAJhMQkAawMJAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50CQBlAgUJY3VyUGVyaW9kAAEJAGUCBQ1wcmV2UGVyaW9kRW5kBQxsYXN0VXNlclRpbWUFC1lFQVJfTUlMTElTCQBkAgUCYTEFAmEwBAJhMgkAawMJAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50CQBlAgUJY3VyUGVyaW9kAAIJAGUCBRFwcmV2UHJldlBlcmlvZEVuZAUMbGFzdFVzZXJUaW1lBQtZRUFSX01JTExJUwQCYTEJAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50CQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBkAgUCYTIFAmExBQJhMAQPYW1vdW50TGVmdFRvdGFsCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwURc3Rha2Vyc0FtdExlZnRLZXkAAAQKdXNlckFtb3VudAMJAQIhPQIJAJEDAgUDZWZmBQppZHhUb3RhbEZQAAAJAGsDBQ11c2VyQXZhaWxhYmxlCQCRAwIFA2VmZgUJaWR4VXNlckZQCQCRAwIFA2VmZgUKaWR4VG90YWxGUAAABA9sYXN0SXNzdWUxMFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBRF3bGdJc3N1ZTEwVGltZUtleQURTkVXX1NUQUtJTkdfU1RBUlQEDWlzc3VlMTBBbW91bnQJAGsDBQdJU1NVRTEwCQCWAwEJAMwIAgkAZQIFA25vdwUPbGFzdElzc3VlMTBUaW1lCQDMCAIAAAUDbmlsBQZEQVlfTVMEFm1hcmtldGluZ0lzc3VlMTBBbW91bnQJAGsDBQ1pc3N1ZTEwQW1vdW50BRFNQVJLRVRJTkcxMF9TSEFSRQUDTTZfBBF0ZWFtSXNzdWUxMEFtb3VudAkAawMFDWlzc3VlMTBBbW91bnQFDFRFQU0xMF9TSEFSRQUDTTZfBA51c2VyMTBJbnRlcnZhbAkAlgMBCQDMCAIJAGUCBQNub3cJAJYDAQkAzAgCBRFORVdfU1RBS0lOR19TVEFSVAkAzAgCBQxsYXN0VXNlclRpbWUFA25pbAkAzAgCAAAFA25pbAQKdXNlcjEwcGFydAMJAQIhPQIJAJEDAgUDZWZmBQppZHhUb3RhbEZQAAAJAGsDCQBrAwkAawMFB0lTU1VFMTAFDnVzZXIxMEludGVydmFsBQZEQVlfTVMJAJEDAgUDZWZmBQlpZHhVc2VyRlAJAJEDAgUDZWZmBQppZHhUb3RhbEZQBQ9QTEFZRVJTMTBfU0hBUkUFA002XwAABA5uZXdJc3N1ZTEwVGltZQkAlgMBCQDMCAIFEU5FV19TVEFLSU5HX1NUQVJUCQDMCAIFA25vdwUDbmlsCQDMCAIFDGlzc3VlZEFtb3VudAkAzAgCBQZ3bGdXbGcJAMwIAgkAawMFDXRvdGFsRnVuZHNVc2QFA004XwUMaXNzdWVkQW1vdW50CQDMCAIFDXRvdGFsRnVuZHNVc2QJAMwIAgUHcmVzdFVzZAkAzAgCBQlhY3JlczJVc2QJAMwIAgUGd2xnVXNkCQDMCAIFCXB1enpsZVVzZAkAzAgCBQlpc3N1ZVRpbWUJAMwIAgUMbGFzdFRlYW1UaW1lCQDMCAIFCXRlYW1Ub3RhbAkAzAgCBQ50ZWFtQW1vdW50TGVmdAkAzAgCBRZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCnRlYW1XbGdvbGQJAMwIAgUIYWN0VG90YWwJAMwIAgUNYWN0QW1vdW50TGVmdAkAzAgCBRVhY3RBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUJYWN0V2xnb2xkCQDMCAIFCWN1clBlcmlvZAkAzAgCBQ9hbW91bnRMZWZ0VG90YWwJAMwIAgUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIFDGxhc3RVc2VyVGltZQkAzAgCBQ9pbnZlc3RGdW5kVG90YWwJAMwIAgUKdXNlckFtb3VudAkAzAgCBQpub3dMaW1pdGVkCQDMCAIFDWlzc3VlMTBBbW91bnQJAMwIAgUWbWFya2V0aW5nSXNzdWUxMEFtb3VudAkAzAgCBRF0ZWFtSXNzdWUxMEFtb3VudAkAzAgCBQp1c2VyMTBwYXJ0CQDMCAIFDm5ld0lzc3VlMTBUaW1lBQNuaWwBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQLdXNkdEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQt1c2R0QXNzZXRJZAAABA13bGdvbGRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUKd2xnQXNzZXRJZAAABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUOYWNyZXMyQ29udHJhY3QFCHJlZkJ5S2V5BARyZWZzCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQETa2V5QWRkcmVzc1JlZmVycmFscwEFDnVzZXJBZGRyZXNzT3B0AgAECGxhc3RUeElkCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQERa2V5TGFzdFR4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAxhY3Jlc0JhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQxhY3Jlc0Fzc2V0SWQAAAQLc3Rha2VkQWNyZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBD2dldExldmVsQnlBY3JlcwEFC3N0YWtlZEFjcmVzBAJmcAkBEGdldEZhcm1pbmdQb3dlcnMCBQ51c2VyQWRkcmVzc09wdAUOYWNyZXMyQ29udHJhY3QEDmFjcmVzVG9OZXh0THZsAwkAZwIFA2x2bAkAkAMBBQpsZXZlbEFjcmVzAAAJAGUCCQBkAgkAkQMCBQpsZXZlbEFjcmVzBQNsdmwAAQULc3Rha2VkQWNyZXMJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVzX19yZWZlcnJlZEJ5X18JAQt2YWx1ZU9yRWxzZQIFBXJlZkJ5AgAJAMwIAgkArAICAhElcyVzX19yZWZlcnJhbHNfXwUEcmVmcwkAzAgCCQCsAgICECVzJXNfX2xhc3RUeElkX18FCGxhc3RUeElkCQDMCAIJAKwCAgIUJXMlZF9fd2F2ZXNCYWxhbmNlX18JAKQDAQgFB2JhbGFuY2UJYXZhaWxhYmxlCQDMCAIJAKwCAgITJXMlZF9fdXNkdEJhbGFuY2VfXwkApAMBBQt1c2R0QmFsYW5jZQkAzAgCCQCsAgICFSVzJWRfX3dsZ29sZEJhbGFuY2VfXwkApAMBBQ13bGdvbGRCYWxhbmNlCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNCYWxhbmNlX18JAKQDAQUMYWNyZXNCYWxhbmNlCQDMCAIJAKwCAgITJXMlZF9fc3Rha2VkQWNyZXNfXwkApAMBBQtzdGFrZWRBY3JlcwkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAhYlcyVkX19hY3Jlc1RvTmV4dEx2bF9fCQCkAwEFDmFjcmVzVG9OZXh0THZsCQDMCAIJAKwCAgIYJXMlZF9fdXNlckZhcm1pbmdQb3dlcl9fCQCkAwEJAJEDAgUCZnAFCWlkeFVzZXJGUAkAzAgCCQCsAgICGSVzJWRfX3RvdGFsRmFybWluZ1Bvd2VyX18JAKQDAQkAkQMCBQJmcAUKaWR4VG90YWxGUAUDbmlsBQFpAQ1jb25zdHJ1Y3RvclYxAQljb250cmFjdHMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQKAQpkZXNjcmlwdG9yAgNhY2MLaWdub3JlZEl0ZW0JAKwCAgUDYWNjAgIlcwQFZGVzY3IKAAIkbAUJY29udHJhY3RzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpkZXNjcmlwdG9yAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAIFBWRlc2NyBQljb250cmFjdHMFA1NFUAkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5UmVzdDJBZGRyZXNzAAkApQgBBQR0aGlzBQNuaWwBaQESd2FsbGV0SW5mb1JFQURPTkxZAQ51c2VyQWRkcmVzc09wdAkAlAoCBQNuaWwJAQ53YWxsZXRJbnRlcm5hbAEFDnVzZXJBZGRyZXNzT3B0AWkBFmNvbnZlcnNpb25JbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0BA9vbGRBY3Jlc0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFDmFjcmVzMkNvbnRyYWN0BRNvbGRBY3Jlc0NvbnRyYWN0S2V5BAskdDA0NTQyNDY2NAkBDGFzVHVwbGUySW50cwEJAPwHBAUPb2xkQWNyZXNBZGRyZXNzAhd1bnN0YWtlQWxsQWNyZXNSRUFET05MWQkAzAgCBQ51c2VyQWRkcmVzc09wdAUDbmlsBQNuaWwEDXVuc3Rha2VkQWNyZXMIBQskdDA0NTQyNDY2NAJfMQQMY2xhaW1lZEFjcmVzCAULJHQwNDU0MjQ2NjQCXzIECyR0MDQ2Njc0ODE2CQEMYXNUdXBsZTRJbnRzAQkA/AcEBQ5hY3JlczJDb250cmFjdAIUdW5zdGFrZUxhbmRzUkVBRE9OTFkJAMwIAgUOdXNlckFkZHJlc3NPcHQFA25pbAUDbmlsBA9hY3Jlc0Zyb21QaWVjZXMIBQskdDA0NjY3NDgxNgJfMQQMYWNyZXNGcm9tUmVzCAULJHQwNDY2NzQ4MTYCXzIEDGFjcmVzRnJvbU1hdAgFCyR0MDQ2Njc0ODE2Al8zBA1hY3Jlc0Zyb21Qcm9kCAULJHQwNDY2NzQ4MTYCXzQEEW9sZFN0YWtpbmdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBRVvbGRTdGFraW5nQ29udHJhY3RTdHIEC2R1Y2tBc3NldElkCQELdmFsdWVPckVsc2UCCQCdCAIFEW9sZFN0YWtpbmdBZGRyZXNzCQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQ51c2VyQWRkcmVzc09wdAIABAskdDA0OTk0NTIxNgMJAQIhPQIFC2R1Y2tBc3NldElkAgAJAQxhc1R1cGxlM0ludHMBCQD8BwQFEW9sZFN0YWtpbmdBZGRyZXNzAhN1bnN0YWtlRHVja1JFQURPTkxZCQDMCAIFC2R1Y2tBc3NldElkCQDMCAIFDnVzZXJBZGRyZXNzT3B0BQNuaWwFA25pbAkAlQoDAAAAAAAABBBhY3Jlc0Zyb21EdWNrUmVzCAULJHQwNDk5NDUyMTYCXzEEEGFjcmVzRnJvbUR1Y2tNYXQIBQskdDA0OTk0NTIxNgJfMgQRYWNyZXNGcm9tRHVja1Byb2QIBQskdDA0OTk0NTIxNgJfMwkAlAoCBQNuaWwJAMwIAgkArAICAhUlcyVkX191bnN0YWtlZEFjcmVzX18JAKQDAQUNdW5zdGFrZWRBY3JlcwkAzAgCCQCsAgICFCVzJWRfX2NsYWltZWRBY3Jlc19fCQCkAwEFDGNsYWltZWRBY3JlcwkAzAgCCQCsAgICFyVzJWRfX2FjcmVzRnJvbVBpZWNlc19fCQCkAwEFD2FjcmVzRnJvbVBpZWNlcwkAzAgCCQCsAgICFCVzJWRfX2FjcmVzRnJvbVJlc19fCQCkAwEFDGFjcmVzRnJvbVJlcwkAzAgCCQCsAgICFCVzJWRfX2FjcmVzRnJvbU1hdF9fCQCkAwEFDGFjcmVzRnJvbU1hdAkAzAgCCQCsAgICFSVzJWRfX2FjcmVzRnJvbVByb2RfXwkApAMBBQ1hY3Jlc0Zyb21Qcm9kCQDMCAIJAKwCAgIYJXMlZF9fYWNyZXNGcm9tRHVja1Jlc19fCQCkAwEFEGFjcmVzRnJvbUR1Y2tSZXMJAMwIAgkArAICAhglcyVkX19hY3Jlc0Zyb21EdWNrTWF0X18JAKQDAQUQYWNyZXNGcm9tRHVja01hdAkAzAgCCQCsAgICGSVzJWRfX2FjcmVzRnJvbUR1Y2tQcm9kX18JAKQDAQURYWNyZXNGcm9tRHVja1Byb2QFA25pbAFpARB3bGdTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQIY3VyU3RhdHMJAQxnZXRXbGdTdGF0czIEBQt1c2VyQWRkck9wdAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAkAlAoCBQNuaWwJAMwIAgkArAICAhElcyVkX193bGdBbW91bnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQtpeFdsZ0Ftb3VudAkAzAgCCQCsAgICDiVzJWRfX3dsZ1dsZ19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFCGl4V2xnV2xnCQDMCAIJAKwCAgIQJXMlZF9fd2xnUHJpY2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQppeFdsZ1ByaWNlCQDMCAIJAKwCAgIRJXMlZF9fdXNkdEZ1bmRzX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaXhXbGdGdW5kcwkAzAgCCQCsAgICFCVzJWRfX3VzZHRBY3Rpdml0eV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDWl4V2xnQWN0aXZpdHkJAMwIAgkArAICAhMlcyVkX191c2R0U3Rha2luZ19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2l4V2xnQWNyZXMyCQDMCAIJAKwCAgIVJXMlZF9fdXNkdEFyYml0cmFnZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDml4V2xnQXJiaXRyYWdlCQDMCAIJAKwCAgIQJXMlZF9fdXNkdFBvb2xfXwkApAMBCQCRAwIFCGN1clN0YXRzBQlpeFdsZ1Bvb2wJAMwIAgkArAICAhQlcyVkX193bGdJc3N1ZVRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5peFdsZ0lzc3VlVGltZQkAzAgCCQCsAgICGiVzJWRfX3dsZ0xhc3RUZWFtQWN0VGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGl4V2xnTGFzdFRlYW1BY3RUaW1lCQDMCAIJAKwCAgIUJXMlZF9fd2xnVGVhbVRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdUZWFtVG90YWwJAMwIAgkArAICAhUlcyVkX193bGdUZWFtQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaXhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIZJXMlZF9fd2xnVGVhbUFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRNpeFdsZ1RlYW1BbUF2YWlsTm93CQDMCAIJAKwCAgIVJXMlZF9fd2xnVGVhbVdsZ29sZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2l4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICEyVzJWRfX3dsZ0FjdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUNaXhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFCVzJWRfX3dsZ0FjdEFtTGVmdF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDml4V2xnQWN0QW1MZWZ0CQDMCAIJAKwCAgIYJXMlZF9fd2xnQWN0QW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEml4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFCVzJWRfX3dsZ0FjdFdsZ29sZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDml4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIUJXMlZF9fd2xnQ3VyUGVyaW9kX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdDdXJQZXJpb2QJAMwIAgkArAICAhYlcyVkX193bGdBbUxlZnRUb3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEGl4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiAlcyVkX193bGdDdXJQZXJpb2REaXN0cmlidXRpb25fXwkApAMBCQCRAwIFCGN1clN0YXRzBRppeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICFyVzJWRfX3dsZ0xhc3RVc2VyVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEWl4V2xnTGFzdFVzZXJUaW1lCQDMCAIJAKwCAgIaJXMlZF9fd2xnSW52ZXN0RnVuZFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaXhXbGdJbnZlc3RGdW5kQW1vdW50CQDMCAIJAKwCAgIZJXMlZF9fd2xnVXNlckFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRNpeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIWJXMlZF9fd2xnRWZmVXNlclRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpeFdsZ0VmZlVzZXJUaW1lCQDMCAIJAKwCAgIaJXMlZF9fd2xnSXNzdWUxMEF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaXhXbGdJc3N1ZTEwQW1vdW50CQDMCAIJAKwCAgIjJXMlZF9fd2xnTWFya2V0aW5nSXNzdWUxMEF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUbaXhXbGdNYXJrZXRpbmdJc3N1ZTEwQW1vdW50CQDMCAIJAKwCAgIeJXMlZF9fd2xnVGVhbUlzc3VlMTBBdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFml4V2xnVGVhbUlzc3VlMTBBbW91bnQJAMwIAgkArAICAh4lcyVkX193bGdVc2VySXNzdWUxMEF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaXhXbGdVc2VyMTBwYXJ0CQDMCAIJAKwCAgIaJXMlZF9fd2xnTGFzdElzc3VlMTBUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaXhXbGdJc3N1ZTEwVGltZQUDbmlsAWkBFGxvdHRlcnlTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQFdG9kYXkJAGkCBQZoZWlnaHQFCkRBWV9CTE9DS1MJAJQKAgUDbmlsCQDMCAIJAKwCAgIUJXMlZF9fdG90YWxUaWNrZXRzX18JAKQDAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQt3bGdDb250cmFjdAUPa2V5VG90YWxUaWNrZXRzAAAJAMwIAgkArAICAhMlcyVkX191c2VyVGlja2V0c19fCQCkAwEJAQt2YWx1ZU9yRWxzZQIJAJoIAgULd2xnQ29udHJhY3QJAQ5rZXlVc2VyVGlja2V0cwEFC3VzZXJBZGRyT3B0AAAJAMwIAgkArAICAhUlcyVkX19ibG9ja2NoYWluRGF5X18JAKQDAQUFdG9kYXkJAMwIAgkArAICAhglcyVkX19ibG9ja2NoYWluTWludXRlX18JAKQDAQkAagIFBmhlaWdodAUKREFZX0JMT0NLUwkAzAgCCQCsAgICFyVzJWRfX3dpbm5pbmdCZXRUb2RheV9fCQCkAwEJAQp3aW5uaW5nQmV0AQUFdG9kYXkFA25pbACsfbtK", "height": 3357318, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FYK3Fp27r4ZKwRovrgG1AFJ6xnrU5rYAbzeCjK6HLKHi Next: 7LMZRREr7yDfXqPSogGPBNeH2dzM9zBRZD3Vs1gTVxMU Diff:
OldNewDifferences
139139
140140 let W = 86400000
141141
142-let X = 1000000000
142+let X = 1440
143143
144-let Y = 800000
144+let Y = 1000000000
145145
146-let Z = 100000
146+let Z = 800000
147147
148148 let aa = 100000
149149
150-let ab = 1727740800000
150+let ab = 100000
151151
152-let ac = "teamAddr"
152+let ac = 1727740800000
153153
154-let ad = "lastClaimedTime_team"
154+let ad = "teamAddr"
155155
156-let ae = "teamAmountLeft"
156+let ae = "lastClaimedTime_team"
157157
158-let af = "lastClaimedTime_activities"
158+let af = "teamAmountLeft"
159159
160-let ag = "activitiesAmountLeft"
160+let ag = "lastClaimedTime_activities"
161161
162-let ah = "stakersAmountLeft"
162+let ah = "activitiesAmountLeft"
163163
164-func ai (B) = ("lastClaimedTimeUser_" + B)
164+let ai = "stakersAmountLeft"
165+
166+func aj (B) = ("lastClaimedTimeUser_" + B)
165167
166168
167-func aj (ak,al) = fraction(ak, (U * (al + 1)), (6 * Q))
169+func ak (al,am) = fraction(al, (U * (am + 1)), (6 * Q))
168170
169171
170-let am = "wlg_issue10Time"
172+let an = "wlg_issue10Time"
171173
172-let an = "wlg_issueTime"
174+let ao = "wlg_issueTime"
173175
174-let ao = "wlg_issuedAmount"
176+let ap = "wlg_issuedAmount"
175177
176-let ap = "zbill_issuedAmount"
178+let aq = "zbill_issuedAmount"
177179
178-func aq (B) = ("acresStakedAmountByUser_" + B)
180+func ar (B) = ("acresStakedAmountByUser_" + B)
179181
180182
181-let ar = "totalFarmingPower"
183+let as = "totalFarmingPower"
182184
183-let as = 0
185+let at = 0
184186
185-let at = 1
187+let au = 1
186188
187-let au = 2
189+let av = 2
188190
189-let av = 3
191+let aw = 3
190192
191-let aw = 4
193+let ax = 4
192194
193-let ax = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
195+let ay = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
194196
195-func ay (az) = {
196- let aA = ((az + 99999999) / R)
197- func aB (aC,aD) = if ((aD >= aA))
198- then aC
199- else (aC + 1)
197+func az (aA) = {
198+ let aB = ((aA + 99999999) / R)
199+ func aC (aD,aE) = if ((aE >= aB))
200+ then aD
201+ else (aD + 1)
200202
201- let aE = ax
202- let aF = size(aE)
203- let aG = 0
204- func aH (aI,aJ) = if ((aJ >= aF))
205- then aI
206- else aB(aI, aE[aJ])
203+ let aF = ay
204+ let aG = size(aF)
205+ let aH = 0
206+ func aI (aJ,aK) = if ((aK >= aG))
207+ then aJ
208+ else aC(aJ, aF[aK])
207209
208- func aK (aI,aJ) = if ((aJ >= aF))
209- then aI
210+ func aL (aJ,aK) = if ((aK >= aG))
211+ then aJ
210212 else throw("List size exceeds 10")
211213
212- aK(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
214+ aL(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
213215 }
214216
215217
216-func aL (az) = ((az * 20) * (ay(az) + 4))
218+func aM (aA) = ((aA * 20) * (az(aA) + 4))
217219
218220
219-func aM (aN,v) = {
220- let aO = valueOrElse(getInteger(v, ar), 0)
221- let aP = valueOrElse(getInteger(v, aq(aN)), 0)
222- let aQ = aL(aP)
223-[aO, aQ]
221+func aN (aO,v) = {
222+ let aP = valueOrElse(getInteger(v, as), 0)
223+ let aQ = valueOrElse(getInteger(v, ar(aO)), 0)
224+ let aR = aM(aQ)
225+[aP, aR]
224226 }
225227
226228
227-let aR = 0
229+func aS (B) = ("userTickets_" + B)
228230
229-let aS = 1
230231
231-let aT = 0
232+let aT = "totalTickets"
232233
233-let aU = 1
234+func aU (aV) = (toInt(value(value(blockInfoByHeight((aV * X))).vrf)) % 4)
234235
235-let aV = 2
236236
237-let aW = 3
237+let aW = 0
238238
239-let aX = 4
239+let aX = 1
240240
241-let aY = 5
241+let aY = 0
242242
243-let aZ = 6
243+let aZ = 1
244244
245-let ba = 7
245+let ba = 2
246246
247-let bb = 8
247+let bb = 3
248248
249-let bc = 9
249+let bc = 4
250250
251-let bd = 10
251+let bd = 5
252252
253-let be = 11
253+let be = 6
254254
255-let bf = 12
255+let bf = 7
256256
257-let bg = 13
257+let bg = 8
258258
259-let bh = 14
259+let bh = 9
260260
261-let bi = 15
261+let bi = 10
262262
263-let bj = 16
263+let bj = 11
264264
265-let bk = 17
265+let bk = 12
266266
267-let bl = 18
267+let bl = 13
268268
269-let bm = 19
269+let bm = 14
270270
271-let bn = 20
271+let bn = 15
272272
273-let bo = 21
273+let bo = 16
274274
275-let bp = 22
275+let bp = 17
276276
277-let bq = 23
277+let bq = 18
278278
279-let br = 24
279+let br = 19
280280
281-let bs = 25
281+let bs = 20
282282
283-let bt = 26
283+let bt = 21
284284
285-let bu = 27
285+let bu = 22
286286
287-let bv = 28
287+let bv = 23
288288
289-let bw = 29
289+let bw = 24
290290
291-func bx (by,bz,bA,bB) = {
292- let ak = valueOrErrorMessage(getInteger(bz[au], ao), "WLGOLD is not issued yet")
293- let bC = assetBalance(bz[as], bA)
294- let bD = (assetBalance(bz[au], bA) - bB)
295- let bE = assetBalance(bz[av], bA)
296- let bF = assetBalance(bz[at], bA)
297- let bG = bz[aw]
298- let bH = (assetBalance(bG, bA) + valueOrElse(getInteger(bG, ap), 0))
299- let bI = ((bF + bD) + bH)
300- let bJ = valueOrErrorMessage(getBinary(bz[au], "wlg_assetId"), "Not initialized yet")
301- let bK = lastBlock.timestamp
302- let bL = valueOrErrorMessage(getInteger(bz[au], an), "Not initialized")
303- let bM = assetBalance(bz[au], bJ)
304- let bN = fraction(ak, S, Q)
305- let bO = valueOrElse(getInteger(bz[au], ae), bN)
306- let bP = valueOrElse(getInteger(bz[au], ad), bL)
307- let bQ = addressFromStringValue(value(getString(bz[au], ac)))
308- let bR = min([fraction(bN, (bK - bP), (3 * V)), bO])
309- let bS = assetBalance(bQ, bJ)
310- let bT = fraction(ak, T, Q)
311- let bU = valueOrElse(getInteger(bz[au], ag), bT)
312- let bV = valueOrElse(getInteger(bz[au], af), bL)
313- let bW = min([fraction(bT, (bK - bV), (3 * V)), bU])
314- let bX = assetBalance(bz[as], bJ)
315- let bY = valueOrElse(getInteger(bz[au], ai(by)), bL)
316- let bZ = ((bY - bL) / V)
317- let ca = min([bK, (bL + (3 * V))])
318- let cb = min([((bK - bL) / V), 2])
319- let cc = aM(by, bz[at])
320- let cd = aj(ak, cb)
321- let ce = (bL + (V * cb))
322- let cf = (bL + (V * (cb - 1)))
323- let cg = fraction(cd, (ca - bY), V)
324- let ch = if ((bZ == cb))
325- then cg
326- else if ((bZ == (cb - 1)))
291+let bx = 25
292+
293+let by = 26
294+
295+let bz = 27
296+
297+let bA = 28
298+
299+let bB = 29
300+
301+func bC (bD,bE,bF,bG) = {
302+ let al = valueOrErrorMessage(getInteger(bE[av], ap), "WLGOLD is not issued yet")
303+ let bH = assetBalance(bE[at], bF)
304+ let bI = (assetBalance(bE[av], bF) - bG)
305+ let bJ = assetBalance(bE[aw], bF)
306+ let bK = assetBalance(bE[au], bF)
307+ let bL = bE[ax]
308+ let bM = (assetBalance(bL, bF) + valueOrElse(getInteger(bL, aq), 0))
309+ let bN = ((bK + bI) + bM)
310+ let bO = valueOrErrorMessage(getBinary(bE[av], "wlg_assetId"), "Not initialized yet")
311+ let bP = lastBlock.timestamp
312+ let bQ = valueOrErrorMessage(getInteger(bE[av], ao), "Not initialized")
313+ let bR = assetBalance(bE[av], bO)
314+ let bS = fraction(al, S, Q)
315+ let bT = valueOrElse(getInteger(bE[av], af), bS)
316+ let bU = valueOrElse(getInteger(bE[av], ae), bQ)
317+ let bV = addressFromStringValue(value(getString(bE[av], ad)))
318+ let bW = min([fraction(bS, (bP - bU), (3 * V)), bT])
319+ let bX = assetBalance(bV, bO)
320+ let bY = fraction(al, T, Q)
321+ let bZ = valueOrElse(getInteger(bE[av], ah), bY)
322+ let ca = valueOrElse(getInteger(bE[av], ag), bQ)
323+ let cb = min([fraction(bY, (bP - ca), (3 * V)), bZ])
324+ let cc = assetBalance(bE[at], bO)
325+ let cd = valueOrElse(getInteger(bE[av], aj(bD)), bQ)
326+ let ce = ((cd - bQ) / V)
327+ let cf = min([bP, (bQ + (3 * V))])
328+ let cg = min([((bP - bQ) / V), 2])
329+ let ch = aN(bD, bE[au])
330+ let ci = ak(al, cg)
331+ let cj = (bQ + (V * cg))
332+ let ck = (bQ + (V * (cg - 1)))
333+ let cl = fraction(ci, (cf - cd), V)
334+ let cm = if ((ce == cg))
335+ then cl
336+ else if ((ce == (cg - 1)))
327337 then {
328- let ci = fraction(aj(ak, (cb - 1)), (ce - bY), V)
329- (ci + cg)
338+ let cn = fraction(ak(al, (cg - 1)), (cj - cd), V)
339+ (cn + cl)
330340 }
331341 else {
332- let cj = fraction(aj(ak, (cb - 2)), (cf - bY), V)
333- let ci = aj(ak, (cb - 1))
334- ((cj + ci) + cg)
342+ let co = fraction(ak(al, (cg - 2)), (ck - cd), V)
343+ let cn = ak(al, (cg - 1))
344+ ((co + cn) + cl)
335345 }
336- let ck = valueOrElse(getInteger(bz[au], ah), 0)
337- let cl = if ((cc[aR] != 0))
338- then fraction(ch, cc[aS], cc[aR])
346+ let cp = valueOrElse(getInteger(bE[av], ai), 0)
347+ let cq = if ((ch[aW] != 0))
348+ then fraction(cm, ch[aX], ch[aW])
339349 else 0
340- let cm = valueOrElse(getInteger(bz[au], am), ab)
341- let cn = fraction(X, max([(bK - cm), 0]), W)
342- let co = fraction(cn, Z, Q)
343- let cp = fraction(cn, aa, Q)
344- let cq = max([(bK - max([ab, bY])), 0])
345- let cr = if ((cc[aR] != 0))
346- then fraction(fraction(fraction(X, cq, W), cc[aS], cc[aR]), Y, Q)
350+ let cr = valueOrElse(getInteger(bE[av], an), ac)
351+ let cs = fraction(Y, max([(bP - cr), 0]), W)
352+ let ct = fraction(cs, aa, Q)
353+ let cu = fraction(cs, ab, Q)
354+ let cv = max([(bP - max([ac, cd])), 0])
355+ let cw = if ((ch[aW] != 0))
356+ then fraction(fraction(fraction(Y, cv, W), ch[aX], ch[aW]), Z, Q)
347357 else 0
348- let cs = max([ab, bK])
349-[ak, bM, fraction(bI, R, ak), bI, bC, bF, bD, bE, bL, bP, bN, bO, bR, bS, bT, bU, bW, bX, cb, ck, cd, bY, bH, cl, ca, cn, co, cp, cr, cs]
358+ let cx = max([ac, bP])
359+[al, bR, fraction(bN, R, al), bN, bH, bK, bI, bJ, bQ, bU, bS, bT, bW, bX, bY, bZ, cb, cc, cg, cp, ci, cd, bM, cq, cf, cs, ct, cu, cw, cx]
350360 }
351361
352362
353-func ct (cu) = {
354- let B = addressFromString(cu)
355- let cv = if (isDefined(B))
363+func cy (cz) = {
364+ let B = addressFromString(cz)
365+ let cA = if (isDefined(B))
356366 then wavesBalance(value(B))
357367 else BalanceDetails(0, 0, 0, 0)
358- let cw = if (isDefined(B))
368+ let cB = if (isDefined(B))
359369 then assetBalance(value(B), c)
360370 else 0
361- let cx = if (isDefined(B))
371+ let cC = if (isDefined(B))
362372 then assetBalance(value(B), D)
363373 else 0
364- let cy = valueOrElse(getString(v, I(cu)), cu)
365- let cz = J(cu)
366- let cA = getString(v, cz)
367- let cB = valueOrElse(getString(v, K(cu)), "")
368- let cC = valueOrElse(getString(v, A(cu)), "")
369- let cD = if (isDefined(B))
374+ let cD = valueOrElse(getString(v, I(cz)), cz)
375+ let cE = J(cz)
376+ let cF = getString(v, cE)
377+ let cG = valueOrElse(getString(v, K(cz)), "")
378+ let cH = valueOrElse(getString(v, A(cz)), "")
379+ let cI = if (isDefined(B))
370380 then assetBalance(value(B), F)
371381 else 0
372- let cE = valueOrElse(getInteger(v, aq(cu)), 0)
373- let cF = ay(cE)
374- let cG = aM(cu, v)
375- let cH = if ((cF >= size(ax)))
382+ let cJ = valueOrElse(getInteger(v, ar(cz)), 0)
383+ let cK = az(cJ)
384+ let cL = aN(cz, v)
385+ let cM = if ((cK >= size(ay)))
376386 then 0
377- else ((ax[cF] + 1) - cE)
378-[("%s%s__customName__" + cy), ("%s%s__referredBy__" + valueOrElse(cA, "")), ("%s%s__referrals__" + cB), ("%s%s__lastTxId__" + cC), ("%s%d__wavesBalance__" + toString(cv.available)), ("%s%d__usdtBalance__" + toString(cw)), ("%s%d__wlgoldBalance__" + toString(cx)), ("%s%d__acresBalance__" + toString(cD)), ("%s%d__stakedAcres__" + toString(cE)), ("%s%d__currentLvl__" + toString(cF)), ("%s%d__acresToNextLvl__" + toString(cH)), ("%s%d__userFarmingPower__" + toString(cG[aS])), ("%s%d__totalFarmingPower__" + toString(cG[aR]))]
387+ else ((ay[cK] + 1) - cJ)
388+[("%s%s__customName__" + cD), ("%s%s__referredBy__" + valueOrElse(cF, "")), ("%s%s__referrals__" + cG), ("%s%s__lastTxId__" + cH), ("%s%d__wavesBalance__" + toString(cA.available)), ("%s%d__usdtBalance__" + toString(cB)), ("%s%d__wlgoldBalance__" + toString(cC)), ("%s%d__acresBalance__" + toString(cI)), ("%s%d__stakedAcres__" + toString(cJ)), ("%s%d__currentLvl__" + toString(cK)), ("%s%d__acresToNextLvl__" + toString(cM)), ("%s%d__userFarmingPower__" + toString(cL[aX])), ("%s%d__totalFarmingPower__" + toString(cL[aW]))]
379389 }
380390
381391
382-@Callable(cI)
383-func constructorV1 (bz) = if ((cI.caller != this))
392+@Callable(cN)
393+func constructorV1 (bE) = if ((cN.caller != this))
384394 then throw("permissions denied")
385395 else {
386- func cJ (aC,cK) = (aC + "%s")
396+ func cO (aD,cP) = (aD + "%s")
387397
388- let cL = {
389- let aE = bz
390- let aF = size(aE)
391- let aG = ""
392- func aH (aI,aJ) = if ((aJ >= aF))
393- then aI
394- else cJ(aI, aE[aJ])
398+ let cQ = {
399+ let aF = bE
400+ let aG = size(aF)
401+ let aH = ""
402+ func aI (aJ,aK) = if ((aK >= aG))
403+ then aJ
404+ else cO(aJ, aF[aK])
395405
396- func aK (aI,aJ) = if ((aJ >= aF))
397- then aI
406+ func aL (aJ,aK) = if ((aK >= aG))
407+ then aJ
398408 else throw("List size exceeds 10")
399409
400- aK(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
410+ aL(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
401411 }
402-[StringEntry(n(), makeString(cL :: bz, a)), StringEntry(o(), toString(this))]
412+[StringEntry(n(), makeString(cQ :: bE, a)), StringEntry(o(), toString(this))]
403413 }
404414
405415
406416
407-@Callable(cI)
408-func walletInfoREADONLY (cu) = $Tuple2(nil, ct(cu))
417+@Callable(cN)
418+func walletInfoREADONLY (cz) = $Tuple2(nil, cy(cz))
409419
410420
411421
412-@Callable(cI)
413-func conversionInfoREADONLY (cu) = {
414- let cM = addressFromStringValue(getStringValue(v, z))
415- let cN = P(invoke(cM, "unstakeAllAcresREADONLY", [cu], nil))
416- let cO = cN._1
417- let cP = cN._2
418- let cQ = L(invoke(v, "unstakeLandsREADONLY", [cu], nil))
419- let cR = cQ._1
420- let cS = cQ._2
421- let cT = cQ._3
422- let cU = cQ._4
423- let cV = addressFromStringValue(f)
424- let cW = valueOrElse(getString(cV, G(cu)), "")
425- let cX = if ((cW != ""))
426- then O(invoke(cV, "unstakeDuckREADONLY", [cW, cu], nil))
422+@Callable(cN)
423+func conversionInfoREADONLY (cz) = {
424+ let cR = addressFromStringValue(getStringValue(v, z))
425+ let cS = P(invoke(cR, "unstakeAllAcresREADONLY", [cz], nil))
426+ let cT = cS._1
427+ let cU = cS._2
428+ let cV = L(invoke(v, "unstakeLandsREADONLY", [cz], nil))
429+ let cW = cV._1
430+ let cX = cV._2
431+ let cY = cV._3
432+ let cZ = cV._4
433+ let da = addressFromStringValue(f)
434+ let db = valueOrElse(getString(da, G(cz)), "")
435+ let dc = if ((db != ""))
436+ then O(invoke(da, "unstakeDuckREADONLY", [db, cz], nil))
427437 else $Tuple3(0, 0, 0)
428- let cY = cX._1
429- let cZ = cX._2
430- let da = cX._3
431- $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cO)), ("%s%d__claimedAcres__" + toString(cP)), ("%s%d__acresFromPieces__" + toString(cR)), ("%s%d__acresFromRes__" + toString(cS)), ("%s%d__acresFromMat__" + toString(cT)), ("%s%d__acresFromProd__" + toString(cU)), ("%s%d__acresFromDuckRes__" + toString(cY)), ("%s%d__acresFromDuckMat__" + toString(cZ)), ("%s%d__acresFromDuckProd__" + toString(da))])
438+ let dd = dc._1
439+ let de = dc._2
440+ let df = dc._3
441+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cT)), ("%s%d__claimedAcres__" + toString(cU)), ("%s%d__acresFromPieces__" + toString(cW)), ("%s%d__acresFromRes__" + toString(cX)), ("%s%d__acresFromMat__" + toString(cY)), ("%s%d__acresFromProd__" + toString(cZ)), ("%s%d__acresFromDuckRes__" + toString(dd)), ("%s%d__acresFromDuckMat__" + toString(de)), ("%s%d__acresFromDuckProd__" + toString(df))])
432442 }
433443
434444
435445
436-@Callable(cI)
437-func wlgStatsREADONLY (by) = {
438- let db = bx(by, [u, v, w, x, y], c, 0)
439- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(db[aT])), ("%s%d__wlgWlg__" + toString(db[aU])), ("%s%d__wlgPrice__" + toString(db[aV])), ("%s%d__usdtFunds__" + toString(db[aW])), ("%s%d__usdtActivity__" + toString(db[aX])), ("%s%d__usdtStaking__" + toString(db[aY])), ("%s%d__usdtArbitrage__" + toString(db[aZ])), ("%s%d__usdtPool__" + toString(db[ba])), ("%s%d__wlgIssueTime__" + toString(db[bb])), ("%s%d__wlgLastTeamActTime__" + toString(db[bc])), ("%s%d__wlgTeamTotal__" + toString(db[bd])), ("%s%d__wlgTeamAmLeft__" + toString(db[be])), ("%s%d__wlgTeamAmAvailNow__" + toString(db[bf])), ("%s%d__wlgTeamWlgold__" + toString(db[bg])), ("%s%d__wlgActTotal__" + toString(db[bh])), ("%s%d__wlgActAmLeft__" + toString(db[bi])), ("%s%d__wlgActAmAvailNow__" + toString(db[bj])), ("%s%d__wlgActWlgold__" + toString(db[bk])), ("%s%d__wlgCurPeriod__" + toString(db[bl])), ("%s%d__wlgAmLeftTotal__" + toString(db[bm])), ("%s%d__wlgCurPeriodDistribution__" + toString(db[bn])), ("%s%d__wlgLastUserTime__" + toString(db[bo])), ("%s%d__wlgInvestFundTotal__" + toString(db[bp])), ("%s%d__wlgUserAmAvailNow__" + toString(db[bq])), ("%s%d__wlgEffUserTime__" + toString(db[br])), ("%s%d__wlgIssue10AvailNow__" + toString(db[bs])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(db[bt])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(db[bu])), ("%s%d__wlgUserIssue10AvailNow__" + toString(db[bv])), ("%s%d__wlgLastIssue10Time__" + toString(db[bw]))])
446+@Callable(cN)
447+func wlgStatsREADONLY (bD) = {
448+ let dg = bC(bD, [u, v, w, x, y], c, 0)
449+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(dg[aY])), ("%s%d__wlgWlg__" + toString(dg[aZ])), ("%s%d__wlgPrice__" + toString(dg[ba])), ("%s%d__usdtFunds__" + toString(dg[bb])), ("%s%d__usdtActivity__" + toString(dg[bc])), ("%s%d__usdtStaking__" + toString(dg[bd])), ("%s%d__usdtArbitrage__" + toString(dg[be])), ("%s%d__usdtPool__" + toString(dg[bf])), ("%s%d__wlgIssueTime__" + toString(dg[bg])), ("%s%d__wlgLastTeamActTime__" + toString(dg[bh])), ("%s%d__wlgTeamTotal__" + toString(dg[bi])), ("%s%d__wlgTeamAmLeft__" + toString(dg[bj])), ("%s%d__wlgTeamAmAvailNow__" + toString(dg[bk])), ("%s%d__wlgTeamWlgold__" + toString(dg[bl])), ("%s%d__wlgActTotal__" + toString(dg[bm])), ("%s%d__wlgActAmLeft__" + toString(dg[bn])), ("%s%d__wlgActAmAvailNow__" + toString(dg[bo])), ("%s%d__wlgActWlgold__" + toString(dg[bp])), ("%s%d__wlgCurPeriod__" + toString(dg[bq])), ("%s%d__wlgAmLeftTotal__" + toString(dg[br])), ("%s%d__wlgCurPeriodDistribution__" + toString(dg[bs])), ("%s%d__wlgLastUserTime__" + toString(dg[bt])), ("%s%d__wlgInvestFundTotal__" + toString(dg[bu])), ("%s%d__wlgUserAmAvailNow__" + toString(dg[bv])), ("%s%d__wlgEffUserTime__" + toString(dg[bw])), ("%s%d__wlgIssue10AvailNow__" + toString(dg[bx])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(dg[by])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(dg[bz])), ("%s%d__wlgUserIssue10AvailNow__" + toString(dg[bA])), ("%s%d__wlgLastIssue10Time__" + toString(dg[bB]))])
450+ }
451+
452+
453+
454+@Callable(cN)
455+func lotteryStatsREADONLY (bD) = {
456+ let dh = (height / X)
457+ $Tuple2(nil, [("%s%d__totalTickets__" + toString(valueOrElse(getInteger(w, aT), 0))), ("%s%d__userTickets__" + toString(valueOrElse(getInteger(w, aS(bD)), 0))), ("%s%d__blockchainDay__" + toString(dh)), ("%s%d__blockchainMinute__" + toString((height % X))), ("%s%d__winningBetToday__" + toString(aU(dh)))])
440458 }
441459
442460
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = take(drop(this.bytes, 1), 1)
77
88 let c = {
99 let d = b
1010 if ((base58'2W' == d))
1111 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
1212 else if ((base58'2T' == d))
1313 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
1414 else throw("Unknown chain")
1515 }
1616
1717 let e = {
1818 let d = b
1919 if ((base58'2W' == d))
2020 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
2121 else if ((base58'2T' == d))
2222 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
2323 else throw("Unknown chain")
2424 }
2525
2626 let f = {
2727 let d = b
2828 if ((base58'2W' == d))
2929 then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
3030 else if ((base58'2T' == d))
3131 then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
3232 else throw("Unknown chain")
3333 }
3434
3535 func g (h,i) = valueOrErrorMessage(getString(h, i), makeString(["mandatory ", toString(h), ".", i, " is not defined"], ""))
3636
3737
3838 let j = 1
3939
4040 let k = 2
4141
4242 let l = 4
4343
4444 let m = 5
4545
4646 func n () = "%s__restConfig"
4747
4848
4949 func o () = "%s__rest2Addr"
5050
5151
5252 func p (q) = split_4C(g(q, n()), a)
5353
5454
5555 func r (s,t) = valueOrErrorMessage(addressFromString(s[t]), ("Rest cfg doesn't contain address at index " + toString(t)))
5656
5757
5858 let u = addressFromStringValue(valueOrElse(getString(this, o()), e))
5959
6060 let s = p(u)
6161
6262 let v = r(s, j)
6363
6464 let w = r(s, k)
6565
6666 let x = r(s, l)
6767
6868 let y = r(s, m)
6969
7070 let z = "oldAcresContract"
7171
7272 func A (B) = ("lastTxIdByUser_" + B)
7373
7474
7575 let C = "wlg_assetId"
7676
7777 let D = valueOrErrorMessage(getBinary(w, C), "WLGOLD is not issued yet")
7878
7979 let E = "acresAssetId"
8080
8181 let F = valueOrErrorMessage(getBinary(v, E), "ACRES is not issued yet")
8282
8383 func G (H) = ("stakedDuckByOwner_" + H)
8484
8585
8686 func I (B) = ("accountCustomNameByAddr_" + B)
8787
8888
8989 func J (B) = ("accRefBy_" + B)
9090
9191
9292 func K (B) = ("accReferrals_" + B)
9393
9494
9595 func L (M) = {
9696 let d = M
9797 if ($isInstanceOf(d, "(Int, Int, Int, Int)"))
9898 then {
9999 let N = d
100100 N
101101 }
102102 else throw("fail to cast into (Int, Int, Int, Int)")
103103 }
104104
105105
106106 func O (M) = {
107107 let d = M
108108 if ($isInstanceOf(d, "(Int, Int, Int)"))
109109 then {
110110 let N = d
111111 N
112112 }
113113 else throw("fail to cast into (Int, Int, Int)")
114114 }
115115
116116
117117 func P (M) = {
118118 let d = M
119119 if ($isInstanceOf(d, "(Int, Int)"))
120120 then {
121121 let N = d
122122 N
123123 }
124124 else throw("fail to cast into (Int, Int)")
125125 }
126126
127127
128128 let Q = 1000000
129129
130130 let R = 100000000
131131
132132 let S = 200000
133133
134134 let T = 100000
135135
136136 let U = 400000
137137
138138 let V = 31557600000
139139
140140 let W = 86400000
141141
142-let X = 1000000000
142+let X = 1440
143143
144-let Y = 800000
144+let Y = 1000000000
145145
146-let Z = 100000
146+let Z = 800000
147147
148148 let aa = 100000
149149
150-let ab = 1727740800000
150+let ab = 100000
151151
152-let ac = "teamAddr"
152+let ac = 1727740800000
153153
154-let ad = "lastClaimedTime_team"
154+let ad = "teamAddr"
155155
156-let ae = "teamAmountLeft"
156+let ae = "lastClaimedTime_team"
157157
158-let af = "lastClaimedTime_activities"
158+let af = "teamAmountLeft"
159159
160-let ag = "activitiesAmountLeft"
160+let ag = "lastClaimedTime_activities"
161161
162-let ah = "stakersAmountLeft"
162+let ah = "activitiesAmountLeft"
163163
164-func ai (B) = ("lastClaimedTimeUser_" + B)
164+let ai = "stakersAmountLeft"
165+
166+func aj (B) = ("lastClaimedTimeUser_" + B)
165167
166168
167-func aj (ak,al) = fraction(ak, (U * (al + 1)), (6 * Q))
169+func ak (al,am) = fraction(al, (U * (am + 1)), (6 * Q))
168170
169171
170-let am = "wlg_issue10Time"
172+let an = "wlg_issue10Time"
171173
172-let an = "wlg_issueTime"
174+let ao = "wlg_issueTime"
173175
174-let ao = "wlg_issuedAmount"
176+let ap = "wlg_issuedAmount"
175177
176-let ap = "zbill_issuedAmount"
178+let aq = "zbill_issuedAmount"
177179
178-func aq (B) = ("acresStakedAmountByUser_" + B)
180+func ar (B) = ("acresStakedAmountByUser_" + B)
179181
180182
181-let ar = "totalFarmingPower"
183+let as = "totalFarmingPower"
182184
183-let as = 0
185+let at = 0
184186
185-let at = 1
187+let au = 1
186188
187-let au = 2
189+let av = 2
188190
189-let av = 3
191+let aw = 3
190192
191-let aw = 4
193+let ax = 4
192194
193-let ax = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
195+let ay = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
194196
195-func ay (az) = {
196- let aA = ((az + 99999999) / R)
197- func aB (aC,aD) = if ((aD >= aA))
198- then aC
199- else (aC + 1)
197+func az (aA) = {
198+ let aB = ((aA + 99999999) / R)
199+ func aC (aD,aE) = if ((aE >= aB))
200+ then aD
201+ else (aD + 1)
200202
201- let aE = ax
202- let aF = size(aE)
203- let aG = 0
204- func aH (aI,aJ) = if ((aJ >= aF))
205- then aI
206- else aB(aI, aE[aJ])
203+ let aF = ay
204+ let aG = size(aF)
205+ let aH = 0
206+ func aI (aJ,aK) = if ((aK >= aG))
207+ then aJ
208+ else aC(aJ, aF[aK])
207209
208- func aK (aI,aJ) = if ((aJ >= aF))
209- then aI
210+ func aL (aJ,aK) = if ((aK >= aG))
211+ then aJ
210212 else throw("List size exceeds 10")
211213
212- aK(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
214+ aL(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
213215 }
214216
215217
216-func aL (az) = ((az * 20) * (ay(az) + 4))
218+func aM (aA) = ((aA * 20) * (az(aA) + 4))
217219
218220
219-func aM (aN,v) = {
220- let aO = valueOrElse(getInteger(v, ar), 0)
221- let aP = valueOrElse(getInteger(v, aq(aN)), 0)
222- let aQ = aL(aP)
223-[aO, aQ]
221+func aN (aO,v) = {
222+ let aP = valueOrElse(getInteger(v, as), 0)
223+ let aQ = valueOrElse(getInteger(v, ar(aO)), 0)
224+ let aR = aM(aQ)
225+[aP, aR]
224226 }
225227
226228
227-let aR = 0
229+func aS (B) = ("userTickets_" + B)
228230
229-let aS = 1
230231
231-let aT = 0
232+let aT = "totalTickets"
232233
233-let aU = 1
234+func aU (aV) = (toInt(value(value(blockInfoByHeight((aV * X))).vrf)) % 4)
234235
235-let aV = 2
236236
237-let aW = 3
237+let aW = 0
238238
239-let aX = 4
239+let aX = 1
240240
241-let aY = 5
241+let aY = 0
242242
243-let aZ = 6
243+let aZ = 1
244244
245-let ba = 7
245+let ba = 2
246246
247-let bb = 8
247+let bb = 3
248248
249-let bc = 9
249+let bc = 4
250250
251-let bd = 10
251+let bd = 5
252252
253-let be = 11
253+let be = 6
254254
255-let bf = 12
255+let bf = 7
256256
257-let bg = 13
257+let bg = 8
258258
259-let bh = 14
259+let bh = 9
260260
261-let bi = 15
261+let bi = 10
262262
263-let bj = 16
263+let bj = 11
264264
265-let bk = 17
265+let bk = 12
266266
267-let bl = 18
267+let bl = 13
268268
269-let bm = 19
269+let bm = 14
270270
271-let bn = 20
271+let bn = 15
272272
273-let bo = 21
273+let bo = 16
274274
275-let bp = 22
275+let bp = 17
276276
277-let bq = 23
277+let bq = 18
278278
279-let br = 24
279+let br = 19
280280
281-let bs = 25
281+let bs = 20
282282
283-let bt = 26
283+let bt = 21
284284
285-let bu = 27
285+let bu = 22
286286
287-let bv = 28
287+let bv = 23
288288
289-let bw = 29
289+let bw = 24
290290
291-func bx (by,bz,bA,bB) = {
292- let ak = valueOrErrorMessage(getInteger(bz[au], ao), "WLGOLD is not issued yet")
293- let bC = assetBalance(bz[as], bA)
294- let bD = (assetBalance(bz[au], bA) - bB)
295- let bE = assetBalance(bz[av], bA)
296- let bF = assetBalance(bz[at], bA)
297- let bG = bz[aw]
298- let bH = (assetBalance(bG, bA) + valueOrElse(getInteger(bG, ap), 0))
299- let bI = ((bF + bD) + bH)
300- let bJ = valueOrErrorMessage(getBinary(bz[au], "wlg_assetId"), "Not initialized yet")
301- let bK = lastBlock.timestamp
302- let bL = valueOrErrorMessage(getInteger(bz[au], an), "Not initialized")
303- let bM = assetBalance(bz[au], bJ)
304- let bN = fraction(ak, S, Q)
305- let bO = valueOrElse(getInteger(bz[au], ae), bN)
306- let bP = valueOrElse(getInteger(bz[au], ad), bL)
307- let bQ = addressFromStringValue(value(getString(bz[au], ac)))
308- let bR = min([fraction(bN, (bK - bP), (3 * V)), bO])
309- let bS = assetBalance(bQ, bJ)
310- let bT = fraction(ak, T, Q)
311- let bU = valueOrElse(getInteger(bz[au], ag), bT)
312- let bV = valueOrElse(getInteger(bz[au], af), bL)
313- let bW = min([fraction(bT, (bK - bV), (3 * V)), bU])
314- let bX = assetBalance(bz[as], bJ)
315- let bY = valueOrElse(getInteger(bz[au], ai(by)), bL)
316- let bZ = ((bY - bL) / V)
317- let ca = min([bK, (bL + (3 * V))])
318- let cb = min([((bK - bL) / V), 2])
319- let cc = aM(by, bz[at])
320- let cd = aj(ak, cb)
321- let ce = (bL + (V * cb))
322- let cf = (bL + (V * (cb - 1)))
323- let cg = fraction(cd, (ca - bY), V)
324- let ch = if ((bZ == cb))
325- then cg
326- else if ((bZ == (cb - 1)))
291+let bx = 25
292+
293+let by = 26
294+
295+let bz = 27
296+
297+let bA = 28
298+
299+let bB = 29
300+
301+func bC (bD,bE,bF,bG) = {
302+ let al = valueOrErrorMessage(getInteger(bE[av], ap), "WLGOLD is not issued yet")
303+ let bH = assetBalance(bE[at], bF)
304+ let bI = (assetBalance(bE[av], bF) - bG)
305+ let bJ = assetBalance(bE[aw], bF)
306+ let bK = assetBalance(bE[au], bF)
307+ let bL = bE[ax]
308+ let bM = (assetBalance(bL, bF) + valueOrElse(getInteger(bL, aq), 0))
309+ let bN = ((bK + bI) + bM)
310+ let bO = valueOrErrorMessage(getBinary(bE[av], "wlg_assetId"), "Not initialized yet")
311+ let bP = lastBlock.timestamp
312+ let bQ = valueOrErrorMessage(getInteger(bE[av], ao), "Not initialized")
313+ let bR = assetBalance(bE[av], bO)
314+ let bS = fraction(al, S, Q)
315+ let bT = valueOrElse(getInteger(bE[av], af), bS)
316+ let bU = valueOrElse(getInteger(bE[av], ae), bQ)
317+ let bV = addressFromStringValue(value(getString(bE[av], ad)))
318+ let bW = min([fraction(bS, (bP - bU), (3 * V)), bT])
319+ let bX = assetBalance(bV, bO)
320+ let bY = fraction(al, T, Q)
321+ let bZ = valueOrElse(getInteger(bE[av], ah), bY)
322+ let ca = valueOrElse(getInteger(bE[av], ag), bQ)
323+ let cb = min([fraction(bY, (bP - ca), (3 * V)), bZ])
324+ let cc = assetBalance(bE[at], bO)
325+ let cd = valueOrElse(getInteger(bE[av], aj(bD)), bQ)
326+ let ce = ((cd - bQ) / V)
327+ let cf = min([bP, (bQ + (3 * V))])
328+ let cg = min([((bP - bQ) / V), 2])
329+ let ch = aN(bD, bE[au])
330+ let ci = ak(al, cg)
331+ let cj = (bQ + (V * cg))
332+ let ck = (bQ + (V * (cg - 1)))
333+ let cl = fraction(ci, (cf - cd), V)
334+ let cm = if ((ce == cg))
335+ then cl
336+ else if ((ce == (cg - 1)))
327337 then {
328- let ci = fraction(aj(ak, (cb - 1)), (ce - bY), V)
329- (ci + cg)
338+ let cn = fraction(ak(al, (cg - 1)), (cj - cd), V)
339+ (cn + cl)
330340 }
331341 else {
332- let cj = fraction(aj(ak, (cb - 2)), (cf - bY), V)
333- let ci = aj(ak, (cb - 1))
334- ((cj + ci) + cg)
342+ let co = fraction(ak(al, (cg - 2)), (ck - cd), V)
343+ let cn = ak(al, (cg - 1))
344+ ((co + cn) + cl)
335345 }
336- let ck = valueOrElse(getInteger(bz[au], ah), 0)
337- let cl = if ((cc[aR] != 0))
338- then fraction(ch, cc[aS], cc[aR])
346+ let cp = valueOrElse(getInteger(bE[av], ai), 0)
347+ let cq = if ((ch[aW] != 0))
348+ then fraction(cm, ch[aX], ch[aW])
339349 else 0
340- let cm = valueOrElse(getInteger(bz[au], am), ab)
341- let cn = fraction(X, max([(bK - cm), 0]), W)
342- let co = fraction(cn, Z, Q)
343- let cp = fraction(cn, aa, Q)
344- let cq = max([(bK - max([ab, bY])), 0])
345- let cr = if ((cc[aR] != 0))
346- then fraction(fraction(fraction(X, cq, W), cc[aS], cc[aR]), Y, Q)
350+ let cr = valueOrElse(getInteger(bE[av], an), ac)
351+ let cs = fraction(Y, max([(bP - cr), 0]), W)
352+ let ct = fraction(cs, aa, Q)
353+ let cu = fraction(cs, ab, Q)
354+ let cv = max([(bP - max([ac, cd])), 0])
355+ let cw = if ((ch[aW] != 0))
356+ then fraction(fraction(fraction(Y, cv, W), ch[aX], ch[aW]), Z, Q)
347357 else 0
348- let cs = max([ab, bK])
349-[ak, bM, fraction(bI, R, ak), bI, bC, bF, bD, bE, bL, bP, bN, bO, bR, bS, bT, bU, bW, bX, cb, ck, cd, bY, bH, cl, ca, cn, co, cp, cr, cs]
358+ let cx = max([ac, bP])
359+[al, bR, fraction(bN, R, al), bN, bH, bK, bI, bJ, bQ, bU, bS, bT, bW, bX, bY, bZ, cb, cc, cg, cp, ci, cd, bM, cq, cf, cs, ct, cu, cw, cx]
350360 }
351361
352362
353-func ct (cu) = {
354- let B = addressFromString(cu)
355- let cv = if (isDefined(B))
363+func cy (cz) = {
364+ let B = addressFromString(cz)
365+ let cA = if (isDefined(B))
356366 then wavesBalance(value(B))
357367 else BalanceDetails(0, 0, 0, 0)
358- let cw = if (isDefined(B))
368+ let cB = if (isDefined(B))
359369 then assetBalance(value(B), c)
360370 else 0
361- let cx = if (isDefined(B))
371+ let cC = if (isDefined(B))
362372 then assetBalance(value(B), D)
363373 else 0
364- let cy = valueOrElse(getString(v, I(cu)), cu)
365- let cz = J(cu)
366- let cA = getString(v, cz)
367- let cB = valueOrElse(getString(v, K(cu)), "")
368- let cC = valueOrElse(getString(v, A(cu)), "")
369- let cD = if (isDefined(B))
374+ let cD = valueOrElse(getString(v, I(cz)), cz)
375+ let cE = J(cz)
376+ let cF = getString(v, cE)
377+ let cG = valueOrElse(getString(v, K(cz)), "")
378+ let cH = valueOrElse(getString(v, A(cz)), "")
379+ let cI = if (isDefined(B))
370380 then assetBalance(value(B), F)
371381 else 0
372- let cE = valueOrElse(getInteger(v, aq(cu)), 0)
373- let cF = ay(cE)
374- let cG = aM(cu, v)
375- let cH = if ((cF >= size(ax)))
382+ let cJ = valueOrElse(getInteger(v, ar(cz)), 0)
383+ let cK = az(cJ)
384+ let cL = aN(cz, v)
385+ let cM = if ((cK >= size(ay)))
376386 then 0
377- else ((ax[cF] + 1) - cE)
378-[("%s%s__customName__" + cy), ("%s%s__referredBy__" + valueOrElse(cA, "")), ("%s%s__referrals__" + cB), ("%s%s__lastTxId__" + cC), ("%s%d__wavesBalance__" + toString(cv.available)), ("%s%d__usdtBalance__" + toString(cw)), ("%s%d__wlgoldBalance__" + toString(cx)), ("%s%d__acresBalance__" + toString(cD)), ("%s%d__stakedAcres__" + toString(cE)), ("%s%d__currentLvl__" + toString(cF)), ("%s%d__acresToNextLvl__" + toString(cH)), ("%s%d__userFarmingPower__" + toString(cG[aS])), ("%s%d__totalFarmingPower__" + toString(cG[aR]))]
387+ else ((ay[cK] + 1) - cJ)
388+[("%s%s__customName__" + cD), ("%s%s__referredBy__" + valueOrElse(cF, "")), ("%s%s__referrals__" + cG), ("%s%s__lastTxId__" + cH), ("%s%d__wavesBalance__" + toString(cA.available)), ("%s%d__usdtBalance__" + toString(cB)), ("%s%d__wlgoldBalance__" + toString(cC)), ("%s%d__acresBalance__" + toString(cI)), ("%s%d__stakedAcres__" + toString(cJ)), ("%s%d__currentLvl__" + toString(cK)), ("%s%d__acresToNextLvl__" + toString(cM)), ("%s%d__userFarmingPower__" + toString(cL[aX])), ("%s%d__totalFarmingPower__" + toString(cL[aW]))]
379389 }
380390
381391
382-@Callable(cI)
383-func constructorV1 (bz) = if ((cI.caller != this))
392+@Callable(cN)
393+func constructorV1 (bE) = if ((cN.caller != this))
384394 then throw("permissions denied")
385395 else {
386- func cJ (aC,cK) = (aC + "%s")
396+ func cO (aD,cP) = (aD + "%s")
387397
388- let cL = {
389- let aE = bz
390- let aF = size(aE)
391- let aG = ""
392- func aH (aI,aJ) = if ((aJ >= aF))
393- then aI
394- else cJ(aI, aE[aJ])
398+ let cQ = {
399+ let aF = bE
400+ let aG = size(aF)
401+ let aH = ""
402+ func aI (aJ,aK) = if ((aK >= aG))
403+ then aJ
404+ else cO(aJ, aF[aK])
395405
396- func aK (aI,aJ) = if ((aJ >= aF))
397- then aI
406+ func aL (aJ,aK) = if ((aK >= aG))
407+ then aJ
398408 else throw("List size exceeds 10")
399409
400- aK(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
410+ aL(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
401411 }
402-[StringEntry(n(), makeString(cL :: bz, a)), StringEntry(o(), toString(this))]
412+[StringEntry(n(), makeString(cQ :: bE, a)), StringEntry(o(), toString(this))]
403413 }
404414
405415
406416
407-@Callable(cI)
408-func walletInfoREADONLY (cu) = $Tuple2(nil, ct(cu))
417+@Callable(cN)
418+func walletInfoREADONLY (cz) = $Tuple2(nil, cy(cz))
409419
410420
411421
412-@Callable(cI)
413-func conversionInfoREADONLY (cu) = {
414- let cM = addressFromStringValue(getStringValue(v, z))
415- let cN = P(invoke(cM, "unstakeAllAcresREADONLY", [cu], nil))
416- let cO = cN._1
417- let cP = cN._2
418- let cQ = L(invoke(v, "unstakeLandsREADONLY", [cu], nil))
419- let cR = cQ._1
420- let cS = cQ._2
421- let cT = cQ._3
422- let cU = cQ._4
423- let cV = addressFromStringValue(f)
424- let cW = valueOrElse(getString(cV, G(cu)), "")
425- let cX = if ((cW != ""))
426- then O(invoke(cV, "unstakeDuckREADONLY", [cW, cu], nil))
422+@Callable(cN)
423+func conversionInfoREADONLY (cz) = {
424+ let cR = addressFromStringValue(getStringValue(v, z))
425+ let cS = P(invoke(cR, "unstakeAllAcresREADONLY", [cz], nil))
426+ let cT = cS._1
427+ let cU = cS._2
428+ let cV = L(invoke(v, "unstakeLandsREADONLY", [cz], nil))
429+ let cW = cV._1
430+ let cX = cV._2
431+ let cY = cV._3
432+ let cZ = cV._4
433+ let da = addressFromStringValue(f)
434+ let db = valueOrElse(getString(da, G(cz)), "")
435+ let dc = if ((db != ""))
436+ then O(invoke(da, "unstakeDuckREADONLY", [db, cz], nil))
427437 else $Tuple3(0, 0, 0)
428- let cY = cX._1
429- let cZ = cX._2
430- let da = cX._3
431- $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cO)), ("%s%d__claimedAcres__" + toString(cP)), ("%s%d__acresFromPieces__" + toString(cR)), ("%s%d__acresFromRes__" + toString(cS)), ("%s%d__acresFromMat__" + toString(cT)), ("%s%d__acresFromProd__" + toString(cU)), ("%s%d__acresFromDuckRes__" + toString(cY)), ("%s%d__acresFromDuckMat__" + toString(cZ)), ("%s%d__acresFromDuckProd__" + toString(da))])
438+ let dd = dc._1
439+ let de = dc._2
440+ let df = dc._3
441+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cT)), ("%s%d__claimedAcres__" + toString(cU)), ("%s%d__acresFromPieces__" + toString(cW)), ("%s%d__acresFromRes__" + toString(cX)), ("%s%d__acresFromMat__" + toString(cY)), ("%s%d__acresFromProd__" + toString(cZ)), ("%s%d__acresFromDuckRes__" + toString(dd)), ("%s%d__acresFromDuckMat__" + toString(de)), ("%s%d__acresFromDuckProd__" + toString(df))])
432442 }
433443
434444
435445
436-@Callable(cI)
437-func wlgStatsREADONLY (by) = {
438- let db = bx(by, [u, v, w, x, y], c, 0)
439- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(db[aT])), ("%s%d__wlgWlg__" + toString(db[aU])), ("%s%d__wlgPrice__" + toString(db[aV])), ("%s%d__usdtFunds__" + toString(db[aW])), ("%s%d__usdtActivity__" + toString(db[aX])), ("%s%d__usdtStaking__" + toString(db[aY])), ("%s%d__usdtArbitrage__" + toString(db[aZ])), ("%s%d__usdtPool__" + toString(db[ba])), ("%s%d__wlgIssueTime__" + toString(db[bb])), ("%s%d__wlgLastTeamActTime__" + toString(db[bc])), ("%s%d__wlgTeamTotal__" + toString(db[bd])), ("%s%d__wlgTeamAmLeft__" + toString(db[be])), ("%s%d__wlgTeamAmAvailNow__" + toString(db[bf])), ("%s%d__wlgTeamWlgold__" + toString(db[bg])), ("%s%d__wlgActTotal__" + toString(db[bh])), ("%s%d__wlgActAmLeft__" + toString(db[bi])), ("%s%d__wlgActAmAvailNow__" + toString(db[bj])), ("%s%d__wlgActWlgold__" + toString(db[bk])), ("%s%d__wlgCurPeriod__" + toString(db[bl])), ("%s%d__wlgAmLeftTotal__" + toString(db[bm])), ("%s%d__wlgCurPeriodDistribution__" + toString(db[bn])), ("%s%d__wlgLastUserTime__" + toString(db[bo])), ("%s%d__wlgInvestFundTotal__" + toString(db[bp])), ("%s%d__wlgUserAmAvailNow__" + toString(db[bq])), ("%s%d__wlgEffUserTime__" + toString(db[br])), ("%s%d__wlgIssue10AvailNow__" + toString(db[bs])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(db[bt])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(db[bu])), ("%s%d__wlgUserIssue10AvailNow__" + toString(db[bv])), ("%s%d__wlgLastIssue10Time__" + toString(db[bw]))])
446+@Callable(cN)
447+func wlgStatsREADONLY (bD) = {
448+ let dg = bC(bD, [u, v, w, x, y], c, 0)
449+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(dg[aY])), ("%s%d__wlgWlg__" + toString(dg[aZ])), ("%s%d__wlgPrice__" + toString(dg[ba])), ("%s%d__usdtFunds__" + toString(dg[bb])), ("%s%d__usdtActivity__" + toString(dg[bc])), ("%s%d__usdtStaking__" + toString(dg[bd])), ("%s%d__usdtArbitrage__" + toString(dg[be])), ("%s%d__usdtPool__" + toString(dg[bf])), ("%s%d__wlgIssueTime__" + toString(dg[bg])), ("%s%d__wlgLastTeamActTime__" + toString(dg[bh])), ("%s%d__wlgTeamTotal__" + toString(dg[bi])), ("%s%d__wlgTeamAmLeft__" + toString(dg[bj])), ("%s%d__wlgTeamAmAvailNow__" + toString(dg[bk])), ("%s%d__wlgTeamWlgold__" + toString(dg[bl])), ("%s%d__wlgActTotal__" + toString(dg[bm])), ("%s%d__wlgActAmLeft__" + toString(dg[bn])), ("%s%d__wlgActAmAvailNow__" + toString(dg[bo])), ("%s%d__wlgActWlgold__" + toString(dg[bp])), ("%s%d__wlgCurPeriod__" + toString(dg[bq])), ("%s%d__wlgAmLeftTotal__" + toString(dg[br])), ("%s%d__wlgCurPeriodDistribution__" + toString(dg[bs])), ("%s%d__wlgLastUserTime__" + toString(dg[bt])), ("%s%d__wlgInvestFundTotal__" + toString(dg[bu])), ("%s%d__wlgUserAmAvailNow__" + toString(dg[bv])), ("%s%d__wlgEffUserTime__" + toString(dg[bw])), ("%s%d__wlgIssue10AvailNow__" + toString(dg[bx])), ("%s%d__wlgMarketingIssue10AvailNow__" + toString(dg[by])), ("%s%d__wlgTeamIssue10AvailNow__" + toString(dg[bz])), ("%s%d__wlgUserIssue10AvailNow__" + toString(dg[bA])), ("%s%d__wlgLastIssue10Time__" + toString(dg[bB]))])
450+ }
451+
452+
453+
454+@Callable(cN)
455+func lotteryStatsREADONLY (bD) = {
456+ let dh = (height / X)
457+ $Tuple2(nil, [("%s%d__totalTickets__" + toString(valueOrElse(getInteger(w, aT), 0))), ("%s%d__userTickets__" + toString(valueOrElse(getInteger(w, aS(bD)), 0))), ("%s%d__blockchainDay__" + toString(dh)), ("%s%d__blockchainMinute__" + toString((height % X))), ("%s%d__winningBetToday__" + toString(aU(dh)))])
440458 }
441459
442460

github/deemru/w8io/169f3d6 
133.31 ms