tx · ERm7dJJaWBn9Tq38SHnA6tpiYJh8aaDBqCamjXn9oTQ6
3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj: -0.00200000 Waves
2022.07.18 15:10 [3210715] smart account 3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj > SELF 0.00000000 Waves
{
"type": 13,
"id": "ERm7dJJaWBn9Tq38SHnA6tpiYJh8aaDBqCamjXn9oTQ6",
"fee": 200000,
"feeAssetId": null,
"timestamp": 1658146293565,
"version": 2,
"chainId": 87,
"sender": "3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj",
"senderPublicKey": "6cYBat99ZdycuduLmHWzDy6s3qkKLiRsVypxjM33HW2e",
"proofs": [
"5G9LfSTkjHk8bAErrU1pmcVHcwJpJNJzL64GK1stGCx2Wyg4bF7deqH64bvzjZ2UjFi2jkiCVggsTJ1mLVAUrqZC"
],
"script": "base64:AAIFAAAAAAAAAAQIAhIAAAAABAAAAAAGb3JhY2xlCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXdKKsDQGFaMyVfKR9xnp4f7rNREb2maJFAAAAAARFTk5PAQAAACBeG1FcwSnygBgFC21hvr32B2lOIrzncH9MUU0TMHZSswAAAAAGc2VuZGVyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXAgrigKg7bClHASzoXiLDurHBkf/zBx5gAAAAAAplbm5vX3ByaXplAAAAAC6Q7dAAAAAAAQAAAAFpAQAAAAVjbGFpbQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHdm90ZUtleQkAASwAAAACCQABLAAAAAICAAAAbiVzJXMlcyVzJWRfX3ZvdGVfXzdMTVYzczFKNGRLcE1RWnFnZTVzS1lvRmtaUkxvam5uVTQ5YWVycW9zNHlnX19ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cF9fBQAAAApjdXJyZW50S2V5AgAAAANfXzAEAAAACXRvdGFsVm90ZQIAAAB1JXMlcyVzJWRfX3ZvdGluZ1Jlc3VsdF9fN0xNVjNzMUo0ZEtwTVFacWdlNXNLWW9Ga1pSTG9qbm5VNDlhZXJxb3M0eWdfX0RHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwX18wBAAAAAZhbW91bnQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAGb3JhY2xlBQAAAAd2b3RlS2V5AAAAAAAAAAAABAAAAAt0b3RhbEFtb3VudAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAZvcmFjbGUFAAAACXRvdGFsVm90ZQAAAAAAAAAAAAQAAAAIY2hlY2tLZXkJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAAIX2NsYWltZWQEAAAABWNoZWNrCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAACGNoZWNrS2V5BwQAAAAFc2hhcmUJAABrAAAAAwUAAAAGYW1vdW50AAAAAAJUC+QABQAAAAt0b3RhbEFtb3VudAQAAAAIZGVzZXJ2ZWQJAABoAAAAAgAAAAAAAAAAFAUAAAAFc2hhcmUEAAAAB2JhbGFuY2UJAAPwAAAAAgUAAAAGc2VuZGVyBQAAAARFTk5PAwMDAwkAAGYAAAACBQAAAAZhbW91bnQAAAAAAAAAAAAJAABmAAAAAgUAAAALdG90YWxBbW91bnQAAAAAAAAAAAAHCQEAAAABIQAAAAEFAAAABWNoZWNrBwkAAGYAAAACBQAAAAdiYWxhbmNlAAAAAAAAAAAABwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAIY2hlY2tLZXkGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAIZGVzZXJ2ZWQFAAAABEVOTk8FAAAAA25pbAkAAAIAAAABAgAAADZ5b3UgYXJlIG5vdCBhYmxlIHRvIGNsYWltIGFueXRoaW5nIG9yIG5vdCBlbm91Z2ggZnVuZHMAAAAAtvRs5w==",
"height": 3210715,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 9WsaEE2a2v61CfQ8TbTrj1LzBah4Mc3yYPuYTcPXYM9C
Next: GoeYE64gB4kDnBtL4me7JNpmooLnjUsGJvN9skPHrz8v
Diff:
Old | New | | Differences |
---|
4 | 4 | | let oracle = Address(base58'3PCZbz9o5YfWtK36j3tFcM8E1DUa9d7MyXS') |
---|
5 | 5 | | |
---|
6 | 6 | | let ENNO = base58'7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg' |
---|
| 7 | + | |
---|
| 8 | + | let sender = Address(base58'3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj') |
---|
7 | 9 | | |
---|
8 | 10 | | let enno_prize = 200000000000 |
---|
9 | 11 | | |
---|
|
18 | 20 | | let check = valueOrElse(getBoolean(this, checkKey), false) |
---|
19 | 21 | | let share = fraction(amount, 10000000000, totalAmount) |
---|
20 | 22 | | let deserved = (20 * share) |
---|
21 | | - | if (if (if ((amount > 0)) |
---|
| 23 | + | let balance = assetBalance(sender, ENNO) |
---|
| 24 | + | if (if (if (if ((amount > 0)) |
---|
22 | 25 | | then (totalAmount > 0) |
---|
23 | 26 | | else false) |
---|
24 | 27 | | then !(check) |
---|
25 | 28 | | else false) |
---|
| 29 | + | then (balance > 0) |
---|
| 30 | + | else false) |
---|
26 | 31 | | then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)] |
---|
27 | | - | else throw("you are not able to claim anything") |
---|
| 32 | + | else throw("you are not able to claim anything or not enough funds") |
---|
28 | 33 | | } |
---|
29 | 34 | | |
---|
30 | 35 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let oracle = Address(base58'3PCZbz9o5YfWtK36j3tFcM8E1DUa9d7MyXS') |
---|
5 | 5 | | |
---|
6 | 6 | | let ENNO = base58'7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg' |
---|
| 7 | + | |
---|
| 8 | + | let sender = Address(base58'3P27h7vAWPyP3Stzpeff1feg1YHqRjUShkj') |
---|
7 | 9 | | |
---|
8 | 10 | | let enno_prize = 200000000000 |
---|
9 | 11 | | |
---|
10 | 12 | | @Callable(i) |
---|
11 | 13 | | func claim () = { |
---|
12 | 14 | | let currentKey = toBase58String(i.caller.bytes) |
---|
13 | 15 | | let voteKey = (("%s%s%s%s%d__vote__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__" + currentKey) + "__0") |
---|
14 | 16 | | let totalVote = "%s%s%s%d__votingResult__7LMV3s1J4dKpMQZqge5sKYoFkZRLojnnU49aerqos4yg__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p__0" |
---|
15 | 17 | | let amount = valueOrElse(getInteger(oracle, voteKey), 0) |
---|
16 | 18 | | let totalAmount = valueOrElse(getInteger(oracle, totalVote), 0) |
---|
17 | 19 | | let checkKey = (currentKey + "_claimed") |
---|
18 | 20 | | let check = valueOrElse(getBoolean(this, checkKey), false) |
---|
19 | 21 | | let share = fraction(amount, 10000000000, totalAmount) |
---|
20 | 22 | | let deserved = (20 * share) |
---|
21 | | - | if (if (if ((amount > 0)) |
---|
| 23 | + | let balance = assetBalance(sender, ENNO) |
---|
| 24 | + | if (if (if (if ((amount > 0)) |
---|
22 | 25 | | then (totalAmount > 0) |
---|
23 | 26 | | else false) |
---|
24 | 27 | | then !(check) |
---|
25 | 28 | | else false) |
---|
| 29 | + | then (balance > 0) |
---|
| 30 | + | else false) |
---|
26 | 31 | | then [BooleanEntry(checkKey, true), ScriptTransfer(i.caller, deserved, ENNO)] |
---|
27 | | - | else throw("you are not able to claim anything") |
---|
| 32 | + | else throw("you are not able to claim anything or not enough funds") |
---|
28 | 33 | | } |
---|
29 | 34 | | |
---|
30 | 35 | | |
---|