tx · 9uKLfQRDDJSQqLUEYkvnqMYo19MGS1MeUucqWhPuRnM2

3MvCKDNrXFLCPCMjLTQXzfiHYejGf5QST42:  -0.00200000 Waves

2022.07.07 13:21 [2129143] smart account 3MvCKDNrXFLCPCMjLTQXzfiHYejGf5QST42 > SELF 0.00000000 Waves

{ "type": 13, "id": "9uKLfQRDDJSQqLUEYkvnqMYo19MGS1MeUucqWhPuRnM2", "fee": 200000, "feeAssetId": null, "timestamp": 1657189353966, "version": 2, "chainId": 84, "sender": "3MvCKDNrXFLCPCMjLTQXzfiHYejGf5QST42", "senderPublicKey": "Bm8NA6cDADuRW1tDcjPsFdpsoUGwdxSD16MjDxtar9JB", "proofs": [ "3rfFPBzGkcZ22rAVe5Gjy3VY4Aw9eFXYTAcVG7nn8rQKkZp9qPAXncq7EgHjt3xprtFdXGGfxP4Lzw7RryZZYLm9" ], "script": "base64:AAIFAAAAAAAAABAIAhIDCgEIEgMKAQgSABIAAAAABAEAAAAMZ2V0T3duZXJBZGRyAAAAAAQAAAAFb3duZXIJAAQdAAAAAgUAAAAEdGhpcwIAAAAFb3duZXIDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAVvd25lcgkAAAIAAAABAgAAAAppbml0IGZpcnN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAFdmFsdWUAAAABBQAAAAVvd25lcgEAAAAKY2hlY2tPd25lcgAAAAEAAAAGY2FsbGVyCQAAAAAAAAIFAAAABmNhbGxlcgkBAAAADGdldE93bmVyQWRkcgAAAAABAAAAE2NoYW5nZU93bmVySW50ZXJuYWwAAAACAAAABmNhbGxlcgAAAARhZGRyAwkBAAAACmNoZWNrT3duZXIAAAABBQAAAAZjYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAFb3duZXIJAAQlAAAAAQUAAAAEYWRkcgUAAAADbmlsCQAAAgAAAAECAAAACk9ubHkgb3duZXIBAAAADGluaXRJbnRlcm5hbAAAAAIAAAAGY2FsbGVyAAAABGFkZHIEAAAABW93bmVyCQAEHQAAAAIFAAAABHRoaXMCAAAABW93bmVyAwMJAAAAAAAAAgUAAAAGY2FsbGVyBQAAAAR0aGlzCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAVvd25lcgcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAFb3duZXIFAAAABGFkZHIFAAAAA25pbAkAAAIAAAABAgAAAApPbmx5IGFkbWluAAAABAAAAAFpAQAAAAlpbml0T3duZXIAAAABAAAABGFkZHIJAQAAAAxpbml0SW50ZXJuYWwAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABGFkZHIAAAABaQEAAAALY2hhbmdlT3duZXIAAAABAAAABGFkZHIJAQAAABNjaGFuZ2VPd25lckludGVybmFsAAAAAggFAAAAAWkAAAAGY2FsbGVyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAARhZGRyAAAAAWkBAAAACGNhbGxGdW5jAAAAAAMJAQAAAApjaGVja093bmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAGaGVpZ2h0BQAAAANuaWwJAAACAAAAAQIAAAAKT25seSBPd25lcgAAAAFpAQAAAAlzaG93T3duZXIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAATEJAAQlAAAAAQkBAAAADGdldE93bmVyQWRkcgAAAAAFAAAAA25pbAAAAAAJCgWg", "height": 2129143, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Cb4VtPpScxPvbGFQe7hgVKjiA9mYJ8TRrfL5wrWuSdcv Next: 7VbCGjFHGxK3KZ61w1AjXM1vDyHwFcGRPShxfwmrKTqJ Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let separator = "_"
5-
6-let secondSeparator = "/"
7-
8-func getMappingKey (mappingName,addr,separator) = makeString([mappingName, addr], separator)
9-
10-
11-func getElements (mappingName,addr,separator) = getStringValue(this, getMappingKey(mappingName, addr, separator))
12-
13-
14-func getValueByKey (key) = getStringValue(this, key)
15-
16-
17-func setMappingValue (mappingName,addr) = {
18- let secondKey = getMappingKey(mappingName, addr, secondSeparator)
19- StringEntry(getMappingKey("mapString", addr, separator), secondKey)
4+func getOwnerAddr () = {
5+ let owner = getString(this, "owner")
6+ if (!(isDefined(owner)))
7+ then throw("init first")
8+ else addressFromStringValue(value(owner))
209 }
2110
2211
23-func setSecondMappingValue (mappingName,addr,val) = if ((100 >= size(val)))
24- then StringEntry(getMappingKey("mapString", addr, secondSeparator), val)
25- else throw("overcrowded")
12+func checkOwner (caller) = (caller == getOwnerAddr())
13+
14+
15+func changeOwnerInternal (caller,addr) = if (checkOwner(caller))
16+ then [StringEntry("owner", toString(addr))]
17+ else throw("Only owner")
18+
19+
20+func initInternal (caller,addr) = {
21+ let owner = getString(this, "owner")
22+ if (if ((caller == this))
23+ then !(isDefined(owner))
24+ else false)
25+ then [StringEntry("owner", addr)]
26+ else throw("Only admin")
27+ }
2628
2729
2830 @Callable(i)
29-func setMap () = [setMappingValue("mapString", toString(this))]
31+func initOwner (addr) = initInternal(i.caller, addr)
3032
3133
3234
3335 @Callable(i)
34-func setMapInMap (valueInt) = [setSecondMappingValue("mapString", toString(this), valueInt)]
36+func changeOwner (addr) = changeOwnerInternal(i.caller, addressFromStringValue(addr))
3537
3638
3739
3840 @Callable(i)
39-func getMap () = [StringEntry("1", getElements("mapString", toString(this), separator))]
41+func callFunc () = if (checkOwner(i.caller))
42+ then [IntegerEntry(toString(i.caller), height)]
43+ else throw("Only Owner")
4044
4145
4246
4347 @Callable(i)
44-func getMapFromMap (index) = [StringEntry("2", getValueByKey(getElements("mapString", toString(this), separator)))]
48+func showOwner () = [StringEntry("1", toString(getOwnerAddr()))]
4549
4650

github/deemru/w8io/169f3d6 
36.98 ms