tx · 6QU6XoysjY4SgWxRFQJs6tY4jcMoHxYDKNPyZuBsP9wk

3N1NdAUSnLsQwuoFgF9NY7W6Wc2YhY1Ghom:  -0.05000000 Waves

2023.10.06 13:21 [2786633] smart account 3N1NdAUSnLsQwuoFgF9NY7W6Wc2YhY1Ghom > SELF 0.00000000 Waves

{ "type": 13, "id": "6QU6XoysjY4SgWxRFQJs6tY4jcMoHxYDKNPyZuBsP9wk", "fee": 5000000, "feeAssetId": null, "timestamp": 1696587706063, "version": 1, "sender": "3N1NdAUSnLsQwuoFgF9NY7W6Wc2YhY1Ghom", "senderPublicKey": "9c3R7CPNiMpfFQzCnodKRkwo2CGD8ZXBHc5D8RmpYHwd", "proofs": [ "2f3tf1U9wzsiXfSaqVDYgPzPztDbovVtMFrU333TEiESc4vtoCMdvBCk6HZKe26SrV5UxiveYnASAQ2g1oVg25iM" ], "script": "base64:BgIPCAISAwoBCBIGCgQICAQBBQASY29uZmlnQWRkcmVzc1N0b3JlAgZjb25maWcADWNvbmZpZ0FkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUSY29uZmlnQWRkcmVzc1N0b3JlAid2b3RpbmctcmVzdWx0OiBjb25maWcgYWRkcmVzcyBub3QgZm91bmQCFmludmFsaWQgY29uZmlnIGFkZHJlc3MBEHdyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUDa2V5CQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlCQACAQkArAICAhVhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQAWY2hpbGRyZW5Wb3RpbmdDb250cmFjdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAhhjb250cmFjdF9jaGlsZHJlbl92b3RpbmcCG25vIGNvbnRyYWN0X2NoaWxkcmVuX3ZvdGluZwIgaW52YWxpZCBjb250cmFjdF9jaGlsZHJlbl92b3RpbmcAFG1vdGhlclZvdGluZ0NvbnRyYWN0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCD2NvbnRyYWN0X3ZvdGluZwISbm8gY29udHJhY3Rfdm90aW5nAhdpbnZhbGlkIGNvbnRyYWN0X3ZvdGluZwIBaQEEaW5pdAEEY29uZgkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIFEmNvbmZpZ0FkZHJlc3NTdG9yZQUEY29uZgUDbmlsAWkBCXNldFJlc3VsdAQHYWRkcmVzcwR0eElkB3N1Y2NlZWQPYnJvYWRjYXN0SGVpZ2h0AwMJAQIhPQIIBQFpBmNhbGxlcgUUbW90aGVyVm90aW5nQ29udHJhY3QJAQIhPQIIBQFpBmNhbGxlcgUWY2hpbGRyZW5Wb3RpbmdDb250cmFjdAcJAAIBAilvbmx5IHZvdGluZyBjb250cmFjdCBjYW4gY2FsbCB0aGlzIG1ldGhvZAMJAQEhAQkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzCQCsAgICFWFsbG93ZWRfY2hpbGRfdm90aW5nXwUHYWRkcmVzcwYJAAIBCQCsAgICKGNoaWxkIHZvdGluZyBpcyBub3QgYWxsb3dlZCBmb3IgYWRkcmVzcyAFB2FkZHJlc3MEBXN0b3JlCQCsAgIJAKwCAgkArAICAhlwcm9wb3NhbF9hbGxvd19icm9hZGNhc3RfBQdhZGRyZXNzAgFfBQR0eElkAwUHc3VjY2VlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUFc3RvcmUFD2Jyb2FkY2FzdEhlaWdodAUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEFBXN0b3JlBQNuaWwBAnR4AQZ2ZXJpZnkABAJpZAkA2AQBCAUCdHgCaWQECGJ5Vm90aW5nCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMJAKwCAgkArAICCQCsAgICGXByb3Bvc2FsX2FsbG93X2Jyb2FkY2FzdF8JAKUIAQUEdGhpcwIBXwUCaWQHAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQYFCGJ5Vm90aW5nIfr7Qg==", "chainId": 84, "height": 2786633, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let configAddressStore = "config"
5+
6+let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "voting-result: config address not found")), "invalid config address")
7+
8+func writeConstString (key,value) = if (!(isDefined(getString(this, key))))
9+ then StringEntry(key, value)
10+ else throw(("already initialized: " + key))
11+
12+
13+let childrenVotingContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_children_voting"), "no contract_children_voting")), "invalid contract_children_voting")
14+
15+let motherVotingContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_voting"), "no contract_voting")), "invalid contract_voting")
16+
17+@Callable(i)
18+func init (conf) = [writeConstString(configAddressStore, conf)]
19+
20+
21+
22+@Callable(i)
23+func setResult (address,txId,succeed,broadcastHeight) = if (if ((i.caller != motherVotingContract))
24+ then (i.caller != childrenVotingContract)
25+ else false)
26+ then throw("only voting contract can call this method")
27+ else if (!(valueOrElse(getBoolean(this, ("allowed_child_voting_" + address)), true)))
28+ then throw(("child voting is not allowed for address " + address))
29+ else {
30+ let store = ((("proposal_allow_broadcast_" + address) + "_") + txId)
31+ if (succeed)
32+ then [IntegerEntry(store, broadcastHeight)]
33+ else [DeleteEntry(store)]
34+ }
35+
36+
37+@Verifier(tx)
38+func verify () = {
39+ let id = toBase58String(tx.id)
40+ let byVoting = valueOrElse(getBoolean(this, ((("proposal_allow_broadcast_" + toString(this)) + "_") + id)), false)
41+ if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
42+ then true
43+ else byVoting
44+ }
45+

github/deemru/w8io/169f3d6 
20.43 ms