tx · 9qXYNkAdQtZQhJVHcmJrkYijkRo2H8RivtRTzEm2enE8 3MtsQpwSQr7knQgF1Mzdc3nd7ms3JEKo7B8: -0.01000000 Waves 2023.02.05 01:38 [2435496] smart account 3MtsQpwSQr7knQgF1Mzdc3nd7ms3JEKo7B8 > SELF 0.00000000 Waves
{ "type": 13, "id": "9qXYNkAdQtZQhJVHcmJrkYijkRo2H8RivtRTzEm2enE8", "fee": 1000000, "feeAssetId": null, "timestamp": 1675550372749, "version": 2, "chainId": 84, "sender": "3MtsQpwSQr7knQgF1Mzdc3nd7ms3JEKo7B8", "senderPublicKey": "DBrgC8MVcZdynxH3pXpNcQcSP3CSPx1oeHWTjdWKatxF", "proofs": [ "MEuEwxfEmkEjtv2tmfcCHWj8VJUVTTp8C1gurmPtYv53To2ZSpBcfBrTCFNn6kRNeQ4ucfGwFJkv42SK71rs3V4" ], "script": "base64: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", "height": 2435496, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9tpUKcQVGhuycuVzhSEuKhsdpGLa8VYP4J1mAMzdsVkc Next: Dx2W2axuJzX9PE9vCoiLigzwqaFQ7UrMxqCfTpqxXqj Diff:
Old | New | Differences | |
---|---|---|---|
12 | 12 | } | |
13 | 13 | ||
14 | 14 | ||
15 | + | func authUser (i) = { | |
16 | + | let eggerPublicKeyHash = sha256(i.callerPublicKey) | |
17 | + | let eggerPublicKeyHashOnSupplierAccount = getBinaryValue(this, "connection.Egger.ref") | |
18 | + | if ((eggerPublicKeyHashOnSupplierAccount == eggerPublicKeyHash)) | |
19 | + | then true | |
20 | + | else throw("Account hat nicht die nötige Berechtigung für diese Aktion.") | |
21 | + | } | |
22 | + | ||
23 | + | ||
15 | 24 | @Callable(i) | |
16 | 25 | func saveListOnSupplierAccount (keys,values) = { | |
26 | + | let authenticated = authUser(i) | |
17 | 27 | func addStringEntry (accum,nextValue) = { | |
18 | - | let $ | |
19 | - | let result = $ | |
20 | - | let j = $ | |
28 | + | let $t09771000 = accum | |
29 | + | let result = $t09771000._1 | |
30 | + | let j = $t09771000._2 | |
21 | 31 | $Tuple2((result :+ StringEntry(keys[j], nextValue)), (j + 1)) | |
22 | 32 | } | |
23 | 33 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func getData (adr,key) = { | |
5 | 5 | let data = match getBoolean(adr, key) { | |
6 | 6 | case a: Boolean => | |
7 | 7 | a | |
8 | 8 | case _ => | |
9 | 9 | false | |
10 | 10 | } | |
11 | 11 | data | |
12 | 12 | } | |
13 | 13 | ||
14 | 14 | ||
15 | + | func authUser (i) = { | |
16 | + | let eggerPublicKeyHash = sha256(i.callerPublicKey) | |
17 | + | let eggerPublicKeyHashOnSupplierAccount = getBinaryValue(this, "connection.Egger.ref") | |
18 | + | if ((eggerPublicKeyHashOnSupplierAccount == eggerPublicKeyHash)) | |
19 | + | then true | |
20 | + | else throw("Account hat nicht die nötige Berechtigung für diese Aktion.") | |
21 | + | } | |
22 | + | ||
23 | + | ||
15 | 24 | @Callable(i) | |
16 | 25 | func saveListOnSupplierAccount (keys,values) = { | |
26 | + | let authenticated = authUser(i) | |
17 | 27 | func addStringEntry (accum,nextValue) = { | |
18 | - | let $ | |
19 | - | let result = $ | |
20 | - | let j = $ | |
28 | + | let $t09771000 = accum | |
29 | + | let result = $t09771000._1 | |
30 | + | let j = $t09771000._2 | |
21 | 31 | $Tuple2((result :+ StringEntry(keys[j], nextValue)), (j + 1)) | |
22 | 32 | } | |
23 | 33 | ||
24 | 34 | let r = { | |
25 | 35 | let $l = values | |
26 | 36 | let $s = size($l) | |
27 | 37 | let $acc0 = $Tuple2(nil, 0) | |
28 | 38 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
29 | 39 | then $a | |
30 | 40 | else addStringEntry($a, $l[$i]) | |
31 | 41 | ||
32 | 42 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
33 | 43 | then $a | |
34 | 44 | else throw("List size exceeds 10") | |
35 | 45 | ||
36 | 46 | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
37 | 47 | } | |
38 | 48 | r._1 | |
39 | 49 | } | |
40 | 50 | ||
41 | 51 | ||
42 | 52 | @Verifier(tx) | |
43 | 53 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
44 | 54 |
github/deemru/w8io/026f985 28.08 ms ◑