tx · AgTLox7RB16owPYNJ952PCxbohjBoQhgPhyVGcz3rWBY
3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV: -0.01900000 Waves
2022.02.02 20:05 [1906253] smart account 3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV > SELF 0.00000000 Waves
{
"type": 13,
"id": "AgTLox7RB16owPYNJ952PCxbohjBoQhgPhyVGcz3rWBY",
"fee": 1900000,
"feeAssetId": null,
"timestamp": 1643821559812,
"version": 2,
"chainId": 84,
"sender": "3Muxd5JEAQz655DDi2yiZxSQ63jVJJHrQyV",
"senderPublicKey": "7ycxALbgfzht9z36iWCgRauBfWzQGSgkc3HMwu7wDwNX",
"proofs": [
"5HWNnZf2egEhZqy8hxrwAosWcobCeE7tN9yzXx9b5ApBJ2KiWPJfDyJvnKLWZexeS5qvM8Ho74mcrQ9woXScgrKb"
],
"script": "base64:AAIFAAAAAAAAAI8IAhIDCgEIEgMKAQgSAwoBCBoNCgFhEghjdXN0b21lchoNCgFiEghzdXBwbGllchoPCgFjEgplcmljUHViS2V5Gg8KAWQSCmdldE5hbWVLZXkaCQoBZRIEdHlwZRoJCgFmEgRhZGRyGgYKAWcSAWkaCAoBaBIDa2V5GgcKAWkSAnR4GgsKAWoSBnZlcmlmeQAAAAQAAAAAAWECAAAACENVU1RPTUVSAAAAAAFiAgAAAAhTVVBQTElFUgAAAAABYwEAAAAgcmadVE0yhRV/R953dH9sjUdq3TlX1f85DLbjq2FVjjUBAAAAAWQAAAACAAAAAWUAAAABZgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAABZQIAAAABXwUAAAABZgIAAAAFX25hbWUAAAADAAAAAWcBAAAACHJlZ2lzdGVyAAAAAQAAAAFlBAAAAAFmCQACWAAAAAEICAUAAAABZwAAAAZjYWxsZXIAAAAFYnl0ZXMDAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAAWUDCQAAAAAAAAIFAAAAAWUFAAAAAWEGCQAAAAAAAAIFAAAAAWUFAAAAAWIHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAFkAAAAAgUAAAABZQUAAAABZgUAAAABZgUAAAADbmlsCQAAAgAAAAECAAAAF0ludmFsaWQgZnVuYyBwYXJhbWV0ZXJzAAAAAWcBAAAAC2RlbGV0ZUVudHJ5AAAAAQAAAAFoAwkAAAAAAAACCAUAAAABZwAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAAWMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAABaAUAAAADbmlsCQAAAgAAAAECAAAAHE9ubHkgRXJpYyBjYW4gZGVsZXRlIGVudHJpZXMAAAABZwEAAAAKdW5yZWdpc3RlcgAAAAEAAAABZQMDCQAAAAAAAAIFAAAAAWUFAAAAAWIGCQAAAAAAAAIFAAAAAWUFAAAAAWEEAAAAAWYJAAJYAAAAAQgIBQAAAAFnAAAABmNhbGxlcgAAAAVieXRlcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAABZAAAAAIFAAAAAWUFAAAAAWYFAAAAA25pbAkAAAIAAAABAgAAABBJbGxlZ2FsIGFyZ3VtZW50AAAAAQAAAAFpAQAAAAFqAAAAAAkAAfQAAAADCAUAAAABaQAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAWkAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAABaQAAAA9zZW5kZXJQdWJsaWNLZXnsP9Jy",
"height": 1906253,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: BfMrBvxYbVAtzZrRJCJoLmaLTvNcbs2o1axh1HrgRiLG
Next: 5n4L4P4mEvQbREkk8V4orvgL9nubYxLRWDsLTaNboMJg
Diff:
Old | New | | Differences |
---|
7 | 7 | | |
---|
8 | 8 | | let ericPubKey = base58'8haEN2a7ZmkzawLmnr5rFX14X1oHi5kjt8NQUDNjSDLG' |
---|
9 | 9 | | |
---|
| 10 | + | func getNameKey (type,addr) = (((type + "_") + addr) + "_name") |
---|
| 11 | + | |
---|
| 12 | + | |
---|
10 | 13 | | @Callable(i) |
---|
11 | 14 | | func register (type) = { |
---|
12 | 15 | | let addr = toBase58String(i.caller.bytes) |
---|
|
15 | 18 | | then true |
---|
16 | 19 | | else (type == supplier) |
---|
17 | 20 | | else false) |
---|
18 | | - | then [StringEntry((((type + "_") + addr) + "_name"), addr)] |
---|
| 21 | + | then [StringEntry(getNameKey(type, addr), addr)] |
---|
19 | 22 | | else throw("Invalid func parameters") |
---|
20 | 23 | | } |
---|
21 | 24 | | |
---|
|
27 | 30 | | else throw("Only Eric can delete entries") |
---|
28 | 31 | | |
---|
29 | 32 | | |
---|
| 33 | + | |
---|
| 34 | + | @Callable(i) |
---|
| 35 | + | func unregister (type) = if (if ((type == supplier)) |
---|
| 36 | + | then true |
---|
| 37 | + | else (type == customer)) |
---|
| 38 | + | then { |
---|
| 39 | + | let addr = toBase58String(i.caller.bytes) |
---|
| 40 | + | [DeleteEntry(getNameKey(type, addr))] |
---|
| 41 | + | } |
---|
| 42 | + | else throw("Illegal argument") |
---|
| 43 | + | |
---|
| 44 | + | |
---|
30 | 45 | | @Verifier(tx) |
---|
31 | 46 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
32 | 47 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let customer = "CUSTOMER" |
---|
5 | 5 | | |
---|
6 | 6 | | let supplier = "SUPPLIER" |
---|
7 | 7 | | |
---|
8 | 8 | | let ericPubKey = base58'8haEN2a7ZmkzawLmnr5rFX14X1oHi5kjt8NQUDNjSDLG' |
---|
9 | 9 | | |
---|
| 10 | + | func getNameKey (type,addr) = (((type + "_") + addr) + "_name") |
---|
| 11 | + | |
---|
| 12 | + | |
---|
10 | 13 | | @Callable(i) |
---|
11 | 14 | | func register (type) = { |
---|
12 | 15 | | let addr = toBase58String(i.caller.bytes) |
---|
13 | 16 | | if (if (isDefined(type)) |
---|
14 | 17 | | then if ((type == customer)) |
---|
15 | 18 | | then true |
---|
16 | 19 | | else (type == supplier) |
---|
17 | 20 | | else false) |
---|
18 | | - | then [StringEntry((((type + "_") + addr) + "_name"), addr)] |
---|
| 21 | + | then [StringEntry(getNameKey(type, addr), addr)] |
---|
19 | 22 | | else throw("Invalid func parameters") |
---|
20 | 23 | | } |
---|
21 | 24 | | |
---|
22 | 25 | | |
---|
23 | 26 | | |
---|
24 | 27 | | @Callable(i) |
---|
25 | 28 | | func deleteEntry (key) = if ((i.callerPublicKey == ericPubKey)) |
---|
26 | 29 | | then [DeleteEntry(key)] |
---|
27 | 30 | | else throw("Only Eric can delete entries") |
---|
28 | 31 | | |
---|
29 | 32 | | |
---|
| 33 | + | |
---|
| 34 | + | @Callable(i) |
---|
| 35 | + | func unregister (type) = if (if ((type == supplier)) |
---|
| 36 | + | then true |
---|
| 37 | + | else (type == customer)) |
---|
| 38 | + | then { |
---|
| 39 | + | let addr = toBase58String(i.caller.bytes) |
---|
| 40 | + | [DeleteEntry(getNameKey(type, addr))] |
---|
| 41 | + | } |
---|
| 42 | + | else throw("Illegal argument") |
---|
| 43 | + | |
---|
| 44 | + | |
---|
30 | 45 | | @Verifier(tx) |
---|
31 | 46 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
32 | 47 | | |
---|