tx · 6d77RbPSXSqwXUdHk2bKgv6MwHqT8jXEzUYvq5NsFTY9

3N4uWa2T9W2p4WgDwLPo3kWRp8eXRatp4vv:  -0.01400000 Waves

2021.12.28 13:28 [1853971] smart account 3N4uWa2T9W2p4WgDwLPo3kWRp8eXRatp4vv > SELF 0.00000000 Waves

{ "type": 13, "id": "6d77RbPSXSqwXUdHk2bKgv6MwHqT8jXEzUYvq5NsFTY9", "fee": 1400000, "feeAssetId": null, "timestamp": 1640687374875, "version": 2, "chainId": 84, "sender": "3N4uWa2T9W2p4WgDwLPo3kWRp8eXRatp4vv", "senderPublicKey": "6pUz5KTgi8pySNF2EuYHUMBkXbTyxL7R7YWGgb2PkhgU", "proofs": [ "4BXmeWzvup4XoMssBbGejb2BnhZBQVtes4CdKCLZLekunxrJpyx7ZyTjaFTpKb76FomTqten2JTod8ap7aipRsz5" ], "script": "base64:AAIFAAAAAAAAA88IAhIAEgMKAQgaCAoBQRIDZ2VuGhIKAUISDWdldFJhbmRvbU5hbWUaDQoBQxIIcmFuZG9tTm8aCQoBRBIEdHlwZRoPCgFFEgpnZW5lcmF0aW9uGhoKAUYSFWNvdW50RWdnc05lZWRlZEFtb3VudBoVCgFHEhB0b3RhbER1Y2tzQW1vdW50GgYKAUgSAW4aBgoBSRIBZxoGCgFKEgF0GgoKAUsSBXByaWNlGgYKAUwSAWkaDwoBTRIKZWdnc05lZWRlZBoRCgFOEgxmaXJzdFBheW1lbnQaDAoBTxIHcmVzdWx0cxoMCgFQEgd0eElkU3RyGhYKAVESEWhhdGNoaW5nU3RhdHVzS2V5GhQKAVISD2ZpbmlzaEhlaWdodEtleRoOCgFTEglkdWNrSWRLZXkaEQoBVBIMZHVja0Zyb21CYWJ5GhUKAVUSEGhhdGNoaW5nVHhTdGF0dXMaCwoBVhIGZHVja0lkGg0KAVcSCG5hbWVEYXRhGgwKAVgSB2R1Y2tHZW4aDAoBWRIHZmFybUdlbhoQCgFaEgtkZXNjcmlwdGlvbhoQCgFhEgtlZ2dzQXNzZXRJZBoLCgJhYRIFYXNzZXQaDQoCYWISB2Fzc2V0SWQaDAoCYWMSBmFtb3VudBoICgJhZBICdHgaDAoCYWUSBnZlcmlmeRoVCgFiEhBkZWxheUZvckhhdGNoaW5nGhgKAWMSE2Rpc2NvdW50Q29lZmZpY2llbnQaEAoBZBILdHlwZXNBbW91bnQaEgoBZRINUmVmZXJlclJld2FyZBoUCgFmEg9BZG9wdGlvblN0YXJ0ZWQaFQoBZxIQQWRvcHRpb25GaW5pc2hlZBoZCgFoEhRnZXRIYXRjaGluZ1N0YXR1c0tleRoMCgFpEgdhZGRyZXNzGgkKAWoSBHR4SWQaHwoBaxIaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkaEQoBbBIMZ2V0RHVja0lkS2V5GhQKAW0SD2dldER1Y2tTdGF0c0tleRoOCgFuEglnZW5TdHJpbmcaEgoBbxINdHJ5R2V0SW50ZWdlchoICgFwEgNrZXkaCAoBcRIDdmFsGgwKAXISByRtYXRjaDAaBgoBcxIBYhoUCgF0Eg9nZXRSYW5kb21OdW1iZXIaDQoBdRIIdmFyaWFudHMaGQoBdhIUaGF0Y2hp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", "height": 1853971, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3NHwcZZ1t57S5W2ZdovYAvqq8z4AeiPKZVjJ6L1PWw7S Next: GyaaqetgF6XnsNAow43fASKab58SKajemYtbDYvBiYcC Diff:
OldNewDifferences
5252
5353
5454 func B (j,v) = {
55- let C = t(500, j, v, 0)
56- if (if ((C == 111))
57- then (z("DUCK-WWWWWWWM-JU") == 0)
58- else false)
59- then $Tuple2("DUCK-WWWWWWWM-JU", "8W-J")
60- else {
61- let D = t(4, j, v, 0)
62- let E = t(4, j, v, 1)
63- let F = if ((E == 0))
64- then "Y"
65- else if ((E == 1))
66- then "G"
67- else if ((E == 2))
68- then "B"
69- else "R"
70- if ((D == 0))
71- then $Tuple2(("DUCK-FFFFFFFF-G" + F), "8F-G")
72- else if ((D == 1))
73- then $Tuple2(("DUCK-HHHHHHHH-G" + F), "8H-G")
74- else if ((D == 2))
75- then $Tuple2(("DUCK-GGGGGGGG-G" + F), "8G-G")
76- else $Tuple2(("DUCK-IIIIIIII-G" + F), "8I-G")
77- }
55+ let C = t(4000, j, v, 0)
56+ let D = if ((C > 2000))
57+ then "DOG"
58+ else "DRAGON"
59+ let E = (C % 2000)
60+ if ((E > 1800))
61+ then $Tuple2(((D + "-WW-") + toString(C)), (D + "-WW"))
62+ else if ((E > 1600))
63+ then $Tuple2(((D + "-TG-") + toString(C)), (D + "-TG"))
64+ else if ((E > 1400))
65+ then $Tuple2(((D + "-T-") + toString(C)), (D + "-T"))
66+ else if ((E > 1200))
67+ then $Tuple2(((D + "-ST-") + toString(C)), (D + "-ST"))
68+ else if ((E > 1000))
69+ then $Tuple2(((D + "-SD-") + toString(C)), (D + "-SD"))
70+ else if ((E > 800))
71+ then $Tuple2(((D + "-SG-") + toString(C)), (D + "-SG"))
72+ else if ((E > 600))
73+ then $Tuple2(((D + "-PE-") + toString(C)), (D + "-PE"))
74+ else if ((E > 400))
75+ then $Tuple2(((D + "-M-") + toString(C)), (D + "-M"))
76+ else if ((E > 200))
77+ then $Tuple2(((D + "-LOG-") + toString(C)), (D + "-LOG"))
78+ else if ((E > 0))
79+ then $Tuple2(((D + "-D-") + toString(C)), (D + "-D"))
80+ else $Tuple2((D + "-D-1"), (D + "-D"))
7881 }
7982
8083
81-func G (H) = {
82- let I = H
83- let J = c
84- let K = d
85- let L = pow((100 + ((I * J) / (10 * K))), 2, 5, 1, 2, DOWN)
86- (L * 1000000)
84+func F (G) = {
85+ let H = G
86+ let I = c
87+ let J = d
88+ let K = pow((100 + ((H * I) / (10 * J))), 2, 5, 1, 2, DOWN)
89+ (K * 1000000)
8790 }
8891
8992
90-@Callable(M)
93+@Callable(L)
9194 func startDuckHatching () = {
92- let H = o("ducks_amount")
93- let N = G(H)
94- let O = value(M.payments[0])
95- let P = [StringEntry(h(toString(M.originCaller), M.transactionId), f), IntegerEntry(k(toString(M.originCaller), M.transactionId), (height + b)), IntegerEntry("ducks_amount", (H + 1)), IntegerEntry("ducks_last_price", (N / 1000000))]
96- if ((O.assetId != a))
95+ let G = o("ducks_amount")
96+ let M = F(G)
97+ let N = value(L.payments[0])
98+ let O = [StringEntry(h(toString(L.originCaller), L.transactionId), f), IntegerEntry(k(toString(L.originCaller), L.transactionId), (height + b)), IntegerEntry("ducks_amount", (G + 1)), IntegerEntry("ducks_last_price", (M / 1000000))]
99+ if ((N.assetId != a))
97100 then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(a)))
98- else if ((N > O.amount))
99- then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(N)))
100- else (P ++ [ScriptTransfer(M.caller, (O.amount - N), a)])
101+ else if ((M > N.amount))
102+ then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(M)))
103+ else (O ++ [ScriptTransfer(L.caller, (N.amount - M), a)])
101104 }
102105
103106
104107
105-@Callable(M)
106-func finishDuckHatching (Q) = {
107- let j = fromBase58String(Q)
108- let R = h(toString(M.caller), j)
109- let S = k(toString(M.caller), j)
110- let T = l(toString(M.caller), j)
111- let U = {
112- let r = getBoolean((("hatching_" + Q) + "_babyDuck"))
108+@Callable(L)
109+func finishDuckHatching (P) = {
110+ let j = fromBase58String(P)
111+ let Q = h(toString(L.caller), j)
112+ let R = k(toString(L.caller), j)
113+ let S = l(toString(L.caller), j)
114+ let T = {
115+ let r = getBoolean((("hatching_" + P) + "_babyDuck"))
113116 if ($isInstanceOf(r, "Boolean"))
114117 then {
115- let K = r
116- K
118+ let J = r
119+ J
117120 }
118121 else false
119122 }
120- let V = getStringValue(this, R)
121- let v = getIntegerValue(this, S)
122- if ((V == g))
123+ let U = getStringValue(this, Q)
124+ let v = getIntegerValue(this, R)
125+ if ((U == g))
123126 then {
124- let W = getStringValue(this, l(toString(M.caller), j))
125- throw(("The duck was hatched and claimed already, here is the folowing: " + W))
127+ let V = getStringValue(this, l(toString(L.caller), j))
128+ throw(("The duck was hatched and claimed already, here is the folowing: " + V))
126129 }
127130 else if ((v > height))
128131 then throw((((("Hatching is not finished yet " + toString((v - height))) + " blocks remaining, it will take around ") + toString((v - height))) + " minutes"))
129132 else {
130- let X = B(j, v)
131- let Y = X._1
132- let Z = X._2
133- let aa = (("{\"genotype\": \"" + Y) + "\", \"crossbreeding\": true}")
134- let ab = Issue(Y, aa, 1, 0, false, unit, v)
135- let ac = calculateAssetId(ab)
136- let ad = (o(m(Y)) + 1)
137-[StringEntry(R, g), StringEntry(T, toBase58String(ac)), StringEntry(toBase58String(ac), T), BooleanEntry((("duck_" + toBase58String(ac)) + "_grown"), U), IntegerEntry(m(Y), ad), IntegerEntry((("stats_" + Z) + "_quantity"), (o((("stats_" + Z) + "_quantity")) + 1)), ab, ScriptTransfer(M.caller, 1, ac)]
133+ let W = B(j, v)
134+ let X = W._1
135+ let Y = W._2
136+ let Z = (("{\"genotype\": \"" + X) + "\", \"crossbreeding\": true}")
137+ let aa = Issue(X, Z, 1, 0, false, unit, v)
138+ let ab = calculateAssetId(aa)
139+ let ac = (o(m(X)) + 1)
140+[StringEntry(Q, g), StringEntry(S, toBase58String(ab)), StringEntry(toBase58String(ab), S), BooleanEntry((("duck_" + toBase58String(ab)) + "_grown"), T), IntegerEntry(m(X), ac), IntegerEntry((("stats_" + Y) + "_quantity"), (o((("stats_" + Y) + "_quantity")) + 1)), aa, ScriptTransfer(L.caller, 1, ab)]
138141 }
139142 }
140143
141144
142-@Verifier(ae)
143-func af () = sigVerify(ae.bodyBytes, ae.proofs[0], ae.senderPublicKey)
145+@Verifier(ad)
146+func ae () = sigVerify(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey)
144147
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'2cf6jyVG19oHU79R8iHfqFEesjstr3e7nSYEUhb2WagB'
55
66 let b = 2
77
88 let c = 10
99
1010 let d = 9
1111
1212 let e = 5
1313
1414 let f = "ADOPTION_STARTED"
1515
1616 let g = "ADOPTION_FINISHED"
1717
1818 func h (i,j) = (((i + "_") + toBase58String(j)) + "_status")
1919
2020
2121 func k (i,j) = (((i + "_") + toBase58String(j)) + "_fh")
2222
2323
2424 func l (i,j) = (((i + "_") + toBase58String(j)) + "_di")
2525
2626
2727 func m (n) = (("stats_" + n) + "_amount")
2828
2929
3030 func o (p) = {
3131 let q = {
3232 let r = getInteger(this, p)
3333 if ($isInstanceOf(r, "Int"))
3434 then {
3535 let s = r
3636 s
3737 }
3838 else 0
3939 }
4040 q
4141 }
4242
4343
4444 func t (u,j,v,w) = {
4545 let x = value(blockInfoByHeight((v - 1)))
4646 let y = sha256((j + value(x.vrf)))
4747 (toInt(y, (w * 8)) % u)
4848 }
4949
5050
5151 func z (A) = o(m(A))
5252
5353
5454 func B (j,v) = {
55- let C = t(500, j, v, 0)
56- if (if ((C == 111))
57- then (z("DUCK-WWWWWWWM-JU") == 0)
58- else false)
59- then $Tuple2("DUCK-WWWWWWWM-JU", "8W-J")
60- else {
61- let D = t(4, j, v, 0)
62- let E = t(4, j, v, 1)
63- let F = if ((E == 0))
64- then "Y"
65- else if ((E == 1))
66- then "G"
67- else if ((E == 2))
68- then "B"
69- else "R"
70- if ((D == 0))
71- then $Tuple2(("DUCK-FFFFFFFF-G" + F), "8F-G")
72- else if ((D == 1))
73- then $Tuple2(("DUCK-HHHHHHHH-G" + F), "8H-G")
74- else if ((D == 2))
75- then $Tuple2(("DUCK-GGGGGGGG-G" + F), "8G-G")
76- else $Tuple2(("DUCK-IIIIIIII-G" + F), "8I-G")
77- }
55+ let C = t(4000, j, v, 0)
56+ let D = if ((C > 2000))
57+ then "DOG"
58+ else "DRAGON"
59+ let E = (C % 2000)
60+ if ((E > 1800))
61+ then $Tuple2(((D + "-WW-") + toString(C)), (D + "-WW"))
62+ else if ((E > 1600))
63+ then $Tuple2(((D + "-TG-") + toString(C)), (D + "-TG"))
64+ else if ((E > 1400))
65+ then $Tuple2(((D + "-T-") + toString(C)), (D + "-T"))
66+ else if ((E > 1200))
67+ then $Tuple2(((D + "-ST-") + toString(C)), (D + "-ST"))
68+ else if ((E > 1000))
69+ then $Tuple2(((D + "-SD-") + toString(C)), (D + "-SD"))
70+ else if ((E > 800))
71+ then $Tuple2(((D + "-SG-") + toString(C)), (D + "-SG"))
72+ else if ((E > 600))
73+ then $Tuple2(((D + "-PE-") + toString(C)), (D + "-PE"))
74+ else if ((E > 400))
75+ then $Tuple2(((D + "-M-") + toString(C)), (D + "-M"))
76+ else if ((E > 200))
77+ then $Tuple2(((D + "-LOG-") + toString(C)), (D + "-LOG"))
78+ else if ((E > 0))
79+ then $Tuple2(((D + "-D-") + toString(C)), (D + "-D"))
80+ else $Tuple2((D + "-D-1"), (D + "-D"))
7881 }
7982
8083
81-func G (H) = {
82- let I = H
83- let J = c
84- let K = d
85- let L = pow((100 + ((I * J) / (10 * K))), 2, 5, 1, 2, DOWN)
86- (L * 1000000)
84+func F (G) = {
85+ let H = G
86+ let I = c
87+ let J = d
88+ let K = pow((100 + ((H * I) / (10 * J))), 2, 5, 1, 2, DOWN)
89+ (K * 1000000)
8790 }
8891
8992
90-@Callable(M)
93+@Callable(L)
9194 func startDuckHatching () = {
92- let H = o("ducks_amount")
93- let N = G(H)
94- let O = value(M.payments[0])
95- let P = [StringEntry(h(toString(M.originCaller), M.transactionId), f), IntegerEntry(k(toString(M.originCaller), M.transactionId), (height + b)), IntegerEntry("ducks_amount", (H + 1)), IntegerEntry("ducks_last_price", (N / 1000000))]
96- if ((O.assetId != a))
95+ let G = o("ducks_amount")
96+ let M = F(G)
97+ let N = value(L.payments[0])
98+ let O = [StringEntry(h(toString(L.originCaller), L.transactionId), f), IntegerEntry(k(toString(L.originCaller), L.transactionId), (height + b)), IntegerEntry("ducks_amount", (G + 1)), IntegerEntry("ducks_last_price", (M / 1000000))]
99+ if ((N.assetId != a))
97100 then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(a)))
98- else if ((N > O.amount))
99- then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(N)))
100- else (P ++ [ScriptTransfer(M.caller, (O.amount - N), a)])
101+ else if ((M > N.amount))
102+ then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(M)))
103+ else (O ++ [ScriptTransfer(L.caller, (N.amount - M), a)])
101104 }
102105
103106
104107
105-@Callable(M)
106-func finishDuckHatching (Q) = {
107- let j = fromBase58String(Q)
108- let R = h(toString(M.caller), j)
109- let S = k(toString(M.caller), j)
110- let T = l(toString(M.caller), j)
111- let U = {
112- let r = getBoolean((("hatching_" + Q) + "_babyDuck"))
108+@Callable(L)
109+func finishDuckHatching (P) = {
110+ let j = fromBase58String(P)
111+ let Q = h(toString(L.caller), j)
112+ let R = k(toString(L.caller), j)
113+ let S = l(toString(L.caller), j)
114+ let T = {
115+ let r = getBoolean((("hatching_" + P) + "_babyDuck"))
113116 if ($isInstanceOf(r, "Boolean"))
114117 then {
115- let K = r
116- K
118+ let J = r
119+ J
117120 }
118121 else false
119122 }
120- let V = getStringValue(this, R)
121- let v = getIntegerValue(this, S)
122- if ((V == g))
123+ let U = getStringValue(this, Q)
124+ let v = getIntegerValue(this, R)
125+ if ((U == g))
123126 then {
124- let W = getStringValue(this, l(toString(M.caller), j))
125- throw(("The duck was hatched and claimed already, here is the folowing: " + W))
127+ let V = getStringValue(this, l(toString(L.caller), j))
128+ throw(("The duck was hatched and claimed already, here is the folowing: " + V))
126129 }
127130 else if ((v > height))
128131 then throw((((("Hatching is not finished yet " + toString((v - height))) + " blocks remaining, it will take around ") + toString((v - height))) + " minutes"))
129132 else {
130- let X = B(j, v)
131- let Y = X._1
132- let Z = X._2
133- let aa = (("{\"genotype\": \"" + Y) + "\", \"crossbreeding\": true}")
134- let ab = Issue(Y, aa, 1, 0, false, unit, v)
135- let ac = calculateAssetId(ab)
136- let ad = (o(m(Y)) + 1)
137-[StringEntry(R, g), StringEntry(T, toBase58String(ac)), StringEntry(toBase58String(ac), T), BooleanEntry((("duck_" + toBase58String(ac)) + "_grown"), U), IntegerEntry(m(Y), ad), IntegerEntry((("stats_" + Z) + "_quantity"), (o((("stats_" + Z) + "_quantity")) + 1)), ab, ScriptTransfer(M.caller, 1, ac)]
133+ let W = B(j, v)
134+ let X = W._1
135+ let Y = W._2
136+ let Z = (("{\"genotype\": \"" + X) + "\", \"crossbreeding\": true}")
137+ let aa = Issue(X, Z, 1, 0, false, unit, v)
138+ let ab = calculateAssetId(aa)
139+ let ac = (o(m(X)) + 1)
140+[StringEntry(Q, g), StringEntry(S, toBase58String(ab)), StringEntry(toBase58String(ab), S), BooleanEntry((("duck_" + toBase58String(ab)) + "_grown"), T), IntegerEntry(m(X), ac), IntegerEntry((("stats_" + Y) + "_quantity"), (o((("stats_" + Y) + "_quantity")) + 1)), aa, ScriptTransfer(L.caller, 1, ab)]
138141 }
139142 }
140143
141144
142-@Verifier(ae)
143-func af () = sigVerify(ae.bodyBytes, ae.proofs[0], ae.senderPublicKey)
145+@Verifier(ad)
146+func ae () = sigVerify(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey)
144147

github/deemru/w8io/03bedc9 
61.26 ms