tx · 2dr36NNg3enjc7r9dj1x4jH3pFVR6Q7HpWnnCFKUnBPE

3N3en9HRhzbk3DDqeGd6DUKc1SG4rmpXguH:  -0.09990000 Waves

2020.10.17 20:50 [1224890] smart account 3N3en9HRhzbk3DDqeGd6DUKc1SG4rmpXguH > SELF 0.00000000 Waves

{ "type": 13, "id": "2dr36NNg3enjc7r9dj1x4jH3pFVR6Q7HpWnnCFKUnBPE", "fee": 9990000, "feeAssetId": null, "timestamp": 1602957025247, "version": 2, "chainId": 84, "sender": "3N3en9HRhzbk3DDqeGd6DUKc1SG4rmpXguH", "senderPublicKey": "3UC2eCnSLx9fHcXvssZJZLNzMshb9NM6GchfmEhx6syQ", "proofs": [ "3hsdN1Eg9HUbsVdhpewT4S47VZwzRAdKR35KKMMNbw9USkNyCXtxUs7UAGM3HuuM9NxigBXh8agPy4cNBHS8Q6fF" ], "script": "base64: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", "height": 1224890, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4ka5QdGkXJbnFjgSEn47uUq7eegRDrVwJmFQAfyf6R6g Next: DogKWkJZ2U9s7rrUKWLvtdwWRygno1fbtD1BmHA1Nf3K Diff:
OldNewDifferences
3131 @Callable(a)
3232 func deposit () = {
3333 let h = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
34+ let b = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
3435 let i = extract(a.payment)
3536 if (if (isDefined(i.assetId))
3637 then (extract(i.assetId) == h)
4748 else 0
4849 }
4950 let j = (d + i.amount)
50- WriteSet([DataEntry(c, j)])
51+ let g = assetBalance(this, b)
52+ if ((1 > g))
53+ then throw("No enough GovernToken In Contract")
54+ else ScriptResult(WriteSet([DataEntry(c, 10), DataEntry(c, j)]), TransferSet([ScriptTransfer(a.caller, 10, b)]))
5155 }
5256 else throw("Can deposit only MyToken")
5357 }
5559
5660
5761 @Callable(a)
58-func withdrawFunds (g) = {
62+func withdrawFunds (k) = {
5963 let h = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
64+ let b = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
6065 let c = toBase58String(a.caller.bytes)
6166 let d = {
6267 let e = getInteger(this, c)
6772 }
6873 else 0
6974 }
70- let j = (d - g)
71- if ((0 > g))
75+ let j = (d - k)
76+ if ((0 > k))
7277 then throw("Can't withdraw negative amount")
7378 else if ((0 > j))
7479 then throw("User cannot withdraw more than deposited funds")
75- else ScriptResult(WriteSet([DataEntry(c, j)]), TransferSet([ScriptTransfer(a.caller, g, h)]))
80+ else {
81+ let g = assetBalance(this, b)
82+ if ((1 > g))
83+ then throw("No enough GovernToken In Contract")
84+ else ScriptResult(WriteSet([DataEntry(c, 1), DataEntry(c, j)]), TransferSet([ScriptTransfer(a.caller, 1, b), ScriptTransfer(a.caller, k, h)]))
85+ }
7686 }
7787
7888
8090 @Callable(a)
8191 func ClaimPrize () = {
8292 let h = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
83- let k = "3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA"
84- let l = "3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD"
93+ let l = "3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA"
94+ let m = "3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD"
8595 let c = toBase58String(a.caller.bytes)
86- let m = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
87- let n = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
88- let o = {
96+ let n = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
97+ let o = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
98+ let p = {
8999 let e = getInteger(this, c)
90100 if ($isInstanceOf(e, "Int"))
91101 then {
94104 }
95105 else 0
96106 }
97- let p = {
98- let e = getInteger(this, l)
107+ let q = {
108+ let e = getInteger(this, m)
99109 if ($isInstanceOf(e, "Int"))
100110 then {
101111 let f = e
103113 }
104114 else 0
105115 }
106- if ((p == 0))
116+ if ((q == 0))
107117 then throw("No prize to Claim")
108- else if ((c != k))
118+ else if ((c != l))
109119 then throw("You are not the winner hence cannot claim the reward")
110- else if ((o > 0))
111- then ScriptResult(WriteSet([DataEntry(k, p), DataEntry(l, 0)]), TransferSet([ScriptTransfer(m, p, h)]))
120+ else if ((p > 0))
121+ then ScriptResult(WriteSet([DataEntry(l, q), DataEntry(m, 0)]), TransferSet([ScriptTransfer(n, q, h)]))
112122 else throw("You need to have deposit in the Contract to claim reward")
113123 }
114124
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
77 func payYield () = {
88 let b = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
99 let c = toBase58String(a.caller.bytes)
1010 let d = {
1111 let e = getInteger(this, c)
1212 if ($isInstanceOf(e, "Int"))
1313 then {
1414 let f = e
1515 f
1616 }
1717 else 0
1818 }
1919 if ((d > 0))
2020 then {
2121 let g = assetBalance(this, b)
2222 if ((1 > g))
2323 then throw("No enough GovernToken In Contract")
2424 else ScriptResult(WriteSet([DataEntry(c, 10)]), TransferSet([ScriptTransfer(a.caller, 1, b)]))
2525 }
2626 else throw("You need to deposit Collateral Token to receive Govern Token")
2727 }
2828
2929
3030
3131 @Callable(a)
3232 func deposit () = {
3333 let h = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
34+ let b = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
3435 let i = extract(a.payment)
3536 if (if (isDefined(i.assetId))
3637 then (extract(i.assetId) == h)
3738 else false)
3839 then {
3940 let c = toBase58String(a.caller.bytes)
4041 let d = {
4142 let e = getInteger(this, c)
4243 if ($isInstanceOf(e, "Int"))
4344 then {
4445 let f = e
4546 f
4647 }
4748 else 0
4849 }
4950 let j = (d + i.amount)
50- WriteSet([DataEntry(c, j)])
51+ let g = assetBalance(this, b)
52+ if ((1 > g))
53+ then throw("No enough GovernToken In Contract")
54+ else ScriptResult(WriteSet([DataEntry(c, 10), DataEntry(c, j)]), TransferSet([ScriptTransfer(a.caller, 10, b)]))
5155 }
5256 else throw("Can deposit only MyToken")
5357 }
5458
5559
5660
5761 @Callable(a)
58-func withdrawFunds (g) = {
62+func withdrawFunds (k) = {
5963 let h = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
64+ let b = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
6065 let c = toBase58String(a.caller.bytes)
6166 let d = {
6267 let e = getInteger(this, c)
6368 if ($isInstanceOf(e, "Int"))
6469 then {
6570 let f = e
6671 f
6772 }
6873 else 0
6974 }
70- let j = (d - g)
71- if ((0 > g))
75+ let j = (d - k)
76+ if ((0 > k))
7277 then throw("Can't withdraw negative amount")
7378 else if ((0 > j))
7479 then throw("User cannot withdraw more than deposited funds")
75- else ScriptResult(WriteSet([DataEntry(c, j)]), TransferSet([ScriptTransfer(a.caller, g, h)]))
80+ else {
81+ let g = assetBalance(this, b)
82+ if ((1 > g))
83+ then throw("No enough GovernToken In Contract")
84+ else ScriptResult(WriteSet([DataEntry(c, 1), DataEntry(c, j)]), TransferSet([ScriptTransfer(a.caller, 1, b), ScriptTransfer(a.caller, k, h)]))
85+ }
7686 }
7787
7888
7989
8090 @Callable(a)
8191 func ClaimPrize () = {
8292 let h = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
83- let k = "3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA"
84- let l = "3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD"
93+ let l = "3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA"
94+ let m = "3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD"
8595 let c = toBase58String(a.caller.bytes)
86- let m = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
87- let n = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
88- let o = {
96+ let n = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
97+ let o = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
98+ let p = {
8999 let e = getInteger(this, c)
90100 if ($isInstanceOf(e, "Int"))
91101 then {
92102 let f = e
93103 f
94104 }
95105 else 0
96106 }
97- let p = {
98- let e = getInteger(this, l)
107+ let q = {
108+ let e = getInteger(this, m)
99109 if ($isInstanceOf(e, "Int"))
100110 then {
101111 let f = e
102112 f
103113 }
104114 else 0
105115 }
106- if ((p == 0))
116+ if ((q == 0))
107117 then throw("No prize to Claim")
108- else if ((c != k))
118+ else if ((c != l))
109119 then throw("You are not the winner hence cannot claim the reward")
110- else if ((o > 0))
111- then ScriptResult(WriteSet([DataEntry(k, p), DataEntry(l, 0)]), TransferSet([ScriptTransfer(m, p, h)]))
120+ else if ((p > 0))
121+ then ScriptResult(WriteSet([DataEntry(l, q), DataEntry(m, 0)]), TransferSet([ScriptTransfer(n, q, h)]))
112122 else throw("You need to have deposit in the Contract to claim reward")
113123 }
114124
115125

github/deemru/w8io/873ac7e 
25.19 ms