tx · F8138U8E9hDf27kAe4xjZXqXftVsNcJyQ4yZHwM7Go8G

3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD:  -0.01500000 Waves

2019.10.04 14:34 [704925] smart account 3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD > SELF 0.00000000 Waves

{ "type": 13, "id": "F8138U8E9hDf27kAe4xjZXqXftVsNcJyQ4yZHwM7Go8G", "fee": 1500000, "feeAssetId": null, "timestamp": 1570188854469, "version": 1, "sender": "3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD", "senderPublicKey": "8W9JLTJTfxrJrBNXxngzueBF4vJqeb6p9jFob7wb6QWQ", "proofs": [ "5YVHaEmxpGJkzQPTVsNBcSStMTWrvFHwujcv4E8VRnJ6KAJdLNaqBmA5ojgvDhw1EuF87oF75sUsSoaKhpb83rub" ], "script": "base64:AAIDAAAAAAAAAAwIARIAEgYKBAgICAgAAAAjAAAAAA1yc2FQdWJsaWNLZXkxCQACWwAAAAECAAAAgE1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU9raXV6L0JWNEVqb3hHaFRtTkNidDJUZ2tiU1BIL3c2OWIzRjFyS21ENjFKaVBYdnZGOEwycEk5eE9ZY1c0Rm1vRVpWSGxSUXRBbGFKeWtsMytyc3JFQ0F3RUFBUT09AAAAAA1yc2FQdWJsaWNLZXkyCQACWwAAAAECAAAAgE1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQUpuWHpiTS9WMnNEVjFVTGJQU09sSGtsZE9UV1JySGk1ZnhJa0JtdWV2ckNsTVBWSDdycWNjd2lyRE5jTWRJZHdYSEk5QWRoajlGV2p3R0l3ZlUvSzZNQ0F3RUFBUT09AAAAAA1yc2FQdWJsaWNLZXkzCQACWwAAAAECAAAAgE1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU9SRGV2eTByNGt6THFPeVNsb0I2M0h1djJlNHplSEtIakNzeTV2dEZLbVdaYlhKYThnWll0NCtFa2xGSW8xSzlvcXU1QkFQVmZKM0ZPenMyVTFBK2cwQ0F3RUFBUT09AAAAAA1nYW1lVGltZUZyYW1lCQAAaAAAAAIAAAAAAAAABaAAAAAAAAAAAAIAAAAACHN0YXRlQWNjAgAAAAhBY2NlcHRlZAAAAAAIc3RhdGVXaW4CAAAAA1dpbgAAAAAMc3RhdGVUaW1lb3V0AgAAAAxXaW5CeVRpbWVvdXQAAAAACXN0YXRlTG9zZQIAAAAETG9zZQAAAAAHd2F2ZXNJZAUAAAAEdW5pdAAAAAAFYnRjSWQBAAAAILnnP6qPECbbo926KJMYdX6tAqIA2JrhOgnWxVE3CxuNAAAAAAVldGhJZAEAAAAgoVTq4z3P32thsbSj93DFuMGkeUhjXwh3orXSFXtzjDoAAAAABWx0Y0lkAQAAACCaHvbSLhAqwVDRQJIo+jCh7lo7IjsXvoXO0DdhX3IMigAAAAAFdnN0SWQBAAAAIIrpopnFTIZLgmgYgJu7dCIAFucYnOl+hUadP2UrzGuKAAAAAAV3Y3RJZAEAAAAgzJXuUYqiMyrEz94H4ZoIy179xQ3Y+j+8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c3QJAQAAAAtnZXREYXRhTGlzdAAAAAEFAAAABmdhbWVJZAQAAAAJZ2FtZVN0YXRlCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAAABAAAAA1wbGF5ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAEEAAAABmJldEFtdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAACBAAAAAlhc3NldE5hbWUJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAMEAAAACWdhbWVTdGFydAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAAEBAAAAAlhc3NldElkNTgJAQAAABFBc3NldE5hbWVUb0Jhc2U1OAAAAAEFAAAACWFzc2V0TmFtZQQAAAANZ2FtZVRpbWVDaGVjawkAAGYAAAACBQAAAA1nYW1lVGltZUZyYW1lCQAAZQAAAAIFAAAABmhlaWdodAUAAAAJZ2FtZVN0YXJ0BAAAAAxzdGF0ZUNvcnJlY3QJAAAAAAAAAgUAAAAJZ2FtZVN0YXRlBQAAAAhzdGF0ZUFjYwQAAAASc2V0UmVzZXJ2ZWRCYWxhbmNlCQEAAAAXZGVjcmVhc2VSZXNlcnZlZEJhbGFuY2UAAAACBQAAAAZiZXRBbXQFAAAACWFzc2V0TmFtZQQAAAATZHJvcHBlZEVsZW1lbnRzTGlzdAQAAAAIcm9sbDFJbnQJAQAAAAhyc2FUb0ludAAAAAMFAAAABmdhbWVJZAUAAAAIcnNhU2lnbjEFAAAADXJzYVB1YmxpY0tleTEEAAAACHJvbGwySW50CQEAAAAIcnNhVG9JbnQAAAADBQAAAAZnYW1lSWQFAAAACHJzYVNpZ24yBQAAAA1yc2FQdWJsaWNLZXkyBAAAAAhyb2xsM0ludAkBAAAACHJzYVRvSW50AAAAAwUAAAAGZ2FtZUlkBQAAAAhyc2FTaWduMwUAAAANcnNhUHVibGljS2V5MwQAAAAIZWxlbWVudDEJAQAAAAlpbnRUb0VsZW0AAAABBQAAAAhyb2xsMUludAQAAAAIZWxl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", "chainId": 84, "height": 704925, "spentComplexity": 0 } View: original | compacted Prev: 6w5gnQyfma8Yz2Q4qwPtG1PmcUnDCQbycYReJCyzSdYF Next: BMXAwY27LAhxGkCMyAH45TRDTFSC6Hcsx34HcfFqtfGw Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let rsaPublicKey1 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
4+let rsaPublicKey1 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
55
6-let rsaPublicKey2 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
6+let rsaPublicKey2 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
77
8-let rsaPublicKey3 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
8+let rsaPublicKey3 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
99
1010 let gameTimeFrame = (1440 * 2)
1111
140140
141141
142142 func rsaToInt (gameId,rsaSign,rsaPublicKey) = {
143- let rsaCheck = rsaVerify(SHA256, toBytes(gameId), rsaSign, rsaPublicKey)
143+ let rsaCheck = rsaVerify(SHA256, toBytes(gameId), fromBase64String(rsaSign), rsaPublicKey)
144144 if (rsaCheck)
145145 then {
146- let rsaInt = ((toInt(sha256(rsaSign)) % 19) + 1)
146+ let rsaInt = ((toInt(sha256(fromBase64String(rsaSign))) % 19) + 1)
147147 if (if ((rsaInt > 0))
148148 then (20 >= rsaInt)
149149 else false)
150150 then rsaInt
151- else throw("Rsa integer is not in range")
151+ else throw("Integer is not in range")
152152 }
153153 else throw("Rsa Signature is invalid")
154154 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let rsaPublicKey1 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
4+let rsaPublicKey1 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
55
6-let rsaPublicKey2 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
6+let rsaPublicKey2 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
77
8-let rsaPublicKey3 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
8+let rsaPublicKey3 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
99
1010 let gameTimeFrame = (1440 * 2)
1111
1212 let stateAcc = "Accepted"
1313
1414 let stateWin = "Win"
1515
1616 let stateTimeout = "WinByTimeout"
1717
1818 let stateLose = "Lose"
1919
2020 let wavesId = unit
2121
2222 let btcId = base58'DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn'
2323
2424 let ethId = base58'BrmjyAWT5jjr3Wpsiyivyvg5vDuzoX2s93WgiexXetB3'
2525
2626 let ltcId = base58'BNdAstuFogzSyN2rY3beJbnBYwYcu7RzTHFjW88g8roK'
2727
2828 let vstId = base58'AMFteLfPzPhTsFc3NfvHG7fSRUnsp3tJXPH88G1PCisT'
2929
3030 let wctId = base58'EmcmfM27TPaemhuREZGD8WLvsuLCdqx8WovMrDQKbXS1'
3131
3232 let divider = 1000
3333
3434 let WavesMinAmt = (100000000 / divider)
3535
3636 let WavesMaxAmt = (WavesMinAmt * 10)
3737
3838 let BtcMinAmt = (10000 / divider)
3939
4040 let BtcMaxAmt = (BtcMinAmt * 10)
4141
4242 let EthMinAmt = (1000000 / divider)
4343
4444 let EthMaxAmt = (EthMinAmt * 10)
4545
4646 let LtcMinAmt = (2000000 / divider)
4747
4848 let LtcMaxAmt = (LtcMinAmt * 10)
4949
5050 let WctMinAmt = (500000000 / divider)
5151
5252 let WctMaxAmt = (WctMinAmt * 10)
5353
5454 let VstMinAmt = (500000000 / divider)
5555
5656 let VstMaxAmt = (VstMinAmt * 10)
5757
5858 func pmtAmtCheck (pmtAssetId,pmtAmt) = if ((pmtAssetId == "WAVES"))
5959 then if (if ((pmtAmt >= WavesMinAmt))
6060 then (WavesMaxAmt >= pmtAmt)
6161 else false)
6262 then true
6363 else throw("Bet amount is not in range")
6464 else if ((pmtAssetId == "BTC"))
6565 then if (if ((pmtAmt >= BtcMinAmt))
6666 then (BtcMaxAmt >= pmtAmt)
6767 else false)
6868 then true
6969 else throw("Bet amount is not in range")
7070 else if ((pmtAssetId == "ETH"))
7171 then if (if ((pmtAmt >= EthMinAmt))
7272 then (EthMaxAmt >= pmtAmt)
7373 else false)
7474 then true
7575 else throw("Bet amount is not in range")
7676 else if ((pmtAssetId == "LTC"))
7777 then if (if ((pmtAmt >= LtcMinAmt))
7878 then (LtcMaxAmt >= pmtAmt)
7979 else false)
8080 then true
8181 else throw("Bet amount is not in range")
8282 else if ((pmtAssetId == "WCT"))
8383 then if (if ((pmtAmt >= WctMinAmt))
8484 then (WctMaxAmt >= pmtAmt)
8585 else false)
8686 then true
8787 else throw("Bet amount is not in range")
8888 else if (if ((pmtAmt >= VstMinAmt))
8989 then (VstMaxAmt >= pmtAmt)
9090 else false)
9191 then true
9292 else throw("Bet amount is not in range")
9393
9494
9595 func increaseReservedBalance (pmtAmt,pmtAssetId) = {
9696 let currentReservedBalance = {
9797 let valueReservedBalance = getInteger(this, ("Reserved_" + pmtAssetId))
9898 match valueReservedBalance {
9999 case a: Int =>
100100 a
101101 case _ =>
102102 0
103103 }
104104 }
105105 let newReservedBalance = (currentReservedBalance + pmtAmt)
106106 if ((wavesBalance(this) >= newReservedBalance))
107107 then {
108108 let increaseReservedBalance = newReservedBalance
109109 increaseReservedBalance
110110 }
111111 else throw("Bet was rejected. Insufficient funds on game account.")
112112 }
113113
114114
115115 func getDataList (gameId) = {
116116 let getDataString = getString(this, gameId)
117117 let a = match getDataString {
118118 case a: String =>
119119 a
120120 case _ =>
121121 throw("GameId was not found")
122122 }
123123 split(a, "_")
124124 }
125125
126126
127127 func intToElem (rsaInt) = if ((2 > rsaInt))
128128 then "7"
129129 else if ((4 > rsaInt))
130130 then "6"
131131 else if ((6 > rsaInt))
132132 then "5"
133133 else if ((8 > rsaInt))
134134 then "4"
135135 else if ((10 > rsaInt))
136136 then "3"
137137 else if ((12 > rsaInt))
138138 then "2"
139139 else "1"
140140
141141
142142 func rsaToInt (gameId,rsaSign,rsaPublicKey) = {
143- let rsaCheck = rsaVerify(SHA256, toBytes(gameId), rsaSign, rsaPublicKey)
143+ let rsaCheck = rsaVerify(SHA256, toBytes(gameId), fromBase64String(rsaSign), rsaPublicKey)
144144 if (rsaCheck)
145145 then {
146- let rsaInt = ((toInt(sha256(rsaSign)) % 19) + 1)
146+ let rsaInt = ((toInt(sha256(fromBase64String(rsaSign))) % 19) + 1)
147147 if (if ((rsaInt > 0))
148148 then (20 >= rsaInt)
149149 else false)
150150 then rsaInt
151- else throw("Rsa integer is not in range")
151+ else throw("Integer is not in range")
152152 }
153153 else throw("Rsa Signature is invalid")
154154 }
155155
156156
157157 func decreaseReservedBalance (betAmt,assetId) = {
158158 let valueReservedBalance = getInteger(this, ("Reserved_" + assetId))
159159 let extractReservedBalance = match valueReservedBalance {
160160 case a: Int =>
161161 a
162162 case _ =>
163163 0
164164 }
165165 let decreaseReservedBalance = (extractReservedBalance - betAmt)
166166 if ((decreaseReservedBalance > 0))
167167 then decreaseReservedBalance
168168 else throw("Reserved balance couldn't be less than 0")
169169 }
170170
171171
172172 func defineMultiplier (threeDrums,twoDrums) = if ((threeDrums == "777"))
173173 then 5370
174174 else if ((threeDrums == "666"))
175175 then 1300
176176 else if ((threeDrums == "555"))
177177 then 450
178178 else if ((threeDrums == "444"))
179179 then 200
180180 else if ((threeDrums == "333"))
181181 then 150
182182 else if ((threeDrums == "222"))
183183 then 110
184184 else if ((threeDrums == "111"))
185185 then 40
186186 else if ((twoDrums == "77"))
187187 then 270
188188 else if ((twoDrums == "66"))
189189 then 130
190190 else if ((twoDrums == "55"))
191191 then 65
192192 else if ((twoDrums == "44"))
193193 then 30
194194 else if ((twoDrums == "33"))
195195 then 20
196196 else if ((twoDrums == "22"))
197197 then 15
198198 else if ((twoDrums == "11"))
199199 then 10
200200 else 0
201201
202202
203203 func AssetNameToBase58 (assetName) = if ((assetName == "WAVES"))
204204 then wavesId
205205 else if ((assetName == "BTC"))
206206 then btcId
207207 else if ((assetName == "ETH"))
208208 then ethId
209209 else if ((assetName == "LTC"))
210210 then ltcId
211211 else if ((assetName == "VST"))
212212 then vstId
213213 else if ((assetName == "WCT"))
214214 then wctId
215215 else throw("Asset name is incorrect")
216216
217217
218218 @Callable(i)
219219 func bet () = {
220220 let pmt = extract(i.payment)
221221 let pmtAmt = pmt.amount
222222 let gameId = toBase58String(i.transactionId)
223223 let gameStart = height
224224 let playerPublicKey = toBase58String(i.callerPublicKey)
225225 let pmtAssetId = if (!(isDefined(pmt.assetId)))
226226 then "WAVES"
227227 else if ((pmt.assetId == btcId))
228228 then "BTC"
229229 else if ((pmt.assetId == ethId))
230230 then "ETH"
231231 else if ((pmt.assetId == ltcId))
232232 then "LTC"
233233 else if ((pmt.assetId == wctId))
234234 then "WCT"
235235 else if ((pmt.assetId == vstId))
236236 then "VST"
237237 else throw("AssetId is incorrect")
238238 let setReservedBalance = increaseReservedBalance(pmtAmt, pmtAssetId)
239239 let pmtAmtCorrect = pmtAmtCheck(pmtAssetId, pmtAmt)
240240 if (pmtAmtCorrect)
241241 then {
242242 let dataString = ((((((((stateAcc + "_") + playerPublicKey) + "_") + toString(pmtAmt)) + "_") + pmtAssetId) + "_") + toString(gameStart))
243243 WriteSet([DataEntry(gameId, dataString), DataEntry(("Reserved_" + pmtAssetId), setReservedBalance)])
244244 }
245245 else throw("assetId is incorrect")
246246 }
247247
248248
249249
250250 @Callable(i)
251251 func withdraw (gameId,rsaSign1,rsaSign2,rsaSign3) = {
252252 let dataList = getDataList(gameId)
253253 let gameState = dataList[0]
254254 let playerAddress = addressFromPublicKey(fromBase58String(dataList[1]))
255255 let betAmt = parseIntValue(dataList[2])
256256 let assetName = dataList[3]
257257 let gameStart = parseIntValue(dataList[4])
258258 let assetId58 = AssetNameToBase58(assetName)
259259 let gameTimeCheck = (gameTimeFrame > (height - gameStart))
260260 let stateCorrect = (gameState == stateAcc)
261261 let setReservedBalance = decreaseReservedBalance(betAmt, assetName)
262262 let droppedElementsList = {
263263 let roll1Int = rsaToInt(gameId, rsaSign1, rsaPublicKey1)
264264 let roll2Int = rsaToInt(gameId, rsaSign2, rsaPublicKey2)
265265 let roll3Int = rsaToInt(gameId, rsaSign3, rsaPublicKey3)
266266 let element1 = intToElem(roll1Int)
267267 let element2 = intToElem(roll2Int)
268268 let element3 = intToElem(roll3Int)
269269 [element1, element2, element3]
270270 }
271271 let winAmt = {
272272 let threeDrums = ((droppedElementsList[0] + droppedElementsList[1]) + droppedElementsList[2])
273273 let twoDrums = (droppedElementsList[0] + droppedElementsList[1])
274274 let multiplier = defineMultiplier(threeDrums, twoDrums)
275275 ((betAmt * multiplier) / 10)
276276 }
277277 let stringForNewData = ((((((dataList[1] + "_") + dataList[2]) + "_") + dataList[3]) + "_") + dataList[4])
278278 let droppedElements = ((droppedElementsList[0] + droppedElementsList[1]) + droppedElementsList[2])
279279 if (stateCorrect)
280280 then if (gameTimeCheck)
281281 then if ((winAmt == 0))
282282 then WriteSet([DataEntry(gameId, (((stateLose + stringForNewData) + toString(winAmt)) + droppedElements)), DataEntry(("Reserved_" + assetName), setReservedBalance)])
283283 else ScriptResult(WriteSet([DataEntry(gameId, (((stateWin + stringForNewData) + toString(winAmt)) + droppedElements)), DataEntry(("Reserved_" + assetName), setReservedBalance)]), TransferSet([ScriptTransfer(playerAddress, winAmt, assetId58)]))
284284 else ScriptResult(WriteSet([DataEntry(gameId, (stateTimeout + stringForNewData)), DataEntry(("Reserved_" + assetName), setReservedBalance)]), TransferSet([ScriptTransfer(playerAddress, betAmt, assetId58)]))
285285 else throw("Game state is incorrect")
286286 }
287287
288288
289289 @Verifier(tx)
290290 func verify () = match tx {
291291 case ttx: TransferTransaction =>
292292 let valueReservedBalance = getInteger(this, "Reserved")
293293 let reservedBalance = match valueReservedBalance {
294294 case a: Int =>
295295 a
296296 case _ =>
297297 0
298298 }
299299 let availableBalance = (wavesBalance(this) - reservedBalance)
300300 let availibleAmount = (availableBalance >= ttx.amount)
301301 let signature = sigVerify(ttx.bodyBytes, ttx.proofs[0], ttx.senderPublicKey)
302302 if (availibleAmount)
303303 then signature
304304 else false
305305 case sstx: SetScriptTransaction =>
306306 sigVerify(sstx.bodyBytes, sstx.proofs[0], sstx.senderPublicKey)
307307 case istx: InvokeScriptTransaction =>
308308 sigVerify(istx.bodyBytes, istx.proofs[0], istx.senderPublicKey)
309309 case _ =>
310310 false
311311 }
312312

github/deemru/w8io/169f3d6 
55.44 ms