tx · 8oNhYXVoHCW257sF3FavVcLbTVipu7JgHMGp8fh5SX1F

3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv:  -0.00600000 Waves

2024.09.12 20:21 [3280713] smart account 3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv > SELF 0.00000000 Waves

{ "type": 13, "id": "8oNhYXVoHCW257sF3FavVcLbTVipu7JgHMGp8fh5SX1F", "fee": 600000, "feeAssetId": null, "timestamp": 1726161795043, "version": 2, "chainId": 84, "sender": "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv", "senderPublicKey": "2fNSk5gmWbXBDTkSYSKd66xSgVvAYzrJnP9YSAFNvTwC", "proofs": [ "27hwHQaR2F4r4dTe2hYTSihDXtNi6dY7fbYgyhrH1NfWCZNhmZrHhcbGCcgVGrxwjWRtqp1iL5TxxYW9TW7Lq8LE" ], "script": "base64:BgIRCAISAwoBGBIDCgEIEgMKAQghAANTRVACAl9fAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQAWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BGd1l0YThiaUV6MzF6cGVGZTVESks4d0U1dHJTcFFWRjgDCQAAAgEBVAUHJG1hdGNoMAIjM043VXVZYXI2MjY0UDU4RkJoVldLUFFBaDRZdWEyaGduZ3YJAAIBAg1Vbmtub3duIGNoYWluABVvbGRTdGFraW5nQ29udHJhY3RTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQTG5jWHRTMVU4M0Q2Y1FiRkQzSDhyQkhQTGd6eFNGS1oxAwkAAAIBAVQFByRtYXRjaDACIzNOREN5Qkc1cTg1SnVhUmlpZ1VlRXRhaW55akNRVDNYcFptCQACAQINVW5rbm93biBjaGFpbgEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAAEElkeENmZ0FjcmVzMkRhcHAAAQANSWR4Q2ZnV2xnRGFwcAACAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcBD2tleVJlc3QyQWRkcmVzcwACDSVzX19yZXN0MkFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAghyZXN0MkNmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFCHJlc3QyQ2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAANcmVzdDJDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEPa2V5UmVzdDJBZGRyZXNzAAUWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgAIcmVzdDJDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDXJlc3QyQ29udHJhY3QADmFjcmVzMkNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFEElkeENmZ0FjcmVzMkRhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFDUlkeENmZ1dsZ0RhcHAAE29sZEFjcmVzQ29udHJhY3RLZXkCEG9sZEFjcmVzQ29udHJhY3QBEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUOYWNyZXMyQ29udHJhY3QFD2FjcmVzQXNzZXRJZEtleQIXQUNSRVMgaXMgbm90IGlzc3VlZCB5ZXQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBGFkZHIJAKwCAgIYYWNjb3VudEN1c3RvbU5hbWVCeUFkZHJfBQRhZGRyAQ9rZXlBZGRyZXNzUmVmQnkBBGFkZHIJAKwCAgIJYWNjUmVmQnlfBQRhZGRyARNrZXlBZGRyZXNzUmVmZXJyYWxzAQRhZGRyCQCsAgICDWFjY1JlZmVycmFsc18FBGFkZHIBDGFzVHVwbGU0SW50cwEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIUKEludCwgSW50LCBJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAiZmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQsIEludCwgSW50KQEMYXNUdXBsZTNJbnRzAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAg8oSW50LCBJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAiFmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQsIEludCkBDGFzVHVwbGUySW50cwEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIKKEludCwgSW50KQQBdAUHJG1hdGNoMAUBdAkAAgECHGZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCkAA004XwCAwtcvARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc1N0YWtlZEFtb3VudEJ5VXNlcl8FBGFkZHIABmxldmVscwkAzAgCAAoJAMwIAgAUCQDMCAIAKAkAzAgCAFAJAMwIAgCWAQkAzAgCAPoBCQDMCAIAkAMJAMwIAgC8BQkAzAgCAOgHBQNuaWwBD2dldExldmVsQnlBY3JlcwEFYWNyZXMEA2FjcgkAaQIFBWFjcmVzBQNNOF8KAQdjaGVja2VyAgNhY2MEaXRlbQMJAGYCBQRpdGVtBQNhY3IFA2FjYwkAZAIFA2FjYwABBANpZHgKAAIkbAUGbGV2ZWxzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdjaGVja2VyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCQBkAgUDaWR4AAEBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQNd2xnb2xkQmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFCndsZ0Fzc2V0SWQAAAQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5hY3JlczJDb250cmFjdAkBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBQ51c2VyQWRkcmVzc09wdAUOdXNlckFkZHJlc3NPcHQECHJlZkJ5S2V5CQEPa2V5QWRkcmVzc1JlZkJ5AQUOdXNlckFkZHJlc3NPcHQEBXJlZkJ5CQCdCAIFDmFjcmVzMkNvbnRyYWN0BQhyZWZCeUtleQQEcmVmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5hY3JlczJDb250cmFjdAkBE2tleUFkZHJlc3NSZWZlcnJhbHMBBQ51c2VyQWRkcmVzc09wdAIABAhsYXN0VHhJZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5hY3JlczJDb250cmFjdAkBEWtleUxhc3RUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQMYWNyZXNCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUMYWNyZXNBc3NldElkAAAEC3N0YWtlZEFjcmVzCQELdmFsdWVPckVsc2UCCQCaCAIFDmFjcmVzMkNvbnRyYWN0CQEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAAABANsdmwJAQ9nZXRMZXZlbEJ5QWNyZXMBBQxhY3Jlc0JhbGFuY2UJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVzX19yZWZlcnJlZEJ5X18JAQt2YWx1ZU9yRWxzZQIFBXJlZkJ5AgAJAMwIAgkArAICAhElcyVzX19yZWZlcnJhbHNfXwUEcmVmcwkAzAgCCQCsAgICECVzJXNfX2xhc3RUeElkX18FCGxhc3RUeElkCQDMCAIJAKwCAgIUJXMlZF9fd2F2ZXNCYWxhbmNlX18JAKQDAQgFB2JhbGFuY2UJYXZhaWxhYmxlCQDMCAIJAKwCAgIVJXMlZF9fd2xnb2xkQmFsYW5jZV9fCQCkAwEFDXdsZ29sZEJhbGFuY2UJAMwIAgkArAICAhQlcyVkX19hY3Jlc0JhbGFuY2VfXwkApAMBBQxhY3Jlc0JhbGFuY2UJAMwIAgkArAICAhMlcyVkX19zdGFrZWRBY3Jlc19fCQCkAwEFC3N0YWtlZEFjcmVzCQDMCAIJAKwCAgISJXMlZF9fY3VycmVudEx2bF9fCQCkAwEFA2x2bAUDbmlsAwFpAQ1jb25zdHJ1Y3RvclYxAQljb250cmFjdHMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQKAQpkZXNjcmlwdG9yAgNhY2MLaWdub3JlZEl0ZW0JAKwCAgUDYWNjAgIlcwQFZGVzY3IKAAIkbAUJY29udHJhY3RzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpkZXNjcmlwdG9yAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAIFBWRlc2NyBQljb250cmFjdHMFA1NFUAkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5UmVzdDJBZGRyZXNzAAkApQgBBQR0aGlzBQNuaWwBaQESd2FsbGV0SW5mb1JFQURPTkxZAQ51c2VyQWRkcmVzc09wdAkAlAoCBQNuaWwJAQ53YWxsZXRJbnRlcm5hbAEFDnVzZXJBZGRyZXNzT3B0AWkBFmNvbnZlcnNpb25JbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0BA9vbGRBY3Jlc0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFE29sZEFjcmVzQ29udHJhY3RLZXkECyR0MDQwMzU0MTU3CQEMYXNUdXBsZTJJbnRzAQkA/AcEBQ9vbGRBY3Jlc0FkZHJlc3MCF3Vuc3Rha2VBbGxBY3Jlc1JFQURPTkxZCQDMCAIFDnVzZXJBZGRyZXNzT3B0BQNuaWwFA25pbAQNdW5zdGFrZWRBY3JlcwgFCyR0MDQwMzU0MTU3Al8xBAxjbGFpbWVkQWNyZXMIBQskdDA0MDM1NDE1NwJfMgQLJHQwNDE2MDQzMDkJAQxhc1R1cGxlNEludHMBCQD8BwQFDmFjcmVzMkNvbnRyYWN0AhR1bnN0YWtlTGFuZHNSRUFET05MWQkAzAgCBQ51c2VyQWRkcmVzc09wdAUDbmlsBQNuaWwED2FjcmVzRnJvbVBpZWNlcwgFCyR0MDQxNjA0MzA5Al8xBAxhY3Jlc0Zyb21SZXMIBQskdDA0MTYwNDMwOQJfMgQMYWNyZXNGcm9tTWF0CAULJHQwNDE2MDQzMDkCXzMEDWFjcmVzRnJvbVByb2QIBQskdDA0MTYwNDMwOQJfNAQRb2xkU3Rha2luZ0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFFW9sZFN0YWtpbmdDb250cmFjdFN0cgQLZHVja0Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgURb2xkU3Rha2luZ0FkZHJlc3MJARRrZXlTdGFrZWREdWNrQnlPd25lcgEFDnVzZXJBZGRyZXNzT3B0AgAECyR0MDQ0ODc0NzA5AwkBAiE9AgULZHVja0Fzc2V0SWQCAAkBDGFzVHVwbGUzSW50cwEJAPwHBAURb2xkU3Rha2luZ0FkZHJlc3MCE3Vuc3Rha2VEdWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQJAMwIAgUOdXNlckFkZHJlc3NPcHQFA25pbAUDbmlsCQCVCgMAAAAAAAAEEGFjcmVzRnJvbUR1Y2tSZXMIBQskdDA0NDg3NDcwOQJfMQQQYWNyZXNGcm9tRHVja01hdAgFCyR0MDQ0ODc0NzA5Al8yBBFhY3Jlc0Zyb21EdWNrUHJvZAgFCyR0MDQ0ODc0NzA5Al8zCQCUCgIFA25pbAkAzAgCCQCsAgICFSVzJWRfX3Vuc3Rha2VkQWNyZXNfXwkApAMBBQ11bnN0YWtlZEFjcmVzCQDMCAIJAKwCAgIUJXMlZF9fY2xhaW1lZEFjcmVzX18JAKQDAQUMY2xhaW1lZEFjcmVzCQDMCAIJAKwCAgIXJXMlZF9fYWNyZXNGcm9tUGllY2VzX18JAKQDAQUPYWNyZXNGcm9tUGllY2VzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNGcm9tUmVzX18JAKQDAQUMYWNyZXNGcm9tUmVzCQDMCAIJAKwCAgIUJXMlZF9fYWNyZXNGcm9tTWF0X18JAKQDAQUMYWNyZXNGcm9tTWF0CQDMCAIJAKwCAgIVJXMlZF9fYWNyZXNGcm9tUHJvZF9fCQCkAwEFDWFjcmVzRnJvbVByb2QJAMwIAgkArAICAhglcyVkX19hY3Jlc0Zyb21EdWNrUmVzX18JAKQDAQUQYWNyZXNGcm9tRHVja1JlcwkAzAgCCQCsAgICGCVzJWRfX2FjcmVzRnJvbUR1Y2tNYXRfXwkApAMBBRBhY3Jlc0Zyb21EdWNrTWF0CQDMCAIJAKwCAgIZJXMlZF9fYWNyZXNGcm9tRHVja1Byb2RfXwkApAMBBRFhY3Jlc0Zyb21EdWNrUHJvZAUDbmlsAMDW6yw=", "height": 3280713, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Cn4jbpdfoMf4rZ8MCxmeN4ym3gbS74XA2CTzkuFiuRWK Next: 6QoWLHuwmreHtGSqvVqffhK3ycJ1mAynKFhPt2eA5Yt Diff:
OldNewDifferences
1414 else throw("Unknown chain")
1515 }
1616
17-func e (f,g) = valueOrErrorMessage(getString(f, g), makeString(["mandatory ", toString(f), ".", g, " is not defined"], ""))
17+let e = {
18+ let d = b
19+ if ((base58'2W' == d))
20+ then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
21+ else if ((base58'2T' == d))
22+ then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
23+ else throw("Unknown chain")
24+ }
25+
26+func f (g,h) = valueOrErrorMessage(getString(g, h), makeString(["mandatory ", toString(g), ".", h, " is not defined"], ""))
1827
1928
20-let h = 1
29+let i = 1
2130
22-let i = 2
31+let j = 2
2332
24-func j () = "%s__restConfig"
33+func k () = "%s__restConfig"
2534
2635
27-func k () = "%s__rest2Addr"
36+func l () = "%s__rest2Addr"
2837
2938
30-func l (m) = split_4C(e(m, j()), a)
39+func m (n) = split_4C(f(n, k()), a)
3140
3241
33-func n (o,p) = valueOrErrorMessage(addressFromString(o[p]), ("Rest cfg doesn't contain address at index " + toString(p)))
42+func o (p,q) = valueOrErrorMessage(addressFromString(p[q]), ("Rest cfg doesn't contain address at index " + toString(q)))
3443
3544
36-let q = addressFromStringValue(valueOrElse(getString(this, k()), c))
45+let r = addressFromStringValue(valueOrElse(getString(this, l()), c))
3746
38-let o = l(q)
47+let p = m(r)
3948
40-let r = n(o, h)
49+let s = o(p, i)
4150
42-let s = n(o, i)
51+let t = o(p, j)
4352
44-func t (u) = ("lastTxIdByUser_" + u)
53+let u = "oldAcresContract"
54+
55+func v (w) = ("lastTxIdByUser_" + w)
4556
4657
47-let v = "wlg_assetId"
58+let x = "wlg_assetId"
4859
49-let w = valueOrErrorMessage(getBinary(s, v), "WLGOLD is not issued yet")
60+let y = valueOrErrorMessage(getBinary(t, x), "WLGOLD is not issued yet")
5061
51-let x = "acresAssetId"
62+let z = "acresAssetId"
5263
53-let y = valueOrErrorMessage(getBinary(r, x), "ACRES is not issued yet")
64+let A = valueOrErrorMessage(getBinary(s, z), "ACRES is not issued yet")
5465
55-func z (u) = ("accountCustomNameByAddr_" + u)
66+func B (C) = ("stakedDuckByOwner_" + C)
5667
5768
58-func A (u) = ("accRefBy_" + u)
69+func D (w) = ("accountCustomNameByAddr_" + w)
5970
6071
61-func B (u) = ("accReferrals_" + u)
72+func E (w) = ("accRefBy_" + w)
6273
6374
64-let C = 100000000
65-
66-func D (u) = ("acresStakedAmountByUser_" + u)
75+func F (w) = ("accReferrals_" + w)
6776
6877
69-let E = [10, 20, 40, 80, 150, 250, 400, 700, 1000]
70-
71-func F (G) = {
72- let H = (G / C)
73- func I (J,K) = if ((K > H))
74- then J
75- else (J + 1)
76-
77- let p = {
78- let L = E
79- let M = size(L)
80- let N = 0
81- func O (P,Q) = if ((Q >= M))
82- then P
83- else I(P, L[Q])
84-
85- func R (P,Q) = if ((Q >= M))
86- then P
87- else throw("List size exceeds 10")
88-
89- R(O(O(O(O(O(O(O(O(O(O(N, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
90- }
91- (p + 1)
78+func G (H) = {
79+ let d = H
80+ if ($isInstanceOf(d, "(Int, Int, Int, Int)"))
81+ then {
82+ let I = d
83+ I
84+ }
85+ else throw("fail to cast into (Int, Int, Int, Int)")
9286 }
9387
9488
95-func S (T) = {
96- let u = addressFromString(T)
97- let U = if (isDefined(u))
98- then wavesBalance(value(u))
99- else BalanceDetails(0, 0, 0, 0)
100- let V = if (isDefined(u))
101- then assetBalance(value(u), w)
102- else 0
103- let W = valueOrElse(getString(r, z(T)), T)
104- let X = A(T)
105- let Y = getString(r, X)
106- let Z = valueOrElse(getString(r, B(T)), "")
107- let aa = valueOrElse(getString(r, t(T)), "")
108- let ab = if (isDefined(u))
109- then assetBalance(value(u), y)
110- else 0
111- let ac = valueOrElse(getInteger(r, D(T)), 0)
112- let ad = F(ab)
113-[("%s%s__customName__" + W), ("%s%s__referredBy__" + valueOrElse(Y, "")), ("%s%s__referrals__" + Z), ("%s%s__lastTxId__" + aa), ("%s%d__wavesBalance__" + toString(U.available)), ("%s%d__wlgoldBalance__" + toString(V)), ("%s%d__acresBalance__" + toString(ab)), ("%s%d__stakedAcres__" + toString(ac)), ("%s%d__currentLvl__" + toString(ad))]
89+func J (H) = {
90+ let d = H
91+ if ($isInstanceOf(d, "(Int, Int, Int)"))
92+ then {
93+ let I = d
94+ I
95+ }
96+ else throw("fail to cast into (Int, Int, Int)")
11497 }
11598
11699
117-@Callable(ae)
118-func constructorV1 (af) = if ((ae.caller != this))
100+func K (H) = {
101+ let d = H
102+ if ($isInstanceOf(d, "(Int, Int)"))
103+ then {
104+ let I = d
105+ I
106+ }
107+ else throw("fail to cast into (Int, Int)")
108+ }
109+
110+
111+let L = 100000000
112+
113+func M (w) = ("acresStakedAmountByUser_" + w)
114+
115+
116+let N = [10, 20, 40, 80, 150, 250, 400, 700, 1000]
117+
118+func O (P) = {
119+ let Q = (P / L)
120+ func R (S,T) = if ((T > Q))
121+ then S
122+ else (S + 1)
123+
124+ let q = {
125+ let U = N
126+ let V = size(U)
127+ let W = 0
128+ func X (Y,Z) = if ((Z >= V))
129+ then Y
130+ else R(Y, U[Z])
131+
132+ func aa (Y,Z) = if ((Z >= V))
133+ then Y
134+ else throw("List size exceeds 10")
135+
136+ aa(X(X(X(X(X(X(X(X(X(X(W, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
137+ }
138+ (q + 1)
139+ }
140+
141+
142+func ab (ac) = {
143+ let w = addressFromString(ac)
144+ let ad = if (isDefined(w))
145+ then wavesBalance(value(w))
146+ else BalanceDetails(0, 0, 0, 0)
147+ let ae = if (isDefined(w))
148+ then assetBalance(value(w), y)
149+ else 0
150+ let af = valueOrElse(getString(s, D(ac)), ac)
151+ let ag = E(ac)
152+ let ah = getString(s, ag)
153+ let ai = valueOrElse(getString(s, F(ac)), "")
154+ let aj = valueOrElse(getString(s, v(ac)), "")
155+ let ak = if (isDefined(w))
156+ then assetBalance(value(w), A)
157+ else 0
158+ let al = valueOrElse(getInteger(s, M(ac)), 0)
159+ let am = O(ak)
160+[("%s%s__customName__" + af), ("%s%s__referredBy__" + valueOrElse(ah, "")), ("%s%s__referrals__" + ai), ("%s%s__lastTxId__" + aj), ("%s%d__wavesBalance__" + toString(ad.available)), ("%s%d__wlgoldBalance__" + toString(ae)), ("%s%d__acresBalance__" + toString(ak)), ("%s%d__stakedAcres__" + toString(al)), ("%s%d__currentLvl__" + toString(am))]
161+ }
162+
163+
164+@Callable(an)
165+func constructorV1 (ao) = if ((an.caller != this))
119166 then throw("permissions denied")
120167 else {
121- func ag (J,ah) = (J + "%s")
168+ func ap (S,aq) = (S + "%s")
122169
123- let ai = {
124- let L = af
125- let M = size(L)
126- let N = ""
127- func O (P,Q) = if ((Q >= M))
128- then P
129- else ag(P, L[Q])
170+ let ar = {
171+ let U = ao
172+ let V = size(U)
173+ let W = ""
174+ func X (Y,Z) = if ((Z >= V))
175+ then Y
176+ else ap(Y, U[Z])
130177
131- func R (P,Q) = if ((Q >= M))
132- then P
178+ func aa (Y,Z) = if ((Z >= V))
179+ then Y
133180 else throw("List size exceeds 10")
134181
135- R(O(O(O(O(O(O(O(O(O(O(N, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
182+ aa(X(X(X(X(X(X(X(X(X(X(W, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
136183 }
137-[StringEntry(j(), makeString(ai :: af, a)), StringEntry(k(), toString(this))]
184+[StringEntry(k(), makeString(ar :: ao, a)), StringEntry(l(), toString(this))]
138185 }
139186
140187
141188
142-@Callable(ae)
143-func walletInfoREADONLY (T) = $Tuple2(nil, S(T))
189+@Callable(an)
190+func walletInfoREADONLY (ac) = $Tuple2(nil, ab(ac))
191+
192+
193+
194+@Callable(an)
195+func conversionInfoREADONLY (ac) = {
196+ let as = addressFromStringValue(getStringValue(u))
197+ let at = K(invoke(as, "unstakeAllAcresREADONLY", [ac], nil))
198+ let au = at._1
199+ let av = at._2
200+ let aw = G(invoke(s, "unstakeLandsREADONLY", [ac], nil))
201+ let ax = aw._1
202+ let ay = aw._2
203+ let az = aw._3
204+ let aA = aw._4
205+ let aB = addressFromStringValue(e)
206+ let aC = valueOrElse(getString(aB, B(ac)), "")
207+ let aD = if ((aC != ""))
208+ then J(invoke(aB, "unstakeDuckREADONLY", [aC, ac], nil))
209+ else $Tuple3(0, 0, 0)
210+ let aE = aD._1
211+ let aF = aD._2
212+ let aG = aD._3
213+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(au)), ("%s%d__claimedAcres__" + toString(av)), ("%s%d__acresFromPieces__" + toString(ax)), ("%s%d__acresFromRes__" + toString(ay)), ("%s%d__acresFromMat__" + toString(az)), ("%s%d__acresFromProd__" + toString(aA)), ("%s%d__acresFromDuckRes__" + toString(aE)), ("%s%d__acresFromDuckMat__" + toString(aF)), ("%s%d__acresFromDuckProd__" + toString(aG))])
214+ }
144215
145216
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 "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
1212 else if ((base58'2T' == d))
1313 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
1414 else throw("Unknown chain")
1515 }
1616
17-func e (f,g) = valueOrErrorMessage(getString(f, g), makeString(["mandatory ", toString(f), ".", g, " is not defined"], ""))
17+let e = {
18+ let d = b
19+ if ((base58'2W' == d))
20+ then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
21+ else if ((base58'2T' == d))
22+ then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
23+ else throw("Unknown chain")
24+ }
25+
26+func f (g,h) = valueOrErrorMessage(getString(g, h), makeString(["mandatory ", toString(g), ".", h, " is not defined"], ""))
1827
1928
20-let h = 1
29+let i = 1
2130
22-let i = 2
31+let j = 2
2332
24-func j () = "%s__restConfig"
33+func k () = "%s__restConfig"
2534
2635
27-func k () = "%s__rest2Addr"
36+func l () = "%s__rest2Addr"
2837
2938
30-func l (m) = split_4C(e(m, j()), a)
39+func m (n) = split_4C(f(n, k()), a)
3140
3241
33-func n (o,p) = valueOrErrorMessage(addressFromString(o[p]), ("Rest cfg doesn't contain address at index " + toString(p)))
42+func o (p,q) = valueOrErrorMessage(addressFromString(p[q]), ("Rest cfg doesn't contain address at index " + toString(q)))
3443
3544
36-let q = addressFromStringValue(valueOrElse(getString(this, k()), c))
45+let r = addressFromStringValue(valueOrElse(getString(this, l()), c))
3746
38-let o = l(q)
47+let p = m(r)
3948
40-let r = n(o, h)
49+let s = o(p, i)
4150
42-let s = n(o, i)
51+let t = o(p, j)
4352
44-func t (u) = ("lastTxIdByUser_" + u)
53+let u = "oldAcresContract"
54+
55+func v (w) = ("lastTxIdByUser_" + w)
4556
4657
47-let v = "wlg_assetId"
58+let x = "wlg_assetId"
4859
49-let w = valueOrErrorMessage(getBinary(s, v), "WLGOLD is not issued yet")
60+let y = valueOrErrorMessage(getBinary(t, x), "WLGOLD is not issued yet")
5061
51-let x = "acresAssetId"
62+let z = "acresAssetId"
5263
53-let y = valueOrErrorMessage(getBinary(r, x), "ACRES is not issued yet")
64+let A = valueOrErrorMessage(getBinary(s, z), "ACRES is not issued yet")
5465
55-func z (u) = ("accountCustomNameByAddr_" + u)
66+func B (C) = ("stakedDuckByOwner_" + C)
5667
5768
58-func A (u) = ("accRefBy_" + u)
69+func D (w) = ("accountCustomNameByAddr_" + w)
5970
6071
61-func B (u) = ("accReferrals_" + u)
72+func E (w) = ("accRefBy_" + w)
6273
6374
64-let C = 100000000
65-
66-func D (u) = ("acresStakedAmountByUser_" + u)
75+func F (w) = ("accReferrals_" + w)
6776
6877
69-let E = [10, 20, 40, 80, 150, 250, 400, 700, 1000]
70-
71-func F (G) = {
72- let H = (G / C)
73- func I (J,K) = if ((K > H))
74- then J
75- else (J + 1)
76-
77- let p = {
78- let L = E
79- let M = size(L)
80- let N = 0
81- func O (P,Q) = if ((Q >= M))
82- then P
83- else I(P, L[Q])
84-
85- func R (P,Q) = if ((Q >= M))
86- then P
87- else throw("List size exceeds 10")
88-
89- R(O(O(O(O(O(O(O(O(O(O(N, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
90- }
91- (p + 1)
78+func G (H) = {
79+ let d = H
80+ if ($isInstanceOf(d, "(Int, Int, Int, Int)"))
81+ then {
82+ let I = d
83+ I
84+ }
85+ else throw("fail to cast into (Int, Int, Int, Int)")
9286 }
9387
9488
95-func S (T) = {
96- let u = addressFromString(T)
97- let U = if (isDefined(u))
98- then wavesBalance(value(u))
99- else BalanceDetails(0, 0, 0, 0)
100- let V = if (isDefined(u))
101- then assetBalance(value(u), w)
102- else 0
103- let W = valueOrElse(getString(r, z(T)), T)
104- let X = A(T)
105- let Y = getString(r, X)
106- let Z = valueOrElse(getString(r, B(T)), "")
107- let aa = valueOrElse(getString(r, t(T)), "")
108- let ab = if (isDefined(u))
109- then assetBalance(value(u), y)
110- else 0
111- let ac = valueOrElse(getInteger(r, D(T)), 0)
112- let ad = F(ab)
113-[("%s%s__customName__" + W), ("%s%s__referredBy__" + valueOrElse(Y, "")), ("%s%s__referrals__" + Z), ("%s%s__lastTxId__" + aa), ("%s%d__wavesBalance__" + toString(U.available)), ("%s%d__wlgoldBalance__" + toString(V)), ("%s%d__acresBalance__" + toString(ab)), ("%s%d__stakedAcres__" + toString(ac)), ("%s%d__currentLvl__" + toString(ad))]
89+func J (H) = {
90+ let d = H
91+ if ($isInstanceOf(d, "(Int, Int, Int)"))
92+ then {
93+ let I = d
94+ I
95+ }
96+ else throw("fail to cast into (Int, Int, Int)")
11497 }
11598
11699
117-@Callable(ae)
118-func constructorV1 (af) = if ((ae.caller != this))
100+func K (H) = {
101+ let d = H
102+ if ($isInstanceOf(d, "(Int, Int)"))
103+ then {
104+ let I = d
105+ I
106+ }
107+ else throw("fail to cast into (Int, Int)")
108+ }
109+
110+
111+let L = 100000000
112+
113+func M (w) = ("acresStakedAmountByUser_" + w)
114+
115+
116+let N = [10, 20, 40, 80, 150, 250, 400, 700, 1000]
117+
118+func O (P) = {
119+ let Q = (P / L)
120+ func R (S,T) = if ((T > Q))
121+ then S
122+ else (S + 1)
123+
124+ let q = {
125+ let U = N
126+ let V = size(U)
127+ let W = 0
128+ func X (Y,Z) = if ((Z >= V))
129+ then Y
130+ else R(Y, U[Z])
131+
132+ func aa (Y,Z) = if ((Z >= V))
133+ then Y
134+ else throw("List size exceeds 10")
135+
136+ aa(X(X(X(X(X(X(X(X(X(X(W, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
137+ }
138+ (q + 1)
139+ }
140+
141+
142+func ab (ac) = {
143+ let w = addressFromString(ac)
144+ let ad = if (isDefined(w))
145+ then wavesBalance(value(w))
146+ else BalanceDetails(0, 0, 0, 0)
147+ let ae = if (isDefined(w))
148+ then assetBalance(value(w), y)
149+ else 0
150+ let af = valueOrElse(getString(s, D(ac)), ac)
151+ let ag = E(ac)
152+ let ah = getString(s, ag)
153+ let ai = valueOrElse(getString(s, F(ac)), "")
154+ let aj = valueOrElse(getString(s, v(ac)), "")
155+ let ak = if (isDefined(w))
156+ then assetBalance(value(w), A)
157+ else 0
158+ let al = valueOrElse(getInteger(s, M(ac)), 0)
159+ let am = O(ak)
160+[("%s%s__customName__" + af), ("%s%s__referredBy__" + valueOrElse(ah, "")), ("%s%s__referrals__" + ai), ("%s%s__lastTxId__" + aj), ("%s%d__wavesBalance__" + toString(ad.available)), ("%s%d__wlgoldBalance__" + toString(ae)), ("%s%d__acresBalance__" + toString(ak)), ("%s%d__stakedAcres__" + toString(al)), ("%s%d__currentLvl__" + toString(am))]
161+ }
162+
163+
164+@Callable(an)
165+func constructorV1 (ao) = if ((an.caller != this))
119166 then throw("permissions denied")
120167 else {
121- func ag (J,ah) = (J + "%s")
168+ func ap (S,aq) = (S + "%s")
122169
123- let ai = {
124- let L = af
125- let M = size(L)
126- let N = ""
127- func O (P,Q) = if ((Q >= M))
128- then P
129- else ag(P, L[Q])
170+ let ar = {
171+ let U = ao
172+ let V = size(U)
173+ let W = ""
174+ func X (Y,Z) = if ((Z >= V))
175+ then Y
176+ else ap(Y, U[Z])
130177
131- func R (P,Q) = if ((Q >= M))
132- then P
178+ func aa (Y,Z) = if ((Z >= V))
179+ then Y
133180 else throw("List size exceeds 10")
134181
135- R(O(O(O(O(O(O(O(O(O(O(N, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
182+ aa(X(X(X(X(X(X(X(X(X(X(W, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
136183 }
137-[StringEntry(j(), makeString(ai :: af, a)), StringEntry(k(), toString(this))]
184+[StringEntry(k(), makeString(ar :: ao, a)), StringEntry(l(), toString(this))]
138185 }
139186
140187
141188
142-@Callable(ae)
143-func walletInfoREADONLY (T) = $Tuple2(nil, S(T))
189+@Callable(an)
190+func walletInfoREADONLY (ac) = $Tuple2(nil, ab(ac))
191+
192+
193+
194+@Callable(an)
195+func conversionInfoREADONLY (ac) = {
196+ let as = addressFromStringValue(getStringValue(u))
197+ let at = K(invoke(as, "unstakeAllAcresREADONLY", [ac], nil))
198+ let au = at._1
199+ let av = at._2
200+ let aw = G(invoke(s, "unstakeLandsREADONLY", [ac], nil))
201+ let ax = aw._1
202+ let ay = aw._2
203+ let az = aw._3
204+ let aA = aw._4
205+ let aB = addressFromStringValue(e)
206+ let aC = valueOrElse(getString(aB, B(ac)), "")
207+ let aD = if ((aC != ""))
208+ then J(invoke(aB, "unstakeDuckREADONLY", [aC, ac], nil))
209+ else $Tuple3(0, 0, 0)
210+ let aE = aD._1
211+ let aF = aD._2
212+ let aG = aD._3
213+ $Tuple2(nil, [("%s%d__unstakedAcres__" + toString(au)), ("%s%d__claimedAcres__" + toString(av)), ("%s%d__acresFromPieces__" + toString(ax)), ("%s%d__acresFromRes__" + toString(ay)), ("%s%d__acresFromMat__" + toString(az)), ("%s%d__acresFromProd__" + toString(aA)), ("%s%d__acresFromDuckRes__" + toString(aE)), ("%s%d__acresFromDuckMat__" + toString(aF)), ("%s%d__acresFromDuckProd__" + toString(aG))])
214+ }
144215
145216

github/deemru/w8io/169f3d6 
41.50 ms