tx · 35kZrpgjRGUm8SshvLQNPaf9htHcSpCznvBeg85YV6Vs

3PHeFExuCuK2QkR64j83u2tVom4YJUUXYZA:  -0.01000000 Waves

2023.01.19 19:12 [3477535] smart account 3PHeFExuCuK2QkR64j83u2tVom4YJUUXYZA > SELF 0.00000000 Waves

{ "type": 13, "id": "35kZrpgjRGUm8SshvLQNPaf9htHcSpCznvBeg85YV6Vs", "fee": 1000000, "feeAssetId": null, "timestamp": 1674144771880, "version": 2, "chainId": 87, "sender": "3PHeFExuCuK2QkR64j83u2tVom4YJUUXYZA", "senderPublicKey": "2HQLGX6a8xxw6QLPKVnKhR7WNTSNiw4XboN8pYoCfwzR", "proofs": [ "5hyWsrUaMXQ8RJkGRuv6huZevsuZw2gw8KymNavaJy8CPV4P14FdUqRUsxpMY3WNZ8B5iDzxoivR32jSEVHQ1jAa" ], "script": "base64:AAIFAAAAAAAAAAkIAhIAEgMKAQEAAAABAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAAAAAACAAAAAWkBAAAACHB1dFdhdmVzAAAAAAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAEdW5pdAYJAABnAAAAAgAAAAAAAAAAAAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAgcGxlYXNlIGF0dGFjaCBXQVZFUyBhcyBhIHBheW1lbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAACV93YXZlc1B1dAkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAACV93YXZlc1B1dAgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAApjbGFpbVdhdmVzAAAAAQAAAAZhbW91bnQEAAAACHdhdmVzUHV0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAACV93YXZlc1B1dAMJAABmAAAAAgUAAAAId2F2ZXNQdXQFAAAABmFtb3VudAkAAAIAAAABAgAAACh5b3UgZG9uJ3QgaGF2ZSB0aGF0IG11Y2ggV0FWRVMgYXZhaWxhYmxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAlfd2F2ZXNQdXQJAABlAAAAAgUAAAAId2F2ZXNQdXQFAAAABmFtb3VudAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXloxwhE", "height": 3477535, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HHaHCxKCU111sf2rm6h8UrKPq5H3wkpzqQmd2wDg8okE Next: J2pfVtYh398qCRhyxLjYiZm48cWu39RCDWRDMiMuVrpj Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let wxId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
5-
6-let usdnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
7-
8-let plutoId = base58'Ajso6nTTjptu2UHLx6hfSXVtHFtRBJCkKYd5SAyj7zf5'
9-
10-let plutoStakingAddress = "3P7dGTVZp8VLDYy3XEaUQbiqfi9cMK1Ly5q"
11-
12-func tryGetString (key) = match getString(this, key) {
13- case b: String =>
4+func tryGetInteger (key) = match getInteger(this, key) {
5+ case b: Int =>
146 b
157 case _ =>
16- ""
8+ 0
179 }
1810
1911
20-func getAssetString (assetId) = match assetId {
21- case b: ByteVector =>
22- toBase58String(b)
23- case _ =>
24- "WAVES"
25-}
26-
27-
28-func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
29- then unit
30- else fromBase58String(assetIdStr)
31-
32-
33-func getBalance (assetId) = match assetId {
34- case x: Unit =>
35- wavesBalance(this).available
36- case _ =>
37- assetBalance(this, value(assetId))
38-}
39-
40-
41-func exchangeAnSendToStaking (asset0Id,asset1Id,amount0) = {
42- let exchangeInvoke = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeAndSendTo", [getAssetString(asset1Id), plutoStakingAddress], [AttachedPayment(asset0Id, amount0)])
43- if ((exchangeInvoke == exchangeInvoke))
12+@Callable(i)
13+func putWaves () = {
14+ let pmt = i.payments[0]
15+ if (if ((pmt.assetId != unit))
4416 then true
45- else throw("Strict value is not equal to itself.")
17+ else (0 >= pmt.amount))
18+ then throw("please attach WAVES as a payment")
19+ else [IntegerEntry((toString(i.caller) + "_wavesPut"), (tryGetInteger((toString(i.caller) + "_wavesPut")) + pmt.amount))]
4620 }
4721
4822
49-func claimWX (lpId) = {
50- let evaluation = split({
51- let @ = invoke(Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'), "claimWxREADONLY", [lpId, toString(this)], nil)
52- if ($isInstanceOf(@, "String"))
53- then @
54- else throw("Couldn't cast Any to String")
55- }, "__")
56- if ((evaluation == evaluation))
57- then {
58- let claimInv = if (((parseIntValue(evaluation[3]) - parseIntValue(evaluation[4])) > 0))
59- then invoke(Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'), "claimWx", [lpId], nil)
60- else unit
61- if ((claimInv == claimInv))
62- then true
63- else throw("Strict value is not equal to itself.")
64- }
65- else throw("Strict value is not equal to itself.")
66- }
67-
6823
6924 @Callable(i)
70-func claimTreasuryRewards () = {
71- let wxBalance0 = getBalance(wxId)
72- if ((wxBalance0 == wxBalance0))
73- then {
74- let inv1 = claimWX("97zHFp1C3cB7qfvx8Xv5f2rWp9nUSG5UnAamfPcW6txf")
75- if ((inv1 == inv1))
76- then {
77- let inv2 = claimWX("EPhdEfmQaNcHyvDmRGhnLhgcJtKZ2a4k3ZBmKWtAEWyH")
78- if ((inv2 == inv2))
79- then {
80- let inv3 = claimWX("EMsZpqcT8NuMYZCEPHzvrhQCQKhfXjdeekZvcWpHsNvh")
81- if ((inv3 == inv3))
82- then {
83- let wxEarned = (getBalance(wxId) - wxBalance0)
84- if ((wxEarned == wxEarned))
85- then {
86- let exchangeResult = exchangeAnSendToStaking(wxId, plutoId, wxEarned)
87- if ((exchangeResult == exchangeResult))
88- then [IntegerEntry(("stats_claimedAt_Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on_" + toString(height)), wxEarned), IntegerEntry("stats_lastClaim", height)]
89- else throw("Strict value is not equal to itself.")
90- }
91- else throw("Strict value is not equal to itself.")
92- }
93- else throw("Strict value is not equal to itself.")
94- }
95- else throw("Strict value is not equal to itself.")
96- }
97- else throw("Strict value is not equal to itself.")
98- }
99- else throw("Strict value is not equal to itself.")
25+func claimWaves (amount) = {
26+ let wavesPut = tryGetInteger((toString(i.caller) + "_wavesPut"))
27+ if ((wavesPut > amount))
28+ then throw("you don't have that much WAVES available")
29+ else [IntegerEntry((toString(i.caller) + "_wavesPut"), (wavesPut - amount))]
10030 }
10131
10232
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let wxId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
5-
6-let usdnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
7-
8-let plutoId = base58'Ajso6nTTjptu2UHLx6hfSXVtHFtRBJCkKYd5SAyj7zf5'
9-
10-let plutoStakingAddress = "3P7dGTVZp8VLDYy3XEaUQbiqfi9cMK1Ly5q"
11-
12-func tryGetString (key) = match getString(this, key) {
13- case b: String =>
4+func tryGetInteger (key) = match getInteger(this, key) {
5+ case b: Int =>
146 b
157 case _ =>
16- ""
8+ 0
179 }
1810
1911
20-func getAssetString (assetId) = match assetId {
21- case b: ByteVector =>
22- toBase58String(b)
23- case _ =>
24- "WAVES"
25-}
26-
27-
28-func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
29- then unit
30- else fromBase58String(assetIdStr)
31-
32-
33-func getBalance (assetId) = match assetId {
34- case x: Unit =>
35- wavesBalance(this).available
36- case _ =>
37- assetBalance(this, value(assetId))
38-}
39-
40-
41-func exchangeAnSendToStaking (asset0Id,asset1Id,amount0) = {
42- let exchangeInvoke = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeAndSendTo", [getAssetString(asset1Id), plutoStakingAddress], [AttachedPayment(asset0Id, amount0)])
43- if ((exchangeInvoke == exchangeInvoke))
12+@Callable(i)
13+func putWaves () = {
14+ let pmt = i.payments[0]
15+ if (if ((pmt.assetId != unit))
4416 then true
45- else throw("Strict value is not equal to itself.")
17+ else (0 >= pmt.amount))
18+ then throw("please attach WAVES as a payment")
19+ else [IntegerEntry((toString(i.caller) + "_wavesPut"), (tryGetInteger((toString(i.caller) + "_wavesPut")) + pmt.amount))]
4620 }
4721
4822
49-func claimWX (lpId) = {
50- let evaluation = split({
51- let @ = invoke(Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'), "claimWxREADONLY", [lpId, toString(this)], nil)
52- if ($isInstanceOf(@, "String"))
53- then @
54- else throw("Couldn't cast Any to String")
55- }, "__")
56- if ((evaluation == evaluation))
57- then {
58- let claimInv = if (((parseIntValue(evaluation[3]) - parseIntValue(evaluation[4])) > 0))
59- then invoke(Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'), "claimWx", [lpId], nil)
60- else unit
61- if ((claimInv == claimInv))
62- then true
63- else throw("Strict value is not equal to itself.")
64- }
65- else throw("Strict value is not equal to itself.")
66- }
67-
6823
6924 @Callable(i)
70-func claimTreasuryRewards () = {
71- let wxBalance0 = getBalance(wxId)
72- if ((wxBalance0 == wxBalance0))
73- then {
74- let inv1 = claimWX("97zHFp1C3cB7qfvx8Xv5f2rWp9nUSG5UnAamfPcW6txf")
75- if ((inv1 == inv1))
76- then {
77- let inv2 = claimWX("EPhdEfmQaNcHyvDmRGhnLhgcJtKZ2a4k3ZBmKWtAEWyH")
78- if ((inv2 == inv2))
79- then {
80- let inv3 = claimWX("EMsZpqcT8NuMYZCEPHzvrhQCQKhfXjdeekZvcWpHsNvh")
81- if ((inv3 == inv3))
82- then {
83- let wxEarned = (getBalance(wxId) - wxBalance0)
84- if ((wxEarned == wxEarned))
85- then {
86- let exchangeResult = exchangeAnSendToStaking(wxId, plutoId, wxEarned)
87- if ((exchangeResult == exchangeResult))
88- then [IntegerEntry(("stats_claimedAt_Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on_" + toString(height)), wxEarned), IntegerEntry("stats_lastClaim", height)]
89- else throw("Strict value is not equal to itself.")
90- }
91- else throw("Strict value is not equal to itself.")
92- }
93- else throw("Strict value is not equal to itself.")
94- }
95- else throw("Strict value is not equal to itself.")
96- }
97- else throw("Strict value is not equal to itself.")
98- }
99- else throw("Strict value is not equal to itself.")
25+func claimWaves (amount) = {
26+ let wavesPut = tryGetInteger((toString(i.caller) + "_wavesPut"))
27+ if ((wavesPut > amount))
28+ then throw("you don't have that much WAVES available")
29+ else [IntegerEntry((toString(i.caller) + "_wavesPut"), (wavesPut - amount))]
10030 }
10131
10232
10333 @Verifier(tx)
10434 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
10535

github/deemru/w8io/3ef1775 
39.54 ms