tx · 7GwfEHQ37WfsNB7QZi1QFpLFnvB4RrC7fekWsta2BZ6s

3N1JYSyNP7mn7f1YTZ2aRdi6ThpKw23j9Sy:  -0.01000000 Waves

2022.11.05 21:03 [2304142] smart account 3N1JYSyNP7mn7f1YTZ2aRdi6ThpKw23j9Sy > SELF 0.00000000 Waves

{ "type": 13, "id": "7GwfEHQ37WfsNB7QZi1QFpLFnvB4RrC7fekWsta2BZ6s", "fee": 1000000, "feeAssetId": null, "timestamp": 1667671445124, "version": 2, "chainId": 84, "sender": "3N1JYSyNP7mn7f1YTZ2aRdi6ThpKw23j9Sy", "senderPublicKey": "65hdh3BQVcB4NhB1URp1RBWMK7AWDhrCSVjwbFjS64jo", "proofs": [ "5pTk4oqmhGYTbVeYQXUqMSP5ezqi9gGi1KRKVmHy3DkzWW8EWmYigbB1pfev2JMLrWmx2Ce5JMbpXcKy3yGdiWko" ], "script": "base64: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", "height": 2304142, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5q2uHhyUo3db3yprrkoeKnrfNFvbNodv1wPBrzq33FeB Next: Bp5Yuxvbn25WXotYiA4aVECsXpPCo2Na21rbRjCsGrN4 Diff:
OldNewDifferences
119119 let v = calculateLeaseId(u)
120120 [u, BinaryEntry("leaseId", v), IntegerEntry("leasedAmount", t)]
121121 }
122- else [DeleteEntry("leaseId")]
122+ else [DeleteEntry("leaseId"), IntegerEntry("leasedAmount", 0)]
123123 let w = [LeaseCancel(x), Burn(o, p.amount), ScriptTransfer(g.caller, y, unit)]
124124 (w ++ A)
125125 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000000000000000000
55
66 func b () = getString("managerPublicKey")
77
88
99 func c () = {
1010 let d = b()
1111 if ($isInstanceOf(d, "String"))
1212 then {
1313 let e = d
1414 fromBase58String(e)
1515 }
1616 else if ($isInstanceOf(d, "Unit"))
1717 then unit
1818 else throw("Match error")
1919 }
2020
2121
2222 func f (g) = {
2323 let h = throw("permission denied")
2424 let d = c()
2525 if ($isInstanceOf(d, "ByteVector"))
2626 then {
2727 let i = d
2828 if ((g.callerPublicKey == i))
2929 then true
3030 else h
3131 }
3232 else if ($isInstanceOf(d, "Unit"))
3333 then if ((g.caller == this))
3434 then true
3535 else h
3636 else throw("Match error")
3737 }
3838
3939
4040 func j () = {
4141 let d = getBoolean("inited")
4242 if ($isInstanceOf(d, "Boolean"))
4343 then {
4444 let k = d
4545 if ((k == false))
4646 then true
4747 else throw("Already inited")
4848 }
4949 else if ($isInstanceOf(d, "Unit"))
5050 then false
5151 else throw("Match error")
5252 }
5353
5454
5555 @Callable(g)
5656 func init (l) = {
5757 let m = [f(g), j()]
5858 if ((m == m))
5959 then {
6060 let n = Issue("sWaves", "", 0, 8, true, unit, 0)
6161 let o = calculateAssetId(n)
6262 [BooleanEntry("inited", true), StringEntry("sWavesAssetId", toBase58String(o)), StringEntry("leaserAddress", l), IntegerEntry("ratio", a), IntegerEntry("leasedAmount", 0), n]
6363 }
6464 else throw("Strict value is not equal to itself.")
6565 }
6666
6767
6868
6969 @Callable(g)
7070 func stake () = {
7171 let p = g.payments[0]
7272 if ((p.assetId != unit))
7373 then throw("Only WAVES supported")
7474 else if ((size(g.payments) != 1))
7575 then throw("Wrong payments amount")
7676 else {
7777 let q = getIntegerValue("ratio")
7878 let r = fraction(p.amount, a, q)
7979 let o = fromBase58String(getStringValue("sWavesAssetId"))
8080 let s = getIntegerValue("leasedAmount")
8181 let t = (s + p.amount)
8282 let l = Address(fromBase58String(getStringValue("leaserAddress")))
8383 let u = Lease(l, t)
8484 let v = calculateLeaseId(u)
8585 let w = [BinaryEntry("leaseId", v), u, IntegerEntry("leasedAmount", t), Reissue(o, r, true), ScriptTransfer(g.caller, r, o)]
8686 let d = getBinary("leaseId")
8787 if ($isInstanceOf(d, "ByteVector"))
8888 then {
8989 let x = d
9090 LeaseCancel(x) :: w
9191 }
9292 else if ($isInstanceOf(d, "Unit"))
9393 then w
9494 else throw("Match error")
9595 }
9696 }
9797
9898
9999
100100 @Callable(g)
101101 func unstake () = {
102102 let p = g.payments[0]
103103 let o = fromBase58String(getStringValue("sWavesAssetId"))
104104 if ((p.assetId != o))
105105 then throw("Only sWAVES supported")
106106 else if ((size(g.payments) != 1))
107107 then throw("Wrong payments amount")
108108 else {
109109 let q = getIntegerValue("ratio")
110110 let y = fraction(p.amount, q, a)
111111 let z = getStringValue("internalAssetId")
112112 let s = getIntegerValue("leasedAmount")
113113 let t = (s - y)
114114 let x = getBinaryValue("leaseId")
115115 let A = if ((t > 0))
116116 then {
117117 let l = Address(fromBase58String(getStringValue("leaserAddress")))
118118 let u = Lease(l, t)
119119 let v = calculateLeaseId(u)
120120 [u, BinaryEntry("leaseId", v), IntegerEntry("leasedAmount", t)]
121121 }
122- else [DeleteEntry("leaseId")]
122+ else [DeleteEntry("leaseId"), IntegerEntry("leasedAmount", 0)]
123123 let w = [LeaseCancel(x), Burn(o, p.amount), ScriptTransfer(g.caller, y, unit)]
124124 (w ++ A)
125125 }
126126 }
127127
128128
129129 @Verifier(B)
130130 func C () = sigVerify(B.bodyBytes, B.proofs[0], B.senderPublicKey)
131131

github/deemru/w8io/03bedc9 
29.48 ms