tx · 9uT1KHeGpZvju9J859MBUptrxCG3qZxUpYe5D2wwNDVH

3N1q2ieDU25PkmLZxFZrdGxETB1vWeLQo4y:  -0.01400000 Waves

2022.04.20 12:01 [2016658] smart account 3N1q2ieDU25PkmLZxFZrdGxETB1vWeLQo4y > SELF 0.00000000 Waves

{ "type": 13, "id": "9uT1KHeGpZvju9J859MBUptrxCG3qZxUpYe5D2wwNDVH", "fee": 1400000, "feeAssetId": null, "timestamp": 1650445322462, "version": 2, "chainId": 84, "sender": "3N1q2ieDU25PkmLZxFZrdGxETB1vWeLQo4y", "senderPublicKey": "EgxqmjPExKP8GAbJQALcx5po8T3xyXNAKUPuvben5unh", "proofs": [ "4ydsKCYn7ovoYjhk9eH9zTKkx97Q9KnfJJkHQWiQiGFTC7T4ipAqB285LLvpzNR3UEKFN8noHePzVkdQcfwMBFTR" ], "script": "base64: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", "height": 2016658, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6ATv1GSBEwaG32a9MBsQCDWQCC1HmAtLjqMARpTfXxQ3 Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "oracleKey"
4+let a = "REVOKED"
55
6-let b = 1000000
6+let b = "ACTIVE"
77
8-func c (d) = {
9- let e = getInteger(this, d)
10- if ($isInstanceOf(e, "Int"))
8+let c = "oracleKey"
9+
10+func d (e) = {
11+ let f = getString(this, e)
12+ if ($isInstanceOf(f, "String"))
1113 then {
12- let f = e
13- f
14- }
15- else 0
16- }
17-
18-
19-func g (d) = {
20- let e = getString(this, d)
21- if ($isInstanceOf(e, "String"))
22- then {
23- let h = e
24- h
14+ let g = f
15+ g
2516 }
2617 else ""
2718 }
2819
2920
30-let i = g(a)
21+let h = d(c)
3122
32-let j = value(addressFromString(i))
23+let i = value(addressFromString(h))
3324
34-let k = fromBase58String(getStringValue(j, "SconexAssetId"))
25+let j = addressFromString(valueOrErrorMessage(getString(i, "resellDapp"), "resellDapp not found"))
3526
36-func l (m) = {
37- let n = toString(m)
38- let o = c("global_lastCheck_SCONEX_interest")
39- let p = c((n + "_lastCheck_SCONEX_interest"))
40- let q = c((n + "_SCONEX_staked"))
41- let r = if ((p > 0))
42- then fraction((o - p), q, b)
43- else 0
44-[IntegerEntry((n + "_lastCheck_SCONEX_interest"), o), IntegerEntry((n + "_SCONEX_claimed"), (c((n + "_SCONEX_claimed")) + r)), ScriptTransfer(m, r, k)]
27+let k = addressFromString(valueOrErrorMessage(getString(i, "sconexDapp"), "sconexDapp not found"))
28+
29+let l = [j, k]
30+
31+func m (e) = valueOrElse(getString(this, e), "")
32+
33+
34+func n (o) = {
35+ let p = {
36+ let f = assetInfo(o)
37+ if ($isInstanceOf(f, "Asset"))
38+ then {
39+ let q = f
40+ q.quantity
41+ }
42+ else throw("Invalid NFT id")
43+ }
44+ p
4545 }
4646
4747
48-@Callable(s)
49-func stake () = {
50- let t = s.payments[0].amount
51- let n = toString(s.caller)
52- let u = c("global_staked")
53- if ((s.payments[0].assetId != k))
54- then throw("wrong asset attached")
55- else (l(s.caller) ++ [IntegerEntry("global_staked", (u + t)), IntegerEntry((n + "_SCONEX_staked"), (c((n + "_SCONEX_staked")) + t))])
48+func r (o,s) = if ((assetBalance(Address(fromBase58String(s)), o) != 1))
49+ then false
50+ else true
51+
52+
53+func t (u) = {
54+ let v = m(("cert_" + u))
55+ if ((v != ""))
56+ then [StringEntry((("cert_" + v) + "_status"), a)]
57+ else nil
5658 }
5759
5860
59-
60-@Callable(s)
61-func unStake (t) = {
62- let n = toString(s.caller)
63- let q = c((n + "_SCONEX_staked"))
64- if ((t > q))
65- then throw("you don't have tokens available")
66- else (l(s.caller) ++ [IntegerEntry((n + "_SCONEX_staked"), (q - t)), IntegerEntry("global_staked", (c("global_staked") - t)), ScriptTransfer(s.caller, t, k)])
67- }
61+@Callable(w)
62+func initDapp (x) = if ((w.caller != this))
63+ then throw("You cannot do this action")
64+ else if ((h != ""))
65+ then throw("oracle already set, you can't override!")
66+ else [StringEntry(c, x)]
6867
6968
7069
71-@Callable(s)
72-func claimReward () = l(s.caller)
70+@Callable(w)
71+func createCert (y,u,z) = if (containsElement(l, w.caller))
72+ then {
73+ let v = toBase58String(w.transactionId)
74+ let A = fromBase58String(u)
75+ let B = n(A)
76+ if ((B != 1))
77+ then throw("This is not an NFT!")
78+ else if (r(A, y))
79+ then {
80+ let C = t(u)
81+ let D = [StringEntry(("cert_" + u), v), StringEntry((("cert_" + v) + "_nftId"), u), StringEntry((("cert_" + v) + "_owner"), y), StringEntry((("cert_" + v) + "_artist"), z), StringEntry((("cert_" + v) + "_status"), b)]
82+ (C ++ D)
83+ }
84+ else throw(("The NFT isn't owned by " + y))
85+ }
86+ else throw("This dapp can not create certs!")
7387
74-
75-
76-@Callable(s)
77-func topUpReward () = {
78- let t = fraction(s.payments[0].amount, 9, 10)
79- let o = c("global_lastCheck_SCONEX_interest")
80- let u = c("global_staked")
81- let v = if ((u > 0))
82- then fraction(t, b, u)
83- else 0
84- if ((s.payments[0].assetId != k))
85- then throw("wrong asset attached")
86- else [IntegerEntry("global_SCONEX_earnings", (c("global_SCONEX_earnings") + t)), IntegerEntry("global_lastCheck_SCONEX_interest", (o + v))]
87- }
88-
89-
90-@Verifier(w)
91-func x () = sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey)
9288

github/deemru/w8io/169f3d6 
26.55 ms