tx · DSCWkEX2ijsCiJMQaxLZ9UdqTttV7r1Wo8kYMAotc2fA

3Mx9259DXd7MFiAw294TvP3QkBPbUjkB3sP:  -0.01800000 Waves

2022.09.16 13:47 [2231556] smart account 3Mx9259DXd7MFiAw294TvP3QkBPbUjkB3sP > SELF 0.00000000 Waves

{ "type": 13, "id": "DSCWkEX2ijsCiJMQaxLZ9UdqTttV7r1Wo8kYMAotc2fA", "fee": 1800000, "feeAssetId": null, "timestamp": 1663325224743, "version": 2, "chainId": 84, "sender": "3Mx9259DXd7MFiAw294TvP3QkBPbUjkB3sP", "senderPublicKey": "8FvcW5FVcnWjYSA4vjLsRR8hhEQMbCQykv8mCYVa8MRy", "proofs": [ "2vt99T9TCgoKWNCfXk5N93ah7jtutL83kzXgE3nU1np4NkHtB1e1pJa3oK4VR8MUnTrYQE2h7o6SYTDcxW78BrAR", "2Q498FNRyV5RjMshAfdFeB8YZV78UkCxQjYVKnGfCpH3ymDoiKwsfLMeNAatXGHZeeWY4dZhPqwHoBP3U6d1HkYr" ], "script": "base64:BgITCAISABIECgIIARIDCgEIEgASACMAB2tBY3RpdmUCBmFjdGl2ZQAGa0NhdXNlAg5zaHV0ZG93bl9jYXVzZQAWa0xhc3RQb29sVG9rZW5JbnRlcmVzdAITX3Bvb2xfbGFzdF9pbnRlcmVzdAARa1VzZXJMYXN0SW50ZXJlc3QCE191c2VyX2xhc3RfaW50ZXJlc3QAE2tVc2VyQ2xhaW1BdmFpbGFibGUCGF91c2VyX2F2YWlsYWJsZV90b19jbGFpbQAWa1VzZXJTaGFyZVRva2Vuc0xvY2tlZAIUX3NoYXJlX3Rva2Vuc19sb2NrZWQAEmtTaGFyZVRva2Vuc0xvY2tlZAIaX3RvdGFsX3NoYXJlX3Rva2Vuc19sb2NrZWQAC2tPcmFjbGVQb29sAgVwb29sXwANa1Bvb2xBc3NldElkcwIJYXNzZXRfaWRzAA1rQWRtaW5QdWJLZXkxAgthZG1pbl9wdWJfMQANa0FkbWluUHViS2V5MgILYWRtaW5fcHViXzIADWtBZG1pblB1YktleTMCC2FkbWluX3B1Yl8zAAxrRmFybWluZ0FkZHICD2Zhcm1pbmdfYWRkcmVzcwAQa01vbmV5Qm94QWRkcmVzcwIRbW9uZXlfYm94X2FkZHJlc3MACnNjYWxlVmFsdWUAgMLXLwAGb3JhY2xlCQEHQWRkcmVzcwEBGgFU6UWqHpAvOq7xug7mLpqSXxqYhOHzYrMIARNnZXRCYXNlNThGcm9tT3JhY2xlAQNrZXkEByRtYXRjaDAJAJ0IAgUGb3JhY2xlBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZzdHJpbmcFByRtYXRjaDAJANkEAQUGc3RyaW5nBAdub3RoaW5nBQckbWF0Y2gwCQACAQkArAICBQNrZXkCCGlzIGVtcHR5AAxhZG1pblB1YktleTEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MQAMYWRtaW5QdWJLZXkyCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTIADGFkbWluUHViS2V5MwkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkzAAtmYXJtaW5nQWRkcgkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDGtGYXJtaW5nQWRkcgAPbW9uZXlCb3hBZGRyZXNzCQEHQWRkcmVzcwEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUQa01vbmV5Qm94QWRkcmVzcwAGYWN0aXZlCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFB2tBY3RpdmUGAQhpc0FjdGl2ZQADBQZhY3RpdmUFBHVuaXQJAAIBAh9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AQppc1Bvb2xDYWxsAQZjYWxsZXIDCQEJaXNEZWZpbmVkAQkAnQgCBQZvcmFjbGUJAKwCAgULa09yYWNsZVBvb2wJAKUIAQUGY2FsbGVyBQR1bml0CQACAQIgT25seSBwb29sIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24BDWlzRmFybWluZ0NhbGwBBmNhbGxlcgMJAAACBQZjYWxsZXIFC2Zhcm1pbmdBZGRyBQR1bml0CQACAQIjT25seSBmYXJtaW5nIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24BB3N1c3BlbmQBBWNhdXNlCQDMCAIJAQxCb29sZWFuRW50cnkCBQdrQWN0aXZlBwkAzAgCCQELU3RyaW5nRW50cnkCBQZrQ2F1c2UFBWNhdXNlBQNuaWwBGGdldFVzZXJTaGFyZVRva2Vuc0xvY2tlZAIEcG9vbAt1c2VyQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQtmYXJtaW5nQWRkcgkArAICCQCsAgIJAKwCAgUEcG9vbAIBXwULdXNlckFkZHJlc3MFFmtVc2VyU2hhcmVUb2tlbnNMb2NrZWQAAAEZZ2V0VG90YWxTaGFyZVRva2Vuc0xvY2tlZAEEcG9vbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQtmYXJtaW5nQWRkcgkArAICBQRwb29sBRJrU2hhcmVUb2tlbnNMb2NrZWQAAAETZ2V0VXNlckxhc3RJbnRlcmVzdAMEdXNlcgRwb29sB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFBHVzZXICAV8FBHBvb2wCAV8FB2Fzc2V0SWQFEWtVc2VyTGFzdEludGVyZXN0AAABGGdldFBvb2xUb2tlbkxhc3RJbnRlcmVzdAIEcG9vbAdhc3NldElkCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAKwCAgkArAICCQCsAgIFBHBvb2wCAV8FB2Fzc2V0SWQFFmtMYXN0UG9vbFRva2VuSW50ZXJlc3QAAAEVZ2V0VXNlckNsYWltQXZhaWxhYmxlAwR1c2VyBHBvb2wHYXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUEcG9vbAIBXwUHYXNzZXRJZAUTa1VzZXJDbGFpbUF2YWlsYWJsZQAAAQ1nZXRTdHJBc3NldElkAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAmlkBQckbWF0Y2gwCQDYBAEFAmlkAwkAAQIFByRtYXRjaDACBFVuaXQEBXdhdmVzBQckbWF0Y2gwAgVXQVZFUwkAAgECC01hdGNoIGVycm9yAQ9jYWxjQ2xhaW1BbW91bnQDBHBvb2wHYXNzZXRJZAR1c2VyBAxsYXN0SW50ZXJlc3QJARhnZXRQb29sVG9rZW5MYXN0SW50ZXJlc3QCBQRwb29sBQdhc3NldElkBBB1c2VyTGFzdEludGVyZXN0CQETZ2V0VXNlckxhc3RJbnRlcmVzdAMFBHVzZXIFBHBvb2wFB2Fzc2V0SWQEFXVzZXJTaGFyZVRva2Vuc0xvY2tlZAkBGGdldFVzZXJTaGFyZVRva2Vuc0xvY2tlZAIFBHBvb2wFBHVzZXIEEnVzZXJDbGFpbUF2YWlsYWJsZQkBFWdldFVzZXJDbGFpbUF2YWlsYWJsZQMFBHVzZXIFBHBvb2wFB2Fzc2V0SWQEFW5ld1VzZXJDbGFpbUF2YWlsYWJsZQkAawMFFXVzZXJTaGFyZVRva2Vuc0xvY2tlZAkAZQIFDGxhc3RJbnRlcmVzdAUQdXNlckxhc3RJbnRlcmVzdAUKc2NhbGVWYWx1ZQkAlAoCCQBkAgUSdXNlckNsYWltQXZhaWxhYmxlBRVuZXdVc2VyQ2xhaW1BdmFpbGFibGUFDGxhc3RJbnRlcmVzdAEXY2FsY0NsYWltQW1vdW50RXZhbHVhdGUCBHBvb2wEdXNlcgQIcG9vbEFkZHIJAQdBZGRyZXNzAQkA2QQBBQRwb29sBAhhc3NldElkcwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIcG9vbEFkZHIFDWtQb29sQXNzZXRJZHMCFkNhbid0IGZpbmQgcG9vbCBhc3NldHMCASwKARBjYWxjQ2xhaW1BbW91bnRzAgNhY2MHYXNzZXRJZAQLJHQwMzQ0NTM1MTUJAQ9jYWxjQ2xhaW1BbW91bnQDBQRwb29sBQdhc3NldElkBQR1c2VyBAtjbGFpbUFtb3VudAgFCyR0MDM0NDUzNTE1Al8xBAxsYXN0SW50ZXJlc3QIBQskdDAzNDQ1MzUxNQJfMgkAzQgCBQNhY2MJAMwIAgULY2xhaW1BbW91bnQFA25pbAQMY2xhaW1BbW91bnRzCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjYWxjQ2xhaW1BbW91bnRzAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwkAlAoCBQhhc3NldElkcwUMY2xhaW1BbW91bnRzBQFpAQdhaXJEcm9wAAkBC3ZhbHVlT3JFbHNlAgkBCGlzQWN0aXZlAAkBC3ZhbHVlT3JFbHNlAgkBCmlzUG9vbENhbGwBCAUBaQZjYWxsZXIECyR0MDM3MjgzODAzCQCUCgIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQECXBtdEFtb3VudAgFCyR0MDM3MjgzODAzAl8xBApwbXRBc3NldElkCAULJHQwMzcyODM4MDMCXzIEBHBvb2wJAKUIAQgFAWkGY2FsbGVyBBZ0b3RhbFNoYXJlVG9rZW5zTG9ja2VkCQEZZ2V0VG90YWxTaGFyZVRva2Vuc0xvY2tlZAEFBHBvb2wDCQAAAgUWdG90YWxTaGFyZVRva2Vuc0xvY2tlZAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFD21vbmV5Qm94QWRkcmVzcwUJcG10QW1vdW50BQpwbXRBc3NldElkBQNuaWwEDGxhc3RJbnRlcmVzdAkBGGdldFBvb2xUb2tlbkxhc3RJbnRlcmVzdAIFBHBvb2wJAQ1nZXRTdHJBc3NldElkAQUKcG10QXNzZXRJZAQLaW50ZXJlc3ROZXcJAGQCBQxsYXN0SW50ZXJlc3QDCQBmAgUJcG10QW1vdW50AAAJAGsDBQlwbXRBbW91bnQFCnNjYWxlVmFsdWUFFnRvdGFsU2hhcmVUb2tlbnNMb2NrZWQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgUEcG9vbAIBXwkBDWdldFN0ckFzc2V0SWQBBQpwbXRBc3NldElkBRZrTGFzdFBvb2xUb2tlbkludGVyZXN0BQtpbnRlcmVzdE5ldwUDbmlsAWkBEnVwZGF0ZVVzZXJJbnRlcmVzdAIEcG9vbBhuZXdVc2VyU2hhcmVUb2tlbnNMb2NrZWQJAQt2YWx1ZU9yRWxzZQIJAQhpc0FjdGl2ZQAJAQt2YWx1ZU9yRWxzZQIJAQ1pc0Zhcm1pbmdDYWxsAQgFAWkGY2FsbGVyBAhwb29sQWRkcgkBB0FkZHJlc3MBCQDZBAEFBHBvb2wEBHVzZXIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyBAhhc3NldElkcwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIcG9vbEFkZHIFDWtQb29sQXNzZXRJZHMCFkNhbid0IGZpbmQgcG9vbCBhc3NldHMCASwKASdjYWxjTmV3VXNlckludGVyZXN0QW5kQ2xhaW1BbW91bnRFdHJpZXMCA2FjYwdhc3NldElkBAskdDA0NzgwNDg1MAkBD2NhbGNDbGFpbUFtb3VudAMFBHBvb2wFB2Fzc2V0SWQFBHVzZXIEC2NsYWltQW1vdW50CAULJHQwNDc4MDQ4NTACXzEEDGxhc3RJbnRlcmVzdAgFCyR0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cyBmb3IgY2xhaW0FDGNsYWltRW50cmllcwFpAQhzaHV0ZG93bgADCQEBIQEFBmFjdGl2ZQkAAgEJAKwCAgIiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQZrQ2F1c2UCGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQxhZG1pblB1YktleTEJAMwIAgUMYWRtaW5QdWJLZXkyCQDMCAIFDGFkbWluUHViS2V5MwUDbmlsCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAAIBAiFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQdzdXNwZW5kAQIPUGF1c2VkIGJ5IGFkbWluAWkBCGFjdGl2YXRlAAMFBmFjdGl2ZQkAAgECFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFDGFkbWluUHViS2V5MQkAzAgCBQxhZG1pblB1YktleTIJAMwIAgUMYWRtaW5QdWJLZXkzBQNuaWwIBQFpD2NhbGxlclB1YmxpY0tleQkAAgECIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0FjdGl2ZQYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUGa0NhdXNlBQNuaWwBAnR4AQZ2ZXJpZnkABBJhZG1pblB1YktleTFTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQxhZG1pblB1YktleTEAAQAABBJhZG1pblB1YktleTJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQxhZG1pblB1YktleTIAAQAABBJhZG1pblB1YktleTNTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQxhZG1pblB1YktleTMAAQAACQBnAgkAZAIJAGQCBRJhZG1pblB1YktleTFTaWduZWQFEmFkbWluUHViS2V5MlNpZ25lZAUSYWRtaW5QdWJLZXkzU2lnbmVkAALnBcg0", "height": 2231556, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3TWdGwSqjt2dG4Vv4pQxaqZ9QpBjaHpfkHwj8sDGVFnj Next: AQ42qYw3JN3qQkhy297wznzjmWJnS9UxRddN7SARwJNg Diff:
OldNewDifferences
2727
2828 let m = "farming_address"
2929
30-let n = 100000000
30+let n = "money_box_address"
3131
32-let o = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
32+let o = 100000000
3333
34-func p (q) = {
35- let r = getString(o, q)
36- if ($isInstanceOf(r, "String"))
34+let p = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
35+
36+func q (r) = {
37+ let s = getString(p, r)
38+ if ($isInstanceOf(s, "String"))
3739 then {
38- let s = r
39- fromBase58String(s)
40+ let t = s
41+ fromBase58String(t)
4042 }
4143 else {
42- let t = r
43- throw((q + "is empty"))
44+ let u = s
45+ throw((r + "is empty"))
4446 }
4547 }
4648
4749
48-let u = p(j)
50+let v = q(j)
4951
50-let v = p(k)
52+let w = q(k)
5153
52-let w = p(l)
54+let x = q(l)
5355
54-let x = Address(p(m))
56+let y = Address(q(m))
5557
56-let y = valueOrElse(getBoolean(this, a), true)
58+let z = Address(q(n))
5759
58-func z () = if (y)
60+let A = valueOrElse(getBoolean(this, a), true)
61+
62+func B () = if (A)
5963 then unit
6064 else throw("DApp is inactive at this moment")
6165
6266
63-func A (B) = if (isDefined(getString(o, (h + toString(B)))))
67+func C (D) = if (isDefined(getString(p, (h + toString(D)))))
6468 then unit
6569 else throw("Only pool can call this function")
6670
6771
68-func C (B) = if ((B == x))
72+func E (D) = if ((D == y))
6973 then unit
7074 else throw("Only farming can call this function")
7175
7276
73-func D (E) = [BooleanEntry(a, false), StringEntry(b, E)]
77+func F (G) = [BooleanEntry(a, false), StringEntry(b, G)]
7478
7579
76-func F (G,H) = valueOrElse(getInteger(x, (((G + "_") + H) + f)), 0)
80+func H (I,J) = valueOrElse(getInteger(y, (((I + "_") + J) + f)), 0)
7781
7882
79-func I (G) = valueOrElse(getInteger(x, (G + g)), 0)
83+func K (I) = valueOrElse(getInteger(y, (I + g)), 0)
8084
8185
82-func J (K,G,L) = valueOrElse(getInteger(this, (((((K + "_") + G) + "_") + L) + d)), 0)
86+func L (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + d)), 0)
8387
8488
85-func M (G,L) = valueOrElse(getInteger(this, (((G + "_") + L) + c)), 0)
89+func O (I,N) = valueOrElse(getInteger(this, (((I + "_") + N) + c)), 0)
8690
8791
88-func N (K,G,L) = valueOrElse(getInteger(this, (((((K + "_") + G) + "_") + L) + e)), 0)
92+func P (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + e)), 0)
8993
9094
91-func O (L) = {
92- let r = L
93- if ($isInstanceOf(r, "ByteVector"))
95+func Q (N) = {
96+ let s = N
97+ if ($isInstanceOf(s, "ByteVector"))
9498 then {
95- let P = r
96- toBase58String(P)
99+ let R = s
100+ toBase58String(R)
97101 }
98- else if ($isInstanceOf(r, "Unit"))
102+ else if ($isInstanceOf(s, "Unit"))
99103 then {
100- let Q = r
104+ let S = s
101105 "WAVES"
102106 }
103107 else throw("Match error")
104108 }
105109
106110
107-func R (G,L,K) = {
108- let S = M(G, L)
109- let T = J(K, G, L)
110- let U = F(G, K)
111- let V = N(K, G, L)
112- let W = fraction(U, (S - T), n)
113- $Tuple2((V + W), S)
111+func T (I,N,M) = {
112+ let U = O(I, N)
113+ let V = L(M, I, N)
114+ let W = H(I, M)
115+ let X = P(M, I, N)
116+ let Y = fraction(W, (U - V), o)
117+ $Tuple2((X + Y), U)
114118 }
115119
116120
117-func X (G,K) = {
118- let Y = Address(fromBase58String(G))
119- let Z = split(valueOrErrorMessage(getString(Y, i), "Can't find pool assets"), ",")
120- func aa (ab,L) = {
121- let ac = R(G, L, K)
122- let ad = ac._1
123- let S = ac._2
124- (ab :+ [ad])
121+func Z (I,M) = {
122+ let aa = Address(fromBase58String(I))
123+ let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
124+ func ac (ad,N) = {
125+ let ae = T(I, N, M)
126+ let af = ae._1
127+ let U = ae._2
128+ (ad :+ [af])
125129 }
126130
127- let ae = {
128- let af = Z
129- let ag = size(af)
130- let ah = nil
131- func ai (aj,ak) = if ((ak >= ag))
132- then aj
133- else aa(aj, af[ak])
131+ let ag = {
132+ let ah = ab
133+ let ai = size(ah)
134+ let aj = nil
135+ func ak (al,am) = if ((am >= ai))
136+ then al
137+ else ac(al, ah[am])
134138
135- func al (aj,ak) = if ((ak >= ag))
136- then aj
139+ func an (al,am) = if ((am >= ai))
140+ then al
137141 else throw("List size exceeds 15")
138142
139- al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
143+ an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
140144 }
141- $Tuple2(Z, ae)
145+ $Tuple2(ab, ag)
142146 }
143147
144148
145-@Callable(am)
146-func airDrop () = valueOrElse(z(), valueOrElse(A(am.caller), {
147- let an = $Tuple2(am.payments[0].amount, am.payments[0].assetId)
148- let ao = an._1
149- let ap = an._2
150- let G = toString(am.caller)
151- let aq = I(G)
152- let S = M(G, O(ap))
153- let ar = (S + (if (if ((aq > 0))
154- then (ao > 0)
155- else false)
156- then fraction(ao, n, aq)
157- else 0))
158-[IntegerEntry((((G + "_") + O(ap)) + c), ar)]
149+@Callable(ao)
150+func airDrop () = valueOrElse(B(), valueOrElse(C(ao.caller), {
151+ let ap = $Tuple2(ao.payments[0].amount, ao.payments[0].assetId)
152+ let aq = ap._1
153+ let ar = ap._2
154+ let I = toString(ao.caller)
155+ let as = K(I)
156+ if ((as == 0))
157+ then [ScriptTransfer(z, aq, ar)]
158+ else {
159+ let U = O(I, Q(ar))
160+ let at = (U + (if ((aq > 0))
161+ then fraction(aq, o, as)
162+ else 0))
163+[IntegerEntry((((I + "_") + Q(ar)) + c), at)]
164+ }
159165 }))
160166
161167
162168
163-@Callable(am)
164-func updateUserInterest (G,as) = valueOrElse(z(), valueOrElse(C(am.caller), {
165- let Y = Address(fromBase58String(G))
166- let K = toString(am.originCaller)
167- let Z = split(valueOrErrorMessage(getString(Y, i), "Can't find pool assets"), ",")
168- func at (ab,L) = {
169- let au = R(G, L, K)
170- let ad = au._1
171- let S = au._2
172- (ab ++ [IntegerEntry((((((K + "_") + G) + "_") + L) + e), ad), IntegerEntry((((((K + "_") + G) + "_") + L) + d), S)])
169+@Callable(ao)
170+func updateUserInterest (I,au) = valueOrElse(B(), valueOrElse(E(ao.caller), {
171+ let aa = Address(fromBase58String(I))
172+ let M = toString(ao.originCaller)
173+ let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
174+ func av (ad,N) = {
175+ let aw = T(I, N, M)
176+ let af = aw._1
177+ let U = aw._2
178+ (ad ++ [IntegerEntry((((((M + "_") + I) + "_") + N) + e), af), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)])
173179 }
174180
175- let af = Z
176- let ag = size(af)
177- let ah = nil
178- func ai (aj,ak) = if ((ak >= ag))
179- then aj
180- else at(aj, af[ak])
181+ let ah = ab
182+ let ai = size(ah)
183+ let aj = nil
184+ func ak (al,am) = if ((am >= ai))
185+ then al
186+ else av(al, ah[am])
181187
182- func al (aj,ak) = if ((ak >= ag))
183- then aj
188+ func an (al,am) = if ((am >= ai))
189+ then al
184190 else throw("List size exceeds 15")
185191
186- al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
192+ an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
187193 }))
188194
189195
190196
191-@Callable(am)
192-func claim (G) = valueOrElse(z(), {
193- let Y = Address(fromBase58String(G))
194- let K = toString(am.caller)
195- let Z = split(valueOrErrorMessage(getString(Y, i), "Can't find pool assets"), ",")
196- func av (ab,L) = {
197- let aw = ab
198- let ax = aw._1
199- let ay = aw._2
200- let az = R(G, L, K)
201- let ad = az._1
202- let S = az._2
203- $Tuple2((ax ++ [ScriptTransfer(am.caller, ad, fromBase58String(L)), IntegerEntry((((((K + "_") + G) + "_") + L) + e), 0), IntegerEntry((((((K + "_") + G) + "_") + L) + d), S)]), ad)
197+@Callable(ao)
198+func claim (I) = valueOrElse(B(), {
199+ let aa = Address(fromBase58String(I))
200+ let M = toString(ao.caller)
201+ let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
202+ func ax (ad,N) = {
203+ let ay = ad
204+ let az = ay._1
205+ let aA = ay._2
206+ let aB = T(I, N, M)
207+ let af = aB._1
208+ let U = aB._2
209+ $Tuple2((az ++ [ScriptTransfer(ao.caller, af, fromBase58String(N)), IntegerEntry((((((M + "_") + I) + "_") + N) + e), 0), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)]), af)
204210 }
205211
206- let aA = {
207- let af = Z
208- let ag = size(af)
209- let ah = $Tuple2(nil, 0)
210- func ai (aj,ak) = if ((ak >= ag))
211- then aj
212- else av(aj, af[ak])
212+ let aC = {
213+ let ah = ab
214+ let ai = size(ah)
215+ let aj = $Tuple2(nil, 0)
216+ func ak (al,am) = if ((am >= ai))
217+ then al
218+ else ax(al, ah[am])
213219
214- func al (aj,ak) = if ((ak >= ag))
215- then aj
220+ func an (al,am) = if ((am >= ai))
221+ then al
216222 else throw("List size exceeds 15")
217223
218- al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
224+ an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
219225 }
220- let aB = aA._1
221- let aC = aA._2
222- if ((aC == 0))
226+ let aD = aC._1
227+ let aE = aC._2
228+ if ((aE == 0))
223229 then throw("You have no tokens for claim")
224- else aB
230+ else aD
225231 })
226232
227233
228234
229-@Callable(am)
230-func shutdown () = if (!(y))
235+@Callable(ao)
236+func shutdown () = if (!(A))
231237 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
232- else if (!(containsElement([u, v, w], am.callerPublicKey)))
238+ else if (!(containsElement([v, w, x], ao.callerPublicKey)))
233239 then throw("Only admin can call this function")
234- else D("Paused by admin")
240+ else F("Paused by admin")
235241
236242
237243
238-@Callable(am)
239-func activate () = if (y)
244+@Callable(ao)
245+func activate () = if (A)
240246 then throw("DApp is already active")
241- else if (!(containsElement([u, v, w], am.callerPublicKey)))
247+ else if (!(containsElement([v, w, x], ao.callerPublicKey)))
242248 then throw("Only admin can call this function")
243249 else [BooleanEntry(a, true), DeleteEntry(b)]
244250
245251
246-@Verifier(aD)
247-func aE () = {
248- let aF = if (sigVerify(aD.bodyBytes, aD.proofs[0], u))
252+@Verifier(aF)
253+func aG () = {
254+ let aH = if (sigVerify(aF.bodyBytes, aF.proofs[0], v))
249255 then 1
250256 else 0
251- let aG = if (sigVerify(aD.bodyBytes, aD.proofs[1], v))
257+ let aI = if (sigVerify(aF.bodyBytes, aF.proofs[1], w))
252258 then 1
253259 else 0
254- let aH = if (sigVerify(aD.bodyBytes, aD.proofs[2], w))
260+ let aJ = if (sigVerify(aF.bodyBytes, aF.proofs[2], x))
255261 then 1
256262 else 0
257- (((aF + aG) + aH) >= 2)
263+ (((aH + aI) + aJ) >= 2)
258264 }
259265
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
66 let b = "shutdown_cause"
77
88 let c = "_pool_last_interest"
99
1010 let d = "_user_last_interest"
1111
1212 let e = "_user_available_to_claim"
1313
1414 let f = "_share_tokens_locked"
1515
1616 let g = "_total_share_tokens_locked"
1717
1818 let h = "pool_"
1919
2020 let i = "asset_ids"
2121
2222 let j = "admin_pub_1"
2323
2424 let k = "admin_pub_2"
2525
2626 let l = "admin_pub_3"
2727
2828 let m = "farming_address"
2929
30-let n = 100000000
30+let n = "money_box_address"
3131
32-let o = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
32+let o = 100000000
3333
34-func p (q) = {
35- let r = getString(o, q)
36- if ($isInstanceOf(r, "String"))
34+let p = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
35+
36+func q (r) = {
37+ let s = getString(p, r)
38+ if ($isInstanceOf(s, "String"))
3739 then {
38- let s = r
39- fromBase58String(s)
40+ let t = s
41+ fromBase58String(t)
4042 }
4143 else {
42- let t = r
43- throw((q + "is empty"))
44+ let u = s
45+ throw((r + "is empty"))
4446 }
4547 }
4648
4749
48-let u = p(j)
50+let v = q(j)
4951
50-let v = p(k)
52+let w = q(k)
5153
52-let w = p(l)
54+let x = q(l)
5355
54-let x = Address(p(m))
56+let y = Address(q(m))
5557
56-let y = valueOrElse(getBoolean(this, a), true)
58+let z = Address(q(n))
5759
58-func z () = if (y)
60+let A = valueOrElse(getBoolean(this, a), true)
61+
62+func B () = if (A)
5963 then unit
6064 else throw("DApp is inactive at this moment")
6165
6266
63-func A (B) = if (isDefined(getString(o, (h + toString(B)))))
67+func C (D) = if (isDefined(getString(p, (h + toString(D)))))
6468 then unit
6569 else throw("Only pool can call this function")
6670
6771
68-func C (B) = if ((B == x))
72+func E (D) = if ((D == y))
6973 then unit
7074 else throw("Only farming can call this function")
7175
7276
73-func D (E) = [BooleanEntry(a, false), StringEntry(b, E)]
77+func F (G) = [BooleanEntry(a, false), StringEntry(b, G)]
7478
7579
76-func F (G,H) = valueOrElse(getInteger(x, (((G + "_") + H) + f)), 0)
80+func H (I,J) = valueOrElse(getInteger(y, (((I + "_") + J) + f)), 0)
7781
7882
79-func I (G) = valueOrElse(getInteger(x, (G + g)), 0)
83+func K (I) = valueOrElse(getInteger(y, (I + g)), 0)
8084
8185
82-func J (K,G,L) = valueOrElse(getInteger(this, (((((K + "_") + G) + "_") + L) + d)), 0)
86+func L (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + d)), 0)
8387
8488
85-func M (G,L) = valueOrElse(getInteger(this, (((G + "_") + L) + c)), 0)
89+func O (I,N) = valueOrElse(getInteger(this, (((I + "_") + N) + c)), 0)
8690
8791
88-func N (K,G,L) = valueOrElse(getInteger(this, (((((K + "_") + G) + "_") + L) + e)), 0)
92+func P (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + e)), 0)
8993
9094
91-func O (L) = {
92- let r = L
93- if ($isInstanceOf(r, "ByteVector"))
95+func Q (N) = {
96+ let s = N
97+ if ($isInstanceOf(s, "ByteVector"))
9498 then {
95- let P = r
96- toBase58String(P)
99+ let R = s
100+ toBase58String(R)
97101 }
98- else if ($isInstanceOf(r, "Unit"))
102+ else if ($isInstanceOf(s, "Unit"))
99103 then {
100- let Q = r
104+ let S = s
101105 "WAVES"
102106 }
103107 else throw("Match error")
104108 }
105109
106110
107-func R (G,L,K) = {
108- let S = M(G, L)
109- let T = J(K, G, L)
110- let U = F(G, K)
111- let V = N(K, G, L)
112- let W = fraction(U, (S - T), n)
113- $Tuple2((V + W), S)
111+func T (I,N,M) = {
112+ let U = O(I, N)
113+ let V = L(M, I, N)
114+ let W = H(I, M)
115+ let X = P(M, I, N)
116+ let Y = fraction(W, (U - V), o)
117+ $Tuple2((X + Y), U)
114118 }
115119
116120
117-func X (G,K) = {
118- let Y = Address(fromBase58String(G))
119- let Z = split(valueOrErrorMessage(getString(Y, i), "Can't find pool assets"), ",")
120- func aa (ab,L) = {
121- let ac = R(G, L, K)
122- let ad = ac._1
123- let S = ac._2
124- (ab :+ [ad])
121+func Z (I,M) = {
122+ let aa = Address(fromBase58String(I))
123+ let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
124+ func ac (ad,N) = {
125+ let ae = T(I, N, M)
126+ let af = ae._1
127+ let U = ae._2
128+ (ad :+ [af])
125129 }
126130
127- let ae = {
128- let af = Z
129- let ag = size(af)
130- let ah = nil
131- func ai (aj,ak) = if ((ak >= ag))
132- then aj
133- else aa(aj, af[ak])
131+ let ag = {
132+ let ah = ab
133+ let ai = size(ah)
134+ let aj = nil
135+ func ak (al,am) = if ((am >= ai))
136+ then al
137+ else ac(al, ah[am])
134138
135- func al (aj,ak) = if ((ak >= ag))
136- then aj
139+ func an (al,am) = if ((am >= ai))
140+ then al
137141 else throw("List size exceeds 15")
138142
139- al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
143+ an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
140144 }
141- $Tuple2(Z, ae)
145+ $Tuple2(ab, ag)
142146 }
143147
144148
145-@Callable(am)
146-func airDrop () = valueOrElse(z(), valueOrElse(A(am.caller), {
147- let an = $Tuple2(am.payments[0].amount, am.payments[0].assetId)
148- let ao = an._1
149- let ap = an._2
150- let G = toString(am.caller)
151- let aq = I(G)
152- let S = M(G, O(ap))
153- let ar = (S + (if (if ((aq > 0))
154- then (ao > 0)
155- else false)
156- then fraction(ao, n, aq)
157- else 0))
158-[IntegerEntry((((G + "_") + O(ap)) + c), ar)]
149+@Callable(ao)
150+func airDrop () = valueOrElse(B(), valueOrElse(C(ao.caller), {
151+ let ap = $Tuple2(ao.payments[0].amount, ao.payments[0].assetId)
152+ let aq = ap._1
153+ let ar = ap._2
154+ let I = toString(ao.caller)
155+ let as = K(I)
156+ if ((as == 0))
157+ then [ScriptTransfer(z, aq, ar)]
158+ else {
159+ let U = O(I, Q(ar))
160+ let at = (U + (if ((aq > 0))
161+ then fraction(aq, o, as)
162+ else 0))
163+[IntegerEntry((((I + "_") + Q(ar)) + c), at)]
164+ }
159165 }))
160166
161167
162168
163-@Callable(am)
164-func updateUserInterest (G,as) = valueOrElse(z(), valueOrElse(C(am.caller), {
165- let Y = Address(fromBase58String(G))
166- let K = toString(am.originCaller)
167- let Z = split(valueOrErrorMessage(getString(Y, i), "Can't find pool assets"), ",")
168- func at (ab,L) = {
169- let au = R(G, L, K)
170- let ad = au._1
171- let S = au._2
172- (ab ++ [IntegerEntry((((((K + "_") + G) + "_") + L) + e), ad), IntegerEntry((((((K + "_") + G) + "_") + L) + d), S)])
169+@Callable(ao)
170+func updateUserInterest (I,au) = valueOrElse(B(), valueOrElse(E(ao.caller), {
171+ let aa = Address(fromBase58String(I))
172+ let M = toString(ao.originCaller)
173+ let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
174+ func av (ad,N) = {
175+ let aw = T(I, N, M)
176+ let af = aw._1
177+ let U = aw._2
178+ (ad ++ [IntegerEntry((((((M + "_") + I) + "_") + N) + e), af), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)])
173179 }
174180
175- let af = Z
176- let ag = size(af)
177- let ah = nil
178- func ai (aj,ak) = if ((ak >= ag))
179- then aj
180- else at(aj, af[ak])
181+ let ah = ab
182+ let ai = size(ah)
183+ let aj = nil
184+ func ak (al,am) = if ((am >= ai))
185+ then al
186+ else av(al, ah[am])
181187
182- func al (aj,ak) = if ((ak >= ag))
183- then aj
188+ func an (al,am) = if ((am >= ai))
189+ then al
184190 else throw("List size exceeds 15")
185191
186- al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
192+ an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
187193 }))
188194
189195
190196
191-@Callable(am)
192-func claim (G) = valueOrElse(z(), {
193- let Y = Address(fromBase58String(G))
194- let K = toString(am.caller)
195- let Z = split(valueOrErrorMessage(getString(Y, i), "Can't find pool assets"), ",")
196- func av (ab,L) = {
197- let aw = ab
198- let ax = aw._1
199- let ay = aw._2
200- let az = R(G, L, K)
201- let ad = az._1
202- let S = az._2
203- $Tuple2((ax ++ [ScriptTransfer(am.caller, ad, fromBase58String(L)), IntegerEntry((((((K + "_") + G) + "_") + L) + e), 0), IntegerEntry((((((K + "_") + G) + "_") + L) + d), S)]), ad)
197+@Callable(ao)
198+func claim (I) = valueOrElse(B(), {
199+ let aa = Address(fromBase58String(I))
200+ let M = toString(ao.caller)
201+ let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
202+ func ax (ad,N) = {
203+ let ay = ad
204+ let az = ay._1
205+ let aA = ay._2
206+ let aB = T(I, N, M)
207+ let af = aB._1
208+ let U = aB._2
209+ $Tuple2((az ++ [ScriptTransfer(ao.caller, af, fromBase58String(N)), IntegerEntry((((((M + "_") + I) + "_") + N) + e), 0), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)]), af)
204210 }
205211
206- let aA = {
207- let af = Z
208- let ag = size(af)
209- let ah = $Tuple2(nil, 0)
210- func ai (aj,ak) = if ((ak >= ag))
211- then aj
212- else av(aj, af[ak])
212+ let aC = {
213+ let ah = ab
214+ let ai = size(ah)
215+ let aj = $Tuple2(nil, 0)
216+ func ak (al,am) = if ((am >= ai))
217+ then al
218+ else ax(al, ah[am])
213219
214- func al (aj,ak) = if ((ak >= ag))
215- then aj
220+ func an (al,am) = if ((am >= ai))
221+ then al
216222 else throw("List size exceeds 15")
217223
218- al(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
224+ an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
219225 }
220- let aB = aA._1
221- let aC = aA._2
222- if ((aC == 0))
226+ let aD = aC._1
227+ let aE = aC._2
228+ if ((aE == 0))
223229 then throw("You have no tokens for claim")
224- else aB
230+ else aD
225231 })
226232
227233
228234
229-@Callable(am)
230-func shutdown () = if (!(y))
235+@Callable(ao)
236+func shutdown () = if (!(A))
231237 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
232- else if (!(containsElement([u, v, w], am.callerPublicKey)))
238+ else if (!(containsElement([v, w, x], ao.callerPublicKey)))
233239 then throw("Only admin can call this function")
234- else D("Paused by admin")
240+ else F("Paused by admin")
235241
236242
237243
238-@Callable(am)
239-func activate () = if (y)
244+@Callable(ao)
245+func activate () = if (A)
240246 then throw("DApp is already active")
241- else if (!(containsElement([u, v, w], am.callerPublicKey)))
247+ else if (!(containsElement([v, w, x], ao.callerPublicKey)))
242248 then throw("Only admin can call this function")
243249 else [BooleanEntry(a, true), DeleteEntry(b)]
244250
245251
246-@Verifier(aD)
247-func aE () = {
248- let aF = if (sigVerify(aD.bodyBytes, aD.proofs[0], u))
252+@Verifier(aF)
253+func aG () = {
254+ let aH = if (sigVerify(aF.bodyBytes, aF.proofs[0], v))
249255 then 1
250256 else 0
251- let aG = if (sigVerify(aD.bodyBytes, aD.proofs[1], v))
257+ let aI = if (sigVerify(aF.bodyBytes, aF.proofs[1], w))
252258 then 1
253259 else 0
254- let aH = if (sigVerify(aD.bodyBytes, aD.proofs[2], w))
260+ let aJ = if (sigVerify(aF.bodyBytes, aF.proofs[2], x))
255261 then 1
256262 else 0
257- (((aF + aG) + aH) >= 2)
263+ (((aH + aI) + aJ) >= 2)
258264 }
259265

github/deemru/w8io/169f3d6 
91.15 ms