tx · Hy6haKnB43xDwac6dmTP8yGQDATQMna2g6LQWcmfZz65

3PNkQAzsSfguiMh2EHeithEbNzyAvZSNabf:  -0.01400000 Waves

2021.09.16 23:32 [2771006] smart account 3PNkQAzsSfguiMh2EHeithEbNzyAvZSNabf > SELF 0.00000000 Waves

{ "type": 13, "id": "Hy6haKnB43xDwac6dmTP8yGQDATQMna2g6LQWcmfZz65", "fee": 1400000, "feeAssetId": null, "timestamp": 1631824433186, "version": 2, "chainId": 87, "sender": "3PNkQAzsSfguiMh2EHeithEbNzyAvZSNabf", "senderPublicKey": "CPof1RUBgXHe7ErgeBRDVVcZJ1WRWx2EvDePQWroqWon", "proofs": [ "78o9rLUW5C2Sa5RxJXpRA7yifpeoUnHk75k9davBr9mtDRiWBu62Y6aQeoSahiLSjGcuoNZ5d9FDHqwiuh1T24Z" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAHAAAAAAprRWdnSXNzdWVkAgAAAAl3YXNJbml0ZWQAAAAACGtBc3NldElkAgAAAA5uZXdFZ2dfYXNzZXRJZAAAAAANa1RvdGFsU3dhcHBlZAIAAAAMdG90YWxTd2FwcGVkAAAAAA1vbGRFZ2dBc3NldElkAQAAACD/eUdQVFDYfRxV9BFA7KVHMaQYXGzXgVfQg2lMwL2X8AAAAAAQd2hpdGVsaXN0QWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVwF9JV0vc732okIs8uaMSkKqnyvNtrSOzwEAAAATZ2V0V2hpdGVsaXN0SW50ZWdlcgAAAAEAAAABawQAAAAHJG1hdGNoMAkABBoAAAACBQAAABB3aGl0ZWxpc3RBZGRyZXNzBQAAAAFrAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAABAAAADXRyeUdldEludGVnZXIAAAABAAAAAWsEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAABawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAAAAAgAAAAFpAQAAAAtpc3N1ZU5ld0VnZwAAAAADCQEAAAACIT0AAAACCQAEIAAAAAEFAAAACmtFZ2dJc3N1ZWQFAAAABHVuaXQJAAACAAAAAQkAASwAAAACAgAAAC9OZXcgRUdHIGlzIGFscmVhZHkgaXNzdWVkIGFuZCBpdHMgYXNzZXQgaWQgaXM6IAkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQUAAAAIa0Fzc2V0SWQEAAAABm5ld0VnZwkABEMAAAAHAgAAAAhEdWNrIEVnZwIAAABQVXRpbGl0eSBhbmQgUmV3YXJkIHRva2VuIEAgV2F2ZXNEdWNrcy5jb20gZ2FtZS4gVGhlIGR1Y2tpZXN0IHRva2VuIGluIHRoZSB3b3JsZC4AAAAAAAAAAAEAAAAAAAAAAAgGBQAAAAR1bml0AAAAAAAAAAAABAAAAAhuZXdFZ2dJZAkABDgAAAABBQAAAAZuZXdFZ2cJAARMAAAAAgUAAAAGbmV3RWdnCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAprRWdnSXNzdWVkBgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrQXNzZXRJZAkAAlgAAAABBQAAAAhuZXdFZ2dJZAUAAAADbmlsAAAAAWkBAAAAB3N3YXBFZ2cAAAAAAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAAB5Zb3UgY2FuIGF0dGFjaCBvbmx5IEVHRyB0b2tlbnMDCQEAAAACIT0AAAACCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBQAAAA1vbGRFZ2dBc3NldElkCQAAAgAAAAECAAAAHllvdSBjYW4gYXR0YWNoIG9ubHkgRUdHIHRva2VucwQAAAAPdG90YWxTd2FwcGVkVmFsBAAAAAckbWF0Y2gwCQAEHwAAAAEFAAAADWtUb3RhbFN3YXBwZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQAAAAAAAAAAAAEAAAADW5ld0VnZ0Fzc2V0SWQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQUAAAAIa0Fzc2V0SWQEAAAADHRvU3dhcEFtb3VudAgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAABB1c2VyVG9Td2FwQW1vdW50CQAAZAAAAAIFAAAADHRvU3dhcEFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAhfc3dhcHBlZAMJAAAAAAAAAgkBAAAAE2dldFdoaXRlbGlzdEludGVnZXIAAAABCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAhfY2Fuc3dhcAAAAAAAAAAAAAkAAAIAAAABAgAAAFJUaGlzIGFkZHJlc3MgaXMgc3VzcGljaW91cy4gUmVxdWVzdCBuZWVkcyB0byBiZSBtb2RlcmF0ZWQuIFBsZWFzZSBjb250YWN0IHN1cHBvcnQuAwkAAGYAAAACBQAAABB1c2VyVG9Td2FwQW1vdW50CQEAAAATZ2V0V2hpdGVsaXN0SW50ZWdlcgAAAAEJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAACF9jYW5zd2FwBAAAAAdhbGxvd2VkCQAAZQAAAAIJAQAAABNnZXRXaGl0ZWxpc3RJbnRlZ2VyAAAAAQkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAAIX2NhbnN3YXAJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAAIX3N3YXBwZWQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABpZb3UgY2FuIHN3YXAgbm8gbW9yZSB0aGFuIAkAAaQAAAABCQAAaQAAAAIFAAAAB2FsbG93ZWQAAAAAAAAAAGQCAAAAAS4JAQAAAAl0YWtlUmlnaHQAAAACCQABpAAAAAEFAAAAB2FsbG93ZWQAAAAAAAAAAAICAAAAFiBFR0cgZnJvbSB0aGlzIGFjY291bnQEAAAADXN3YXBwZWRBbW91bnQJAABoAAAAAgUAAAAMdG9Td2FwQW1vdW50AAAAAAAAD0JABAAAAAdyZWlzc3VlCQEAAAAHUmVpc3N1ZQAAAAMFAAAADW5ld0VnZ0Fzc2V0SWQFAAAADXN3YXBwZWRBbW91bnQGCQAETAAAAAIFAAAAB3JlaXNzdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVzd2FwXwkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAgAAAAdfYW1vdW50BQAAAAx0b1N3YXBBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAACF9zd2FwcGVkBQAAABB1c2VyVG9Td2FwQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rVG90YWxTd2FwcGVkCQAAZAAAAAIFAAAAD3RvdGFsU3dhcHBlZFZhbAUAAAAMdG9Td2FwQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANc3dhcHBlZEFtb3VudAUAAAANbmV3RWdnQXNzZXRJZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXn27/aM", "height": 2771006, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2kWM2gmTR78x4twKx3CKFwLvSRqCcyaPrQijeHJ9UwsA Next: none Diff:
OldNewDifferences
77
88 let c = "totalSwapped"
99
10-let d = base58'53bLXGQhnMxAoiWnza2SJQRp7hNQZVHnyrRziLmwdVjb'
10+let d = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1111
12-@Callable(e)
12+let e = Address(base58'3P24mKjNg8zH4z8QctmwobE7Hm1kwa8R1gi')
13+
14+func f (g) = {
15+ let h = getInteger(e, g)
16+ if ($isInstanceOf(h, "Int"))
17+ then {
18+ let i = h
19+ i
20+ }
21+ else 0
22+ }
23+
24+
25+func j (g) = {
26+ let h = getInteger(this, g)
27+ if ($isInstanceOf(h, "Int"))
28+ then {
29+ let i = h
30+ i
31+ }
32+ else 0
33+ }
34+
35+
36+@Callable(k)
1337 func issueNewEgg () = if ((getBoolean(a) != unit))
1438 then throw(("New EGG is already issued and its asset id is: " + getStringValue(b)))
1539 else {
16- let f = Issue("Duck Egg", "Utility and Reward token @ WavesDucks.com game. The duckiest token in the world.", 1, 8, true, unit, 0)
17- let g = calculateAssetId(f)
18-[f, BooleanEntry(a, true), StringEntry(b, toBase58String(g))]
40+ let l = Issue("Duck Egg", "Utility and Reward token @ WavesDucks.com game. The duckiest token in the world.", 1, 8, true, unit, 0)
41+ let m = calculateAssetId(l)
42+[l, BooleanEntry(a, true), StringEntry(b, toBase58String(m))]
1943 }
2044
2145
2246
23-@Callable(e)
24-func swapEgg () = if ((size(e.payments) != 1))
47+@Callable(k)
48+func swapEgg () = if ((size(k.payments) != 1))
2549 then throw("You can attach only EGG tokens")
26- else if ((value(e.payments[0]).assetId != d))
50+ else if ((value(k.payments[0]).assetId != d))
2751 then throw("You can attach only EGG tokens")
2852 else {
29- let h = {
30- let i = getInteger(c)
31- if ($isInstanceOf(i, "Int"))
53+ let n = {
54+ let h = getInteger(c)
55+ if ($isInstanceOf(h, "Int"))
3256 then {
33- let j = i
34- j
57+ let o = h
58+ o
3559 }
3660 else 0
3761 }
38- let k = fromBase58String(getStringValue(b))
39- let l = value(e.payments[0]).amount
40- let m = (l * 1000000)
41- let n = Reissue(k, m, true)
42-[n, IntegerEntry((("swap_" + toBase58String(e.transactionId)) + "_amount"), l), IntegerEntry(c, (h + l)), ScriptTransfer(e.caller, m, k)]
62+ let p = fromBase58String(getStringValue(b))
63+ let q = value(k.payments[0]).amount
64+ let r = (q + j((toString(k.caller) + "_swapped")))
65+ if ((f((toString(k.caller) + "_canswap")) == 0))
66+ then throw("This address is suspicious. Request needs to be moderated. Please contact support.")
67+ else if ((r > f((toString(k.caller) + "_canswap"))))
68+ then {
69+ let s = (f((toString(k.caller) + "_canswap")) - j((toString(k.caller) + "_swapped")))
70+ throw((((("You can swap no more than " + toString((s / 100))) + ".") + takeRight(toString(s), 2)) + " EGG from this account"))
71+ }
72+ else {
73+ let t = (q * 1000000)
74+ let u = Reissue(p, t, true)
75+[u, IntegerEntry((("swap_" + toBase58String(k.transactionId)) + "_amount"), q), IntegerEntry((toString(k.caller) + "_swapped"), r), IntegerEntry(c, (n + q)), ScriptTransfer(k.caller, t, p)]
76+ }
4377 }
4478
4579
46-@Verifier(o)
47-func p () = sigVerify(o.bodyBytes, o.proofs[0], o.senderPublicKey)
80+@Verifier(v)
81+func w () = sigVerify(v.bodyBytes, v.proofs[0], v.senderPublicKey)
4882
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "wasInited"
55
66 let b = "newEgg_assetId"
77
88 let c = "totalSwapped"
99
10-let d = base58'53bLXGQhnMxAoiWnza2SJQRp7hNQZVHnyrRziLmwdVjb'
10+let d = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1111
12-@Callable(e)
12+let e = Address(base58'3P24mKjNg8zH4z8QctmwobE7Hm1kwa8R1gi')
13+
14+func f (g) = {
15+ let h = getInteger(e, g)
16+ if ($isInstanceOf(h, "Int"))
17+ then {
18+ let i = h
19+ i
20+ }
21+ else 0
22+ }
23+
24+
25+func j (g) = {
26+ let h = getInteger(this, g)
27+ if ($isInstanceOf(h, "Int"))
28+ then {
29+ let i = h
30+ i
31+ }
32+ else 0
33+ }
34+
35+
36+@Callable(k)
1337 func issueNewEgg () = if ((getBoolean(a) != unit))
1438 then throw(("New EGG is already issued and its asset id is: " + getStringValue(b)))
1539 else {
16- let f = Issue("Duck Egg", "Utility and Reward token @ WavesDucks.com game. The duckiest token in the world.", 1, 8, true, unit, 0)
17- let g = calculateAssetId(f)
18-[f, BooleanEntry(a, true), StringEntry(b, toBase58String(g))]
40+ let l = Issue("Duck Egg", "Utility and Reward token @ WavesDucks.com game. The duckiest token in the world.", 1, 8, true, unit, 0)
41+ let m = calculateAssetId(l)
42+[l, BooleanEntry(a, true), StringEntry(b, toBase58String(m))]
1943 }
2044
2145
2246
23-@Callable(e)
24-func swapEgg () = if ((size(e.payments) != 1))
47+@Callable(k)
48+func swapEgg () = if ((size(k.payments) != 1))
2549 then throw("You can attach only EGG tokens")
26- else if ((value(e.payments[0]).assetId != d))
50+ else if ((value(k.payments[0]).assetId != d))
2751 then throw("You can attach only EGG tokens")
2852 else {
29- let h = {
30- let i = getInteger(c)
31- if ($isInstanceOf(i, "Int"))
53+ let n = {
54+ let h = getInteger(c)
55+ if ($isInstanceOf(h, "Int"))
3256 then {
33- let j = i
34- j
57+ let o = h
58+ o
3559 }
3660 else 0
3761 }
38- let k = fromBase58String(getStringValue(b))
39- let l = value(e.payments[0]).amount
40- let m = (l * 1000000)
41- let n = Reissue(k, m, true)
42-[n, IntegerEntry((("swap_" + toBase58String(e.transactionId)) + "_amount"), l), IntegerEntry(c, (h + l)), ScriptTransfer(e.caller, m, k)]
62+ let p = fromBase58String(getStringValue(b))
63+ let q = value(k.payments[0]).amount
64+ let r = (q + j((toString(k.caller) + "_swapped")))
65+ if ((f((toString(k.caller) + "_canswap")) == 0))
66+ then throw("This address is suspicious. Request needs to be moderated. Please contact support.")
67+ else if ((r > f((toString(k.caller) + "_canswap"))))
68+ then {
69+ let s = (f((toString(k.caller) + "_canswap")) - j((toString(k.caller) + "_swapped")))
70+ throw((((("You can swap no more than " + toString((s / 100))) + ".") + takeRight(toString(s), 2)) + " EGG from this account"))
71+ }
72+ else {
73+ let t = (q * 1000000)
74+ let u = Reissue(p, t, true)
75+[u, IntegerEntry((("swap_" + toBase58String(k.transactionId)) + "_amount"), q), IntegerEntry((toString(k.caller) + "_swapped"), r), IntegerEntry(c, (n + q)), ScriptTransfer(k.caller, t, p)]
76+ }
4377 }
4478
4579
46-@Verifier(o)
47-func p () = sigVerify(o.bodyBytes, o.proofs[0], o.senderPublicKey)
80+@Verifier(v)
81+func w () = sigVerify(v.bodyBytes, v.proofs[0], v.senderPublicKey)
4882

github/deemru/w8io/873ac7e 
41.36 ms