tx · DogKWkJZ2U9s7rrUKWLvtdwWRygno1fbtD1BmHA1Nf3K

3N3en9HRhzbk3DDqeGd6DUKc1SG4rmpXguH:  -0.09900000 Waves

2020.10.17 22:44 [1225009] smart account 3N3en9HRhzbk3DDqeGd6DUKc1SG4rmpXguH > SELF 0.00000000 Waves

{ "type": 13, "id": "DogKWkJZ2U9s7rrUKWLvtdwWRygno1fbtD1BmHA1Nf3K", "fee": 9900000, "feeAssetId": null, "timestamp": 1602963903145, "version": 2, "chainId": 84, "sender": "3N3en9HRhzbk3DDqeGd6DUKc1SG4rmpXguH", "senderPublicKey": "3UC2eCnSLx9fHcXvssZJZLNzMshb9NM6GchfmEhx6syQ", "proofs": [ "2tXJTA6ghMgTRyMf1AjCf8tBBNZBdEcANCDkkQBPnd3RBusHWD7mHa3nJL7MNMGbNJqEqcMGYdDkthbmqowvD4Ez" ], "script": "base64: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", "height": 1225009, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2dr36NNg3enjc7r9dj1x4jH3pFVR6Q7HpWnnCFKUnBPE Next: 5L9iM798B2SFnAozFV6qCf6fgBx8ytmvxFE3ovuXYVfv Diff:
OldNewDifferences
8181 @Callable(i)
8282 func ClaimPrize () = {
8383 let CollateralToken = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
84+ let GovernToken = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
8485 let winnerPrize = "3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA"
86+ let winAddress = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
87+ let FundBoxAddress = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
8588 let FundBox = "3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD"
8689 let currentKey = toBase58String(i.caller.bytes)
87- let winAddress = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
88- let FundBoxAddress = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
8990 let CallerAmount = match getInteger(this, currentKey) {
9091 case a: Int =>
9192 a
103104 else if ((currentKey != winnerPrize))
104105 then throw("You are not the winner hence cannot claim the reward")
105106 else if ((CallerAmount > 0))
106- then ScriptResult(WriteSet([DataEntry(winnerPrize, PrizeAmount), DataEntry(FundBox, 0)]), TransferSet([ScriptTransfer(winAddress, PrizeAmount, CollateralToken)]))
107+ then ScriptResult(WriteSet([DataEntry(winnerPrize, PrizeAmount), DataEntry(FundBox, 0), DataEntry(currentKey, 1)]), TransferSet([ScriptTransfer(winAddress, PrizeAmount, CollateralToken), ScriptTransfer(i.caller, 10, GovernToken)]))
107108 else throw("You need to have deposit in the Contract to claim reward")
108109 }
109110
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func payYield () = {
88 let GovernToken = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
99 let currentKey = toBase58String(i.caller.bytes)
1010 let currentAmount = match getInteger(this, currentKey) {
1111 case a: Int =>
1212 a
1313 case _ =>
1414 0
1515 }
1616 if ((currentAmount > 0))
1717 then {
1818 let GovernTokenAmount = assetBalance(this, GovernToken)
1919 if ((1 > GovernTokenAmount))
2020 then throw("No enough GovernToken In Contract")
2121 else ScriptResult(WriteSet([DataEntry(currentKey, 10)]), TransferSet([ScriptTransfer(i.caller, 1, GovernToken)]))
2222 }
2323 else throw("You need to deposit Collateral Token to receive Govern Token")
2424 }
2525
2626
2727
2828 @Callable(i)
2929 func deposit () = {
3030 let CollateralToken = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
3131 let GovernToken = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
3232 let pmt = extract(i.payment)
3333 if (if (isDefined(pmt.assetId))
3434 then (extract(pmt.assetId) == CollateralToken)
3535 else false)
3636 then {
3737 let currentKey = toBase58String(i.caller.bytes)
3838 let currentAmount = match getInteger(this, currentKey) {
3939 case a: Int =>
4040 a
4141 case _ =>
4242 0
4343 }
4444 let newAmount = (currentAmount + pmt.amount)
4545 let GovernTokenAmount = assetBalance(this, GovernToken)
4646 if ((1 > GovernTokenAmount))
4747 then throw("No enough GovernToken In Contract")
4848 else ScriptResult(WriteSet([DataEntry(currentKey, 10), DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, 10, GovernToken)]))
4949 }
5050 else throw("Can deposit only MyToken")
5151 }
5252
5353
5454
5555 @Callable(i)
5656 func withdrawFunds (amount) = {
5757 let CollateralToken = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
5858 let GovernToken = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
5959 let currentKey = toBase58String(i.caller.bytes)
6060 let currentAmount = match getInteger(this, currentKey) {
6161 case a: Int =>
6262 a
6363 case _ =>
6464 0
6565 }
6666 let newAmount = (currentAmount - amount)
6767 if ((0 > amount))
6868 then throw("Can't withdraw negative amount")
6969 else if ((0 > newAmount))
7070 then throw("User cannot withdraw more than deposited funds")
7171 else {
7272 let GovernTokenAmount = assetBalance(this, GovernToken)
7373 if ((1 > GovernTokenAmount))
7474 then throw("No enough GovernToken In Contract")
7575 else ScriptResult(WriteSet([DataEntry(currentKey, 1), DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, 1, GovernToken), ScriptTransfer(i.caller, amount, CollateralToken)]))
7676 }
7777 }
7878
7979
8080
8181 @Callable(i)
8282 func ClaimPrize () = {
8383 let CollateralToken = base58'5hHK64aujiyn7cNrTBwhe5yJQuxs119KTPbE9nFjLoUN'
84+ let GovernToken = base58'DeyMK8USWs9ijzAXNy2azA3soajfrXjUNiJBdSJJsvMJ'
8485 let winnerPrize = "3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA"
86+ let winAddress = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
87+ let FundBoxAddress = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
8588 let FundBox = "3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD"
8689 let currentKey = toBase58String(i.caller.bytes)
87- let winAddress = Address(base58'3N1QzUHdfyXmKVFAn9TPHG7iuW4uK53pfXA')
88- let FundBoxAddress = Address(base58'3NCMrhPAVqXgtLdpi2BhFWpJkMBUAFrozbD')
8990 let CallerAmount = match getInteger(this, currentKey) {
9091 case a: Int =>
9192 a
9293 case _ =>
9394 0
9495 }
9596 let PrizeAmount = match getInteger(this, FundBox) {
9697 case a: Int =>
9798 a
9899 case _ =>
99100 0
100101 }
101102 if ((PrizeAmount == 0))
102103 then throw("No prize to Claim")
103104 else if ((currentKey != winnerPrize))
104105 then throw("You are not the winner hence cannot claim the reward")
105106 else if ((CallerAmount > 0))
106- then ScriptResult(WriteSet([DataEntry(winnerPrize, PrizeAmount), DataEntry(FundBox, 0)]), TransferSet([ScriptTransfer(winAddress, PrizeAmount, CollateralToken)]))
107+ then ScriptResult(WriteSet([DataEntry(winnerPrize, PrizeAmount), DataEntry(FundBox, 0), DataEntry(currentKey, 1)]), TransferSet([ScriptTransfer(winAddress, PrizeAmount, CollateralToken), ScriptTransfer(i.caller, 10, GovernToken)]))
107108 else throw("You need to have deposit in the Contract to claim reward")
108109 }
109110
110111

github/deemru/w8io/6500d08 
35.61 ms