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:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | let d8 = 100000000 |
---|
4 | 5 | | |
---|
| 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' |
---|
5 | 19 | | |
---|
6 | 20 | | @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 |
---|
14 | 33 | | [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 | + | } |
---|
18 | 39 | | |
---|
19 | 40 | | |
---|
20 | 41 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | let d8 = 100000000 |
---|
4 | 5 | | |
---|
| 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' |
---|
5 | 19 | | |
---|
6 | 20 | | @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 |
---|
14 | 33 | | [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 | + | } |
---|
18 | 39 | | |
---|
19 | 40 | | |
---|
20 | 41 | | |
---|
21 | 42 | | @Callable(i) |
---|
22 | 43 | | func buy_lottery () = { |
---|
23 | 44 | | let pmt = value(i.payments[0]) |
---|
24 | 45 | | nil |
---|
25 | 46 | | } |
---|
26 | 47 | | |
---|
27 | 48 | | |
---|