tx · 8arh3xcfxxBAzKWsZEe3ckPLHqpmbsGk74WAYUCWpQoJ

3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz:  -0.01500000 Waves

2024.04.14 15:32 [3062453] smart account 3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz > SELF 0.00000000 Waves

{ "type": 13, "id": "8arh3xcfxxBAzKWsZEe3ckPLHqpmbsGk74WAYUCWpQoJ", "fee": 1500000, "feeAssetId": null, "timestamp": 1713098036683, "version": 2, "chainId": 84, "sender": "3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz", "senderPublicKey": "2mHW72YTfnxJ1M8WsdUQjgpp3a2SUbt9mbAiePGiuJok", "proofs": [ "29epifDsrzbQPBFUKZBm8FBVYL72AL6FiuUiH9KRHf3yb6cxyqnrzk2dBBcCC8pBNGvtogqrav33VgwXpgZSnXEE" ], "script": "base64:AAIFAAAAAAAAAD4IAhIDCgEBEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIFCgMICB8SBQoDCAgBEgMKAQgSAwoBCBIECgIIAQAAAC8BAAAAEWdldEludGVnZXJPclRocm93AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMQ2FuJ3QgcmVhZCAnBQAAAANrZXkCAAAADScgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAAHYWRkcmVzcwEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADENhbid0IHJlYWQgJwUAAAADa2V5AgAAAA0nIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAB2FkZHJlc3MBAAAAE3BhcnNlQWRkcmVzc09yVGhyb3cAAAABAAAADG1heWJlQWRkcmVzcwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAADG1heWJlQWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAGkNhbid0IHBhcnNlIGFkZHJlc3MgZnJvbSAnBQAAAAxtYXliZUFkZHJlc3MCAAAAAScBAAAACmtleV9lbnRpdHkAAAADAAAABG5hbWUAAAACcGsAAAAIcHJvcGVydHkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEbmFtZQIAAAABXwUAAAACcGsCAAAAAV8FAAAACHByb3BlcnR5AQAAAA5rZXlfVG9rZW5fbmFtZQAAAAEAAAAHdG9rZW5JZAkBAAAACmtleV9lbnRpdHkAAAADAgAAAAVUb2tlbgUAAAAHdG9rZW5JZAIAAAAEbmFtZQEAAAAOa2V5X05hbWVfdG9rZW4AAAABAAAABG5hbWUJAQAAAAprZXlfZW50aXR5AAAAAwIAAAAETmFtZQUAAAAEbmFtZQIAAAAFdG9rZW4BAAAADmtleV9OYW1lX293bmVyAAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAABW93bmVyAQAAABFrZXlfTmFtZV9yZXNvbHZlcgAAAAEAAAAEbmFtZQkBAAAACmtleV9lbnRpdHkAAAADAgAAAAROYW1lBQAAAARuYW1lAgAAAAhyZXNvbHZlcgEAAAASa2V5X05hbWVfZXhwaXJlc0F0AAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAACWV4cGlyZXNBdAEAAAASa2V5X05hbWVfY3JlYXRlZEF0AAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAACWNyZWF0ZWRBdAAAAAALa2V5X25hbWVUVEwCAAAAB25hbWVUVEwAAAAAD2tleV9jb250cm9sbGVycwIAAAALY29udHJvbGxlcnMAAAAAEGtleV9yZW5ld2FsUHJpY2UCAAAADHJlbmV3YWxQcmljZQAAAAAUa2V5X2NvbGxlY3RvckFkZHJlc3MCAAAAEGNvbGxlY3RvckFkZHJlc3MBAAAACV9zZXRPd25lcgAAAAIAAAAEbmFtZQAAAAVvd25lcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAOa2V5X05hbWVfb3duZXIAAAABBQAAAARuYW1lBQAAAAVvd25lcgUAAAADbmlsAQAAAAlfZ2V0T3duZXIAAAABAAAABG5hbWUJAAQdAAAAAgUAAAAEdGhpcwkBAAAADmtleV9OYW1lX293bmVyAAAAAQUAAAAEbmFtZQEAAAAMX2dldFJlc29sdmVyAAAAAQAAAARuYW1lCQAEHQAAAAIFAAAABHRoaXMJAQAAABFrZXlfTmFtZV9yZXNvbHZlcgAAAAEFAAAABG5hbWUBAAAACV9nZXRUb2tlbgAAAAEAAAAEbmFtZQkABB0AAAACBQAAAAR0aGlzCQEAAAAOa2V5X05hbWVfdG9rZW4AAAABBQAAAARuYW1lAQAAAA1fZ2V0Q3JlYXRlZEF0AAAAAQAAAARuYW1lCQAEGgAAAAIFAAAABHRoaXMJAQAAABJrZXlfTmFtZV9jcmVhdGVkQXQAAAABBQAAAARuYW1lAQAAAA1fZ2V0RXhwaXJlc0F0AAAAAQAAAARuYW1lCQAEGgAAAAIFAAAABHRoaXMJAQAAABJrZXlfTmFtZV9leHBpcmVzQXQAAAABBQAAAARuYW1lAQAAAA1fZ2V0VG9rZW5OYW1lAAAAAQAAAAd0b2tlbklkCQAEHQAAAAIFAAAABHRoaXMJAQAAAA5rZXlfVG9rZW5fbmFtZQAAAAEFAAAAB3Rva2VuSWQAAAAAC2NvbnRyb2xsZXJzBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAD2tleV9jb250cm9sbGVycwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAARyZXByBQAAAAckbWF0Y2gwCQAEtQAAAAIFAAAABHJlcHICAAAAASwFAAAAA25pbAAAAAAHbmFtZVRUTAkBAAAABXZhbHVlAAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAAtrZXlfbmFtZVRUTAAAAAAMcmVuZXdhbFByaWNlCQEAAAARZ2V0SW50ZWdlck9yVGhyb3cAAAACBQAAAAR0aGlzBQAAABBrZXlfcmVuZXdhbFByaWNlAAAAABBjb2xsZWN0b3JBZGRyZXNzCQEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIFAAAABHRoaXMFAAAAFGtleV9jb2xsZWN0b3JBZGRyZXNzAAAAAAljb2xsZWN0b3IJAQAAABNwYXJzZUFkZHJlc3NPclRocm93AAAAAQUAAAAQY29sbGVjdG9yQWRkcmVzcwAAAAANaXNJbml0aWFsaXplZAkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAALa2V5X25hbWVUVEwBAAAAEGlzUmVnaXN0ZXJlZE5hbWUAAAABAAAABG5hbWUJAQAAAAlpc0RlZmluZWQAAAABCQEAAAAJX2dldFRva2VuAAAAAQUAAAAEbmFtZQEAAAANaXNDcmVhdGVkTmFtZQAAAAEAAAAEbmFtZQkBAAAACWlzRGVmaW5lZAAAAAEJAQAAAA1fZ2V0Q3JlYXRlZEF0AAAAAQUAAAAEbmFtZQEAAAANaXNFeHBpcmVkTmFtZQAAAAEAAAAEbmFtZQQAAAAHJG1hdGNoMAkBAAAADV9nZXRFeHBpcmVzQXQAAAABBQAAAARuYW1lAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAACWV4cGlyZXNBdAUAAAAHJG1hdGNoMAkAAGYAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAJZXhwaXJlc0F0BwEAAAAMaXNBY3RpdmVOYW1lAAAAAQAAAARuYW1lAwMJAQAAABBpc1JlZ2lzdGVyZWROYW1lAAAAAQUAAAAEbmFtZQkBAAAADWlzQ3JlYXRlZE5hbWUAAAABBQAAAARuYW1lBwkBAAAAASEAAAABCQEAAAANaXNFeHBpcmVkTmFtZQAAAAEFAAAABG5hbWUHAQAAAAtpc1ZhbGlkTmFtZQAAAAEAAAAEbmFtZQQAAAAHc3ltYm9scwIAAAAlYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY3ODkwLQoBAAAADXZhbGlkYXRlQ2hhcnMAAAACAAAAB2lzVmFsaWQAAAAEY2hhcgMFAAAAB2lzVmFsaWQJAQAAAAhjb250YWlucwAAAAIFAAAAB3N5bWJvbHMFAAAABGNoYXIHAwMDAwMJAABmAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAAADCQAAZwAAAAIAAAAAAAAAAD8JAAExAAAAAQUAAAAEbmFtZQcJAQAAAAIhPQAAAAIJAASzAAAAAgUAAAAEbmFtZQIAAAACLS0AAAAAAAAAAAIHCQEAAAACIT0AAAACCQAEswAAAAIFAAAABG5hbWUCAAAAAS0AAAAAAAAAAAAHCQEAAAACIT0AAAACCQAEtwAAAAIFAAAABG5hbWUCAAAAAS0JAABlAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAAABBwoAAAAAAiRsCQAEtQAAAAIFAAAABG5hbWUCAAAAAAoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAGCgEAAAAFJGYwXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAANdmFsaWRhdGVDaGFycwAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyA2MwkBAAAABSRmMF8yAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8x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ZEFkZHJlc3MAAAABBQAAAAVvd25lcgUAAAAEdW5pdAkAAAIAAAABAgAAAB1Pd25lciBtdXN0IGJlIGEgdmFsaWQgYWRkcmVzcwkABEwAAAACAwkAAGYAAAACBQAAAAljcmVhdGVkQXQAAAAAAAAAAAAFAAAABHVuaXQJAAACAAAAAQIAAAAaQ3JlYXRlZEF0IG11c3QgYmUgcG9zaXRpdmUJAARMAAAAAgMJAABnAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACWNyZWF0ZWRBdAUAAAAEdW5pdAkAAAIAAAABAgAAACFDcmVhdGVkQXQgY2Fubm90IGJlIGluIHRoZSBmdXR1cmUFAAAAA25pbAQAAAAOaXNzdWVOYW1lVG9rZW4JAQAAAA9faXNzdWVOYW1lVG9rZW4AAAABBQAAAARuYW1lBAAAAAd0b2tlbklkCQAEOAAAAAEJAAGRAAAAAgUAAAAOaXNzdWVOYW1lVG9rZW4AAAAAAAAAAAAEAAAACHRva2VuU3RyCQACWAAAAAEFAAAAB3Rva2VuSWQEAAAAFXJlZ2lzdGVyTmFtZVdpdGhUb2tlbgkBAAAAFl9yZWdpc3Rlck5hbWVXaXRoVG9rZW4AAAADBQAAAARuYW1lBQAAAAh0b2tlblN0cgUAAAAJY3JlYXRlZEF0BAAAABR0cmFuc2ZlclRva2VuVG9Pd25lcgkBAAAAFV90cmFuc2ZlclRva2VuVG9Pd25lcgAAAAIFAAAACHRva2VuU3RyBQAAAAVvd25lcgQAAAAMc2V0T3duZXJzaGlwCQEAAAAJX3NldE93bmVyAAAAAgUAAAAEbmFtZQUAAAAFb3duZXIJAAROAAAAAgkABE4AAAACCQAETgAAAAIFAAAADmlzc3VlTmFtZVRva2VuBQAAABVyZWdpc3Rlck5hbWVXaXRoVG9rZW4FAAAAFHRyYW5zZmVyVG9rZW5Ub093bmVyBQAAAAxzZXRPd25lcnNoaXAAAAADaW52AQAAAAdyZWNsYWltAAAAAQAAAARuYW1lCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAJbW9kaWZpZXJzAAAAAQkABEwAAAACCQEAAAAPb25seUluaXRpYWxpemVkAAAAAAkABEwAAAACAwkBAAAADGlzQWN0aXZlTmFtZQAAAAEFAAAABG5hbWUFAAAABHVuaXQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAAWAFAAAABG5hbWUCAAAAD2AgaXMgbm90IGFjdGl2ZQUAAAADbmlsBAAAAAhuZXdPd25lcggFAAAAA2ludgAAAAxvcmlnaW5DYWxsZXIEAAAAD25ld093bmVyQWRkcmVzcwkABCUAAAABBQAAAAhuZXdPd25lcgQAAAAIdG9rZW5TdHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAACV9nZXRUb2tlbgAAAAEFAAAABG5hbWUJAAEsAAAAAgkAASwAAAACAgAAABhObyB0b2tlbiBpcyBpc3N1ZWQgZm9yIGAFAAAABG5hbWUCAAAAAWAEAAAAB3Rva2VuSWQJAAJZAAAAAQUAAAAIdG9rZW5TdHIEAAAACGhhc1Rva2VuCQAAAAAAAAIJAAPwAAAAAgUAAAAIbmV3T3duZXIFAAAAB3Rva2VuSWQAAAAAAAAAAAEEAAAADGlzVG9rZW5Pd25lcgkBAAAAB2lzT3duZXIAAAACBQAAAANpbnYFAAAABG5hbWUEAAAADWlzVG9rZW5FeGlzdHMEAAAAByRtYXRjaDAJAAPsAAAAAQUAAAAHdG9rZW5JZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFQXNzZXQEAAAABXRva2VuBQAAAAckbWF0Y2gwCQAAAAAAAAIIBQAAAAV0b2tlbgAAAAhxdWFudGl0eQAAAAAAAAAAAQcDAwUAAAAMaXNUb2tlbk93bmVyCQEAAAABIQAAAAEFAAAADWlzVG9rZW5FeGlzdHMHBAAAAA1pc3N1ZU5ld1Rva2VuCQEAAAAPX2lzc3VlTmFtZVRva2VuAAAAAQUAAAAEbmFtZQQAAAAKbmV3VG9rZW5JZAkABDgAAAABCQABkQAAAAIFAAAADWlzc3VlTmV3VG9rZW4AAAAAAAAAAAAEAAAAC25ld1Rva2VuU3RyCQACWAAAAAEFAAAACm5ld1Rva2VuSWQEAAAAF3Jlc3RvcmVOYW1lV2l0aE5ld1Rva2VuCQEAAAAVX3Jlc3RvcmVOYW1lV2l0aFRva2VuAAAAAgUAAAAEbmFtZQUAAAALbmV3VG9rZW5TdHIEAAAAF3RyYW5zZmVyTmV3VG9rZW5Ub093bmVyCQEAAAAVX3RyYW5zZmVyVG9rZW5Ub093bmVyAAAAAgUAAAALbmV3VG9rZW5TdHIFAAAAD25ld093bmVyQWRkcmVzcwkABE4AAAACCQAETgAAAAIFAAAADWlzc3VlTmV3VG9rZW4FAAAAF3Jlc3RvcmVOYW1lV2l0aE5ld1Rva2VuBQAAABd0cmFuc2Zlck5ld1Rva2VuVG9Pd25lcgMDBQAAAAxpc1Rva2VuT3duZXIFAAAACGhhc1Rva2VuBwkAAAIAAAABAgAAABxZb3UgYWxyZWFkeSBvd24gYSBuYW1lIHRva2VuAwkBAAAAASEAAAABBQAAAAhoYXNUb2tlbgkAAAIAAAABAgAAABtZb3UgZG9uJ3QgaGF2ZSBhIG5hbWUgdG9rZW4JAQAAAAlfc2V0T3duZXIAAAACBQAAAARuYW1lBQAAAA9uZXdPd25lckFkZHJlc3MAAAADaW52AQAAAAh0cmFuc2ZlcgAAAAEAAAAJcmVjaXBpZW50CQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAJbW9kaWZpZXJzAAAAAQkABEwAAAACCQEAAAAPb25seUluaXRpYWxpemVkAAAAAAkABEwAAAACAwkBAAAADmlzVmFsaWRBZGRyZXNzAAAAAQUAAAAJcmVjaXBpZW50BQAAAAR1bml0CQAAAgAAAAECAAAAIVJlY2lwaWVudCBtdXN0IGJlIGEgdmFsaWQgYWRkcmVzcwUAAAADbmlsBAAAAA9hdHRhY2hlZFRva2VuSWQDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAANpbnYAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAcT25seSBzaW5nbGUgcGF5bWVudCByZXF1aXJlZAkAAlgAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIICQABkQAAAAIIBQAAAANpbnYAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAIAAAAfUGF5bWVudCBtdXN0IGNvbnRhaW4gbmFtZSB0b2tlbgQAAAAMYXR0YWNoZWROYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAQAAAA1fZ2V0VG9rZW5OYW1lAAAAAQUAAAAPYXR0YWNoZWRUb2tlbklkAgAAAB9QYXltZW50IG11c3Qg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", "height": 3062453, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8dwEKgTphEGqTWAkYF93rRNR3oUcJQ3dWHEnpEQg1J3 Next: HUEkPdLnKsK6SPxe7xA8oidH5PVrJCBF1JngFZmG8ycz Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a (b,c,d) = ((((b + "_") + c) + "_") + d)
4+func a (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
55
66
7-func e (f) = a("Token", f, "name")
7+func d (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
88
99
10-func g (b) = a("Name", b, "token")
10+func e (f) = valueOrErrorMessage(addressFromString(f), (("Can't parse address from '" + f) + "'"))
1111
1212
13-func h (b) = a("Name", b, "owner")
13+func g (h,i,j) = ((((h + "_") + i) + "_") + j)
1414
1515
16-func i (b) = a("Name", b, "resolver")
16+func k (l) = g("Token", l, "name")
1717
1818
19-func j (b) = a("Name", b, "expiresAt")
19+func m (h) = g("Name", h, "token")
2020
2121
22-func k (b) = a("Name", b, "createdAt")
22+func n (h) = g("Name", h, "owner")
2323
2424
25-func l (b) = a("Name", b, "content")
25+func o (h) = g("Name", h, "resolver")
2626
2727
28-let m = "nameTTL"
29-
30-let n = "controllers"
31-
32-func o (b,p) = [StringEntry(h(b), p)]
28+func p (h) = g("Name", h, "expiresAt")
3329
3430
35-func q (b) = getString(this, h(b))
31+func q (h) = g("Name", h, "createdAt")
3632
3733
38-func r (b) = getString(this, i(b))
34+let r = "nameTTL"
35+
36+let s = "controllers"
37+
38+let t = "renewalPrice"
39+
40+let u = "collectorAddress"
41+
42+func v (h,w) = [StringEntry(n(h), w)]
3943
4044
41-func s (b) = getString(this, g(b))
45+func x (h) = getString(this, n(h))
4246
4347
44-func t (b) = getInteger(this, k(b))
48+func y (h) = getString(this, o(h))
4549
4650
47-func u (b) = getInteger(this, j(b))
51+func z (h) = getString(this, m(h))
4852
4953
50-func v (b) = getString(this, l(b))
54+func A (h) = getInteger(this, q(h))
5155
5256
53-func w () = getString(this, n)
57+func B (h) = getInteger(this, p(h))
5458
5559
56-let x = {
57- let y = w()
58- if ($isInstanceOf(y, "String"))
60+func C (l) = getString(this, k(l))
61+
62+
63+let D = {
64+ let E = getString(this, s)
65+ if ($isInstanceOf(E, "String"))
5966 then {
60- let z = y
61- split(z, ",")
67+ let F = E
68+ split(F, ",")
6269 }
6370 else nil
6471 }
6572
66-let A = value(getInteger(this, m))
73+let G = value(getInteger(this, r))
6774
68-let B = isDefined(getInteger(this, m))
75+let H = a(this, t)
6976
70-func C (b) = isDefined(getString(this, g(b)))
77+let I = d(this, u)
78+
79+let J = e(I)
80+
81+let K = isDefined(getInteger(this, r))
82+
83+func L (h) = isDefined(z(h))
7184
7285
73-func D (b) = isDefined(t(b))
86+func M (h) = isDefined(A(h))
7487
7588
76-func E (b) = {
77- let y = u(b)
78- if ($isInstanceOf(y, "Int"))
89+func N (h) = {
90+ let E = B(h)
91+ if ($isInstanceOf(E, "Int"))
7992 then {
80- let F = y
81- (lastBlock.timestamp > F)
93+ let O = E
94+ (lastBlock.timestamp > O)
8295 }
8396 else false
8497 }
8598
8699
87-func G (b) = if (if (C(b))
88- then D(b)
100+func P (h) = if (if (L(h))
101+ then M(h)
89102 else false)
90- then !(E(b))
103+ then !(N(h))
91104 else false
92105
93106
94-func H (b) = {
95- let I = "abcdefghijklmnopqrstuvwxyz1234567890-"
96- func J (K,L) = if (K)
97- then contains(I, L)
107+func Q (h) = {
108+ let R = "abcdefghijklmnopqrstuvwxyz1234567890-"
109+ func S (T,U) = if (T)
110+ then contains(R, U)
98111 else false
99112
100- if (if (if (if (if ((size(b) > 3))
101- then (63 >= size(b))
113+ if (if (if (if (if ((size(h) > 3))
114+ then (63 >= size(h))
102115 else false)
103- then (indexOf(b, "--") != 2)
116+ then (indexOf(h, "--") != 2)
104117 else false)
105- then (indexOf(b, "-") != 0)
118+ then (indexOf(h, "-") != 0)
106119 else false)
107- then (lastIndexOf(b, "-") != (size(b) - 1))
120+ then (lastIndexOf(h, "-") != (size(h) - 1))
108121 else false)
109122 then {
110- let M = split(b, "")
111- let N = size(M)
112- let O = true
113- func P (Q,R) = if ((R >= N))
114- then Q
115- else J(Q, M[R])
123+ let V = split(h, "")
124+ let W = size(V)
125+ let X = true
126+ func Y (Z,aa) = if ((aa >= W))
127+ then Z
128+ else S(Z, V[aa])
116129
117- func S (Q,R) = if ((R >= N))
118- then Q
130+ func ab (Z,aa) = if ((aa >= W))
131+ then Z
119132 else throw("List size exceeds 63")
120133
121- S(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63)
134+ ab(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(X, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63)
122135 }
123136 else false
124137 }
125138
126139
127-func T (b) = if (H(b))
128- then !(G(b))
140+func ac (h) = if (Q(h))
141+ then !(P(h))
129142 else false
130143
131144
132-func U (V) = isDefined(addressFromString(V))
145+func ad (f) = isDefined(addressFromString(f))
133146
134147
135-func W (X) = (X.caller == this)
148+func ae (af) = (af.caller == this)
136149
137150
138-func Y (X,b) = (toString(X.originCaller) == valueOrElse(q(b), ""))
151+func ag (af,h) = (toString(af.originCaller) == valueOrElse(x(h), ""))
139152
140153
141-func Z (aa) = containsElement(x, aa)
154+func ah (b) = containsElement(D, b)
142155
143156
144-func ab (b) = {
145- let ac = split(b, ".")
146- let ad = (size(ac) - 1)
147- let ae = ac[ad]
148- let af = makeString(removeByIndex(ac, ad), ".")
149- $Tuple2(ae, af)
157+func ai (h) = {
158+ let aj = split(h, ".")
159+ let ak = (size(aj) - 1)
160+ let al = aj[ak]
161+ let am = makeString(removeByIndex(aj, ak), ".")
162+ $Tuple2(al, am)
150163 }
151164
152165
153-func ag (b) = [Issue(if ((size(b) > 16))
154- then (take(b, 15) + "~")
155- else take(b, 16), (b + ".waves"), 1, 0, false)]
166+func an (h) = [Issue(if ((size(h) > 16))
167+ then (take(h, 15) + "~")
168+ else take(h, 16), (h + ".waves"), 1, 0, false)]
156169
157170
158-func ah (b,f,ai) = [StringEntry(g(b), f), StringEntry(e(f), b), IntegerEntry(k(b), ai), IntegerEntry(j(b), (ai + A))]
171+func ao (h,l,ap) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), ap), IntegerEntry(p(h), (ap + G))]
159172
160173
161-func aj (b,f) = [StringEntry(g(b), f), StringEntry(e(f), b)]
174+func aq (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
162175
163176
164-func ak (f,p) = [ScriptTransfer(addressFromStringValue(p), 1, fromBase58String(f))]
177+func ar (l,w) = [ScriptTransfer(addressFromStringValue(w), 1, fromBase58String(l))]
165178
166179
167-func al (am) = unit
180+func as (at) = unit
168181
169182
170-func an (X) = if (W(X))
183+func au (af) = if (ae(af))
171184 then unit
172185 else throw("Permission denied")
173186
174187
175-func ao (X) = if (if (W(X))
188+func av (af) = if (if (ae(af))
176189 then true
177- else Z(toString(X.caller)))
190+ else ah(toString(af.caller)))
178191 then unit
179192 else throw("Permission denied")
180193
181194
182-func ap (X,b) = if (if (W(X))
195+func aw (af,h) = if (if (ae(af))
183196 then true
184- else Y(X, b))
197+ else ag(af, h))
185198 then unit
186199 else throw("Permission denied")
187200
188201
189-func aq () = if (B)
202+func ax () = if (K)
190203 then unit
191204 else throw("Contract is not initialized")
192205
193206
194-@Callable(X)
195-func init (A) = valueOrElse(al([an(X), if ((A > 0))
207+@Callable(af)
208+func init (G) = valueOrElse(as([au(af), if ((G > 0))
196209 then unit
197- else throw("TTL cannot be negative"), if (!(B))
210+ else throw("TTL cannot be negative"), if (!(K))
198211 then unit
199- else throw("Contract has already been initialized")]), [IntegerEntry(m, A)])
212+ else throw("Contract has already been initialized")]), [IntegerEntry(r, G)])
200213
201214
202215
203-@Callable(X)
204-func supportsInterface (ar) = $Tuple2(nil, containsElement(["owner", "resolver", "createdAt", "expiresAt", "tokenId", "content"], ar))
216+@Callable(af)
217+func addController (b) = valueOrElse(as([au(af), if (ad(b))
218+ then unit
219+ else throw("Controller must be a valid address"), if (!(ah(b)))
220+ then unit
221+ else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((D :+ b), ","))])
205222
206223
207224
208-@Callable(X)
209-func setContent (b,as) = valueOrElse(al([aq(), ap(X, b), if (if ((size(as) == 0))
210- then true
211- else if ((size(as) == 53))
212- then (take(as, 4) == "ipfs")
213- else false)
225+@Callable(af)
226+func removeController (b) = valueOrElse(as([au(af), if (ah(b))
214227 then unit
215- else throw("Incorrect content string")]), {
216- let at = takeRight(as, 46)
217- let au = fromBase58String(at)
218- if ((au == au))
219- then if ((size(as) > 0))
220- then [StringEntry(l(b), as)]
221- else [DeleteEntry(l(b))]
222- else throw("Strict value is not equal to itself.")
228+ else throw((("Controller `" + b) + "` is not registered"))]), {
229+ let ay = value(indexOf(D, b))
230+[StringEntry(s, makeString(removeByIndex(D, ay), ","))]
223231 })
224232
225233
226234
227-@Callable(X)
228-func addController (aa) = valueOrElse(al([an(X), if (U(aa))
229- then unit
230- else throw("Controller must be a valid address"), if (!(Z(aa)))
231- then unit
232- else throw((("Controller `" + aa) + "` is already registered"))]), [StringEntry(n, makeString((x :+ aa), ","))])
235+@Callable(af)
236+func isValid (h) = $Tuple2(nil, Q(h))
233237
234238
235239
236-@Callable(X)
237-func removeController (aa) = valueOrElse(al([an(X), if (Z(aa))
240+@Callable(af)
241+func isAvailable (h) = $Tuple2(nil, ac(h))
242+
243+
244+
245+@Callable(af)
246+func isActive (h) = $Tuple2(nil, P(h))
247+
248+
249+
250+@Callable(af)
251+func resolve (h,az,aA) = {
252+ let aB = ai(h)
253+ let aC = aB._1
254+ let am = aB._2
255+ let w = x(aC)
256+ $Tuple2(nil, if ((size(am) != 0))
257+ then unit
258+ else if (containsElement(D, w))
259+ then unit
260+ else {
261+ let E = az
262+ if (("owner" == E))
263+ then w
264+ else if (("resolver" == E))
265+ then y(aC)
266+ else if (("createdAt" == E))
267+ then A(aC)
268+ else if (("expiresAt" == E))
269+ then B(aC)
270+ else if (("tokenId" == E))
271+ then z(aC)
272+ else unit
273+ })
274+ }
275+
276+
277+
278+@Callable(af)
279+func register (h,w,ap) = valueOrElse(as([ax(), av(af), if (ac(h))
238280 then unit
239- else throw((("Controller `" + aa) + "` is not registered"))]), {
240- let av = value(indexOf(x, aa))
241-[StringEntry(n, makeString(removeByIndex(x, av), ","))]
281+ else throw((("`" + h) + "` cannot be registered")), if (ad(w))
282+ then unit
283+ else throw("Owner must be a valid address"), if ((ap > 0))
284+ then unit
285+ else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= ap))
286+ then unit
287+ else throw("CreatedAt cannot be in the future")]), {
288+ let aD = an(h)
289+ let l = calculateAssetId(aD[0])
290+ let aE = toBase58String(l)
291+ let aF = ao(h, aE, ap)
292+ let aG = ar(aE, w)
293+ let aH = v(h, w)
294+ (((aD ++ aF) ++ aG) ++ aH)
242295 })
243296
244297
245298
246-@Callable(X)
247-func isValid (b) = $Tuple2(nil, H(b))
248-
249-
250-
251-@Callable(X)
252-func isAvailable (b) = $Tuple2(nil, T(b))
253-
254-
255-
256-@Callable(X)
257-func resolve (b,ar,aw) = {
258- let ax = ab(b)
259- let ay = ax._1
260- let af = ax._2
261- $Tuple2(nil, {
262- let y = ar
263- if (("owner" == y))
264- then q(ay)
265- else if (("resolver" == y))
266- then r(ay)
267- else if (("createdAt" == y))
268- then t(ay)
269- else if (("expiresAt" == y))
270- then u(ay)
271- else if (("tokenId" == y))
272- then s(ay)
273- else if (("content" == y))
274- then v(ay)
275- else unit
276- })
277- }
278-
279-
280-
281-@Callable(X)
282-func register (b,p,ai) = valueOrElse(al([aq(), ao(X), if (T(b))
299+@Callable(af)
300+func reclaim (h) = valueOrElse(as([ax(), if (P(h))
283301 then unit
284- else throw((("`" + b) + "` cannot be registered")), if (U(p))
285- then unit
286- else throw("Owner must be a valid address"), if ((ai > 0))
287- then unit
288- else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= ai))
289- then unit
290- else throw("CreatedAt cannot be in the future")]), {
291- let az = ag(b)
292- let f = calculateAssetId(az[0])
293- let aA = toBase58String(f)
294- let aB = ah(b, aA, ai)
295- let aC = ak(aA, p)
296- let aD = o(b, p)
297- (((az ++ aB) ++ aC) ++ aD)
302+ else throw((("`" + h) + "` is not active"))]), {
303+ let aI = af.originCaller
304+ let aJ = toString(aI)
305+ let aE = valueOrErrorMessage(z(h), (("No token is issued for `" + h) + "`"))
306+ let l = fromBase58String(aE)
307+ let aK = (assetBalance(aI, l) == 1)
308+ let aL = ag(af, h)
309+ let aM = {
310+ let E = assetInfo(l)
311+ if ($isInstanceOf(E, "Asset"))
312+ then {
313+ let aN = E
314+ (aN.quantity == 1)
315+ }
316+ else false
317+ }
318+ if (if (aL)
319+ then !(aM)
320+ else false)
321+ then {
322+ let aO = an(h)
323+ let aP = calculateAssetId(aO[0])
324+ let aQ = toBase58String(aP)
325+ let aR = aq(h, aQ)
326+ let aS = ar(aQ, aJ)
327+ ((aO ++ aR) ++ aS)
328+ }
329+ else if (if (aL)
330+ then aK
331+ else false)
332+ then throw("You already own a name token")
333+ else if (!(aK))
334+ then throw("You don't have a name token")
335+ else v(h, aJ)
298336 })
299337
300338
301339
302-@Callable(X)
303-func reclaim (b) = valueOrElse(al([aq(), if (G(b))
340+@Callable(af)
341+func transfer (aT) = valueOrElse(as([ax(), if (ad(aT))
304342 then unit
305- else throw((("`" + b) + "` is not active"))]), {
306- let aE = X.originCaller
307- let aF = toString(aE)
308- let aA = valueOrErrorMessage(s(b), (("No token is issued for `" + b) + "`"))
309- let f = fromBase58String(aA)
310- let aG = (assetBalance(aE, f) == 1)
311- let aH = Y(X, b)
312- let aI = {
313- let y = assetInfo(f)
314- if ($isInstanceOf(y, "Asset"))
315- then {
316- let aJ = y
317- (aJ.quantity == 1)
318- }
319- else false
320- }
321- if (if (aH)
322- then !(aI)
343+ else throw("Recipient must be a valid address")]), {
344+ let aU = if ((size(af.payments) != 1))
345+ then throw("Only single payment required")
346+ else toBase58String(valueOrErrorMessage(af.payments[0].assetId, "Payment must contain name token"))
347+ let aV = valueOrErrorMessage(C(aU), "Payment must contain name token")
348+ let aW = value(z(aV))
349+ if (if ((aU != aW))
350+ then true
351+ else !(P(aV)))
352+ then throw((("Ownership of `" + aV) + "` for this token is expired"))
353+ else (ar(aU, aT) ++ v(aV, aT))
354+ })
355+
356+
357+
358+@Callable(af)
359+func renew (h,aX) = valueOrElse(as([ax(), aw(af, h), if (P(h))
360+ then unit
361+ else throw((("Name '" + h) + "' is expired or it doesn't exist")), if ((aX > 0))
362+ then unit
363+ else throw("Amount of years must be positive integer number")]), {
364+ let aY = if (if ((size(af.payments) == 1))
365+ then (af.payments[0].assetId == unit)
323366 else false)
324- then {
325- let aK = ag(b)
326- let aL = calculateAssetId(aK[0])
327- let aM = toBase58String(aL)
328- let aN = aj(b, aM)
329- let aO = ak(aM, aF)
330- ((aK ++ aN) ++ aO)
367+ then af.payments[0]
368+ else throw("Single Waves payment required")
369+ let aZ = (aX * H)
370+ if ((aY.amount != aZ))
371+ then throw((((((((("Attached payment '" + toString(aY.amount)) + "' is not equal to expected '") + toString(aZ)) + "' for '") + toString(aX)) + "' years. Diff: '") + toString((aY.amount - aZ))) + "'"))
372+ else {
373+ let ba = valueOrErrorMessage(B(h), (("Can't read expiration data for name '" + h) + "'"))
374+[IntegerEntry(p(h), (ba + (aX * G))), ScriptTransfer(J, aY.amount, aY.assetId)]
331375 }
332- else if (if (aH)
333- then aG
334- else false)
335- then throw("You already own a name token")
336- else if (!(aG))
337- then throw("You don't have a name token")
338- else o(b, aF)
339376 })
340377
341378

github/deemru/w8io/6500d08 
166.17 ms