tx · GyaaqetgF6XnsNAow43fASKab58SKajemYtbDYvBiYcC

3N4uWa2T9W2p4WgDwLPo3kWRp8eXRatp4vv:  -0.01400000 Waves

2022.02.06 16:02 [1911778] smart account 3N4uWa2T9W2p4WgDwLPo3kWRp8eXRatp4vv > SELF 0.00000000 Waves

{ "type": 13, "id": "GyaaqetgF6XnsNAow43fASKab58SKajemYtbDYvBiYcC", "fee": 1400000, "feeAssetId": null, "timestamp": 1644152502240, "version": 2, "chainId": 84, "sender": "3N4uWa2T9W2p4WgDwLPo3kWRp8eXRatp4vv", "senderPublicKey": "6pUz5KTgi8pySNF2EuYHUMBkXbTyxL7R7YWGgb2PkhgU", "proofs": [ "3mtYTTptYmb2supzr9qZvMHDeQ917WBKgpW9tnaLiEVhQexQr6U2RdhXFSTNySqCFJ8dpSz9DkjmbSb6JT2XseJb" ], "script": "base64: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cnN0UGF5bWVudAAAAAZhbW91bnQFAAAACmVnZ3NOZWVkZWQFAAAAC2VnZ3NBc3NldElkBQAAAANuaWwAAAABaQEAAAASZmluaXNoRHVja0hhdGNoaW5nAAAAAQAAAAd0eElkU3RyBAAAAAR0eElkCQACWQAAAAEFAAAAB3R4SWRTdHIEAAAAEWhhdGNoaW5nU3RhdHVzS2V5CQEAAAAUZ2V0SGF0Y2hpbmdTdGF0dXNLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAQAAAAPZmluaXNoSGVpZ2h0S2V5CQEAAAAaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAQAAAAJZHVja0lkS2V5CQEAAAAMZ2V0RHVja0lkS2V5AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQEAAAADGR1Y2tGcm9tQmFieQQAAAAHJG1hdGNoMAkABCAAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAJaGF0Y2hpbmdfBQAAAAd0eElkU3RyAgAAAAlfYmFieUR1Y2sDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAXQFAAAAByRtYXRjaDAFAAAAAXQHBAAAABBoYXRjaGluZ1R4U3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAABFoYXRjaGluZ1N0YXR1c0tleQQAAAAUaGF0Y2hpbmdGaW5pc2hIZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2ZpbmlzaEhlaWdodEtleQMJAAAAAAAAAgUAAAAQaGF0Y2hpbmdUeFN0YXR1cwUAAAAQQWRvcHRpb25GaW5pc2hlZAQAAAAGZHVja0lkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQEAAAAMZ2V0RHVja0lkS2V5AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQJAAACAAAAAQkAASwAAAACAgAAAEBUaGUgZHVjayB3YXMgaGF0Y2hlZCBhbmQgY2xhaW1lZCBhbHJl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", "height": 1911778, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6d77RbPSXSqwXUdHk2bKgv6MwHqT8jXEzUYvq5NsFTY9 Next: CrhBvqsRNous5GskzWkxB4W38Lwg9g3f4j421dheyAfY Diff:
OldNewDifferences
5252
5353
5454 func B (j,v) = {
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"))
55+ let C = toString(t(6, j, v, 0))
56+ let D = toString(t(5, j, v, 0))
57+ let E = toString(t(3, j, v, 0))
58+ let F = toString(t(43, j, v, 0))
59+ let G = toString(t(34, j, v, 0))
60+ let H = t(4, j, v, 1)
61+ let I = if ((H == 0))
62+ then "R"
63+ else if ((H == 1))
64+ then "G"
65+ else if ((H == 2))
66+ then "B"
67+ else "Y"
68+ $Tuple2((((((("PANDA-" + C) + D) + E) + F) + G) + "-"), "PANDA")
8169 }
8270
8371
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)
72+func J (K) = {
73+ let L = K
74+ let M = c
75+ let N = d
76+ let O = pow((100 + ((L * M) / (10 * N))), 2, 5, 1, 2, DOWN)
77+ (O * 1000000)
9078 }
9179
9280
93-@Callable(L)
81+@Callable(P)
9482 func startDuckHatching () = {
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))
83+ let K = o("ducks_amount")
84+ let Q = J(K)
85+ let R = value(P.payments[0])
86+ let S = [StringEntry(h(toString(P.originCaller), P.transactionId), f), IntegerEntry(k(toString(P.originCaller), P.transactionId), (height + b)), IntegerEntry("ducks_amount", (K + 1)), IntegerEntry("ducks_last_price", (Q / 1000000))]
87+ if ((R.assetId != a))
10088 then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(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)])
89+ else if ((Q > R.amount))
90+ then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(Q)))
91+ else (S ++ [ScriptTransfer(P.caller, (R.amount - Q), a)])
10492 }
10593
10694
10795
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"))
96+@Callable(P)
97+func finishDuckHatching (T) = {
98+ let j = fromBase58String(T)
99+ let U = h(toString(P.caller), j)
100+ let V = k(toString(P.caller), j)
101+ let W = l(toString(P.caller), j)
102+ let X = {
103+ let r = getBoolean((("hatching_" + T) + "_babyDuck"))
116104 if ($isInstanceOf(r, "Boolean"))
117105 then {
118- let J = r
119- J
106+ let N = r
107+ N
120108 }
121109 else false
122110 }
123- let U = getStringValue(this, Q)
124- let v = getIntegerValue(this, R)
125- if ((U == g))
111+ let Y = getStringValue(this, U)
112+ let v = getIntegerValue(this, V)
113+ if ((Y == g))
126114 then {
127- let V = getStringValue(this, l(toString(L.caller), j))
128- throw(("The duck was hatched and claimed already, here is the folowing: " + V))
115+ let Z = getStringValue(this, l(toString(P.caller), j))
116+ throw(("The duck was hatched and claimed already, here is the folowing: " + Z))
129117 }
130118 else if ((v > height))
131119 then throw((((("Hatching is not finished yet " + toString((v - height))) + " blocks remaining, it will take around ") + toString((v - height))) + " minutes"))
132120 else {
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)]
121+ let aa = B(j, v)
122+ let ab = aa._1
123+ let ac = aa._2
124+ let ad = (("{\"genotype\": \"" + ab) + "\", \"crossbreeding\": true}")
125+ let ae = Issue(ab, ad, 1, 0, false, unit, v)
126+ let af = calculateAssetId(ae)
127+ let ag = (o(m(ab)) + 1)
128+[StringEntry(U, g), StringEntry(W, toBase58String(af)), StringEntry(toBase58String(af), W), BooleanEntry((("duck_" + toBase58String(af)) + "_grown"), X), IntegerEntry(m(ab), ag), IntegerEntry((("stats_" + ac) + "_quantity"), (o((("stats_" + ac) + "_quantity")) + 1)), ae, ScriptTransfer(P.caller, 1, af)]
141129 }
142130 }
143131
144132
145-@Verifier(ad)
146-func ae () = sigVerify(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey)
133+@Verifier(ah)
134+func ai () = sigVerify(ah.bodyBytes, ah.proofs[0], ah.senderPublicKey)
147135
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(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"))
55+ let C = toString(t(6, j, v, 0))
56+ let D = toString(t(5, j, v, 0))
57+ let E = toString(t(3, j, v, 0))
58+ let F = toString(t(43, j, v, 0))
59+ let G = toString(t(34, j, v, 0))
60+ let H = t(4, j, v, 1)
61+ let I = if ((H == 0))
62+ then "R"
63+ else if ((H == 1))
64+ then "G"
65+ else if ((H == 2))
66+ then "B"
67+ else "Y"
68+ $Tuple2((((((("PANDA-" + C) + D) + E) + F) + G) + "-"), "PANDA")
8169 }
8270
8371
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)
72+func J (K) = {
73+ let L = K
74+ let M = c
75+ let N = d
76+ let O = pow((100 + ((L * M) / (10 * N))), 2, 5, 1, 2, DOWN)
77+ (O * 1000000)
9078 }
9179
9280
93-@Callable(L)
81+@Callable(P)
9482 func startDuckHatching () = {
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))
83+ let K = o("ducks_amount")
84+ let Q = J(K)
85+ let R = value(P.payments[0])
86+ let S = [StringEntry(h(toString(P.originCaller), P.transactionId), f), IntegerEntry(k(toString(P.originCaller), P.transactionId), (height + b)), IntegerEntry("ducks_amount", (K + 1)), IntegerEntry("ducks_last_price", (Q / 1000000))]
87+ if ((R.assetId != a))
10088 then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(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)])
89+ else if ((Q > R.amount))
90+ then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(Q)))
91+ else (S ++ [ScriptTransfer(P.caller, (R.amount - Q), a)])
10492 }
10593
10694
10795
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"))
96+@Callable(P)
97+func finishDuckHatching (T) = {
98+ let j = fromBase58String(T)
99+ let U = h(toString(P.caller), j)
100+ let V = k(toString(P.caller), j)
101+ let W = l(toString(P.caller), j)
102+ let X = {
103+ let r = getBoolean((("hatching_" + T) + "_babyDuck"))
116104 if ($isInstanceOf(r, "Boolean"))
117105 then {
118- let J = r
119- J
106+ let N = r
107+ N
120108 }
121109 else false
122110 }
123- let U = getStringValue(this, Q)
124- let v = getIntegerValue(this, R)
125- if ((U == g))
111+ let Y = getStringValue(this, U)
112+ let v = getIntegerValue(this, V)
113+ if ((Y == g))
126114 then {
127- let V = getStringValue(this, l(toString(L.caller), j))
128- throw(("The duck was hatched and claimed already, here is the folowing: " + V))
115+ let Z = getStringValue(this, l(toString(P.caller), j))
116+ throw(("The duck was hatched and claimed already, here is the folowing: " + Z))
129117 }
130118 else if ((v > height))
131119 then throw((((("Hatching is not finished yet " + toString((v - height))) + " blocks remaining, it will take around ") + toString((v - height))) + " minutes"))
132120 else {
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)]
121+ let aa = B(j, v)
122+ let ab = aa._1
123+ let ac = aa._2
124+ let ad = (("{\"genotype\": \"" + ab) + "\", \"crossbreeding\": true}")
125+ let ae = Issue(ab, ad, 1, 0, false, unit, v)
126+ let af = calculateAssetId(ae)
127+ let ag = (o(m(ab)) + 1)
128+[StringEntry(U, g), StringEntry(W, toBase58String(af)), StringEntry(toBase58String(af), W), BooleanEntry((("duck_" + toBase58String(af)) + "_grown"), X), IntegerEntry(m(ab), ag), IntegerEntry((("stats_" + ac) + "_quantity"), (o((("stats_" + ac) + "_quantity")) + 1)), ae, ScriptTransfer(P.caller, 1, af)]
141129 }
142130 }
143131
144132
145-@Verifier(ad)
146-func ae () = sigVerify(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey)
133+@Verifier(ah)
134+func ai () = sigVerify(ah.bodyBytes, ah.proofs[0], ah.senderPublicKey)
147135

github/deemru/w8io/c3f4982 
46.77 ms