tx · 7PXDHYZCkbjVd3LaDV2P1s4e9CPyURZkL5PhCXECQPpC

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.03 17:17 [1382099] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "7PXDHYZCkbjVd3LaDV2P1s4e9CPyURZkL5PhCXECQPpC", "fee": 1400000, "feeAssetId": null, "timestamp": 1612361897957, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "prZmXc6Atja6wfFfE4ryyAXPTT1HmLNyrUUSZDwC8MZ9QDGNTX39UqGYnRdKytzY4vZGR1RgaNezPVVsgN6mgup" ], "script": "base64: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", "height": 1382099, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DCTzMJzjQ2J21LrixGfXehJiryt8eY88HhKyRWNo3JrN Next: F1FfNoBngwHj1XSbYDzYeYcWaJxiuCo5qCHgcuYBi8Xr Diff:
OldNewDifferences
1111 func startlotto (ticket,assetId,walletAddress) = {
1212 let callerAddress = toBase58String(i.caller.bytes)
1313 let recipientaddress = addressFromStringValue(walletAddress)
14+ let payment = extract(i.payment)
1415 let randhash = randomizer(i)
15- let price = ((ticket * 190) / 100)
16+ let price = ((payment.amount * 190) / 100)
1617 let winTransfer = TransferSet([ScriptTransfer(i.caller, price, unit)])
1718 if ((500 > (toInt(randhash) % 1000)))
1819 then {
19- let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), ticket), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
20+ let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
2021 ScriptResult(writeSets, winTransfer)
2122 }
2223 else {
23- let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), ""), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
24+ let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
2425 ScriptResult(writeSets, TransferSet(nil))
2526 }
2627 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func randomizer (inv) = {
55 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
66 sha256(rand)
77 }
88
99
1010 @Callable(i)
1111 func startlotto (ticket,assetId,walletAddress) = {
1212 let callerAddress = toBase58String(i.caller.bytes)
1313 let recipientaddress = addressFromStringValue(walletAddress)
14+ let payment = extract(i.payment)
1415 let randhash = randomizer(i)
15- let price = ((ticket * 190) / 100)
16+ let price = ((payment.amount * 190) / 100)
1617 let winTransfer = TransferSet([ScriptTransfer(i.caller, price, unit)])
1718 if ((500 > (toInt(randhash) % 1000)))
1819 then {
19- let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), ticket), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
20+ let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
2021 ScriptResult(writeSets, winTransfer)
2122 }
2223 else {
23- let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), ""), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
24+ let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
2425 ScriptResult(writeSets, TransferSet(nil))
2526 }
2627 }
2728
2829
2930 @Verifier(tx)
3031 func verify () = match tx {
3132 case _: DataTransaction =>
3233 true
3334 case _: SetScriptTransaction =>
3435 true
3536 case _ =>
3637 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3738 }
3839

github/deemru/w8io/c3f4982 
30.65 ms