tx · BQudTwTUK7QaGK4d4ufaYC1Dy1ZjP6qFZJgwRQfDgLFL

3NAnvjoguSgEnqeYSaimuvvZ1cQV5MfTKu9:  -0.00200000 Waves

2023.11.17 21:51 [2847745] smart account 3NAnvjoguSgEnqeYSaimuvvZ1cQV5MfTKu9 > SELF 0.00000000 Waves

{ "type": 13, "id": "BQudTwTUK7QaGK4d4ufaYC1Dy1ZjP6qFZJgwRQfDgLFL", "fee": 200000, "feeAssetId": null, "timestamp": 1700247077499, "version": 2, "chainId": 84, "sender": "3NAnvjoguSgEnqeYSaimuvvZ1cQV5MfTKu9", "senderPublicKey": "DWzrw3KWtGYzmgpbp3eWY7KBhDZEjEsKETQEgWC7w6vE", "proofs": [ "2jT7bQHfepw9CC2DCFFAbPderAQYYtLrfmM7EodQj83YyVDkDKF9jeNxrcaKNgjZMKCBcSPqEa6fPTX2FUBYrbvY" ], "script": "base64:BgIGCAISABIACAACZDgAgMLXLwAGcG9vbElkARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgAKcG9vbFN0cmluZwkA2AQBBQZwb29sSWQABXBvb2wyARoBV/VGaCeADWjfTiZ1erSh0ygx4Am/9Xl5NwAFeHRuSWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAlidXJueHRuSWQBICRPdXlqfjM5uPsM/4SpcVxeyi3eM6DEXWn56kQR7ExUAA1idXJueHRuU3RyaW5nCQDYBAEFCWJ1cm54dG5JZAAHd2F2ZXNJZAEEE6vZMwIBaQEKZHJhd1dpbm5lcgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBAhjbGFpbUludgkA/AcECQEHQWRkcmVzcwEBGgFXhZ0sMNX8Az5hxa3ekr/FKpHzma4aQUAKAhFjbGFpbUluZGV4UmV3YXJkcwUDbmlsBQNuaWwDCQAAAgUIY2xhaW1JbnYFCGNsYWltSW52BARyYW5kCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCAUBaQ10cmFuc2FjdGlvbklkCAUBaQ9jYWxsZXJQdWJsaWNLZXkIBQlsYXN0QmxvY2sTZ2VuZXJhdGlvblNpZ25hdHVyZQkAmgMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAmgMBBQZoZWlnaHQJAJoDAQkA8AcCBQR0aGlzBQlidXJueHRuSWQJAJoDAQgJAO8HAQkBB0FkZHJlc3MBARoBV4xn/5leOFXnAwpNJIQsFwN/G/cjmgBxJglhdmFpbGFibGUECHJhbmRIYXNoCQD3AwEFBHJhbmQEC3JhbmRIYXNoSW50CQCxCQEFCHJhbmRIYXNoBAZyZXN1bHQDCQBmAgAABQtyYW5kSGFzaEludAkAaAIA////////////AQULcmFuZEhhc2hJbnQFC3JhbmRIYXNoSW50CQDMCAIJAQtCaW5hcnlFbnRyeQICBHJhbmQFBHJhbmQJAMwIAgkBC0JpbmFyeUVudHJ5AgIIcmFuZGhhc2gFCHJhbmRIYXNoCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxyYW5kaGFzaCBpbnQFBnJlc3VsdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIQcmVzdWx0IHJlbWFpbmRlcgkAagIFBnJlc3VsdADoBwkAzAgCAwkAZgIA9AMJAGoCBQZyZXN1bHQA6AcJAQxCb29sZWFuRW50cnkCAgN3aW4GCQEMQm9vbGVhbkVudHJ5AgIDd2luBwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC2J1eV9sb3R0ZXJ5AAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAFA25pbABc3qP0", "height": 2847745, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3xMn3Ue7HG2w2zeYg9Y4kS7JPJuFFu7Wk2664HmE93bt Next: AbZ69hMdXbZxaZkHmpP1L4k7GNmYLVrZtsFBKWo6yMsw Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let d8 = 100000000
45
6+let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
7+
8+let poolString = toBase58String(poolId)
9+
10+let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
11+
12+let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
13+
14+let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
15+
16+let burnxtnString = toBase58String(burnxtnId)
17+
18+let wavesId = base58'WAVES'
519
620 @Callable(i)
7-func drawWinner () = {
8- let rand = ((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height))
9- let randHash = sha256(rand)
10- let randHashInt = toInt(randHash)
11- let result = if ((0 > randHashInt))
12- then (-1 * randHashInt)
13- else randHashInt
21+func drawWinner () = if ((i.caller != this))
22+ then throw("access only by project owner")
23+ else {
24+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
25+ if ((claimInv == claimInv))
26+ then {
27+ let rand = ((((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height)) + toBytes(assetBalance(this, burnxtnId))) + toBytes(wavesBalance(Address(base58'3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu')).available))
28+ let randHash = sha256(rand)
29+ let randHashInt = toInt(randHash)
30+ let result = if ((0 > randHashInt))
31+ then (-1 * randHashInt)
32+ else randHashInt
1433 [BinaryEntry("rand", rand), BinaryEntry("randhash", randHash), IntegerEntry("randhash int", result), IntegerEntry("result remainder", (result % 1000)), if ((500 > (result % 1000)))
15- then BooleanEntry("win", true)
16- else BooleanEntry("win", false)]
17- }
34+ then BooleanEntry("win", true)
35+ else BooleanEntry("win", false)]
36+ }
37+ else throw("Strict value is not equal to itself.")
38+ }
1839
1940
2041
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let d8 = 100000000
45
6+let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
7+
8+let poolString = toBase58String(poolId)
9+
10+let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
11+
12+let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
13+
14+let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
15+
16+let burnxtnString = toBase58String(burnxtnId)
17+
18+let wavesId = base58'WAVES'
519
620 @Callable(i)
7-func drawWinner () = {
8- let rand = ((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height))
9- let randHash = sha256(rand)
10- let randHashInt = toInt(randHash)
11- let result = if ((0 > randHashInt))
12- then (-1 * randHashInt)
13- else randHashInt
21+func drawWinner () = if ((i.caller != this))
22+ then throw("access only by project owner")
23+ else {
24+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
25+ if ((claimInv == claimInv))
26+ then {
27+ let rand = ((((((i.transactionId + i.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(height)) + toBytes(assetBalance(this, burnxtnId))) + toBytes(wavesBalance(Address(base58'3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu')).available))
28+ let randHash = sha256(rand)
29+ let randHashInt = toInt(randHash)
30+ let result = if ((0 > randHashInt))
31+ then (-1 * randHashInt)
32+ else randHashInt
1433 [BinaryEntry("rand", rand), BinaryEntry("randhash", randHash), IntegerEntry("randhash int", result), IntegerEntry("result remainder", (result % 1000)), if ((500 > (result % 1000)))
15- then BooleanEntry("win", true)
16- else BooleanEntry("win", false)]
17- }
34+ then BooleanEntry("win", true)
35+ else BooleanEntry("win", false)]
36+ }
37+ else throw("Strict value is not equal to itself.")
38+ }
1839
1940
2041
2142 @Callable(i)
2243 func buy_lottery () = {
2344 let pmt = value(i.payments[0])
2445 nil
2546 }
2647
2748

github/deemru/w8io/873ac7e 
22.26 ms