tx · 69uqQUYX3CDjQa1YTz3kwWB4iiXLFijMFh6UtraechMN
3NAnvjoguSgEnqeYSaimuvvZ1cQV5MfTKu9: -0.00100000 Waves
2023.11.17 21:53 [2847747] smart account 3NAnvjoguSgEnqeYSaimuvvZ1cQV5MfTKu9 > SELF 0.00000000 Waves
{
"type": 13,
"id": "69uqQUYX3CDjQa1YTz3kwWB4iiXLFijMFh6UtraechMN",
"fee": 100000,
"feeAssetId": null,
"timestamp": 1700247217655,
"version": 2,
"chainId": 84,
"sender": "3NAnvjoguSgEnqeYSaimuvvZ1cQV5MfTKu9",
"senderPublicKey": "DWzrw3KWtGYzmgpbp3eWY7KBhDZEjEsKETQEgWC7w6vE",
"proofs": [
"5Zgud6BWuv1e6EmBUs6TdRxKdKMkcicn6i3XvbSStQk8DcUMNs4JuHDafUQ6QUa9VBfAJwhPMiSctuMXRsXZTY9J"
],
"script": "base64:BgIGCAISABIACQACZDgAgMLXLwAGcG9vbElkARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgAKcG9vbFN0cmluZwkA2AQBBQZwb29sSWQABXBvb2wyARoBV/VGaCeADWjfTiZ1erSh0ygx4Am/9Xl5NwAHbWF0Y2hlcgkBB0FkZHJlc3MBARoBVA5jVal2yGzWtJpEN1JpoXzm/FeDavNBwwAFeHRuSWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAlidXJueHRuSWQBICRPdXlqfjM5uPsM/4SpcVxeyi3eM6DEXWn56kQR7ExUAA1idXJueHRuU3RyaW5nCQDYBAEFCWJ1cm54dG5JZAAHd2F2ZXNJZAEEE6vZMwIBaQEKZHJhd1dpbm5lcgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBARyYW5kCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCAUBaQ10cmFuc2FjdGlvbklkCAUBaQ9jYWxsZXJQdWJsaWNLZXkIBQlsYXN0QmxvY2sTZ2VuZXJhdGlvblNpZ25hdHVyZQkAmgMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAmgMBBQZoZWlnaHQJAJoDAQkA8AcCBQR0aGlzBQlidXJueHRuSWQJAJoDAQgJAO8HAQUHbWF0Y2hlcglhdmFpbGFibGUECHJhbmRIYXNoCQD3AwEFBHJhbmQEC3JhbmRIYXNoSW50CQCxCQEFCHJhbmRIYXNoBAZyZXN1bHQDCQBmAgAABQtyYW5kSGFzaEludAkAaAIA////////////AQULcmFuZEhhc2hJbnQFC3JhbmRIYXNoSW50CQDMCAIJAQtCaW5hcnlFbnRyeQICBHJhbmQFBHJhbmQJAMwIAgkBC0JpbmFyeUVudHJ5AgIIcmFuZGhhc2gFCHJhbmRIYXNoCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxyYW5kaGFzaCBpbnQFBnJlc3VsdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIQcmVzdWx0IHJlbWFpbmRlcgkAagIFBnJlc3VsdADoBwkAzAgCAwkAZgIA9AMJAGoCBQZyZXN1bHQA6AcJAQxCb29sZWFuRW50cnkCAgN3aW4GCQEMQm9vbGVhbkVudHJ5AgIDd2luBwUDbmlsAWkBC2J1eV9sb3R0ZXJ5AAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAFA25pbABikwz5",
"height": 2847747,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: AbZ69hMdXbZxaZkHmpP1L4k7GNmYLVrZtsFBKWo6yMsw
Next: none
Diff:
Old | New | | Differences |
---|
23 | 23 | | func drawWinner () = if ((i.caller != this)) |
---|
24 | 24 | | then throw("access only by project owner") |
---|
25 | 25 | | else { |
---|
26 | | - | let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil) |
---|
27 | | - | if ((claimInv == claimInv)) |
---|
28 | | - | then { |
---|
29 | | - | let rand = ((((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height)) + toBytes(assetBalance(this, burnxtnId))) + toBytes(wavesBalance(matcher).available)) |
---|
30 | | - | let randHash = sha256(rand) |
---|
31 | | - | let randHashInt = toInt(randHash) |
---|
32 | | - | let result = if ((0 > randHashInt)) |
---|
33 | | - | then (-1 * randHashInt) |
---|
34 | | - | else randHashInt |
---|
| 26 | + | let rand = ((((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height)) + toBytes(assetBalance(this, burnxtnId))) + toBytes(wavesBalance(matcher).available)) |
---|
| 27 | + | let randHash = sha256(rand) |
---|
| 28 | + | let randHashInt = toInt(randHash) |
---|
| 29 | + | let result = if ((0 > randHashInt)) |
---|
| 30 | + | then (-1 * randHashInt) |
---|
| 31 | + | else randHashInt |
---|
35 | 32 | | [BinaryEntry("rand", rand), BinaryEntry("randhash", randHash), IntegerEntry("randhash int", result), IntegerEntry("result remainder", (result % 1000)), if ((500 > (result % 1000))) |
---|
36 | | - | then BooleanEntry("win", true) |
---|
37 | | - | else BooleanEntry("win", false)] |
---|
38 | | - | } |
---|
39 | | - | else throw("Strict value is not equal to itself.") |
---|
| 33 | + | then BooleanEntry("win", true) |
---|
| 34 | + | else BooleanEntry("win", false)] |
---|
40 | 35 | | } |
---|
41 | 36 | | |
---|
42 | 37 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let d8 = 100000000 |
---|
5 | 5 | | |
---|
6 | 6 | | let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB' |
---|
7 | 7 | | |
---|
8 | 8 | | let poolString = toBase58String(poolId) |
---|
9 | 9 | | |
---|
10 | 10 | | let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx' |
---|
11 | 11 | | |
---|
12 | 12 | | let matcher = Address(base58'3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez') |
---|
13 | 13 | | |
---|
14 | 14 | | let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' |
---|
15 | 15 | | |
---|
16 | 16 | | let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns' |
---|
17 | 17 | | |
---|
18 | 18 | | let burnxtnString = toBase58String(burnxtnId) |
---|
19 | 19 | | |
---|
20 | 20 | | let wavesId = base58'WAVES' |
---|
21 | 21 | | |
---|
22 | 22 | | @Callable(i) |
---|
23 | 23 | | func drawWinner () = if ((i.caller != this)) |
---|
24 | 24 | | then throw("access only by project owner") |
---|
25 | 25 | | else { |
---|
26 | | - | let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil) |
---|
27 | | - | if ((claimInv == claimInv)) |
---|
28 | | - | then { |
---|
29 | | - | let rand = ((((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height)) + toBytes(assetBalance(this, burnxtnId))) + toBytes(wavesBalance(matcher).available)) |
---|
30 | | - | let randHash = sha256(rand) |
---|
31 | | - | let randHashInt = toInt(randHash) |
---|
32 | | - | let result = if ((0 > randHashInt)) |
---|
33 | | - | then (-1 * randHashInt) |
---|
34 | | - | else randHashInt |
---|
| 26 | + | let rand = ((((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height)) + toBytes(assetBalance(this, burnxtnId))) + toBytes(wavesBalance(matcher).available)) |
---|
| 27 | + | let randHash = sha256(rand) |
---|
| 28 | + | let randHashInt = toInt(randHash) |
---|
| 29 | + | let result = if ((0 > randHashInt)) |
---|
| 30 | + | then (-1 * randHashInt) |
---|
| 31 | + | else randHashInt |
---|
35 | 32 | | [BinaryEntry("rand", rand), BinaryEntry("randhash", randHash), IntegerEntry("randhash int", result), IntegerEntry("result remainder", (result % 1000)), if ((500 > (result % 1000))) |
---|
36 | | - | then BooleanEntry("win", true) |
---|
37 | | - | else BooleanEntry("win", false)] |
---|
38 | | - | } |
---|
39 | | - | else throw("Strict value is not equal to itself.") |
---|
| 33 | + | then BooleanEntry("win", true) |
---|
| 34 | + | else BooleanEntry("win", false)] |
---|
40 | 35 | | } |
---|
41 | 36 | | |
---|
42 | 37 | | |
---|
43 | 38 | | |
---|
44 | 39 | | @Callable(i) |
---|
45 | 40 | | func buy_lottery () = { |
---|
46 | 41 | | let pmt = value(i.payments[0]) |
---|
47 | 42 | | nil |
---|
48 | 43 | | } |
---|
49 | 44 | | |
---|
50 | 45 | | |
---|