tx · 4A9xrrFaADHuZbAQV16QFgd9tEMJhGkMhfBB6g3DXS6N

3MrdV3AP4zfU77ifesNStoDZmL1Cfx13eDc:  -0.05000000 Waves

2019.12.28 00:08 [827979] smart account 3MrdV3AP4zfU77ifesNStoDZmL1Cfx13eDc > SELF 0.00000000 Waves

{ "type": 13, "id": "4A9xrrFaADHuZbAQV16QFgd9tEMJhGkMhfBB6g3DXS6N", "fee": 5000000, "feeAssetId": null, "timestamp": 1577480891536, "version": 1, "sender": "3MrdV3AP4zfU77ifesNStoDZmL1Cfx13eDc", "senderPublicKey": "5M79Anear5ntQk2bbDdFA2goiPXkv7Xy2UpV4n5RKRv", "proofs": [ "4vLB3H38eWdamQPBFez2r8dp5BJVAvUtyauVmCa46GQ6gtkkhAiCC2jq5JdL13a5oJt43wQcpj8vC8dn1isTrim8" ], "script": "base64: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AQAAAAlEYXRhRW50cnkAAAACBQAAAA1MT0NLRURXQkVUS0VZBQAAABVuZXdXQkVUUmVzZXJ2ZWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABndhbGxldAkBAAAAE0Zvcm1hdFBsYXllckJhbGFuY2UAAAAFBQAAABNuZXdQbGF5ZXJXQkVUQW1vdW50CQABkQAAAAIFAAAAB2JhbGFuY2UFAAAAC1JPWUFMTE9DS0VECQABkQAAAAIFAAAAB2JhbGFuY2UFAAAADFdCRVRXSVRIRFJBVwkAAZEAAAACBQAAAAdiYWxhbmNlBQAAAA1ST1lBTFdJVEhEUkFXCQABkQAAAAIFAAAAB2JhbGFuY2UFAAAADVdBVkVTV0lUSERSQVcFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsBAAAAAxuZXdXYWxsZXROdW0JAQAAABJJbmNyZW1lbnRXYWxsZXROdW0AAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAQV0FMTEVUQ09VTlRFUktFWQUAAAAMbmV3V2FsbGV0TnVtCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA1MT0NLRURXQkVUS0VZBQAAABVuZXdXQkVUUmVzZXJ2ZWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABndhbGxldAkBAAAAE0Zvcm1hdFBsYXllckJhbGFuY2UAAAAFBQAAABNuZXdQbGF5ZXJXQkVUQW1vdW50CQABkQAAAAIFAAAAB2JhbGFuY2UFAAAAC1JPWUFMTE9DS0VECQABkQAAAAIFAAAAB2JhbGFuY2UFAAAADFdCRVRXSVRIRFJBVwkAAZEAAAACBQAAAAdiYWxhbmNlBQAAAA1ST1lBTFdJVEhEUkFXCQABkQAAAAIFAAAAB2JhbGFuY2UFAAAADVdBVkVTV0lUSERSQVcFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAwkAAAAAAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAAVST1lBTAQAAAAWbmV3Uk9ZQUxSZXNlcnZlZEFtb3VudAkAAGQAAAACCQEAAAAXRXh0cmFjdFJPWUFMUmVzZXJ2ZWRBbXQAAAAACAUAAAAHcGF5bWVudAAAAAZhbW91bnQEAAAAFG5ld1BsYXllclJveWFsQW1vdW50CQAAZAAAAAIJAAGRAAAAAgUAAAAHYmFsYW5jZQUAAAALUk9ZQUxMT0NLRUQIBQAAAAdwYXltZW50AAAABmFtb3VudAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADkxPQ0tFRFJPWUFMS0VZBQAAABZuZXdST1lBTFJlc2VydmVkQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZ3YWxsZXQJAQAAABNGb3JtYXRQbGF5ZXJCYWxhbmNlAAAABQkAAZEAAAACBQAAAAdiYWxhbmNlBQAAAApXQkVUTE9DS0VEBQAAABRuZXdQbGF5ZXJSb3lhbEFtb3VudAkAAZEAAAACBQAAAAdiYWxhbmNlBQAAAAxXQkVUV0lUSERSQVcJAAGRAAAAAgUAAAAHYmFsYW5jZQUAAAANUk9ZQUxXSVRIRFJBVwkAAZEAAAACBQAAAAdiYWxhbmNlBQAAAA1XQVZFU1dJVEhEUkFXBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAkAAAIAAAABAgAAAAVlcnJvcgAAAAFpAQAAAAZ1bmxvY2sAAAABAAAABWFzc2V0BAAAAAZ3YWxsZXQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAdiYWxhbmNlCQEAAAASUGFyc2VQbGF5ZXJCYWxhbmNlAAAAAQUAAAAGd2FsbGV0AwkAAAAAAAACBQAAAAVhc3NldAIAAAAEV0JFVAMJAABnAAAAAgAAAAAAAAAAAAkAAZEAAAACBQAAAAdiYWxhbmNlBQAAAApXQkVUTE9DS0VECQAAAgAAAAECAAAAPllvdSBkb250IGhhdmUgZW5vdWdoIGJhbGFuY2UgdG8gd2l0aGRyYXcgdGhlIGFtb3VudCByZXF1ZXN0ZWQuBAAAABVuZXdXQkVUUmVzZXJ2ZWRBbW91bnQJAABlAAAAAgkBAAAAFkV4dHJhY3RXQkVUUmVzZXJ2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", "chainId": 84, "height": 827979, "spentComplexity": 0 } View: original | compacted Prev: DAijscLWRz9y3XpuzTyYKeeKjLytuYmYfpQiuUPN1arY Next: E9xtPTcpZou7btFh3eG95VDJiL7aiauMFD4APNRSrj7R Diff:
OldNewDifferences
55
66 let LOCKEDROYALKEY = "$ROYAL_LOCKER_AMOUNT"
77
8+let WALLETCOUNTERKEY = "$WALLET_NUM"
9+
810 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
911
1012 let ROYAL = base58'5a6rvDEiVwvhTvTH6ce2qFwqdCt3VKaHKXEpwLXXVvyy'
1113
12-let COMMUNITYWALLET = Address(base58'3N5HPZCbRfvh1NcELNrM13BXo5kT8TLyuyL')
14+let COMMUNITYWALLET = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1315
1416 let WBETLOCKED = 0
1517
2022 let ROYALWITHDRAW = 3
2123
2224 let WAVESWITHDRAW = 4
25+
26+func IncrementWalletNum () = {
27+ let walletNum = match getInteger(this, WALLETCOUNTERKEY) {
28+ case num: Int =>
29+ num
30+ case _ =>
31+ 0
32+ }
33+ (walletNum + 1)
34+ }
35+
2336
2437 func ExtractWBETReservedAmt () = match getInteger(this, LOCKEDWBETKEY) {
2538 case a: Int =>
4255 str
4356 case _ =>
4457 "0_0_0_0_0"
58+}
59+
60+
61+func WalletExist (wallet) = match getString(this, wallet) {
62+ case str: String =>
63+ true
64+ case _ =>
65+ false
4566 }
4667
4768
7394 then {
7495 let newWBETReservedAmount = (ExtractWBETReservedAmt() + payment.amount)
7596 let newPlayerWBETAmount = (balance[WBETLOCKED] + payment.amount)
76- ScriptResult(WriteSet([DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(newPlayerWBETAmount, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
97+ if (WalletExist(wallet))
98+ then ScriptResult(WriteSet([DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(newPlayerWBETAmount, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
99+ else {
100+ let newWalletNum = IncrementWalletNum()
101+ ScriptResult(WriteSet([DataEntry(WALLETCOUNTERKEY, newWalletNum), DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(newPlayerWBETAmount, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
102+ }
77103 }
78104 else if ((payment.assetId == ROYAL))
79105 then {
132158
133159
134160 @Callable(i)
135-func addWithdraw (wallet) = if ((i.caller == COMMUNITYWALLET))
136- then {
137- let payment = extract(i.payment)
138- let balance = ParsePlayerBalance(wallet)
139- if ((payment.assetId == WBET))
140- then {
141- let newWbetAmount = (balance[WBETWITHDRAW] + payment.amount)
142- ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], newWbetAmount, balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
143- }
144- else if ((payment.assetId == ROYAL))
145- then {
146- let newRoyalAmount = (balance[ROYALWITHDRAW] + payment.amount)
147- ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], balance[WBETWITHDRAW], newRoyalAmount, balance[WAVESWITHDRAW]))]), TransferSet(nil))
148- }
149- else if ((payment.assetId == unit))
150- then {
151- let newWavesAmount = (balance[WAVESWITHDRAW] + payment.amount)
152- ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], newWavesAmount))]), TransferSet(nil))
153- }
154- else throw("Invalid asset")
155- }
156- else throw("You do not have permission to perform this function.")
161+func fix () = ScriptResult(WriteSet([DataEntry(WALLETCOUNTERKEY, 4)]), TransferSet(nil))
157162
158163
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let LOCKEDWBETKEY = "$WBET_LOCKED_AMOUNT"
55
66 let LOCKEDROYALKEY = "$ROYAL_LOCKER_AMOUNT"
77
8+let WALLETCOUNTERKEY = "$WALLET_NUM"
9+
810 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
911
1012 let ROYAL = base58'5a6rvDEiVwvhTvTH6ce2qFwqdCt3VKaHKXEpwLXXVvyy'
1113
12-let COMMUNITYWALLET = Address(base58'3N5HPZCbRfvh1NcELNrM13BXo5kT8TLyuyL')
14+let COMMUNITYWALLET = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1315
1416 let WBETLOCKED = 0
1517
1618 let ROYALLOCKED = 1
1719
1820 let WBETWITHDRAW = 2
1921
2022 let ROYALWITHDRAW = 3
2123
2224 let WAVESWITHDRAW = 4
25+
26+func IncrementWalletNum () = {
27+ let walletNum = match getInteger(this, WALLETCOUNTERKEY) {
28+ case num: Int =>
29+ num
30+ case _ =>
31+ 0
32+ }
33+ (walletNum + 1)
34+ }
35+
2336
2437 func ExtractWBETReservedAmt () = match getInteger(this, LOCKEDWBETKEY) {
2538 case a: Int =>
2639 a
2740 case _ =>
2841 0
2942 }
3043
3144
3245 func ExtractROYALReservedAmt () = match getInteger(this, LOCKEDROYALKEY) {
3346 case a: Int =>
3447 a
3548 case _ =>
3649 0
3750 }
3851
3952
4053 func ExtractPlayerAmt (wallet) = match getString(this, wallet) {
4154 case str: String =>
4255 str
4356 case _ =>
4457 "0_0_0_0_0"
58+}
59+
60+
61+func WalletExist (wallet) = match getString(this, wallet) {
62+ case str: String =>
63+ true
64+ case _ =>
65+ false
4566 }
4667
4768
4869 func FormatPlayerBalance (wbet,royal,wbetWithdraw,royalWithdraw,wavesWithdraw) = ((((((((toString(wbet) + "_") + toString(royal)) + "_") + toString(wbetWithdraw)) + "_") + toString(royalWithdraw)) + "_") + toString(wavesWithdraw))
4970
5071
5172 func ParsePlayerBalance (wallet) = {
5273 let amounts = split(ExtractPlayerAmt(wallet), "_")
5374 let wbetAmount = parseIntValue(amounts[WBETLOCKED])
5475 let royalAmount = parseIntValue(amounts[ROYALLOCKED])
5576 let wbetWithdraw = parseIntValue(amounts[WBETWITHDRAW])
5677 let royalWithdraw = parseIntValue(amounts[ROYALWITHDRAW])
5778 let wavesWithdraw = parseIntValue(amounts[WAVESWITHDRAW])
5879 [wbetAmount, royalAmount, wbetWithdraw, royalWithdraw, wavesWithdraw]
5980 }
6081
6182
6283 @Callable(i)
6384 func lock () = {
6485 let payment = extract(i.payment)
6586 if (if ((payment.assetId != WBET))
6687 then (payment.assetId != ROYAL)
6788 else false)
6889 then throw("The token should be in WBET or ROYAL.")
6990 else {
7091 let wallet = toString(i.caller)
7192 let balance = ParsePlayerBalance(wallet)
7293 if ((payment.assetId == WBET))
7394 then {
7495 let newWBETReservedAmount = (ExtractWBETReservedAmt() + payment.amount)
7596 let newPlayerWBETAmount = (balance[WBETLOCKED] + payment.amount)
76- ScriptResult(WriteSet([DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(newPlayerWBETAmount, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
97+ if (WalletExist(wallet))
98+ then ScriptResult(WriteSet([DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(newPlayerWBETAmount, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
99+ else {
100+ let newWalletNum = IncrementWalletNum()
101+ ScriptResult(WriteSet([DataEntry(WALLETCOUNTERKEY, newWalletNum), DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(newPlayerWBETAmount, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
102+ }
77103 }
78104 else if ((payment.assetId == ROYAL))
79105 then {
80106 let newROYALReservedAmount = (ExtractROYALReservedAmt() + payment.amount)
81107 let newPlayerRoyalAmount = (balance[ROYALLOCKED] + payment.amount)
82108 ScriptResult(WriteSet([DataEntry(LOCKEDROYALKEY, newROYALReservedAmount), DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], newPlayerRoyalAmount, balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
83109 }
84110 else throw("error")
85111 }
86112 }
87113
88114
89115
90116 @Callable(i)
91117 func unlock (asset) = {
92118 let wallet = toString(i.caller)
93119 let balance = ParsePlayerBalance(wallet)
94120 if ((asset == "WBET"))
95121 then if ((0 >= balance[WBETLOCKED]))
96122 then throw("You dont have enough balance to withdraw the amount requested.")
97123 else {
98124 let newWBETReservedAmount = (ExtractWBETReservedAmt() - balance[WBETLOCKED])
99125 ScriptResult(WriteSet([DataEntry(LOCKEDWBETKEY, newWBETReservedAmount), DataEntry(wallet, FormatPlayerBalance(0, balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet([ScriptTransfer(i.caller, balance[WBETLOCKED], WBET)]))
100126 }
101127 else if ((asset == "ROYAL"))
102128 then if ((0 >= balance[ROYALLOCKED]))
103129 then throw("You dont have enough balance to withdraw the amount requested.")
104130 else {
105131 let newROYALReservedAmount = (ExtractROYALReservedAmt() - balance[ROYALLOCKED])
106132 ScriptResult(WriteSet([DataEntry(LOCKEDROYALKEY, newROYALReservedAmount), DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], 0, balance[WBETWITHDRAW], balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet([ScriptTransfer(i.caller, balance[ROYALLOCKED], ROYAL)]))
107133 }
108134 else throw("Invalid asset")
109135 }
110136
111137
112138
113139 @Callable(i)
114140 func withdraw (asset) = {
115141 let wallet = toString(i.caller)
116142 let balance = ParsePlayerBalance(wallet)
117143 if ((asset == "WBET"))
118144 then if ((0 >= balance[WBETWITHDRAW]))
119145 then throw("You dont have enough balance to withdraw the amount requested.")
120146 else ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], 0, balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet([ScriptTransfer(i.caller, balance[WBETWITHDRAW], WBET)]))
121147 else if ((asset == "ROYAL"))
122148 then if ((0 >= balance[ROYALWITHDRAW]))
123149 then throw("You dont have enough balance to withdraw the amount requested.")
124150 else ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], balance[WBETWITHDRAW], 0, balance[WAVESWITHDRAW]))]), TransferSet([ScriptTransfer(i.caller, balance[ROYALWITHDRAW], ROYAL)]))
125151 else if ((asset == "WAVES"))
126152 then if ((0 >= balance[WAVESWITHDRAW]))
127153 then throw("You dont have enough balance to withdraw the amount requested.")
128154 else ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[WBETWITHDRAW], 0))]), TransferSet([ScriptTransfer(i.caller, balance[WAVESWITHDRAW], unit)]))
129155 else throw("Invalid asset")
130156 }
131157
132158
133159
134160 @Callable(i)
135-func addWithdraw (wallet) = if ((i.caller == COMMUNITYWALLET))
136- then {
137- let payment = extract(i.payment)
138- let balance = ParsePlayerBalance(wallet)
139- if ((payment.assetId == WBET))
140- then {
141- let newWbetAmount = (balance[WBETWITHDRAW] + payment.amount)
142- ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], newWbetAmount, balance[ROYALWITHDRAW], balance[WAVESWITHDRAW]))]), TransferSet(nil))
143- }
144- else if ((payment.assetId == ROYAL))
145- then {
146- let newRoyalAmount = (balance[ROYALWITHDRAW] + payment.amount)
147- ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], balance[WBETWITHDRAW], newRoyalAmount, balance[WAVESWITHDRAW]))]), TransferSet(nil))
148- }
149- else if ((payment.assetId == unit))
150- then {
151- let newWavesAmount = (balance[WAVESWITHDRAW] + payment.amount)
152- ScriptResult(WriteSet([DataEntry(wallet, FormatPlayerBalance(balance[WBETLOCKED], balance[ROYALLOCKED], balance[WBETWITHDRAW], balance[ROYALWITHDRAW], newWavesAmount))]), TransferSet(nil))
153- }
154- else throw("Invalid asset")
155- }
156- else throw("You do not have permission to perform this function.")
161+func fix () = ScriptResult(WriteSet([DataEntry(WALLETCOUNTERKEY, 4)]), TransferSet(nil))
157162
158163

github/deemru/w8io/026f985 
55.09 ms