tx · 2fgkyEG9RbzKSHkXs7wUdhXhGZiW3s2ovViX6TExN5Ao 3NAjrUCA7omNC3y1cXqDzVPzLo3jZzmnoFv: -0.02400000 Waves 2020.12.13 15:54 [1306944] smart account 3NAjrUCA7omNC3y1cXqDzVPzLo3jZzmnoFv > SELF 0.00000000 Waves
{ "type": 13, "id": "2fgkyEG9RbzKSHkXs7wUdhXhGZiW3s2ovViX6TExN5Ao", "fee": 2400000, "feeAssetId": null, "timestamp": 1607864108488, "version": 2, "chainId": 84, "sender": "3NAjrUCA7omNC3y1cXqDzVPzLo3jZzmnoFv", "senderPublicKey": "EaamFvaPraibaDDDU4ecgVgQtFAtaUTei3QszfF91cNd", "proofs": [ "2oJ7U8aFM9P9aLkrH4yqy4RXhdY1yTBSQK6CX91W6NVFz3U4WtwDgXDGby8TDkJxM26Bjj54wZ1zARuw4R6Lw6Eg" ], "script": "base64:AAIEAAAAAAAAAAgIAhIECgIIAgAAAAEAAAAAC2FkbWluUHViS2V5AgAAACMzTkFqclVDQTdvbU5DM3kxY1hxRHpWUHpMbzNqWnptbm9GdgAAAAEAAAABaQEAAAAHYWRkRGF0YQAAAAIAAAADa2V5AAAABGRhdGEEAAAACWNhbGxlclN0cgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAJY2FsbGVyU3RyBQAAAAthZG1pblB1YktleQkAAAIAAAABAgAAABpPbmx5IGFkbWluIGNhbiBhZGQgZW50cmllcwkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACBQAAAANrZXkFAAAABGRhdGEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5LlBW0w==", "height": 1306944, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FaBe7QTB4uoDnzyv72TFsmdBzbFq1KTbbSnVDec1Jrmn Next: 3BHuRyqGb84YQBy5vjHjTeYnHN3ifaqYy7PThX26HXdx Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let adminPubKey = "3NAjrUCA7omNC3y1cXqDzVPzLo3jZzmnoFv" | |
5 | 5 | ||
6 | - | func getNumberByAddressAndKey (address,key) = valueOrElse(getInteger(addressFromStringValue(address), key), 0) | |
7 | - | ||
8 | - | ||
9 | - | func getStringByAddressAndKey (address,key) = valueOrElse(getString(addressFromStringValue(address), key), "") | |
10 | - | ||
11 | - | ||
12 | - | func getBoolByAddressAndKey (address,key) = valueOrElse(getBoolean(addressFromStringValue(address), key), false) | |
13 | - | ||
14 | - | ||
15 | - | func getNumberByKey (key) = valueOrElse(getInteger(this, key), 0) | |
16 | - | ||
17 | - | ||
18 | - | func getStringByKey (key) = valueOrElse(getString(this, key), "") | |
19 | - | ||
20 | - | ||
21 | - | func getBoolByKey (key) = valueOrElse(getBoolean(this, key), false) | |
22 | - | ||
23 | - | ||
24 | - | func getKeyCustomerName (key) = (key + "_customerName") | |
25 | - | ||
26 | - | ||
27 | - | func getKeyCustomerRequisits (key) = (key + "_customerReq") | |
28 | - | ||
29 | - | ||
30 | 6 | @Callable(i) | |
31 | - | func | |
7 | + | func addData (key,data) = { | |
32 | 8 | let callerStr = toBase58String(i.caller.bytes) | |
33 | - | [StringEntry(getKeyCustomerName(callerStr), name), StringEntry(getKeyCustomerRequisits(callerStr), requisites)] | |
34 | - | } | |
35 | - | ||
36 | - | ||
37 | - | ||
38 | - | @Callable(i) | |
39 | - | func updateRequisites (requisites) = { | |
40 | - | let callerStr = toBase58String(i.caller.bytes) | |
41 | - | [StringEntry(getKeyCustomerRequisits(callerStr), requisites)] | |
42 | - | } | |
43 | - | ||
44 | - | ||
45 | - | ||
46 | - | @Callable(i) | |
47 | - | func addEarlyPaymentRequest (customerAddress) = { | |
48 | - | let callerStr = toBase58String(i.caller.bytes) | |
49 | - | [StringEntry(getKeyCustomerRequisits(callerStr), customerAddress)] | |
9 | + | if ((callerStr != adminPubKey)) | |
10 | + | then throw("Only admin can add entries") | |
11 | + | else [BinaryEntry(key, data)] | |
50 | 12 | } | |
51 | 13 | ||
52 | 14 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let adminPubKey = "3NAjrUCA7omNC3y1cXqDzVPzLo3jZzmnoFv" | |
5 | 5 | ||
6 | - | func getNumberByAddressAndKey (address,key) = valueOrElse(getInteger(addressFromStringValue(address), key), 0) | |
7 | - | ||
8 | - | ||
9 | - | func getStringByAddressAndKey (address,key) = valueOrElse(getString(addressFromStringValue(address), key), "") | |
10 | - | ||
11 | - | ||
12 | - | func getBoolByAddressAndKey (address,key) = valueOrElse(getBoolean(addressFromStringValue(address), key), false) | |
13 | - | ||
14 | - | ||
15 | - | func getNumberByKey (key) = valueOrElse(getInteger(this, key), 0) | |
16 | - | ||
17 | - | ||
18 | - | func getStringByKey (key) = valueOrElse(getString(this, key), "") | |
19 | - | ||
20 | - | ||
21 | - | func getBoolByKey (key) = valueOrElse(getBoolean(this, key), false) | |
22 | - | ||
23 | - | ||
24 | - | func getKeyCustomerName (key) = (key + "_customerName") | |
25 | - | ||
26 | - | ||
27 | - | func getKeyCustomerRequisits (key) = (key + "_customerReq") | |
28 | - | ||
29 | - | ||
30 | 6 | @Callable(i) | |
31 | - | func | |
7 | + | func addData (key,data) = { | |
32 | 8 | let callerStr = toBase58String(i.caller.bytes) | |
33 | - | [StringEntry(getKeyCustomerName(callerStr), name), StringEntry(getKeyCustomerRequisits(callerStr), requisites)] | |
34 | - | } | |
35 | - | ||
36 | - | ||
37 | - | ||
38 | - | @Callable(i) | |
39 | - | func updateRequisites (requisites) = { | |
40 | - | let callerStr = toBase58String(i.caller.bytes) | |
41 | - | [StringEntry(getKeyCustomerRequisits(callerStr), requisites)] | |
42 | - | } | |
43 | - | ||
44 | - | ||
45 | - | ||
46 | - | @Callable(i) | |
47 | - | func addEarlyPaymentRequest (customerAddress) = { | |
48 | - | let callerStr = toBase58String(i.caller.bytes) | |
49 | - | [StringEntry(getKeyCustomerRequisits(callerStr), customerAddress)] | |
9 | + | if ((callerStr != adminPubKey)) | |
10 | + | then throw("Only admin can add entries") | |
11 | + | else [BinaryEntry(key, data)] | |
50 | 12 | } | |
51 | 13 | ||
52 | 14 | ||
53 | 15 | @Verifier(tx) | |
54 | 16 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
55 | 17 |
github/deemru/w8io/169f3d6 22.66 ms ◑![]()