tx · EjJLGWBDZBNEVvytXRqsQ4q2YjLnfeAX6QBL6NGZ6geX

3MuwmoHDxZZP9bGwExfL3L8JpMU5r95oBr8:  -0.14000000 Waves

2021.12.20 22:48 [1843023] smart account 3MuwmoHDxZZP9bGwExfL3L8JpMU5r95oBr8 > SELF 0.00000000 Waves

{ "type": 13, "id": "EjJLGWBDZBNEVvytXRqsQ4q2YjLnfeAX6QBL6NGZ6geX", "fee": 14000000, "feeAssetId": null, "timestamp": 1640029695278, "version": 2, "chainId": 84, "sender": "3MuwmoHDxZZP9bGwExfL3L8JpMU5r95oBr8", "senderPublicKey": "B8mXne2bErXPSLJvpntKVoudEBjypi3Ag6RfxqTr5pEg", "proofs": [ "2bwjrNLSfSgvzXDx1F4fTttAR3SkA48wGLnEBWTPVxSqdRPxaG4CbtKeLXsUMjXyTmWg67JpwvK4uiQEZdkZpxxe" ], "script": "base64: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", "height": 1843023, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DwJhDwmc65yYUnVdkMX4WroSiBhY8DdUnG4EE8cATU6t Next: 32dbm9fiYv3C1jPFwGeMfTGsWZmCRhTE3nk8bHdKAeEz Diff:
OldNewDifferences
2525
2626
2727 @Callable(inv)
28-func verifyCollection (nameUrl,name,description,hash) = if (!(isDefined(getString(nameKey(nameUrl)))))
28+func verifyCollection (nameUrl,name,description,hash) = if (isDefined(getString(nameKey(nameUrl))))
2929 then throw("This collection was create")
3030 else [StringEntry(nameKey(nameUrl), name), StringEntry(descriptionKey(nameUrl), description), StringEntry(addressKey(nameUrl), toBase58String(inv.caller.bytes)), StringEntry(ipfsHashKey(nameUrl), hash), StringEntry(statusKey(nameUrl), "VOTING"), IntegerEntry(voteKey(nameUrl), 0)]
3131
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func nameKey (nameUrl) = (nameUrl + "_name")
55
66
77 func descriptionKey (nameUrl) = (nameUrl + "_description")
88
99
1010 func ipfsHashKey (nameUrl) = (nameUrl + "_hash")
1111
1212
1313 func addressKey (nameUrl) = (nameUrl + "_address")
1414
1515
1616 func statusKey (nameUrl) = (nameUrl + "_status")
1717
1818
1919 func voteKey (nameUrl) = (nameUrl + "_vote")
2020
2121
2222 func checkVote (numberVote,voices) = if ((voices > (numberVote / 2)))
2323 then "VERIFY"
2424 else "VOTING"
2525
2626
2727 @Callable(inv)
28-func verifyCollection (nameUrl,name,description,hash) = if (!(isDefined(getString(nameKey(nameUrl)))))
28+func verifyCollection (nameUrl,name,description,hash) = if (isDefined(getString(nameKey(nameUrl))))
2929 then throw("This collection was create")
3030 else [StringEntry(nameKey(nameUrl), name), StringEntry(descriptionKey(nameUrl), description), StringEntry(addressKey(nameUrl), toBase58String(inv.caller.bytes)), StringEntry(ipfsHashKey(nameUrl), hash), StringEntry(statusKey(nameUrl), "VOTING"), IntegerEntry(voteKey(nameUrl), 0)]
3131
3232
3333
3434 @Callable(inv)
3535 func vote (nameUrl) = {
3636 let listVoting = split(getStringValue("voting_member"), ",")
3737 if (!(containsElement(listVoting, toBase58String(inv.caller.bytes))))
3838 then throw("You can't vote")
3939 else if ((statusKey(nameUrl) == "VERIFY"))
4040 then throw("Voting was ended")
4141 else {
4242 let voices = (getIntegerValue(voteKey(nameUrl)) + 1)
4343 [IntegerEntry(voteKey(nameUrl), voices), StringEntry(statusKey(nameUrl), checkVote(size(listVoting), voices))]
4444 }
4545 }
4646
4747
4848
4949 @Callable(inv)
5050 func addVoting (address) = {
5151 let listVoting = split(getStringValue("voting_member"), ",")
5252 if ((toBase58String(inv.caller.bytes) != toBase58String(this.bytes)))
5353 then throw("You don't owner")
5454 else if (containsElement(listVoting, address))
5555 then throw("This address was added")
5656 else {
5757 let list = address :: listVoting
5858 [StringEntry("voting_member", makeString(list, ","))]
5959 }
6060 }
6161
6262
6363
6464 @Callable(inv)
6565 func removeVoting (address) = {
6666 let listVoting = split(getStringValue("voting_member"), ",")
6767 if ((toBase58String(inv.caller.bytes) != toBase58String(this.bytes)))
6868 then throw("You don't owner")
6969 else if (!(containsElement(listVoting, address)))
7070 then throw("This address wasn't added")
7171 else {
7272 let index = match indexOf(listVoting, address) {
7373 case t: Int =>
7474 t
7575 case _ =>
7676 0
7777 }
7878 let list = removeByIndex(listVoting, index)
7979 [StringEntry("voting_member", makeString(list, ","))]
8080 }
8181 }
8282
8383
8484 @Verifier(tx)
8585 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8686

github/deemru/w8io/169f3d6 
34.52 ms