tx · 8sY3nHAiG3n9kvBYn6Ka5hzvQLru2RYQQPWxNaVrJ4Z9

3N3zK9Xg7d3QD2sYmufkH8RwfqJBS6UNtv4:  -0.01000000 Waves

2023.05.07 04:14 [2566757] smart account 3N3zK9Xg7d3QD2sYmufkH8RwfqJBS6UNtv4 > SELF 0.00000000 Waves

{ "type": 13, "id": "8sY3nHAiG3n9kvBYn6Ka5hzvQLru2RYQQPWxNaVrJ4Z9", "fee": 1000000, "feeAssetId": null, "timestamp": 1683422143871, "version": 2, "chainId": 84, "sender": "3N3zK9Xg7d3QD2sYmufkH8RwfqJBS6UNtv4", "senderPublicKey": "56zinHFJSYYBPx7s5gFUziCFxLNevABDB67aLXj8E3do", "proofs": [ "2X82o24rJUU9gy6RfvdRstLFPjsm3Jpr9R1nf5T4ygCw4H1jMb7WzucTZcNXk4qnnu4SYhqBSiTVdY38PPRAGyhi" ], "script": "base64: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", "height": 2566757, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 33maRg2UWLRN8Dt7NrjA8RxAt3t8Hc6HTD2fQrnVsBmR Next: 8unYZZtD8E8zmeAqdPzqXuqNAA4YqGQpyTcXqYMpSdjF Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let bigIntHashDivisorCoinFLip = pow(10, 0, 17, 0, 0, HALFUP)
4+let bigIntHashDivisorCoinFLip = pow(10, 0, 16, 0, 0, HALFUP)
55
66 func isNegative (n) = if ((0 > n))
77 then (n * -1)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let bigIntHashDivisorCoinFLip = pow(10, 0, 17, 0, 0, HALFUP)
4+let bigIntHashDivisorCoinFLip = pow(10, 0, 16, 0, 0, HALFUP)
55
66 func isNegative (n) = if ((0 > n))
77 then (n * -1)
88 else n
99
1010
1111 @Callable(i)
1212 func betCoinFlip (isHeads,ref) = if (if ((10000000 > i.payments[0].amount))
1313 then (i.payments[0].amount > 1000000000)
1414 else false)
1515 then throw("Invalid Waves amount. Min value: 0.1 Waves. Max Value: 10 Waves")
1616 else if ((i.payments[0].assetId != unit))
1717 then throw("Invalid assetId")
1818 else {
1919 let x = if (isDefined(getInteger((toBase58String(i.caller.bytes) + "_bets"))))
2020 then getIntegerValue((toBase58String(i.caller.bytes) + "_bets"))
2121 else 0
2222 let ref1 = if ((ref == ""))
2323 then toBase58String(this.bytes)
2424 else ref
2525 let toRef = ((i.payments[0].amount * 1) / 100)
2626 let lastTx = if (isDefined(getString("last_tx_coinflip")))
2727 then (isNegative(toInt(sha256(fromBase58String(getStringValue("last_tx_coinflip"))))) / bigIntHashDivisorCoinFLip)
2828 else (isNegative(toInt(sha256(sha256(i.transactionId)))) / bigIntHashDivisorCoinFLip)
2929 let txxz = (isNegative(toInt(sha256(i.transactionId))) / bigIntHashDivisorCoinFLip)
3030 let f = if ((txxz > lastTx))
3131 then (txxz - lastTx)
3232 else (lastTx - txxz)
3333 let result = if (if (if (isHeads)
3434 then if (if (if (if ((f == 0))
3535 then true
3636 else (f == 2))
3737 then true
3838 else (f == 4))
3939 then true
4040 else (f == 6))
4141 then true
4242 else (f == 8)
4343 else false)
4444 then true
4545 else if (!(isHeads))
4646 then if (if (if (if ((f == 1))
4747 then true
4848 else (f == 3))
4949 then true
5050 else (f == 5))
5151 then true
5252 else (f == 7))
5353 then true
5454 else (f == 9)
5555 else false)
5656 then "win"
5757 else "loss"
5858 let transfer = if ((result == "win"))
5959 then (i.payments[0].amount * 2)
6060 else 0
6161 let txPay = if ((transfer == 0))
6262 then ScriptTransfer(Address(this.bytes), i.payments[0].amount, unit)
6363 else ScriptTransfer(Address(i.caller.bytes), (i.payments[0].amount * 2), unit)
6464 [IntegerEntry((toBase58String(i.caller.bytes) + "_bets"), (x + 1)), BooleanEntry((((toBase58String(i.caller.bytes) + "_bet_") + toString((x + 1))) + "_value"), isHeads), StringEntry(((toBase58String(i.caller.bytes) + "_bet_") + toString((x + 1))), toBase58String(i.transactionId)), StringEntry((((toBase58String(i.caller.bytes) + "_bet_") + toString((x + 1))) + "_ref"), ref1), IntegerEntry((((toBase58String(i.caller.bytes) + "_bet_") + toString((x + 1))) + "_block"), height), StringEntry("last_tx_coinflip", toBase58String(i.transactionId)), ScriptTransfer(Address(fromBase58String(ref1)), toRef, unit), StringEntry((((toBase58String(i.caller.bytes) + "_bet_") + toString((x + 1))) + "_result"), result), txPay]
6565 }
6666
6767
6868 @Verifier(tx)
6969 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7070

github/deemru/w8io/169f3d6 
76.88 ms