tx · CVBGaGSeZYTQyizRzVfrnjvQdmfvqtrE1mmNYTr6pBiz 3Mq52xokHu7f1rFPoqNi2DV9f9MYE65sWUg: -0.00900000 Waves 2022.06.24 04:18 [2109815] smart account 3Mq52xokHu7f1rFPoqNi2DV9f9MYE65sWUg > SELF 0.00000000 Waves
{ "type": 13, "id": "CVBGaGSeZYTQyizRzVfrnjvQdmfvqtrE1mmNYTr6pBiz", "fee": 900000, "feeAssetId": null, "timestamp": 1656033589934, "version": 2, "chainId": 84, "sender": "3Mq52xokHu7f1rFPoqNi2DV9f9MYE65sWUg", "senderPublicKey": "Eijao3E296kNprNyPkgrJ1WQ6VGQNSeWypcFsd3NMSDs", "proofs": [ "4XWn9AXCP1ENfZoS2pENJGww6v76vY2PWGiUEeLtvHDFZjZh6FGNQHySwP2pje4Kn6Q7KPzdtBmzQ3FWp16AmL6g" ], "script": "base64:AAIFAAAAAAAAABQIAhIDCgEBEgQKAgEEEgMKAQQSAAAAAA4AAAAABG5hbWUCAAAACUJldGEgVEVBTQAAAAALc3Rha2VkUG93ZXIAAAAAAAAAAAEAAAAAB2RlY2ltYWwAAAAAAAX14QABAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAABAAAABWNoZWNrAAAAAQAAAANwYmsEAAAABnBia19zdAkAAlgAAAABBQAAAANwYmsEAAAABnBvaW50cwkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQIAAAAGcG9pbnRzCQEAAAAIY29udGFpbnMAAAACBQAAAAZwb2ludHMFAAAABnBia19zdAAAAAAMc2hhcmVUb2tlbklkCQEAAAAGZ2V0U3RyAAAAAQIAAAAOU0hBUkVfQVNTRVRfSUQBAAAAD2dldFNoYXJlQXNzZXRJZAAAAAAJAAJZAAAAAQUAAAAMc2hhcmVUb2tlbklkAAAAAAhidWxsQmFuawEAAAAaAVSXsBX9bJDwiVFbKADxdptL+2W9cM7tGtsBAAAACGdldEVnZ0lkAAAAAAEAAAAgyCt7L16SGrt6l9NcZj9jbQBeAqbitMxcUEJpfpq5mScBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAPa2V5U3Rha2VkQW1vdW50AAAAAQAAAAdhZGRyZXNzCQABLAAAAAIJAAQlAAAAAQUAAAAHYWRkcmVzcwIAAAAMX2Zhcm1fc3Rha2VkAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAEAAAAHYWRkcmVzcwkAASwAAAACCQAEJQAAAAEFAAAAB2FkZHJlc3MCAAAAE19sYXN0Q2hlY2tfaW50ZXJlc3QBAAAADWtleUVnZ0NsYWltZWQAAAABAAAAB2FkZHJlc3MJAAEsAAAAAgkABCUAAAABBQAAAAdhZGRyZXNzAgAAAAhfY2xhaW1lZAEAAAASY2xhaW1TdGFraW5nUmVzdWx0AAAAAQAAAAdhZGRyZXNzBAAAAA9jdXJyZW50SW50ZXJlc3QFAAAABmhlaWdodAQAAAARbGFzdENoZWNrSW50ZXJlc3QJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAFGtleUxhc3RDaGVja0ludGVyZXN0AAAAAQUAAAAHYWRkcmVzcwQAAAAMc3Rha2VkQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAA9rZXlTdGFrZWRBbW91bnQAAAABBQAAAAdhZGRyZXNzBAAAAAZyZXdhcmQDCQAAZgAAAAIFAAAAEWxhc3RDaGVja0ludGVyZXN0AAAAAAAAAAAACQAAaAAAAAIJAABrAAAAAwkAAGUAAAACBQAAAA9jdXJyZW50SW50ZXJlc3QFAAAAEWxhc3RDaGVja0ludGVyZXN0BQAAAAxzdGFrZWRBbW91bnQFAAAAB2RlY2ltYWwFAAAAC3N0YWtlZFBvd2VyAAAAAAAAAAAABAAAAAh0cmFuc2ZlcgMJAABmAAAAAgUAAAAGcmV3YXJkAAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAB2FkZHJlc3MFAAAABnJld2FyZAkBAAAACGdldEVnZ0lkAAAAAAUAAAADbmlsBQAAAANuaWwJAAROAAAAAgUAAAAIdHJhbnNmZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAEFAAAAB2FkZHJlc3MFAAAAD2N1cnJlbnRJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWtleUVnZ0NsYWltZWQAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAADWtleUVnZ0NsYWltZWQAAAABBQAAAAdhZGRyZXNzBQAAAAZyZXdhcmQFAAAAA25pbAAAAAQAAAABaQEAAAAKaXNzdWVUb2tlbgAAAAEAAAAGYW1vdW50AwkBAAAABWNoZWNrAAAAAQgFAAAAAWkAAAAPY2Fs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", "height": 2109815, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Fi5GTKRZjhFbDkf3Y93fXQvPBBPzYaFdK8jGmm6Ho47G Next: 2hRYbSewHsCDQmDpBzki8CKMTnVExnGDQPn5YJDRQdfn Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "Beta TEAM" | |
5 | + | ||
6 | + | let b = 1 | |
7 | + | ||
8 | + | let c = 100000000 | |
9 | + | ||
10 | + | func d (e) = { | |
11 | + | let f = getString(this, e) | |
12 | + | if ($isInstanceOf(f, "String")) | |
13 | + | then { | |
14 | + | let g = f | |
15 | + | g | |
16 | + | } | |
17 | + | else "" | |
18 | + | } | |
19 | + | ||
20 | + | ||
21 | + | func h (i) = { | |
22 | + | let j = toBase58String(i) | |
23 | + | let k = getStringValue("points") | |
24 | + | contains(k, j) | |
25 | + | } | |
26 | + | ||
27 | + | ||
28 | + | let l = d("SHARE_ASSET_ID") | |
29 | + | ||
30 | + | func m () = fromBase58String(l) | |
31 | + | ||
32 | + | ||
33 | + | let n = base58'3N3k8kYqD1uZA9G5LxEPirYd2Ftpswpn9mC' | |
34 | + | ||
35 | + | func o () = base58'EUNzgdPinhbvxEwRDxakAU7EB9QHupsUXYB8TTXdjnSS' | |
36 | + | ||
37 | + | ||
38 | + | func p (e) = { | |
39 | + | let f = getInteger(this, e) | |
40 | + | if ($isInstanceOf(f, "Int")) | |
41 | + | then { | |
42 | + | let g = f | |
43 | + | g | |
44 | + | } | |
45 | + | else 0 | |
46 | + | } | |
47 | + | ||
48 | + | ||
49 | + | func q (r) = (toString(r) + "_farm_staked") | |
50 | + | ||
51 | + | ||
52 | + | func s (r) = (toString(r) + "_lastCheck_interest") | |
53 | + | ||
54 | + | ||
55 | + | func t (r) = (toString(r) + "_claimed") | |
56 | + | ||
57 | + | ||
58 | + | func u (r) = { | |
59 | + | let v = height | |
60 | + | let w = p(s(r)) | |
61 | + | let x = p(q(r)) | |
62 | + | let y = if ((w > 0)) | |
63 | + | then (fraction((v - w), x, c) * b) | |
64 | + | else 0 | |
65 | + | let z = if ((y > 0)) | |
66 | + | then [ScriptTransfer(r, y, o())] | |
67 | + | else nil | |
68 | + | (z ++ [IntegerEntry(s(r), v), IntegerEntry(t(r), (p(t(r)) + y))]) | |
69 | + | } | |
70 | + | ||
71 | + | ||
72 | + | @Callable(A) | |
73 | + | func issueToken (B) = if (h(A.callerPublicKey)) | |
74 | + | then if ((l != "")) | |
75 | + | then [Reissue(fromBase58String(l), B, true), ScriptTransfer(A.caller, B, m())] | |
76 | + | else { | |
77 | + | let C = Issue(a, (("Team token for the " + a) + " collective farm"), B, 8, true) | |
78 | + | [C, StringEntry("SHARE_ASSET_ID", toBase58String(calculateAssetId(C)))] | |
79 | + | } | |
80 | + | else throw("Private Farm. Access prohibited!") | |
4 | 81 | ||
5 | 82 | ||
6 | 83 | ||
7 | - | @Verifier(a) | |
8 | - | func b () = { | |
9 | - | let c = a | |
10 | - | if ($isInstanceOf(c, "SetScriptTransaction")) | |
11 | - | then { | |
12 | - | let d = c | |
13 | - | true | |
84 | + | @Callable(A) | |
85 | + | func withdrawFarmTokens (B,D) = if ((size(A.payments) > 0)) | |
86 | + | then throw("Please don't add payments") | |
87 | + | else if (D) | |
88 | + | then throw("No compound, please!") | |
89 | + | else { | |
90 | + | let E = toString(A.caller) | |
91 | + | let x = p(q(A.caller)) | |
92 | + | let F = if ((B == -1)) | |
93 | + | then x | |
94 | + | else B | |
95 | + | if ((F > x)) | |
96 | + | then throw("you don't have tokens available") | |
97 | + | else (u(A.caller) ++ [IntegerEntry(q(A.caller), (x - F)), ScriptTransfer(A.caller, F, m())]) | |
14 | 98 | } | |
15 | - | else if ($isInstanceOf(c, "DataTransaction")) | |
16 | - | then { | |
17 | - | let d = c | |
18 | - | true | |
19 | - | } | |
20 | - | else if ($isInstanceOf(c, "TransferTransaction")) | |
21 | - | then { | |
22 | - | let e = c | |
23 | - | true | |
99 | + | ||
100 | + | ||
101 | + | ||
102 | + | @Callable(A) | |
103 | + | func stakeFarmTokens (D) = { | |
104 | + | let G = m() | |
105 | + | if ((size(A.payments) > 1)) | |
106 | + | then throw("To many payments added") | |
107 | + | else if ((A.payments[0].assetId != G)) | |
108 | + | then throw("Wrong assetId") | |
109 | + | else if (D) | |
110 | + | then throw("No compound, please!") | |
111 | + | else { | |
112 | + | let B = A.payments[0].amount | |
113 | + | let E = toString(A.caller) | |
114 | + | if ((A.payments[0].assetId != G)) | |
115 | + | then throw("wrong asset attached") | |
116 | + | else (u(A.caller) ++ [IntegerEntry(q(A.caller), (p(q(A.caller)) + B))]) | |
24 | 117 | } | |
25 | - | else false | |
26 | 118 | } | |
119 | + | ||
120 | + | ||
121 | + | ||
122 | + | @Callable(A) | |
123 | + | func claimReward () = if ((size(A.payments) > 0)) | |
124 | + | then throw("Please don't add payments") | |
125 | + | else u(A.caller) | |
126 | + | ||
127 | + | ||
128 | + | @Verifier(H) | |
129 | + | func I () = sigVerify(H.bodyBytes, H.proofs[0], H.senderPublicKey) | |
27 | 130 |
github/deemru/w8io/169f3d6 32.77 ms ◑