tx · 6JuEiPzZyootpYM9dga1vmVKR1RJH9rJi1NMdBW4E5Qv

3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv:  -0.01400000 Waves

2024.09.15 14:55 [3284744] smart account 3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv > SELF 0.00000000 Waves

{ "type": 13, "id": "6JuEiPzZyootpYM9dga1vmVKR1RJH9rJi1NMdBW4E5Qv", "fee": 1400000, "feeAssetId": null, "timestamp": 1726401362493, "version": 2, "chainId": 84, "sender": "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv", "senderPublicKey": "2fNSk5gmWbXBDTkSYSKd66xSgVvAYzrJnP9YSAFNvTwC", "proofs": [ "2gaw5ok7PnR3wbjbuhtjARAUUBgFnE8E8cfFjZpFPYQFWFucpxduVhnwGrz8MULPyMRh1o8qLWgiGn7qeMi7Vgxt" ], "script": "base64:BgIWCAISAwoBGBIDCgEIEgMKAQgSAwoBCFsAA1NFUAICX18ABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABZkZWZhdWx0UmVzdDJBZGRyZXNzU3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUEZ3WXRhOGJpRXozMXpwZUZlNURKSzh3RTV0clNwUVZGOAMJAAACAQFUBQckbWF0Y2gwAiMzTjdVdVlhcjYyNjRQNThGQmhWV0tQUUFoNFl1YTJoZ25ndgkAAgECDVVua25vd24gY2hhaW4AFW9sZFN0YWtpbmdDb250cmFjdFN0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BMbmNYdFMxVTgzRDZjUWJGRDNIOHJCSFBMZ3p4U0ZLWjEDCQAAAgEBVAUHJG1hdGNoMAIjM05EQ3lCRzVxODVKdWFSaWlnVWVFdGFpbnlqQ1FUM1hwWm0JAAIBAg1Vbmtub3duIGNoYWluAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAAQSWR4Q2ZnQWNyZXMyRGFwcAABAA1JZHhDZmdXbGdEYXBwAAIAFElkeENmZ1B1enpsZVBvb2xEYXBwAAQAFElkeENmZ0ludmVzdEZ1bmREYXBwAAUBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEPa2V5UmVzdDJBZGRyZXNzAAINJXNfX3Jlc3QyQWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCCHJlc3QyQ2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUIcmVzdDJDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AA1yZXN0MkNvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ9rZXlSZXN0MkFkZHJlc3MABRZkZWZhdWx0UmVzdDJBZGRyZXNzU3RyAAhyZXN0MkNmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUNcmVzdDJDb250cmFjdAAOYWNyZXMyQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUQSWR4Q2ZnQWNyZXMyRGFwcAALd2xnQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUNSWR4Q2ZnV2xnRGFwcAAScHV6emxlUG9vbENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUUSWR4Q2ZnSW52ZXN0RnVuZERhcHAAE29sZEFjcmVzQ29udHJhY3RLZXkCEG9sZEFjcmVzQ29udHJhY3QBEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUOYWNyZXMyQ29udHJhY3QFD2FjcmVzQXNzZXRJZEtleQIXQUNSRVMgaXMgbm90IGlzc3VlZCB5ZXQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBGFkZHIJAKwCAgIYYWNjb3VudEN1c3RvbU5hbWVCeUFkZHJfBQRhZGRyAQ9rZXlBZGRyZXNzUmVmQnkBBGFkZHIJAKwCAgIJYWNjUmVmQnlfBQRhZGRyARNrZXlBZGRyZXNzUmVmZXJyYWxzAQRhZGRyCQCsAgICDWFjY1JlZmVycmFsc18FBGFkZHIBDGFzVHVwbGU0SW50cwEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIUKEludCwgSW50LCBJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAiZmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQsIEludCwgSW50KQEMYXNUdXBsZTNJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAg8oSW50LCBJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAiFmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQsIEludCkBDGFzVHVwbGUySW50cwEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIKKEludCwgSW50KQQBdAUHJG1hdGNoMAUBdAkAAgECHGZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCkAA002XwDAhD0AA004XwCAwtcvAAVNSUxMNgCAgOmDsd4WAApURUFNX1NIQVJFAMCaDAAOQUNUSVZJVFlfU0hBUkUAoI0GAAxQTEFZRVJfU0hBUkUAgLUYAAtZRUFSX01JTExJUwCAhuvHdQADY2huCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAA1VU0RUX1RWTF9DT1JSBAckbWF0Y2gwBQNjaG4DCQAAAgEBVwUHJG1hdGNoMADw9ajABAMJAAACAQFUBQckbWF0Y2gwAAAJAAIBAg1Vbmtub3duIGNoYWluAAp0ZWFtQWRyS2V5Agh0ZWFtQWRkcgAObGFzdFRlYW1UaW1LZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtAA50ZWFtQW10TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFGxhc3RBY3Rpdml0aWVzVGltS2V5AhpsYXN0Q2xhaW1lZFRpbWVfYWN0aXZpdGllcwANYWN0QW10TGVmdEtleQIUYWN0aXZpdGllc0Ftb3VudExlZnQAEXN0YWtlcnNBbXRMZWZ0S2V5AhFzdGFrZXJzQW1vdW50TGVmdAEWa2V5TGFzdENsYWltVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgENZGlzdHJCeVBlcmlvZAEGcGVyaW9kCQBrAwUFTUlMTDYJAGgCBQxQTEFZRVJfU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUDTTZfAA53bGdJc3N1ZVRpbUtleQINd2xnX2lzc3VlVGltZQAPd2xnSXNzdWVkQW10S2V5AhB3bGdfaXNzdWVkQW1vdW50AA56Yklzc3VlZEFtdEtleQISemJpbGxfaXNzdWVkQW1vdW50ARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIAFHRvdGFsRmFybWluZ1Bvd2VyS2V5AhF0b3RhbEZhcm1pbmdQb3dlcgAJZGFwcDJSZXN0AAAADGRhcHAyU3Rha2luZwABAAhkYXBwMldsZwACAAtkYXBwMlB1enpsZQADAA9kYXBwMkludmVzdEZ1bmQABAAGbGV2ZWxzCQDMCAIACgkAzAgCABQJAMwIAgAoCQDMCAIAUAkAzAgCAJYBCQDMCAIA+gEJAMwIAgCQAwkAzAgCALwFCQDMCAIA6AcFA25pbAEPZ2V0TGV2ZWxCeUFjcmVzAQVhY3JlcwQDYWNyCQBpAgUFYWNyZXMFA004XwoBB2NoZWNrZXICA2FjYwRpdGVtAwkAZgIFBGl0ZW0FA2FjcgUDYWNjCQBkAgUDYWNjAAEEA2lkeAoAAiRsBQZsZXZlbHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB2NoZWNrZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAGQCBQNpZHgAAQEWZ2V0RmFybWluZ1Bvd2VyQnlBY3JlcwEFYWNyZXMJAGgCCQBoAgUFYWNyZXMAFAkAZAIJAQ9nZXRMZXZlbEJ5QWNyZXMBBQVhY3JlcwAEARBnZXRGYXJtaW5nUG93ZXJzAhJ1c2VyQWRkclN0ck9yRW1wdHkOYWNyZXMyQ29udHJhY3QEB3RvdGFsRlAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QFFHRvdGFsRmFybWluZ1Bvd2VyS2V5AAAECXVzZXJBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUSdXNlckFkZHJTdHJPckVtcHR5AAAEBnVzZXJGUAkBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBQl1c2VyQWNyZXMJAMwIAgUHdG90YWxGUAkAzAgCBQZ1c2VyRlAFA25pbAAKaWR4VG90YWxGUAAAAAlpZHhVc2VyRlAAAQALaXhXbGdBbW91bnQAAAAKaXhXbGdQcmljZQABAAppeFdsZ0Z1bmRzAAIADWl4V2xnQWN0aXZpdHkAAwAOaXhXbGdBcmJpdHJhZ2UABAAJaXhXbGdQb29sAAUADml4V2xnSXNzdWVUaW1lAAYAFGl4V2xnTGFzdFRlYW1BY3RUaW1lAAcADml4V2xnVGVhbVRvdGFsAAgAD2l4V2xnVGVhbUFtTGVmdAAJABNpeFdsZ1RlYW1BbUF2YWlsTm93AAoAD2l4V2xnVGVhbVdsZ29sZAALAA1peFdsZ0FjdFRvdGFsAAwADml4V2xnQWN0QW1MZWZ0AA0AEml4V2xnQWN0QW1BdmFpbE5vdwAOAA5peFdsZ0FjdFdsZ29sZAAPAA5peFdsZ0N1clBlcmlvZAAQABBpeFdsZ0FtTGVmdFRvdGFsABEAGml4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uABIAEWl4V2xnTGFzdFVzZXJUaW1lABMAFWl4V2xnSW52ZXN0RnVuZEFtb3VudAAUABNpeFdsZ1VzZXJBbUF2YWlsTm93ABUAEGl4V2xnRWZmVXNlclRpbWUAFgEMZ2V0V2xnU3RhdHMyBAt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQMaXNzdWVkQW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ93bGdJc3N1ZWRBbXRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQHcmVzdFVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUJZGFwcDJSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQZ1c2R0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQJcHV6emxlVXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwMlB1enpsZQUGdXNkdElkBBFpbnZlc3RGbmRDb250cmFjdAkAkQMCBQljb250cmFjdHMFD2RhcHAySW52ZXN0RnVuZAQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRFpbnZlc3RGbmRDb250cmFjdAUGdXNkdElkCQELdmFsdWVPckVsc2UCCQCaCAIFEWludmVzdEZuZENvbnRyYWN0BQ56Yklzc3VlZEFtdEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgUGd2xnVXNkBQ9pbnZlc3RGdW5kVG90YWwEBXdsZ0lkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ53bGdJc3N1ZVRpbUtleQIPTm90IGluaXRpYWxpemVkBAl0ZWFtVG90YWwJAGsDBQVNSUxMNgUKVEVBTV9TSEFSRQUDTTZfBA50ZWFtQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFDnRlYW1BbXRMZWZ0S2V5BQl0ZWFtVG90YWwEDGxhc3RUZWFtVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFDmxhc3RUZWFtVGltS2V5BQlpc3N1ZVRpbWUECHRlYW1BZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUKdGVhbUFkcktleQQWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQl0ZWFtVG90YWwJAGUCBQNub3cFDGxhc3RUZWFtVGltZQkAaAIAAwULWUVBUl9NSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUFTUlMTDYFDkFDVElWSVRZX1NIQVJFBQNNNl8EDWFjdEFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ1hY3RBbXRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUUbGFzdEFjdGl2aXRpZXNUaW1LZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFC1lFQVJfTUlMTElTCQDMCAIFDWFjdEFtb3VudExlZnQFA25pbAQJYWN0V2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQlkYXBwMlJlc3QFBXdsZ0lkBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnCQEWa2V5TGFzdENsYWltVGltZUJ5VXNlcgEFC3VzZXJBZGRyT3B0BQlpc3N1ZVRpbWUEDmxhc3RVc2VyUGVyaW9kCQBpAgkAZQIFDGxhc3RVc2VyVGltZQUJaXNzdWVUaW1lBQtZRUFSX01JTExJUwQKbm93TGltaXRlZAkAlwMBCQDMCAIFA25vdwkAzAgCCQBkAgUJaXNzdWVUaW1lCQBoAgADBQtZRUFSX01JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQtZRUFSX01JTExJUwkAzAgCAAIFA25pbAQDZWZmCQEQZ2V0RmFybWluZ1Bvd2VycwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwUMZGFwcDJTdGFraW5nBBVjdXJQZXJpb2REaXN0cmlidXRpb24JAQ1kaXN0ckJ5UGVyaW9kAQUJY3VyUGVyaW9kBAgkdDA3OTExOQMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQULWUVBUl9NSUxMSVMEB2VmZlRpbWUFCm5vd0xpbWl0ZWQJAJQKAgUCYTAFB2VmZlRpbWUDCQAAAgUObGFzdFVzZXJQZXJpb2QJAGUCBQljdXJQZXJpb2QAAQQCYTEJAGsDCQENZGlzdHJCeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwUJY3VyUGVyaW9kBQxsYXN0VXNlclRpbWUFC1lFQVJfTUlMTElTBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwUJY3VyUGVyaW9kBQtZRUFSX01JTExJUwQFYXZhaWwJAGQCBQJhMQUCYTAEB2VmZlRpbWUDCQBnAgUCYTEFBWF2YWlsCQBkAgUMbGFzdFVzZXJUaW1lCQBrAwULWUVBUl9NSUxMSVMFBWF2YWlsCQENZGlzdHJCeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwUJY3VyUGVyaW9kCQBrAwULWUVBUl9NSUxMSVMJAGUCBQVhdmFpbAUCYTEFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAlAoCBQVhdmFpbAUHZWZmVGltZQQCYTIJAGsDCQENZGlzdHJCeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwkAZQIFCWN1clBlcmlvZAABBQxsYXN0VXNlclRpbWUFC1lFQVJfTUlMTElTBAJhMQkBDWRpc3RyQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFC1lFQVJfTUlMTElTBQljdXJQZXJpb2QFC1lFQVJfTUlMTElTBAVhdmFpbAkAZAIJAGQCBQJhMgUCYTEFAmEwBAdlZmZUaW1lAwkAZwIFAmEyBQVhdmFpbAkAZAIFDGxhc3RVc2VyVGltZQkAawMFC1lFQVJfTUlMTElTBQVhdmFpbAkBDWRpc3RyQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAIDCQBnAgkAZAIFAmEyBQJhMQUFYXZhaWwJAGQCCQBkAgUJaXNzdWVUaW1lCQBoAgULWUVBUl9NSUxMSVMJAGUCBQljdXJQZXJpb2QAAQkAawMFC1lFQVJfTUlMTElTCQBlAgUFYXZhaWwFAmEyCQENZGlzdHJCeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwUJY3VyUGVyaW9kCQBrAwULWUVBUl9NSUxMSVMJAGUCCQBlAgUFYXZhaWwFAmEyBQJhMQUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQCUCgIFBWF2YWlsBQdlZmZUaW1lBA11c2VyQXZhaWxhYmxlCAUIJHQwNzkxMTkCXzEEC2VmZkxhc3RUaW1lCAUIJHQwNzkxMTkCXzIED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcDJXbGcFEXN0YWtlcnNBbXRMZWZ0S2V5AAAEDHVucm9iYmVkVXNlcgMJAQIhPQIJAJEDAgUDZWZmBQppZHhUb3RhbEZQAAAJAGsDBQ11c2VyQXZhaWxhYmxlCQCRAwIFA2VmZgUJaWR4VXNlckZQCQCRAwIFA2VmZgUKaWR4VG90YWxGUAAACQDMCAIFDGlzc3VlZEFtb3VudAkAzAgCCQBrAwkAZQIFDXRvdGFsRnVuZHNVc2QFDVVTRFRfVFZMX0NPUlIFA004XwUMaXNzdWVkQW1vdW50CQDMCAIFDXRvdGFsRnVuZHNVc2QJAMwIAgUHcmVzdFVzZAkAzAgCBQZ3bGdVc2QJAMwIAgUJcHV6emxlVXNkCQDMCAIFCWlzc3VlVGltZQkAzAgCBQxsYXN0VGVhbVRpbWUJAMwIAgUJdGVhbVRvdGFsCQDMCAIFDnRlYW1BbW91bnRMZWZ0CQDMCAIFFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAMwIAgUKdGVhbVdsZ29sZAkAzAgCBQhhY3RUb3RhbAkAzAgCBQ1hY3RBbW91bnRMZWZ0CQDMCAIFFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQlhY3RXbGdvbGQJAMwIAgUJY3VyUGVyaW9kCQDMCAIFD2Ftb3VudExlZnRUb3RhbAkAzAgCBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAMwIAgUMbGFzdFVzZXJUaW1lCQDMCAIFD2ludmVzdEZ1bmRUb3RhbAkAzAgCBQx1bnJvYmJlZFVzZXIJAMwIAgULZWZmTGFzdFRpbWUFA25pbAEOd2FsbGV0SW50ZXJuYWwBDnVzZXJBZGRyZXNzT3B0BARhZGRyCQCmCAEFDnVzZXJBZGRyZXNzT3B0BAdiYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAO8HAQkBBXZhbHVlAQUEYWRkcgkBDkJhbGFuY2VEZXRhaWxzBAAAAAAAAAAABA13bGdvbGRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUKd2xnQXNzZXRJZAAABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUOYWNyZXMyQ29udHJhY3QFCHJlZkJ5S2V5BARyZWZzCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQETa2V5QWRkcmVzc1JlZmVycmFscwEFDnVzZXJBZGRyZXNzT3B0AgAECGxhc3RUeElkCQELdmFsdWVPckVsc2UCCQCdCAIFDmFjcmVzMkNvbnRyYWN0CQERa2V5TGFzdFR4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAxhY3Jlc0JhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQxhY3Jlc0Fzc2V0SWQAAAQLc3Rha2VkQWNyZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBD2dldExldmVsQnlBY3JlcwEFDGFjcmVzQmFsYW5jZQQCZnAJARBnZXRGYXJtaW5nUG93ZXJzAgUOdXNlckFkZHJlc3NPcHQFDmFjcmVzMkNvbnRyYWN0CQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlc19fcmVmZXJyZWRCeV9fCQELdmFsdWVPckVsc2UCBQVyZWZCeQIACQDMCAIJAKwCAgIRJXMlc19fcmVmZXJyYWxzX18FBHJlZnMJAMwIAgkArAICAhAlcyVzX19sYXN0VHhJZF9fBQhsYXN0VHhJZAkAzAgCCQCsAgICFCVzJWRfX3dhdmVzQmFsYW5jZV9fCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCsAgICFSVzJWRfX3dsZ29sZEJhbGFuY2VfXwkApAMBBQ13bGdvbGRCYWxhbmNlCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNCYWxhbmNlX18JAKQDAQUMYWNyZXNCYWxhbmNlCQDMCAIJAKwCAgITJXMlZF9fc3Rha2VkQWNyZXNfXwkApAMBBQtzdGFrZWRBY3JlcwkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAhglcyVkX191c2VyRmFybWluZ1Bvd2VyX18JAKQDAQkAkQMCBQJmcAUJaWR4VXNlckZQCQDMCAIJAKwCAgIZJXMlZF9fdG90YWxGYXJtaW5nUG93ZXJfXwkApAMBCQCRAwIFAmZwBQppZHhUb3RhbEZQBQNuaWwEAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlSZXN0MkFkZHJlc3MACQClCAEFBHRoaXMFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEWY29udmVyc2lvbkluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQED29sZEFjcmVzQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUOYWNyZXMyQ29udHJhY3QFE29sZEFjcmVzQ29udHJhY3RLZXkECyR0MDQyMzA0MzUyCQEMYXNUdXBsZTJJbnRzAQkA/AcEBQ9vbGRBY3Jlc0FkZHJlc3MCF3Vuc3Rha2VBbGxBY3Jlc1JFQURPTkxZCQDMCAIFDnVzZXJBZGRyZXNzT3B0BQNuaWwFA25pbAQNdW5zdGFrZWRBY3JlcwgFCyR0MDQyMzA0MzUyAl8xBAxjbGFpbWVkQWNyZXMIBQskdDA0MjMwNDM1MgJfMgQLJHQwNDM1NTQ1MDQJAQxhc1R1cGxlNEludHMBCQD8BwQFDmFjcmVzMkNvbnRyYWN0AhR1bnN0YWtlTGFuZHNSRUFET05MWQkAzAgCBQ51c2VyQWRkcmVzc09wdAUDbmlsBQNuaWwED2FjcmVzRnJvbVBpZWNlcwgFCyR0MDQzNTU0NTA0Al8xBAxhY3Jlc0Zyb21SZXMIBQskdDA0MzU1NDUwNAJfMgQMYWNyZXNGcm9tTWF0CAULJHQwNDM1NTQ1MDQCXzMEDWFjcmVzRnJvbVByb2QIBQskdDA0MzU1NDUwNAJfNAQRb2xkU3Rha2luZ0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFFW9sZFN0YWtpbmdDb250cmFjdFN0cgQLZHVja0Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgURb2xkU3Rha2luZ0FkZHJlc3MJARRrZXlTdGFrZWREdWNrQnlPd25lcgEFDnVzZXJBZGRyZXNzT3B0AgAECyR0MDQ2ODI0OTA0AwkBAiE9AgULZHVja0Fzc2V0SWQCAAkBDGFzVHVwbGUzSW50cwEJAPwHBAURb2xkU3Rha2luZ0FkZHJlc3MCE3Vuc3Rha2VEdWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQJAMwIAgUOdXNlckFkZHJlc3NPcHQFA25pbAUDbmlsCQCVCgMAAAAAAAAEEGFjcmVzRnJvbUR1Y2tSZXMIBQskdDA0NjgyNDkwNAJfMQQQYWNyZXNGcm9tRHVja01hdAgFCyR0MDQ2ODI0OTA0Al8yBBFhY3Jlc0Zyb21EdWNrUHJvZAgFCyR0MDQ2ODI0OTA0Al8zCQCUCgIFA25pbAkAzAgCCQCsAgICFSVzJWRfX3Vuc3Rha2VkQWNyZXNfXwkApAMBBQ11bnN0YWtlZEFjcmVzCQDMCAIJAKwCAgIUJXMlZF9fY2xhaW1lZEFjcmVzX18JAKQDAQUMY2xhaW1lZEFjcmVzCQDMCAIJAKwCAgIXJXMlZF9fYWNyZXNGcm9tUGllY2VzX18JAKQDAQUPYWNyZXNGcm9tUGllY2VzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNGcm9tUmVzX18JAKQDAQUMYWNyZXNGcm9tUmVzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNGcm9tTWF0X18JAKQDAQUMYWNyZXNGcm9tTWF0CQDMCAIJAKwCAgIVJXMlZF9fYWNyZXNGcm9tUHJvZF9fCQCkAwEFDWFjcmVzRnJvbVByb2QJAMwIAgkArAICAhglcyVkX19hY3Jlc0Zyb21EdWNrUmVzX18JAKQDAQUQYWNyZXNGcm9tRHVja1JlcwkAzAgCCQCsAgICGCVzJWRfX2FjcmVzRnJvbUR1Y2tNYXRfXwkApAMBBRBhY3Jlc0Zyb21EdWNrTWF0CQDMCAIJAKwCAgIZJXMlZF9fYWNyZXNGcm9tRHVja1Byb2RfXwkApAMBBRFhY3Jlc0Zyb21EdWNrUHJvZAUDbmlsAWkBEHdsZ1N0YXRzUkVBRE9OTFkBC3VzZXJBZGRyT3B0BAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQFC3VzZXJBZGRyT3B0CQDMCAIFDXJlc3QyQ29udHJhY3QJAMwIAgUOYWNyZXMyQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAAACQCUCgIFA25pbAkAzAgCCQCsAgICESVzJWRfX3dsZ0Ftb3VudF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2l4V2xnQW1vdW50CQDMCAIJAKwCAgIQJXMlZF9fd2xnUHJpY2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQppeFdsZ1ByaWNlCQDMCAIJAKwCAgIRJXMlZF9fdXNkdEZ1bmRzX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaXhXbGdGdW5kcwkAzAgCCQCsAgICFCVzJWRfX3VzZHRBY3Rpdml0eV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDWl4V2xnQWN0aXZpdHkJAMwIAgkArAICAhUlcyVkX191c2R0QXJiaXRyYWdlX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhAlcyVkX191c2R0UG9vbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFCWl4V2xnUG9vbAkAzAgCCQCsAgICFCVzJWRfX3dsZ0lzc3VlVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDml4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIjJXMlZF9fd2xnTGFzdE1hcmtldGluZ1RlYW1BY3RUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaXhXbGdMYXN0VGVhbUFjdFRpbWUJAMwIAgkArAICAhQlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5peFdsZ1RlYW1Ub3RhbAkAzAgCCQCsAgICFSVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9peFdsZ1RlYW1BbUxlZnQJAMwIAgkArAICAhklcyVkX193bGdUZWFtQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFE2l4V2xnVGVhbUFtQXZhaWxOb3cJAMwIAgkArAICAhUlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaXhXbGdUZWFtV2xnb2xkCQDMCAIJAKwCAgITJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ1peFdsZ0FjdFRvdGFsCQDMCAIJAKwCAgIUJXMlZF9fd2xnQWN0QW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdBY3RBbUxlZnQJAMwIAgkArAICAhglcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaXhXbGdBY3RBbUF2YWlsTm93CQDMCAIJAKwCAgIUJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaXhXbGdBY3RXbGdvbGQJAMwIAgkArAICAhQlcyVkX193bGdDdXJQZXJpb2RfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5peFdsZ0N1clBlcmlvZAkAzAgCCQCsAgICFiVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaXhXbGdBbUxlZnRUb3RhbAkAzAgCCQCsAgICICVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFGml4V2xnQ3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIJAKwCAgIXJXMlZF9fd2xnTGFzdFVzZXJUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaXhXbGdMYXN0VXNlclRpbWUJAMwIAgkArAICAholcyVkX193bGdJbnZlc3RGdW5kVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpeFdsZ0ludmVzdEZ1bmRBbW91bnQJAMwIAgkArAICAhklcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFE2l4V2xnVXNlckFtQXZhaWxOb3cJAMwIAgkArAICAhYlcyVkX193bGdFZmZVc2VyVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEGl4V2xnRWZmVXNlclRpbWUFA25pbAC+o804", "height": 3284744, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5yfJPe1SVAMULjBiDZ6KKRPD7y9mPtBwiS3ek75EYT5M Next: 4YH7Usrv4JmkBtnLpJktSu8zAedkzc3oyohNk7iUegtT Diff:
OldNewDifferences
177177 func al (B) = ("acresStakedAmountByUser_" + B)
178178
179179
180-let am = "acresStakedAmountTotal"
180+let am = "totalFarmingPower"
181181
182182 let an = 0
183183
218218 func aG (au) = ((au * 20) * (at(au) + 4))
219219
220220
221-func aH (aI,aJ) = {
222- let aK = valueOrElse(getInteger(aJ, am), 0)
221+func aH (aI,v) = {
222+ let aJ = valueOrElse(getInteger(v, am), 0)
223+ let aK = valueOrElse(getInteger(v, al(aI)), 0)
223224 let aL = aG(aK)
224- let aM = valueOrElse(getInteger(aJ, al(aI)), 0)
225- let aN = aG(aM)
226-[aL, aN]
225+[aJ, aL]
227226 }
228227
228+
229+let aM = 0
230+
231+let aN = 1
229232
230233 let aO = 0
231234
232235 let aP = 1
233236
234-let aQ = 0
237+let aQ = 2
235238
236-let aR = 1
239+let aR = 3
237240
238-let aS = 2
241+let aS = 4
239242
240-let aT = 3
243+let aT = 5
241244
242-let aU = 4
245+let aU = 6
243246
244-let aV = 5
247+let aV = 7
245248
246-let aW = 6
249+let aW = 8
247250
248-let aX = 7
251+let aX = 9
249252
250-let aY = 8
253+let aY = 10
251254
252-let aZ = 9
255+let aZ = 11
253256
254-let ba = 10
257+let ba = 12
255258
256-let bb = 11
259+let bb = 13
257260
258-let bc = 12
261+let bc = 14
259262
260-let bd = 13
263+let bd = 15
261264
262-let be = 14
265+let be = 16
263266
264-let bf = 15
267+let bf = 17
265268
266-let bg = 16
269+let bg = 18
267270
268-let bh = 17
271+let bh = 19
269272
270-let bi = 18
273+let bi = 20
271274
272-let bj = 19
275+let bj = 21
273276
274-let bk = 20
277+let bk = 22
275278
276-let bl = 21
277-
278-let bm = 22
279-
280-func bn (bo,bp,bq,br) = {
281- let bs = valueOrErrorMessage(getInteger(bp[ap], aj), "WLGOLD is not issued yet")
282- let bt = assetBalance(bp[an], bq)
283- let bu = (assetBalance(bp[ap], bq) - br)
284- let bv = assetBalance(bp[aq], bq)
285- let bw = bp[ar]
286- let bx = (assetBalance(bw, bq) + valueOrElse(getInteger(bw, ak), 0))
287- let by = (bu + bx)
288- let bz = valueOrErrorMessage(getBinary(bp[ap], "wlg_assetId"), "Not initialized yet")
289- let bA = lastBlock.timestamp
290- let bB = valueOrErrorMessage(getInteger(bp[ap], ai), "Not initialized")
291- let bC = fraction(S, T, Q)
292- let bD = valueOrElse(getInteger(bp[ap], ab), bC)
293- let bE = valueOrElse(getInteger(bp[ap], aa), bB)
294- let bF = addressFromStringValue(value(getString(bp[ap], Z)))
295- let bG = min([fraction(bC, (bA - bE), (3 * W)), bD])
296- let bH = assetBalance(bF, bz)
297- let bI = fraction(S, U, Q)
298- let bJ = valueOrElse(getInteger(bp[ap], ad), bI)
299- let bK = valueOrElse(getInteger(bp[ap], ac), bB)
300- let bL = min([fraction(bI, (bA - bK), (3 * W)), bJ])
301- let bM = assetBalance(bp[an], bz)
302- let bN = valueOrElse(getInteger(bp[ap], af(bo)), bB)
303- let bO = ((bN - bB) / W)
304- let bP = min([bA, (bB + (3 * W))])
305- let bQ = min([((bA - bB) / W), 2])
306- let bR = aH(bo, bp[ao])
307- let bS = ag(bQ)
308- let bT = if ((bO == bQ))
279+func bl (bm,bn,bo,bp) = {
280+ let bq = valueOrErrorMessage(getInteger(bn[ap], aj), "WLGOLD is not issued yet")
281+ let br = assetBalance(bn[an], bo)
282+ let bs = (assetBalance(bn[ap], bo) - bp)
283+ let bt = assetBalance(bn[aq], bo)
284+ let bu = bn[ar]
285+ let bv = (assetBalance(bu, bo) + valueOrElse(getInteger(bu, ak), 0))
286+ let bw = (bs + bv)
287+ let bx = valueOrErrorMessage(getBinary(bn[ap], "wlg_assetId"), "Not initialized yet")
288+ let by = lastBlock.timestamp
289+ let bz = valueOrErrorMessage(getInteger(bn[ap], ai), "Not initialized")
290+ let bA = fraction(S, T, Q)
291+ let bB = valueOrElse(getInteger(bn[ap], ab), bA)
292+ let bC = valueOrElse(getInteger(bn[ap], aa), bz)
293+ let bD = addressFromStringValue(value(getString(bn[ap], Z)))
294+ let bE = min([fraction(bA, (by - bC), (3 * W)), bB])
295+ let bF = assetBalance(bD, bx)
296+ let bG = fraction(S, U, Q)
297+ let bH = valueOrElse(getInteger(bn[ap], ad), bG)
298+ let bI = valueOrElse(getInteger(bn[ap], ac), bz)
299+ let bJ = min([fraction(bG, (by - bI), (3 * W)), bH])
300+ let bK = assetBalance(bn[an], bx)
301+ let bL = valueOrElse(getInteger(bn[ap], af(bm)), bz)
302+ let bM = ((bL - bz) / W)
303+ let bN = min([by, (bz + (3 * W))])
304+ let bO = min([((by - bz) / W), 2])
305+ let bP = aH(bm, bn[ao])
306+ let bQ = ag(bO)
307+ let bR = if ((bM == bO))
309308 then {
310- let bU = fraction(bS, (bP - bN), W)
311- let bV = bP
312- $Tuple2(bU, bV)
309+ let bS = fraction(bQ, (bN - bL), W)
310+ let bT = bN
311+ $Tuple2(bS, bT)
313312 }
314- else if ((bO == (bQ - 1)))
313+ else if ((bM == (bO - 1)))
315314 then {
316- let bW = fraction(ag((bQ - 1)), ((bB + (W * bQ)) - bN), W)
317- let bU = fraction(bS, (bP - (bB + (W * bQ))), W)
318- let bX = (bW + bU)
319- let bV = if ((bW >= bX))
320- then (bN + fraction(W, bX, ag((bQ - 1))))
321- else ((bB + (W * bQ)) + fraction(W, (bX - bW), bS))
322- $Tuple2(bX, bV)
315+ let bU = fraction(ag((bO - 1)), ((bz + (W * bO)) - bL), W)
316+ let bS = fraction(bQ, (bN - (bz + (W * bO))), W)
317+ let bV = (bU + bS)
318+ let bT = if ((bU >= bV))
319+ then (bL + fraction(W, bV, ag((bO - 1))))
320+ else ((bz + (W * bO)) + fraction(W, (bV - bU), bQ))
321+ $Tuple2(bV, bT)
323322 }
324323 else {
325- let bY = fraction(ag((bQ - 2)), ((bB + (W * (bQ - 1))) - bN), W)
326- let bW = ag((bQ - 1))
327- let bU = fraction(bS, (bP - (bB + (W * bQ))), W)
328- let bX = ((bY + bW) + bU)
329- let bV = if ((bY >= bX))
330- then (bN + fraction(W, bX, ag((bQ - 2))))
331- else if (((bY + bW) >= bX))
332- then ((bB + (W * (bQ - 1))) + fraction(W, (bX - bY), ag((bQ - 1))))
333- else ((bB + (W * bQ)) + fraction(W, ((bX - bY) - bW), bS))
334- $Tuple2(bX, bV)
324+ let bW = fraction(ag((bO - 2)), ((bz + (W * (bO - 1))) - bL), W)
325+ let bU = ag((bO - 1))
326+ let bS = fraction(bQ, (bN - (bz + (W * bO))), W)
327+ let bV = ((bW + bU) + bS)
328+ let bT = if ((bW >= bV))
329+ then (bL + fraction(W, bV, ag((bO - 2))))
330+ else if (((bW + bU) >= bV))
331+ then ((bz + (W * (bO - 1))) + fraction(W, (bV - bW), ag((bO - 1))))
332+ else ((bz + (W * bO)) + fraction(W, ((bV - bW) - bU), bQ))
333+ $Tuple2(bV, bT)
335334 }
336- let bZ = bT._1
337- let ca = bT._2
338- let cb = valueOrElse(getInteger(bp[ap], ae), 0)
339- let cc = if ((bR[aO] != 0))
340- then fraction(bZ, bR[aP], bR[aO])
335+ let bX = bR._1
336+ let bY = bR._2
337+ let bZ = valueOrElse(getInteger(bn[ap], ae), 0)
338+ let ca = if ((bP[aM] != 0))
339+ then fraction(bX, bP[aN], bP[aM])
341340 else 0
342-[bs, fraction((by - Y), R, bs), by, bt, bu, bv, bB, bE, bC, bD, bG, bH, bI, bJ, bL, bM, bQ, cb, bS, bN, bx, cc, ca]
341+[bq, fraction((bw - Y), R, bq), bw, br, bs, bt, bz, bC, bA, bB, bE, bF, bG, bH, bJ, bK, bO, bZ, bQ, bL, bv, ca, bY]
343342 }
344343
345344
346-func cd (ce) = {
347- let B = addressFromString(ce)
348- let cf = if (isDefined(B))
345+func cb (cc) = {
346+ let B = addressFromString(cc)
347+ let cd = if (isDefined(B))
349348 then wavesBalance(value(B))
350349 else BalanceDetails(0, 0, 0, 0)
351- let cg = if (isDefined(B))
350+ let ce = if (isDefined(B))
352351 then assetBalance(value(B), D)
353352 else 0
354- let ch = valueOrElse(getString(v, I(ce)), ce)
355- let ci = J(ce)
356- let cj = getString(v, ci)
357- let ck = valueOrElse(getString(v, K(ce)), "")
358- let cl = valueOrElse(getString(v, A(ce)), "")
359- let cm = if (isDefined(B))
353+ let cf = valueOrElse(getString(v, I(cc)), cc)
354+ let cg = J(cc)
355+ let ch = getString(v, cg)
356+ let ci = valueOrElse(getString(v, K(cc)), "")
357+ let cj = valueOrElse(getString(v, A(cc)), "")
358+ let ck = if (isDefined(B))
360359 then assetBalance(value(B), F)
361360 else 0
362- let cn = valueOrElse(getInteger(v, al(ce)), 0)
363- let co = at(cm)
364-[("%s%s__customName__" + ch), ("%s%s__referredBy__" + valueOrElse(cj, "")), ("%s%s__referrals__" + ck), ("%s%s__lastTxId__" + cl), ("%s%d__wavesBalance__" + toString(cf.available)), ("%s%d__wlgoldBalance__" + toString(cg)), ("%s%d__acresBalance__" + toString(cm)), ("%s%d__stakedAcres__" + toString(cn)), ("%s%d__currentLvl__" + toString(co))]
361+ let cl = valueOrElse(getInteger(v, al(cc)), 0)
362+ let cm = at(ck)
363+ let cn = aH(cc, v)
364+[("%s%s__customName__" + cf), ("%s%s__referredBy__" + valueOrElse(ch, "")), ("%s%s__referrals__" + ci), ("%s%s__lastTxId__" + cj), ("%s%d__wavesBalance__" + toString(cd.available)), ("%s%d__wlgoldBalance__" + toString(ce)), ("%s%d__acresBalance__" + toString(ck)), ("%s%d__stakedAcres__" + toString(cl)), ("%s%d__currentLvl__" + toString(cm)), ("%s%d__userFarmingPower__" + toString(cn[aN])), ("%s%d__totalFarmingPower__" + toString(cn[aM]))]
365365 }
366366
367367
368-@Callable(cp)
369-func constructorV1 (bp) = if ((cp.caller != this))
368+@Callable(co)
369+func constructorV1 (bn) = if ((co.caller != this))
370370 then throw("permissions denied")
371371 else {
372- func cq (ax,cr) = (ax + "%s")
372+ func cp (ax,cq) = (ax + "%s")
373373
374- let cs = {
375- let az = bp
374+ let cr = {
375+ let az = bn
376376 let aA = size(az)
377377 let aB = ""
378378 func aC (aD,aE) = if ((aE >= aA))
379379 then aD
380- else cq(aD, az[aE])
380+ else cp(aD, az[aE])
381381
382382 func aF (aD,aE) = if ((aE >= aA))
383383 then aD
385385
386386 aF(aC(aC(aC(aC(aC(aC(aC(aC(aC(aC(aB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
387387 }
388-[StringEntry(n(), makeString(cs :: bp, a)), StringEntry(o(), toString(this))]
388+[StringEntry(n(), makeString(cr :: bn, a)), StringEntry(o(), toString(this))]
389389 }
390390
391391
392392
393-@Callable(cp)
394-func walletInfoREADONLY (ce) = $Tuple2(nil, cd(ce))
393+@Callable(co)
394+func walletInfoREADONLY (cc) = $Tuple2(nil, cb(cc))
395395
396396
397397
398-@Callable(cp)
399-func conversionInfoREADONLY (ce) = {
400- let ct = addressFromStringValue(getStringValue(v, z))
401- let cu = P(invoke(ct, "unstakeAllAcresREADONLY", [ce], nil))
402- let cv = cu._1
403- let cw = cu._2
404- let cx = L(invoke(v, "unstakeLandsREADONLY", [ce], nil))
405- let cy = cx._1
406- let cz = cx._2
407- let cA = cx._3
408- let cB = cx._4
409- let cC = addressFromStringValue(f)
410- let cD = valueOrElse(getString(cC, G(ce)), "")
411- let cE = if ((cD != ""))
412- then O(invoke(cC, "unstakeDuckREADONLY", [cD, ce], nil))
398+@Callable(co)
399+func conversionInfoREADONLY (cc) = {
400+ let cs = addressFromStringValue(getStringValue(v, z))
401+ let ct = P(invoke(cs, "unstakeAllAcresREADONLY", [cc], nil))
402+ let cu = ct._1
403+ let cv = ct._2
404+ let cw = L(invoke(v, "unstakeLandsREADONLY", [cc], nil))
405+ let cx = cw._1
406+ let cy = cw._2
407+ let cz = cw._3
408+ let cA = cw._4
409+ let cB = addressFromStringValue(f)
410+ let cC = valueOrElse(getString(cB, G(cc)), "")
411+ let cD = if ((cC != ""))
412+ then O(invoke(cB, "unstakeDuckREADONLY", [cC, cc], nil))
413413 else $Tuple3(0, 0, 0)
414- let cF = cE._1
415- let cG = cE._2
416- let cH = cE._3
417- $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cv)), ("%s%d__claimedAcres__" + toString(cw)), ("%s%d__acresFromPieces__" + toString(cy)), ("%s%d__acresFromRes__" + toString(cz)), ("%s%d__acresFromMat__" + toString(cA)), ("%s%d__acresFromProd__" + toString(cB)), ("%s%d__acresFromDuckRes__" + toString(cF)), ("%s%d__acresFromDuckMat__" + toString(cG)), ("%s%d__acresFromDuckProd__" + toString(cH))])
414+ let cE = cD._1
415+ let cF = cD._2
416+ let cG = cD._3
417+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cu)), ("%s%d__claimedAcres__" + toString(cv)), ("%s%d__acresFromPieces__" + toString(cx)), ("%s%d__acresFromRes__" + toString(cy)), ("%s%d__acresFromMat__" + toString(cz)), ("%s%d__acresFromProd__" + toString(cA)), ("%s%d__acresFromDuckRes__" + toString(cE)), ("%s%d__acresFromDuckMat__" + toString(cF)), ("%s%d__acresFromDuckProd__" + toString(cG))])
418418 }
419419
420420
421421
422-@Callable(cp)
423-func wlgStatsREADONLY (bo) = {
424- let cI = bn(bo, [u, v, w, x, y], c, 0)
425- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(cI[aQ])), ("%s%d__wlgPrice__" + toString(cI[aR])), ("%s%d__usdtFunds__" + toString(cI[aS])), ("%s%d__usdtActivity__" + toString(cI[aT])), ("%s%d__usdtArbitrage__" + toString(cI[aU])), ("%s%d__usdtPool__" + toString(cI[aV])), ("%s%d__wlgIssueTime__" + toString(cI[aW])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(cI[aX])), ("%s%d__wlgTeamTotal__" + toString(cI[aY])), ("%s%d__wlgTeamAmLeft__" + toString(cI[aZ])), ("%s%d__wlgTeamAmAvailNow__" + toString(cI[ba])), ("%s%d__wlgTeamWlgold__" + toString(cI[bb])), ("%s%d__wlgActTotal__" + toString(cI[bc])), ("%s%d__wlgActAmLeft__" + toString(cI[bd])), ("%s%d__wlgActAmAvailNow__" + toString(cI[be])), ("%s%d__wlgActWlgold__" + toString(cI[bf])), ("%s%d__wlgCurPeriod__" + toString(cI[bg])), ("%s%d__wlgAmLeftTotal__" + toString(cI[bh])), ("%s%d__wlgCurPeriodDistribution__" + toString(cI[bi])), ("%s%d__wlgLastUserTime__" + toString(cI[bj])), ("%s%d__wlgInvestFundTotal__" + toString(cI[bk])), ("%s%d__wlgUserAmAvailNow__" + toString(cI[bl])), ("%s%d__wlgEffUserTime__" + toString(cI[bm]))])
422+@Callable(co)
423+func wlgStatsREADONLY (bm) = {
424+ let cH = bl(bm, [u, v, w, x, y], c, 0)
425+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(cH[aO])), ("%s%d__wlgPrice__" + toString(cH[aP])), ("%s%d__usdtFunds__" + toString(cH[aQ])), ("%s%d__usdtActivity__" + toString(cH[aR])), ("%s%d__usdtArbitrage__" + toString(cH[aS])), ("%s%d__usdtPool__" + toString(cH[aT])), ("%s%d__wlgIssueTime__" + toString(cH[aU])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(cH[aV])), ("%s%d__wlgTeamTotal__" + toString(cH[aW])), ("%s%d__wlgTeamAmLeft__" + toString(cH[aX])), ("%s%d__wlgTeamAmAvailNow__" + toString(cH[aY])), ("%s%d__wlgTeamWlgold__" + toString(cH[aZ])), ("%s%d__wlgActTotal__" + toString(cH[ba])), ("%s%d__wlgActAmLeft__" + toString(cH[bb])), ("%s%d__wlgActAmAvailNow__" + toString(cH[bc])), ("%s%d__wlgActWlgold__" + toString(cH[bd])), ("%s%d__wlgCurPeriod__" + toString(cH[be])), ("%s%d__wlgAmLeftTotal__" + toString(cH[bf])), ("%s%d__wlgCurPeriodDistribution__" + toString(cH[bg])), ("%s%d__wlgLastUserTime__" + toString(cH[bh])), ("%s%d__wlgInvestFundTotal__" + toString(cH[bi])), ("%s%d__wlgUserAmAvailNow__" + toString(cH[bj])), ("%s%d__wlgEffUserTime__" + toString(cH[bk]))])
426426 }
427427
428428
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 = 100000000000000
133133
134134 let T = 200000
135135
136136 let U = 100000
137137
138138 let V = 400000
139139
140140 let W = 31557600000
141141
142142 let X = take(drop(this.bytes, 1), 1)
143143
144144 let Y = {
145145 let d = X
146146 if ((base58'2W' == d))
147147 then 1208630000
148148 else if ((base58'2T' == d))
149149 then 0
150150 else throw("Unknown chain")
151151 }
152152
153153 let Z = "teamAddr"
154154
155155 let aa = "lastClaimedTime_team"
156156
157157 let ab = "teamAmountLeft"
158158
159159 let ac = "lastClaimedTime_activities"
160160
161161 let ad = "activitiesAmountLeft"
162162
163163 let ae = "stakersAmountLeft"
164164
165165 func af (B) = ("lastClaimedTimeUser_" + B)
166166
167167
168168 func ag (ah) = fraction(S, (V * (ah + 1)), (6 * Q))
169169
170170
171171 let ai = "wlg_issueTime"
172172
173173 let aj = "wlg_issuedAmount"
174174
175175 let ak = "zbill_issuedAmount"
176176
177177 func al (B) = ("acresStakedAmountByUser_" + B)
178178
179179
180-let am = "acresStakedAmountTotal"
180+let am = "totalFarmingPower"
181181
182182 let an = 0
183183
184184 let ao = 1
185185
186186 let ap = 2
187187
188188 let aq = 3
189189
190190 let ar = 4
191191
192192 let as = [10, 20, 40, 80, 150, 250, 400, 700, 1000]
193193
194194 func at (au) = {
195195 let av = (au / R)
196196 func aw (ax,ay) = if ((ay > av))
197197 then ax
198198 else (ax + 1)
199199
200200 let t = {
201201 let az = as
202202 let aA = size(az)
203203 let aB = 0
204204 func aC (aD,aE) = if ((aE >= aA))
205205 then aD
206206 else aw(aD, az[aE])
207207
208208 func aF (aD,aE) = if ((aE >= aA))
209209 then aD
210210 else throw("List size exceeds 10")
211211
212212 aF(aC(aC(aC(aC(aC(aC(aC(aC(aC(aC(aB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
213213 }
214214 (t + 1)
215215 }
216216
217217
218218 func aG (au) = ((au * 20) * (at(au) + 4))
219219
220220
221-func aH (aI,aJ) = {
222- let aK = valueOrElse(getInteger(aJ, am), 0)
221+func aH (aI,v) = {
222+ let aJ = valueOrElse(getInteger(v, am), 0)
223+ let aK = valueOrElse(getInteger(v, al(aI)), 0)
223224 let aL = aG(aK)
224- let aM = valueOrElse(getInteger(aJ, al(aI)), 0)
225- let aN = aG(aM)
226-[aL, aN]
225+[aJ, aL]
227226 }
228227
228+
229+let aM = 0
230+
231+let aN = 1
229232
230233 let aO = 0
231234
232235 let aP = 1
233236
234-let aQ = 0
237+let aQ = 2
235238
236-let aR = 1
239+let aR = 3
237240
238-let aS = 2
241+let aS = 4
239242
240-let aT = 3
243+let aT = 5
241244
242-let aU = 4
245+let aU = 6
243246
244-let aV = 5
247+let aV = 7
245248
246-let aW = 6
249+let aW = 8
247250
248-let aX = 7
251+let aX = 9
249252
250-let aY = 8
253+let aY = 10
251254
252-let aZ = 9
255+let aZ = 11
253256
254-let ba = 10
257+let ba = 12
255258
256-let bb = 11
259+let bb = 13
257260
258-let bc = 12
261+let bc = 14
259262
260-let bd = 13
263+let bd = 15
261264
262-let be = 14
265+let be = 16
263266
264-let bf = 15
267+let bf = 17
265268
266-let bg = 16
269+let bg = 18
267270
268-let bh = 17
271+let bh = 19
269272
270-let bi = 18
273+let bi = 20
271274
272-let bj = 19
275+let bj = 21
273276
274-let bk = 20
277+let bk = 22
275278
276-let bl = 21
277-
278-let bm = 22
279-
280-func bn (bo,bp,bq,br) = {
281- let bs = valueOrErrorMessage(getInteger(bp[ap], aj), "WLGOLD is not issued yet")
282- let bt = assetBalance(bp[an], bq)
283- let bu = (assetBalance(bp[ap], bq) - br)
284- let bv = assetBalance(bp[aq], bq)
285- let bw = bp[ar]
286- let bx = (assetBalance(bw, bq) + valueOrElse(getInteger(bw, ak), 0))
287- let by = (bu + bx)
288- let bz = valueOrErrorMessage(getBinary(bp[ap], "wlg_assetId"), "Not initialized yet")
289- let bA = lastBlock.timestamp
290- let bB = valueOrErrorMessage(getInteger(bp[ap], ai), "Not initialized")
291- let bC = fraction(S, T, Q)
292- let bD = valueOrElse(getInteger(bp[ap], ab), bC)
293- let bE = valueOrElse(getInteger(bp[ap], aa), bB)
294- let bF = addressFromStringValue(value(getString(bp[ap], Z)))
295- let bG = min([fraction(bC, (bA - bE), (3 * W)), bD])
296- let bH = assetBalance(bF, bz)
297- let bI = fraction(S, U, Q)
298- let bJ = valueOrElse(getInteger(bp[ap], ad), bI)
299- let bK = valueOrElse(getInteger(bp[ap], ac), bB)
300- let bL = min([fraction(bI, (bA - bK), (3 * W)), bJ])
301- let bM = assetBalance(bp[an], bz)
302- let bN = valueOrElse(getInteger(bp[ap], af(bo)), bB)
303- let bO = ((bN - bB) / W)
304- let bP = min([bA, (bB + (3 * W))])
305- let bQ = min([((bA - bB) / W), 2])
306- let bR = aH(bo, bp[ao])
307- let bS = ag(bQ)
308- let bT = if ((bO == bQ))
279+func bl (bm,bn,bo,bp) = {
280+ let bq = valueOrErrorMessage(getInteger(bn[ap], aj), "WLGOLD is not issued yet")
281+ let br = assetBalance(bn[an], bo)
282+ let bs = (assetBalance(bn[ap], bo) - bp)
283+ let bt = assetBalance(bn[aq], bo)
284+ let bu = bn[ar]
285+ let bv = (assetBalance(bu, bo) + valueOrElse(getInteger(bu, ak), 0))
286+ let bw = (bs + bv)
287+ let bx = valueOrErrorMessage(getBinary(bn[ap], "wlg_assetId"), "Not initialized yet")
288+ let by = lastBlock.timestamp
289+ let bz = valueOrErrorMessage(getInteger(bn[ap], ai), "Not initialized")
290+ let bA = fraction(S, T, Q)
291+ let bB = valueOrElse(getInteger(bn[ap], ab), bA)
292+ let bC = valueOrElse(getInteger(bn[ap], aa), bz)
293+ let bD = addressFromStringValue(value(getString(bn[ap], Z)))
294+ let bE = min([fraction(bA, (by - bC), (3 * W)), bB])
295+ let bF = assetBalance(bD, bx)
296+ let bG = fraction(S, U, Q)
297+ let bH = valueOrElse(getInteger(bn[ap], ad), bG)
298+ let bI = valueOrElse(getInteger(bn[ap], ac), bz)
299+ let bJ = min([fraction(bG, (by - bI), (3 * W)), bH])
300+ let bK = assetBalance(bn[an], bx)
301+ let bL = valueOrElse(getInteger(bn[ap], af(bm)), bz)
302+ let bM = ((bL - bz) / W)
303+ let bN = min([by, (bz + (3 * W))])
304+ let bO = min([((by - bz) / W), 2])
305+ let bP = aH(bm, bn[ao])
306+ let bQ = ag(bO)
307+ let bR = if ((bM == bO))
309308 then {
310- let bU = fraction(bS, (bP - bN), W)
311- let bV = bP
312- $Tuple2(bU, bV)
309+ let bS = fraction(bQ, (bN - bL), W)
310+ let bT = bN
311+ $Tuple2(bS, bT)
313312 }
314- else if ((bO == (bQ - 1)))
313+ else if ((bM == (bO - 1)))
315314 then {
316- let bW = fraction(ag((bQ - 1)), ((bB + (W * bQ)) - bN), W)
317- let bU = fraction(bS, (bP - (bB + (W * bQ))), W)
318- let bX = (bW + bU)
319- let bV = if ((bW >= bX))
320- then (bN + fraction(W, bX, ag((bQ - 1))))
321- else ((bB + (W * bQ)) + fraction(W, (bX - bW), bS))
322- $Tuple2(bX, bV)
315+ let bU = fraction(ag((bO - 1)), ((bz + (W * bO)) - bL), W)
316+ let bS = fraction(bQ, (bN - (bz + (W * bO))), W)
317+ let bV = (bU + bS)
318+ let bT = if ((bU >= bV))
319+ then (bL + fraction(W, bV, ag((bO - 1))))
320+ else ((bz + (W * bO)) + fraction(W, (bV - bU), bQ))
321+ $Tuple2(bV, bT)
323322 }
324323 else {
325- let bY = fraction(ag((bQ - 2)), ((bB + (W * (bQ - 1))) - bN), W)
326- let bW = ag((bQ - 1))
327- let bU = fraction(bS, (bP - (bB + (W * bQ))), W)
328- let bX = ((bY + bW) + bU)
329- let bV = if ((bY >= bX))
330- then (bN + fraction(W, bX, ag((bQ - 2))))
331- else if (((bY + bW) >= bX))
332- then ((bB + (W * (bQ - 1))) + fraction(W, (bX - bY), ag((bQ - 1))))
333- else ((bB + (W * bQ)) + fraction(W, ((bX - bY) - bW), bS))
334- $Tuple2(bX, bV)
324+ let bW = fraction(ag((bO - 2)), ((bz + (W * (bO - 1))) - bL), W)
325+ let bU = ag((bO - 1))
326+ let bS = fraction(bQ, (bN - (bz + (W * bO))), W)
327+ let bV = ((bW + bU) + bS)
328+ let bT = if ((bW >= bV))
329+ then (bL + fraction(W, bV, ag((bO - 2))))
330+ else if (((bW + bU) >= bV))
331+ then ((bz + (W * (bO - 1))) + fraction(W, (bV - bW), ag((bO - 1))))
332+ else ((bz + (W * bO)) + fraction(W, ((bV - bW) - bU), bQ))
333+ $Tuple2(bV, bT)
335334 }
336- let bZ = bT._1
337- let ca = bT._2
338- let cb = valueOrElse(getInteger(bp[ap], ae), 0)
339- let cc = if ((bR[aO] != 0))
340- then fraction(bZ, bR[aP], bR[aO])
335+ let bX = bR._1
336+ let bY = bR._2
337+ let bZ = valueOrElse(getInteger(bn[ap], ae), 0)
338+ let ca = if ((bP[aM] != 0))
339+ then fraction(bX, bP[aN], bP[aM])
341340 else 0
342-[bs, fraction((by - Y), R, bs), by, bt, bu, bv, bB, bE, bC, bD, bG, bH, bI, bJ, bL, bM, bQ, cb, bS, bN, bx, cc, ca]
341+[bq, fraction((bw - Y), R, bq), bw, br, bs, bt, bz, bC, bA, bB, bE, bF, bG, bH, bJ, bK, bO, bZ, bQ, bL, bv, ca, bY]
343342 }
344343
345344
346-func cd (ce) = {
347- let B = addressFromString(ce)
348- let cf = if (isDefined(B))
345+func cb (cc) = {
346+ let B = addressFromString(cc)
347+ let cd = if (isDefined(B))
349348 then wavesBalance(value(B))
350349 else BalanceDetails(0, 0, 0, 0)
351- let cg = if (isDefined(B))
350+ let ce = if (isDefined(B))
352351 then assetBalance(value(B), D)
353352 else 0
354- let ch = valueOrElse(getString(v, I(ce)), ce)
355- let ci = J(ce)
356- let cj = getString(v, ci)
357- let ck = valueOrElse(getString(v, K(ce)), "")
358- let cl = valueOrElse(getString(v, A(ce)), "")
359- let cm = if (isDefined(B))
353+ let cf = valueOrElse(getString(v, I(cc)), cc)
354+ let cg = J(cc)
355+ let ch = getString(v, cg)
356+ let ci = valueOrElse(getString(v, K(cc)), "")
357+ let cj = valueOrElse(getString(v, A(cc)), "")
358+ let ck = if (isDefined(B))
360359 then assetBalance(value(B), F)
361360 else 0
362- let cn = valueOrElse(getInteger(v, al(ce)), 0)
363- let co = at(cm)
364-[("%s%s__customName__" + ch), ("%s%s__referredBy__" + valueOrElse(cj, "")), ("%s%s__referrals__" + ck), ("%s%s__lastTxId__" + cl), ("%s%d__wavesBalance__" + toString(cf.available)), ("%s%d__wlgoldBalance__" + toString(cg)), ("%s%d__acresBalance__" + toString(cm)), ("%s%d__stakedAcres__" + toString(cn)), ("%s%d__currentLvl__" + toString(co))]
361+ let cl = valueOrElse(getInteger(v, al(cc)), 0)
362+ let cm = at(ck)
363+ let cn = aH(cc, v)
364+[("%s%s__customName__" + cf), ("%s%s__referredBy__" + valueOrElse(ch, "")), ("%s%s__referrals__" + ci), ("%s%s__lastTxId__" + cj), ("%s%d__wavesBalance__" + toString(cd.available)), ("%s%d__wlgoldBalance__" + toString(ce)), ("%s%d__acresBalance__" + toString(ck)), ("%s%d__stakedAcres__" + toString(cl)), ("%s%d__currentLvl__" + toString(cm)), ("%s%d__userFarmingPower__" + toString(cn[aN])), ("%s%d__totalFarmingPower__" + toString(cn[aM]))]
365365 }
366366
367367
368-@Callable(cp)
369-func constructorV1 (bp) = if ((cp.caller != this))
368+@Callable(co)
369+func constructorV1 (bn) = if ((co.caller != this))
370370 then throw("permissions denied")
371371 else {
372- func cq (ax,cr) = (ax + "%s")
372+ func cp (ax,cq) = (ax + "%s")
373373
374- let cs = {
375- let az = bp
374+ let cr = {
375+ let az = bn
376376 let aA = size(az)
377377 let aB = ""
378378 func aC (aD,aE) = if ((aE >= aA))
379379 then aD
380- else cq(aD, az[aE])
380+ else cp(aD, az[aE])
381381
382382 func aF (aD,aE) = if ((aE >= aA))
383383 then aD
384384 else throw("List size exceeds 10")
385385
386386 aF(aC(aC(aC(aC(aC(aC(aC(aC(aC(aC(aB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
387387 }
388-[StringEntry(n(), makeString(cs :: bp, a)), StringEntry(o(), toString(this))]
388+[StringEntry(n(), makeString(cr :: bn, a)), StringEntry(o(), toString(this))]
389389 }
390390
391391
392392
393-@Callable(cp)
394-func walletInfoREADONLY (ce) = $Tuple2(nil, cd(ce))
393+@Callable(co)
394+func walletInfoREADONLY (cc) = $Tuple2(nil, cb(cc))
395395
396396
397397
398-@Callable(cp)
399-func conversionInfoREADONLY (ce) = {
400- let ct = addressFromStringValue(getStringValue(v, z))
401- let cu = P(invoke(ct, "unstakeAllAcresREADONLY", [ce], nil))
402- let cv = cu._1
403- let cw = cu._2
404- let cx = L(invoke(v, "unstakeLandsREADONLY", [ce], nil))
405- let cy = cx._1
406- let cz = cx._2
407- let cA = cx._3
408- let cB = cx._4
409- let cC = addressFromStringValue(f)
410- let cD = valueOrElse(getString(cC, G(ce)), "")
411- let cE = if ((cD != ""))
412- then O(invoke(cC, "unstakeDuckREADONLY", [cD, ce], nil))
398+@Callable(co)
399+func conversionInfoREADONLY (cc) = {
400+ let cs = addressFromStringValue(getStringValue(v, z))
401+ let ct = P(invoke(cs, "unstakeAllAcresREADONLY", [cc], nil))
402+ let cu = ct._1
403+ let cv = ct._2
404+ let cw = L(invoke(v, "unstakeLandsREADONLY", [cc], nil))
405+ let cx = cw._1
406+ let cy = cw._2
407+ let cz = cw._3
408+ let cA = cw._4
409+ let cB = addressFromStringValue(f)
410+ let cC = valueOrElse(getString(cB, G(cc)), "")
411+ let cD = if ((cC != ""))
412+ then O(invoke(cB, "unstakeDuckREADONLY", [cC, cc], nil))
413413 else $Tuple3(0, 0, 0)
414- let cF = cE._1
415- let cG = cE._2
416- let cH = cE._3
417- $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cv)), ("%s%d__claimedAcres__" + toString(cw)), ("%s%d__acresFromPieces__" + toString(cy)), ("%s%d__acresFromRes__" + toString(cz)), ("%s%d__acresFromMat__" + toString(cA)), ("%s%d__acresFromProd__" + toString(cB)), ("%s%d__acresFromDuckRes__" + toString(cF)), ("%s%d__acresFromDuckMat__" + toString(cG)), ("%s%d__acresFromDuckProd__" + toString(cH))])
414+ let cE = cD._1
415+ let cF = cD._2
416+ let cG = cD._3
417+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(cu)), ("%s%d__claimedAcres__" + toString(cv)), ("%s%d__acresFromPieces__" + toString(cx)), ("%s%d__acresFromRes__" + toString(cy)), ("%s%d__acresFromMat__" + toString(cz)), ("%s%d__acresFromProd__" + toString(cA)), ("%s%d__acresFromDuckRes__" + toString(cE)), ("%s%d__acresFromDuckMat__" + toString(cF)), ("%s%d__acresFromDuckProd__" + toString(cG))])
418418 }
419419
420420
421421
422-@Callable(cp)
423-func wlgStatsREADONLY (bo) = {
424- let cI = bn(bo, [u, v, w, x, y], c, 0)
425- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(cI[aQ])), ("%s%d__wlgPrice__" + toString(cI[aR])), ("%s%d__usdtFunds__" + toString(cI[aS])), ("%s%d__usdtActivity__" + toString(cI[aT])), ("%s%d__usdtArbitrage__" + toString(cI[aU])), ("%s%d__usdtPool__" + toString(cI[aV])), ("%s%d__wlgIssueTime__" + toString(cI[aW])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(cI[aX])), ("%s%d__wlgTeamTotal__" + toString(cI[aY])), ("%s%d__wlgTeamAmLeft__" + toString(cI[aZ])), ("%s%d__wlgTeamAmAvailNow__" + toString(cI[ba])), ("%s%d__wlgTeamWlgold__" + toString(cI[bb])), ("%s%d__wlgActTotal__" + toString(cI[bc])), ("%s%d__wlgActAmLeft__" + toString(cI[bd])), ("%s%d__wlgActAmAvailNow__" + toString(cI[be])), ("%s%d__wlgActWlgold__" + toString(cI[bf])), ("%s%d__wlgCurPeriod__" + toString(cI[bg])), ("%s%d__wlgAmLeftTotal__" + toString(cI[bh])), ("%s%d__wlgCurPeriodDistribution__" + toString(cI[bi])), ("%s%d__wlgLastUserTime__" + toString(cI[bj])), ("%s%d__wlgInvestFundTotal__" + toString(cI[bk])), ("%s%d__wlgUserAmAvailNow__" + toString(cI[bl])), ("%s%d__wlgEffUserTime__" + toString(cI[bm]))])
422+@Callable(co)
423+func wlgStatsREADONLY (bm) = {
424+ let cH = bl(bm, [u, v, w, x, y], c, 0)
425+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(cH[aO])), ("%s%d__wlgPrice__" + toString(cH[aP])), ("%s%d__usdtFunds__" + toString(cH[aQ])), ("%s%d__usdtActivity__" + toString(cH[aR])), ("%s%d__usdtArbitrage__" + toString(cH[aS])), ("%s%d__usdtPool__" + toString(cH[aT])), ("%s%d__wlgIssueTime__" + toString(cH[aU])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(cH[aV])), ("%s%d__wlgTeamTotal__" + toString(cH[aW])), ("%s%d__wlgTeamAmLeft__" + toString(cH[aX])), ("%s%d__wlgTeamAmAvailNow__" + toString(cH[aY])), ("%s%d__wlgTeamWlgold__" + toString(cH[aZ])), ("%s%d__wlgActTotal__" + toString(cH[ba])), ("%s%d__wlgActAmLeft__" + toString(cH[bb])), ("%s%d__wlgActAmAvailNow__" + toString(cH[bc])), ("%s%d__wlgActWlgold__" + toString(cH[bd])), ("%s%d__wlgCurPeriod__" + toString(cH[be])), ("%s%d__wlgAmLeftTotal__" + toString(cH[bf])), ("%s%d__wlgCurPeriodDistribution__" + toString(cH[bg])), ("%s%d__wlgLastUserTime__" + toString(cH[bh])), ("%s%d__wlgInvestFundTotal__" + toString(cH[bi])), ("%s%d__wlgUserAmAvailNow__" + toString(cH[bj])), ("%s%d__wlgEffUserTime__" + toString(cH[bk]))])
426426 }
427427
428428

github/deemru/w8io/169f3d6 
158.86 ms