tx · HUEkPdLnKsK6SPxe7xA8oidH5PVrJCBF1JngFZmG8ycz

3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz:  -0.01500000 Waves

2024.04.15 03:22 [3063164] smart account 3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz > SELF 0.00000000 Waves

{ "type": 13, "id": "HUEkPdLnKsK6SPxe7xA8oidH5PVrJCBF1JngFZmG8ycz", "fee": 1500000, "feeAssetId": null, "timestamp": 1713140526288, "version": 2, "chainId": 84, "sender": "3NA73oUXjqp7SpudXWV1yMFuKm9awPbqsVz", "senderPublicKey": "2mHW72YTfnxJ1M8WsdUQjgpp3a2SUbt9mbAiePGiuJok", "proofs": [ "2ZD6RN3nwGiAUkekEJq3D9v6tcSYQisJs6nFoGPNQNB12CdCGDBJTX5ERijkaK1zPZ78acLNzC521qzxo7JnBgqj" ], "script": "base64:AAIFAAAAAAAAAD4IAhIDCgEBEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIFCgMICB8SBQoDCAgBEgMKAQgSAwoBCBIECgIIAQAAADABAAAAEWdldEludGVnZXJPclRocm93AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMQ2FuJ3QgcmVhZCAnBQAAAANrZXkCAAAADScgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAAHYWRkcmVzcwEAAAAQZ2V0U3RyaW5nT3JUaHJvdwAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADENhbid0IHJlYWQgJwUAAAADa2V5AgAAAA0nIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAB2FkZHJlc3MBAAAAE3BhcnNlQWRkcmVzc09yVGhyb3cAAAABAAAADG1heWJlQWRkcmVzcwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAADG1heWJlQWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAGkNhbid0IHBhcnNlIGFkZHJlc3MgZnJvbSAnBQAAAAxtYXliZUFkZHJlc3MCAAAAAScBAAAACmtleV9lbnRpdHkAAAADAAAABG5hbWUAAAACcGsAAAAIcHJvcGVydHkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEbmFtZQIAAAABXwUAAAACcGsCAAAAAV8FAAAACHByb3BlcnR5AQAAAA5rZXlfVG9rZW5fbmFtZQAAAAEAAAAHdG9rZW5JZAkBAAAACmtleV9lbnRpdHkAAAADAgAAAAVUb2tlbgUAAAAHdG9rZW5JZAIAAAAEbmFtZQEAAAAOa2V5X05hbWVfdG9rZW4AAAABAAAABG5hbWUJAQAAAAprZXlfZW50aXR5AAAAAwIAAAAETmFtZQUAAAAEbmFtZQIAAAAFdG9rZW4BAAAADmtleV9OYW1lX293bmVyAAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAABW93bmVyAQAAABFrZXlfTmFtZV9yZXNvbHZlcgAAAAEAAAAEbmFtZQkBAAAACmtleV9lbnRpdHkAAAADAgAAAAROYW1lBQAAAARuYW1lAgAAAAhyZXNvbHZlcgEAAAASa2V5X05hbWVfZXhwaXJlc0F0AAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAACWV4cGlyZXNBdAEAAAASa2V5X05hbWVfY3JlYXRlZEF0AAAAAQAAAARuYW1lCQEAAAAKa2V5X2VudGl0eQAAAAMCAAAABE5hbWUFAAAABG5hbWUCAAAACWNyZWF0ZWRBdAAAAAALa2V5X25hbWVUVEwCAAAAB25hbWVUVEwAAAAAD2tleV9jb250cm9sbGVycwIAAAALY29udHJvbGxlcnMAAAAAFGtleV9jb2xsZWN0b3JBZGRyZXNzAgAAABBjb2xsZWN0b3JBZGRyZXNzAAAAABJrZXlfYXVjdGlvbkFkZHJlc3MCAAAADmF1Y3Rpb25BZGRyZXNzAQAAAAlfc2V0T3duZXIAAAACAAAABG5hbWUAAAAFb3duZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleV9OYW1lX293bmVyAAAAAQUAAAAEbmFtZQUAAAAFb3duZXIFAAAAA25pbAEAAAAJX2dldE93bmVyAAAAAQAAAARuYW1lCQAEHQAAAAIFAAAABHRoaXMJAQAAAA5rZXlfTmFtZV9vd25lcgAAAAEFAAAABG5hbWUBAAAADF9nZXRSZXNvbHZlcgAAAAEAAAAEbmFtZQkABB0AAAACBQAAAAR0aGlzCQEAAAARa2V5X05hbWVfcmVzb2x2ZXIAAAABBQAAAARuYW1lAQAAAAlfZ2V0VG9rZW4AAAABAAAABG5hbWUJAAQdAAAAAgUAAAAEdGhpcwkBAAAADmtleV9OYW1lX3Rva2VuAAAAAQUAAAAEbmFtZQEAAAANX2dldENyZWF0ZWRBdAAAAAEAAAAEbmFtZQkABBoAAAACBQAAAAR0aGlzCQEAAAASa2V5X05hbWVfY3JlYXRlZEF0AAAAAQUAAAAEbmFtZQEAAAANX2dldEV4cGlyZXNBdAAAAAEAAAAEbmFtZQkABBoAAAACBQAAAAR0aGlzCQEAAAASa2V5X05hbWVfZXhwaXJlc0F0AAAAAQUAAAAEbmFtZQEAAAANX2dldFRva2VuTmFtZQAAAAEAAAAHdG9rZW5JZAkABB0AAAACBQAAAAR0aGlzCQEAAAAOa2V5X1Rva2VuX25hbWUAAAABBQAAAAd0b2tlbklkAAAAAAtjb250cm9sbGVycwQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAA9rZXlfY29udHJvbGxlcnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAEcmVwcgUAAAAHJG1hdGNoMAkABLUAAAACBQAAAARyZXByAgAAAAEsBQAAAANuaWwAAAAAB25hbWVUVEwJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAALa2V5X25hbWVUVEwAAAAAEGNvbGxlY3RvckFkZHJlc3MJAQAAABBnZXRTdHJpbmdPclRocm93AAAAAgUAAAAEdGhpcwUAAAAUa2V5X2NvbGxlY3RvckFkZHJlc3MAAAAACWNvbGxlY3RvcgkBAAAAE3BhcnNlQWRkcmVzc09yVGhyb3cAAAABBQAAABBjb2xsZWN0b3JBZGRyZXNzAAAAAA5hdWN0aW9uQWRkcmVzcwkBAAAAEGdldFN0cmluZ09yVGhyb3cAAAACBQAAAAR0aGlzBQAAABJrZXlfYXVjdGlvbkFkZHJlc3MAAAAAB2F1Y3Rpb24JAQAAABNwYXJzZUFkZHJlc3NPclRocm93AAAAAQUAAAAOYXVjdGlvbkFkZHJlc3MAAAAADWlzSW5pdGlhbGl6ZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAAC2tleV9uYW1lVFRMAQAAABBpc1JlZ2lzdGVyZWROYW1lAAAAAQAAAARuYW1lCQEAAAAJaXNEZWZpbmVkAAAAAQkBAAAACV9nZXRUb2tlbgAAAAEFAAAABG5hbWUBAAAADWlzQ3JlYXRlZE5hbWUAAAABAAAABG5hbWUJAQAAAAlpc0RlZmluZWQAAAABCQEAAAANX2dldENyZWF0ZWRBdAAAAAEFAAAABG5hbWUBAAAADWlzRXhwaXJlZE5hbWUAAAABAAAABG5hbWUEAAAAByRtYXRjaDAJAQAAAA1fZ2V0RXhwaXJlc0F0AAAAAQUAAAAEbmFtZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAlleHBpcmVzQXQFAAAAByRtYXRjaDAJAABmAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACWV4cGlyZXNBdAcBAAAADGlzQWN0aXZlTmFtZQAAAAEAAAAEbmFtZQMDCQEAAAAQaXNSZWdpc3RlcmVkTmFtZQAAAAEFAAAABG5hbWUJAQAAAA1pc0NyZWF0ZWROYW1lAAAAAQUAAAAEbmFtZQcJAQAAAAEhAAAAAQkBAAAADWlzRXhwaXJlZE5hbWUAAAABBQAAAARuYW1lBwEAAAALaXNWYWxpZE5hbWUAAAABAAAABG5hbWUEAAAAB3N5bWJvbHMCAAAAJWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MTIzNDU2Nzg5MC0KAQAAAA12YWxpZGF0ZUNoYXJzAAAAAgAAAAdpc1ZhbGlkAAAABGNoYXIDBQAAAAdpc1ZhbGlkCQEAAAAIY29udGFpbnMAAAACBQAAAAdzeW1ib2xzBQAAAARjaGFyBwMDAwMDCQAAZgAAAAIJAAExAAAAAQUAAAAEbmFtZQAAAAAAAAAAAwkAAGcAAAACAAAAAAAAAAA/CQABMQAAAAEFAAAABG5hbWUHCQEAAAACIT0AAAACCQAEswAAAAIFAAAABG5hbWUCAAAAAi0tAAAAAAAAAAACBwkBAAAAAiE9AAAAAgkABLMAAAACBQAAAARuYW1lAgAAAAEtAAAAAAAAAAAABwkBAAAAAiE9AAAAAgkABLcAAAACBQAAAARuYW1lAgAAAAEtCQAAZQAAAAIJAAExAAAAAQUAAAAEbmFtZQAAAAAAAAAAAQcKAAAAAAIkbAkABLUAAAACBQAAAARuYW1lAgAAAAAKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwBgoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAADXZhbGlkYXRlQ2hhcnMAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgNjMJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAA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AAAAAgIAAAABYAUAAAAEbmFtZQIAAAAWYCBjYW5ub3QgYmUgcmVnaXN0ZXJlZAkABEwAAAACAwkBAAAADmlzVmFsaWRBZGRyZXNzAAAAAQUAAAAFb3duZXIFAAAABHVuaXQJAAACAAAAAQIAAAAdT3duZXIgbXVzdCBiZSBhIHZhbGlkIGFkZHJlc3MJAARMAAAAAgMJAABmAAAAAgUAAAAJY3JlYXRlZEF0AAAAAAAAAAAABQAAAAR1bml0CQAAAgAAAAECAAAAGkNyZWF0ZWRBdCBtdXN0IGJlIHBvc2l0aXZlCQAETAAAAAIDCQAAZwAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAljcmVhdGVkQXQFAAAABHVuaXQJAAACAAAAAQIAAAAhQ3JlYXRlZEF0IGNhbm5vdCBiZSBpbiB0aGUgZnV0dXJlBQAAAANuaWwEAAAADmlzc3VlTmFtZVRva2VuCQEAAAAPX2lzc3VlTmFtZVRva2VuAAAAAQUAAAAEbmFtZQQAAAAHdG9rZW5JZAkABDgAAAABCQABkQAAAAIFAAAADmlzc3VlTmFtZVRva2VuAAAAAAAAAAAABAAAAAh0b2tlblN0cgkAAlgAAAABBQAAAAd0b2tlbklkBAAAABVyZWdpc3Rlck5hbWVXaXRoVG9rZW4JAQAAABZfcmVnaXN0ZXJOYW1lV2l0aFRva2VuAAAAAwUAAAAEbmFtZQUAAAAIdG9rZW5TdHIFAAAACWNyZWF0ZWRBdAQAAAAUdHJhbnNmZXJUb2tlblRvT3duZXIJAQAAABVfdHJhbnNmZXJUb2tlblRvT3duZXIAAAACBQAAAAh0b2tlblN0cgUAAAAFb3duZXIEAAAADHNldE93bmVyc2hpcAkBAAAACV9zZXRPd25lcgAAAAIFAAAABG5hbWUFAAAABW93bmVyCQAETgAAAAIJAAROAAAAAgkABE4AAAACBQAAAA5pc3N1ZU5hbWVUb2tlbgUAAAAVcmVnaXN0ZXJOYW1lV2l0aFRva2VuBQAAABR0cmFuc2ZlclRva2VuVG9Pd25lcgUAAAAMc2V0T3duZXJzaGlwAAAAA2ludgEAAAAHcmVjbGFpbQAAAAEAAAAEbmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAACW1vZGlmaWVycwAAAAEJAARMAAAAAgkBAAAAD29ubHlJbml0aWFsaXplZAAAAAAJAARMAAAAAgMJAQAAAAxpc0FjdGl2ZU5hbWUAAAABBQAAAARuYW1lBQAAAAR1bml0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAFgBQAAAARuYW1lAgAAAA9gIGlzIG5vdCBhY3RpdmUFAAAAA25pbAQAAAAIbmV3T3duZXIIBQAAAANpbnYAAAAMb3JpZ2luQ2FsbGVyBAAAAA9uZXdPd25lckFkZHJlc3MJAAQlAAAAAQUAAAAIbmV3T3duZXIEAAAACHRva2VuU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAQAAAAlfZ2V0VG9rZW4AAAABBQAAAARuYW1lCQABLAAAAAIJAAEsAAAAAgIAAAAYTm8gdG9rZW4gaXMgaXNzdWVkIGZvciBgBQAAAARuYW1lAgAAAAFgBAAAAAd0b2tlbklkCQACWQAAAAEFAAAACHRva2VuU3RyBAAAAAhoYXNUb2tlbgkAAAAAAAACCQAD8AAAAAIFAAAACG5ld093bmVyBQAAAAd0b2tlbklkAAAAAAAAAAABBAAAAAxpc1Rva2VuT3duZXIJAQAAAAdpc093bmVyAAAAAgUAAAADaW52BQAAAARuYW1lBAAAAA1pc1Rva2VuRXhpc3RzBAAAAAckbWF0Y2gwCQAD7AAAAAEFAAAAB3Rva2VuSWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAV0b2tlbgUAAAAHJG1hdGNoMAkAAAAAAAACCAUAAAAFdG9rZW4AAAAIcXVhbnRpdHkAAAAAAAAAAAEHAwMFAAAADGlzVG9rZW5Pd25lcgkBAAAAASEAAAABBQAAAA1pc1Rva2VuRXhpc3RzBwQAAAANaXNzdWVOZXdUb2tlbgkBAAAAD19pc3N1ZU5hbWVUb2tlbgAAAAEFAAAABG5hbWUEAAAACm5ld1Rva2VuSWQJAAQ4AAAAAQkAAZEAAAACBQAAAA1pc3N1ZU5ld1Rva2VuAAAAAAAAAAAABAAAAAtuZXdUb2tlblN0cgkAAlgAAAABBQAAAApuZXdUb2tlbklkBAAAABdyZXN0b3JlTmFtZVdpdGhOZXdUb2tlbgkBAAAAFV9yZXN0b3JlTmFtZVdpdGhUb2tlbgAAAAIFAAAABG5hbWUFAAAAC25ld1Rva2VuU3RyBAAAABd0cmFuc2Zlck5ld1Rva2VuVG9Pd25lcgkBAAAAFV90cmFuc2ZlclRva2VuVG9Pd25lcgAAAAIFAAAAC25ld1Rva2VuU3RyBQAAAA9uZXdPd25lckFkZHJlc3MJAAROAAAAAgkABE4AAAACBQAAAA1pc3N1ZU5ld1Rva2VuBQAAABdyZXN0b3JlTmFtZVdpdGhOZXdUb2tlbgUAAAAXdHJhbnNmZXJOZXdUb2tlblRvT3duZXIDAwUAAAAMaXNUb2tlbk93bmVyBQAAAAhoYXNUb2tlbgcJAAACAAAAAQIAAAAcWW91IGFscmVhZHkgb3duIGEgbmFtZSB0b2tlbgMJAQAAAAEhAAAAAQUAAAAIaGFzVG9rZW4JAAACAAAAAQIAAAAbWW91IGRvbid0IGhhdmUgYSBuYW1lIHRva2VuCQEAAAAJX3NldE93bmVyAAAAAgUAAAAEbmFtZQUAAAAPbmV3T3duZXJBZGRyZXNzAAAAA2ludgEAAAAIdHJhbnNmZXIAAAABAAAACXJlY2lwaWVudAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAACW1vZGlmaWVycwAAAAEJAARMAAAAAgkBAAAAD29ubHlJbml0aWFsaXplZAAAAAAJAARMAAAAAgMJAQAAAA5pc1ZhbGlkQWRkcmVzcwAAAAEFAAAACXJlY2lwaWVudAUAAAAEdW5pdAkAAAIAAAABAgAAACFSZWNpcGllbnQgbXVzdCBiZSBhIHZhbGlkIGFkZHJlc3MFAAAAA25pbAQAAAAPYXR0YWNoZWRUb2tlbklkAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAADaW52AAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAAHE9ubHkgc2luZ2xlIHBheW1lbnQgcmVxdWlyZWQJAAJYAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCAkAAZEAAAACCAUAAAADaW52AAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQCAAAAH1BheW1lbnQgbXVzdCBjb250YWluIG5hbWUgdG9rZW4EAAAADGF0dGFjaGVkTmFtZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3Nh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", "height": 3063164, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8arh3xcfxxBAzKWsZEe3ckPLHqpmbsGk74WAYUCWpQoJ Next: AVjvxLFwviiV1LuFBLxLjgUyaoBigbaZVJ1zkHBsvWiw Diff:
OldNewDifferences
3535
3636 let s = "controllers"
3737
38-let t = "renewalPrice"
38+let t = "collectorAddress"
3939
40-let u = "collectorAddress"
40+let u = "auctionAddress"
4141
4242 func v (h,w) = [StringEntry(n(h), w)]
4343
7272
7373 let G = value(getInteger(this, r))
7474
75-let H = a(this, t)
75+let H = d(this, t)
7676
77-let I = d(this, u)
77+let I = e(H)
7878
79-let J = e(I)
79+let J = d(this, u)
8080
81-let K = isDefined(getInteger(this, r))
81+let K = e(J)
8282
83-func L (h) = isDefined(z(h))
83+let L = isDefined(getInteger(this, r))
84+
85+func M (h) = isDefined(z(h))
8486
8587
86-func M (h) = isDefined(A(h))
88+func N (h) = isDefined(A(h))
8789
8890
89-func N (h) = {
91+func O (h) = {
9092 let E = B(h)
9193 if ($isInstanceOf(E, "Int"))
9294 then {
93- let O = E
94- (lastBlock.timestamp > O)
95+ let P = E
96+ (lastBlock.timestamp > P)
9597 }
9698 else false
9799 }
98100
99101
100-func P (h) = if (if (L(h))
101- then M(h)
102+func Q (h) = if (if (M(h))
103+ then N(h)
102104 else false)
103- then !(N(h))
105+ then !(O(h))
104106 else false
105107
106108
107-func Q (h) = {
108- let R = "abcdefghijklmnopqrstuvwxyz1234567890-"
109- func S (T,U) = if (T)
110- then contains(R, U)
109+func R (h) = {
110+ let S = "abcdefghijklmnopqrstuvwxyz1234567890-"
111+ func T (U,V) = if (U)
112+ then contains(S, V)
111113 else false
112114
113115 if (if (if (if (if ((size(h) > 3))
120122 then (lastIndexOf(h, "-") != (size(h) - 1))
121123 else false)
122124 then {
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])
125+ let W = split(h, "")
126+ let X = size(W)
127+ let Y = true
128+ func Z (aa,ab) = if ((ab >= X))
129+ then aa
130+ else T(aa, W[ab])
129131
130- func ab (Z,aa) = if ((aa >= W))
131- then Z
132+ func ac (aa,ab) = if ((ab >= X))
133+ then aa
132134 else throw("List size exceeds 63")
133135
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)
136+ ac(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Y, 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)
135137 }
136138 else false
137139 }
138140
139141
140-func ac (h) = if (Q(h))
141- then !(P(h))
142+func ad (h) = if (R(h))
143+ then !(Q(h))
142144 else false
143145
144146
145-func ad (f) = isDefined(addressFromString(f))
147+func ae (f) = isDefined(addressFromString(f))
146148
147149
148-func ae (af) = (af.caller == this)
150+func af (ag) = (ag.caller == this)
149151
150152
151-func ag (af,h) = (toString(af.originCaller) == valueOrElse(x(h), ""))
153+func ah (ag,h) = (toString(ag.originCaller) == valueOrElse(x(h), ""))
152154
153155
154-func ah (b) = containsElement(D, b)
156+func ai (b) = containsElement(D, b)
155157
156158
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)
159+func aj (h) = {
160+ let ak = split(h, ".")
161+ let al = (size(ak) - 1)
162+ let am = ak[al]
163+ let an = makeString(removeByIndex(ak, al), ".")
164+ $Tuple2(am, an)
163165 }
164166
165167
166-func an (h) = [Issue(if ((size(h) > 16))
168+func ao (h) = [Issue(if ((size(h) > 16))
167169 then (take(h, 15) + "~")
168170 else take(h, 16), (h + ".waves"), 1, 0, false)]
169171
170172
171-func ao (h,l,ap) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), ap), IntegerEntry(p(h), (ap + G))]
173+func ap (h,l,aq) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), aq), IntegerEntry(p(h), (aq + G))]
172174
173175
174-func aq (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
176+func ar (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
175177
176178
177-func ar (l,w) = [ScriptTransfer(addressFromStringValue(w), 1, fromBase58String(l))]
179+func as (l,w) = [ScriptTransfer(addressFromStringValue(w), 1, fromBase58String(l))]
178180
179181
180-func as (at) = unit
182+func at (au) = unit
181183
182184
183-func au (af) = if (ae(af))
185+func av (ag) = if (af(ag))
184186 then unit
185187 else throw("Permission denied")
186188
187189
188-func av (af) = if (if (ae(af))
190+func aw (ag) = if (if (af(ag))
189191 then true
190- else ah(toString(af.caller)))
192+ else ai(toString(ag.caller)))
191193 then unit
192194 else throw("Permission denied")
193195
194196
195-func aw (af,h) = if (if (ae(af))
197+func ax (ag,h) = if (if (af(ag))
196198 then true
197- else ag(af, h))
199+ else ah(ag, h))
198200 then unit
199201 else throw("Permission denied")
200202
201203
202-func ax () = if (K)
204+func ay () = if (L)
203205 then unit
204206 else throw("Contract is not initialized")
205207
206208
207-@Callable(af)
208-func init (G) = valueOrElse(as([au(af), if ((G > 0))
209+@Callable(ag)
210+func init (G) = valueOrElse(at([av(ag), if ((G > 0))
209211 then unit
210- else throw("TTL cannot be negative"), if (!(K))
212+ else throw("TTL cannot be negative"), if (!(L))
211213 then unit
212214 else throw("Contract has already been initialized")]), [IntegerEntry(r, G)])
213215
214216
215217
216-@Callable(af)
217-func addController (b) = valueOrElse(as([au(af), if (ad(b))
218+@Callable(ag)
219+func addController (b) = valueOrElse(at([av(ag), if (ae(b))
218220 then unit
219- else throw("Controller must be a valid address"), if (!(ah(b)))
221+ else throw("Controller must be a valid address"), if (!(ai(b)))
220222 then unit
221223 else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((D :+ b), ","))])
222224
223225
224226
225-@Callable(af)
226-func removeController (b) = valueOrElse(as([au(af), if (ah(b))
227+@Callable(ag)
228+func removeController (b) = valueOrElse(at([av(ag), if (ai(b))
227229 then unit
228230 else throw((("Controller `" + b) + "` is not registered"))]), {
229- let ay = value(indexOf(D, b))
230-[StringEntry(s, makeString(removeByIndex(D, ay), ","))]
231+ let az = value(indexOf(D, b))
232+[StringEntry(s, makeString(removeByIndex(D, az), ","))]
231233 })
232234
233235
234236
235-@Callable(af)
236-func isValid (h) = $Tuple2(nil, Q(h))
237+@Callable(ag)
238+func isValid (h) = $Tuple2(nil, R(h))
237239
238240
239241
240-@Callable(af)
241-func isAvailable (h) = $Tuple2(nil, ac(h))
242+@Callable(ag)
243+func isAvailable (h) = $Tuple2(nil, ad(h))
242244
243245
244246
245-@Callable(af)
246-func isActive (h) = $Tuple2(nil, P(h))
247+@Callable(ag)
248+func isActive (h) = $Tuple2(nil, Q(h))
247249
248250
249251
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))
252+@Callable(ag)
253+func resolve (h,aA,aB) = {
254+ let aC = aj(h)
255+ let aD = aC._1
256+ let an = aC._2
257+ let w = x(aD)
258+ $Tuple2(nil, if ((size(an) != 0))
257259 then unit
258260 else if (containsElement(D, w))
259261 then unit
260262 else {
261- let E = az
263+ let E = aA
262264 if (("owner" == E))
263265 then w
264266 else if (("resolver" == E))
265- then y(aC)
267+ then y(aD)
266268 else if (("createdAt" == E))
267- then A(aC)
269+ then A(aD)
268270 else if (("expiresAt" == E))
269- then B(aC)
271+ then B(aD)
270272 else if (("tokenId" == E))
271- then z(aC)
273+ then z(aD)
272274 else unit
273275 })
274276 }
275277
276278
277279
278-@Callable(af)
279-func register (h,w,ap) = valueOrElse(as([ax(), av(af), if (ac(h))
280+@Callable(ag)
281+func register (h,w,aq) = valueOrElse(at([ay(), aw(ag), if (ad(h))
280282 then unit
281- else throw((("`" + h) + "` cannot be registered")), if (ad(w))
283+ else throw((("`" + h) + "` cannot be registered")), if (ae(w))
282284 then unit
283- else throw("Owner must be a valid address"), if ((ap > 0))
285+ else throw("Owner must be a valid address"), if ((aq > 0))
284286 then unit
285- else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= ap))
287+ else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= aq))
286288 then unit
287289 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)
290+ let aE = ao(h)
291+ let l = calculateAssetId(aE[0])
292+ let aF = toBase58String(l)
293+ let aG = ap(h, aF, aq)
294+ let aH = as(aF, w)
295+ let aI = v(h, w)
296+ (((aE ++ aG) ++ aH) ++ aI)
295297 })
296298
297299
298300
299-@Callable(af)
300-func reclaim (h) = valueOrElse(as([ax(), if (P(h))
301+@Callable(ag)
302+func reclaim (h) = valueOrElse(at([ay(), if (Q(h))
301303 then unit
302304 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 = {
305+ let aJ = ag.originCaller
306+ let aK = toString(aJ)
307+ let aF = valueOrErrorMessage(z(h), (("No token is issued for `" + h) + "`"))
308+ let l = fromBase58String(aF)
309+ let aL = (assetBalance(aJ, l) == 1)
310+ let aM = ah(ag, h)
311+ let aN = {
310312 let E = assetInfo(l)
311313 if ($isInstanceOf(E, "Asset"))
312314 then {
313- let aN = E
314- (aN.quantity == 1)
315+ let aO = E
316+ (aO.quantity == 1)
315317 }
316318 else false
317319 }
318- if (if (aL)
319- then !(aM)
320+ if (if (aM)
321+ then !(aN)
320322 else false)
321323 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)
324+ let aP = ao(h)
325+ let aQ = calculateAssetId(aP[0])
326+ let aR = toBase58String(aQ)
327+ let aS = ar(h, aR)
328+ let aT = as(aR, aK)
329+ ((aP ++ aS) ++ aT)
328330 }
329- else if (if (aL)
330- then aK
331+ else if (if (aM)
332+ then aL
331333 else false)
332334 then throw("You already own a name token")
333- else if (!(aK))
335+ else if (!(aL))
334336 then throw("You don't have a name token")
335- else v(h, aJ)
337+ else v(h, aK)
336338 })
337339
338340
339341
340-@Callable(af)
341-func transfer (aT) = valueOrElse(as([ax(), if (ad(aT))
342+@Callable(ag)
343+func transfer (aU) = valueOrElse(at([ay(), if (ae(aU))
342344 then unit
343345 else throw("Recipient must be a valid address")]), {
344- let aU = if ((size(af.payments) != 1))
346+ let aV = if ((size(ag.payments) != 1))
345347 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))
348+ else toBase58String(valueOrErrorMessage(ag.payments[0].assetId, "Payment must contain name token"))
349+ let aW = valueOrErrorMessage(C(aV), "Payment must contain name token")
350+ let aX = value(z(aW))
351+ if (if ((aV != aX))
350352 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))
353+ else !(Q(aW)))
354+ then throw((("Ownership of `" + aW) + "` for this token is expired"))
355+ else (as(aV, aU) ++ v(aW, aU))
354356 })
355357
356358
357359
358-@Callable(af)
359-func renew (h,aX) = valueOrElse(as([ax(), aw(af, h), if (P(h))
360+@Callable(ag)
361+func renew (h,aY) = valueOrElse(at([ay(), ax(ag, h), if (Q(h))
360362 then unit
361- else throw((("Name '" + h) + "' is expired or it doesn't exist")), if ((aX > 0))
363+ else throw((("Name '" + h) + "' is expired or it doesn't exist")), if ((aY > 0))
362364 then unit
363365 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)
366+ func aZ (h) = {
367+ let ba = {
368+ let E = getString(K, ("Top_" + h))
369+ if ($isInstanceOf(E, "String"))
370+ then {
371+ let bb = E
372+ parseInt(split(bb, ",")[1])
373+ }
374+ else unit
375+ }
376+ let bc = valueOrElse(getInteger(K, ("Length_" + toString(size(h)))), getIntegerValue(K, "minimalBid"))
377+ valueOrElse(ba, bc)
378+ }
379+
380+ let bd = if (if ((size(ag.payments) == 1))
381+ then (ag.payments[0].assetId == unit)
366382 else false)
367- then af.payments[0]
383+ then ag.payments[0]
368384 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))) + "'"))
385+ let be = (aY * aZ(h))
386+ if ((bd.amount != be))
387+ then throw((((((((("Attached payment '" + toString(bd.amount)) + "' is not equal to expected '") + toString(be)) + "' for '") + toString(aY)) + "' years. Diff: '") + toString((bd.amount - be))) + "'"))
372388 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)]
389+ let bf = valueOrErrorMessage(B(h), (("Can't read expiration data for name '" + h) + "'"))
390+[IntegerEntry(p(h), (bf + (aY * G))), ScriptTransfer(I, bd.amount, bd.assetId)]
375391 }
376392 })
377393
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
55
66
77 func d (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b)))
88
99
1010 func e (f) = valueOrErrorMessage(addressFromString(f), (("Can't parse address from '" + f) + "'"))
1111
1212
1313 func g (h,i,j) = ((((h + "_") + i) + "_") + j)
1414
1515
1616 func k (l) = g("Token", l, "name")
1717
1818
1919 func m (h) = g("Name", h, "token")
2020
2121
2222 func n (h) = g("Name", h, "owner")
2323
2424
2525 func o (h) = g("Name", h, "resolver")
2626
2727
2828 func p (h) = g("Name", h, "expiresAt")
2929
3030
3131 func q (h) = g("Name", h, "createdAt")
3232
3333
3434 let r = "nameTTL"
3535
3636 let s = "controllers"
3737
38-let t = "renewalPrice"
38+let t = "collectorAddress"
3939
40-let u = "collectorAddress"
40+let u = "auctionAddress"
4141
4242 func v (h,w) = [StringEntry(n(h), w)]
4343
4444
4545 func x (h) = getString(this, n(h))
4646
4747
4848 func y (h) = getString(this, o(h))
4949
5050
5151 func z (h) = getString(this, m(h))
5252
5353
5454 func A (h) = getInteger(this, q(h))
5555
5656
5757 func B (h) = getInteger(this, p(h))
5858
5959
6060 func C (l) = getString(this, k(l))
6161
6262
6363 let D = {
6464 let E = getString(this, s)
6565 if ($isInstanceOf(E, "String"))
6666 then {
6767 let F = E
6868 split(F, ",")
6969 }
7070 else nil
7171 }
7272
7373 let G = value(getInteger(this, r))
7474
75-let H = a(this, t)
75+let H = d(this, t)
7676
77-let I = d(this, u)
77+let I = e(H)
7878
79-let J = e(I)
79+let J = d(this, u)
8080
81-let K = isDefined(getInteger(this, r))
81+let K = e(J)
8282
83-func L (h) = isDefined(z(h))
83+let L = isDefined(getInteger(this, r))
84+
85+func M (h) = isDefined(z(h))
8486
8587
86-func M (h) = isDefined(A(h))
88+func N (h) = isDefined(A(h))
8789
8890
89-func N (h) = {
91+func O (h) = {
9092 let E = B(h)
9193 if ($isInstanceOf(E, "Int"))
9294 then {
93- let O = E
94- (lastBlock.timestamp > O)
95+ let P = E
96+ (lastBlock.timestamp > P)
9597 }
9698 else false
9799 }
98100
99101
100-func P (h) = if (if (L(h))
101- then M(h)
102+func Q (h) = if (if (M(h))
103+ then N(h)
102104 else false)
103- then !(N(h))
105+ then !(O(h))
104106 else false
105107
106108
107-func Q (h) = {
108- let R = "abcdefghijklmnopqrstuvwxyz1234567890-"
109- func S (T,U) = if (T)
110- then contains(R, U)
109+func R (h) = {
110+ let S = "abcdefghijklmnopqrstuvwxyz1234567890-"
111+ func T (U,V) = if (U)
112+ then contains(S, V)
111113 else false
112114
113115 if (if (if (if (if ((size(h) > 3))
114116 then (63 >= size(h))
115117 else false)
116118 then (indexOf(h, "--") != 2)
117119 else false)
118120 then (indexOf(h, "-") != 0)
119121 else false)
120122 then (lastIndexOf(h, "-") != (size(h) - 1))
121123 else false)
122124 then {
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])
125+ let W = split(h, "")
126+ let X = size(W)
127+ let Y = true
128+ func Z (aa,ab) = if ((ab >= X))
129+ then aa
130+ else T(aa, W[ab])
129131
130- func ab (Z,aa) = if ((aa >= W))
131- then Z
132+ func ac (aa,ab) = if ((ab >= X))
133+ then aa
132134 else throw("List size exceeds 63")
133135
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)
136+ ac(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Y, 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)
135137 }
136138 else false
137139 }
138140
139141
140-func ac (h) = if (Q(h))
141- then !(P(h))
142+func ad (h) = if (R(h))
143+ then !(Q(h))
142144 else false
143145
144146
145-func ad (f) = isDefined(addressFromString(f))
147+func ae (f) = isDefined(addressFromString(f))
146148
147149
148-func ae (af) = (af.caller == this)
150+func af (ag) = (ag.caller == this)
149151
150152
151-func ag (af,h) = (toString(af.originCaller) == valueOrElse(x(h), ""))
153+func ah (ag,h) = (toString(ag.originCaller) == valueOrElse(x(h), ""))
152154
153155
154-func ah (b) = containsElement(D, b)
156+func ai (b) = containsElement(D, b)
155157
156158
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)
159+func aj (h) = {
160+ let ak = split(h, ".")
161+ let al = (size(ak) - 1)
162+ let am = ak[al]
163+ let an = makeString(removeByIndex(ak, al), ".")
164+ $Tuple2(am, an)
163165 }
164166
165167
166-func an (h) = [Issue(if ((size(h) > 16))
168+func ao (h) = [Issue(if ((size(h) > 16))
167169 then (take(h, 15) + "~")
168170 else take(h, 16), (h + ".waves"), 1, 0, false)]
169171
170172
171-func ao (h,l,ap) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), ap), IntegerEntry(p(h), (ap + G))]
173+func ap (h,l,aq) = [StringEntry(m(h), l), StringEntry(k(l), h), IntegerEntry(q(h), aq), IntegerEntry(p(h), (aq + G))]
172174
173175
174-func aq (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
176+func ar (h,l) = [StringEntry(m(h), l), StringEntry(k(l), h)]
175177
176178
177-func ar (l,w) = [ScriptTransfer(addressFromStringValue(w), 1, fromBase58String(l))]
179+func as (l,w) = [ScriptTransfer(addressFromStringValue(w), 1, fromBase58String(l))]
178180
179181
180-func as (at) = unit
182+func at (au) = unit
181183
182184
183-func au (af) = if (ae(af))
185+func av (ag) = if (af(ag))
184186 then unit
185187 else throw("Permission denied")
186188
187189
188-func av (af) = if (if (ae(af))
190+func aw (ag) = if (if (af(ag))
189191 then true
190- else ah(toString(af.caller)))
192+ else ai(toString(ag.caller)))
191193 then unit
192194 else throw("Permission denied")
193195
194196
195-func aw (af,h) = if (if (ae(af))
197+func ax (ag,h) = if (if (af(ag))
196198 then true
197- else ag(af, h))
199+ else ah(ag, h))
198200 then unit
199201 else throw("Permission denied")
200202
201203
202-func ax () = if (K)
204+func ay () = if (L)
203205 then unit
204206 else throw("Contract is not initialized")
205207
206208
207-@Callable(af)
208-func init (G) = valueOrElse(as([au(af), if ((G > 0))
209+@Callable(ag)
210+func init (G) = valueOrElse(at([av(ag), if ((G > 0))
209211 then unit
210- else throw("TTL cannot be negative"), if (!(K))
212+ else throw("TTL cannot be negative"), if (!(L))
211213 then unit
212214 else throw("Contract has already been initialized")]), [IntegerEntry(r, G)])
213215
214216
215217
216-@Callable(af)
217-func addController (b) = valueOrElse(as([au(af), if (ad(b))
218+@Callable(ag)
219+func addController (b) = valueOrElse(at([av(ag), if (ae(b))
218220 then unit
219- else throw("Controller must be a valid address"), if (!(ah(b)))
221+ else throw("Controller must be a valid address"), if (!(ai(b)))
220222 then unit
221223 else throw((("Controller `" + b) + "` is already registered"))]), [StringEntry(s, makeString((D :+ b), ","))])
222224
223225
224226
225-@Callable(af)
226-func removeController (b) = valueOrElse(as([au(af), if (ah(b))
227+@Callable(ag)
228+func removeController (b) = valueOrElse(at([av(ag), if (ai(b))
227229 then unit
228230 else throw((("Controller `" + b) + "` is not registered"))]), {
229- let ay = value(indexOf(D, b))
230-[StringEntry(s, makeString(removeByIndex(D, ay), ","))]
231+ let az = value(indexOf(D, b))
232+[StringEntry(s, makeString(removeByIndex(D, az), ","))]
231233 })
232234
233235
234236
235-@Callable(af)
236-func isValid (h) = $Tuple2(nil, Q(h))
237+@Callable(ag)
238+func isValid (h) = $Tuple2(nil, R(h))
237239
238240
239241
240-@Callable(af)
241-func isAvailable (h) = $Tuple2(nil, ac(h))
242+@Callable(ag)
243+func isAvailable (h) = $Tuple2(nil, ad(h))
242244
243245
244246
245-@Callable(af)
246-func isActive (h) = $Tuple2(nil, P(h))
247+@Callable(ag)
248+func isActive (h) = $Tuple2(nil, Q(h))
247249
248250
249251
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))
252+@Callable(ag)
253+func resolve (h,aA,aB) = {
254+ let aC = aj(h)
255+ let aD = aC._1
256+ let an = aC._2
257+ let w = x(aD)
258+ $Tuple2(nil, if ((size(an) != 0))
257259 then unit
258260 else if (containsElement(D, w))
259261 then unit
260262 else {
261- let E = az
263+ let E = aA
262264 if (("owner" == E))
263265 then w
264266 else if (("resolver" == E))
265- then y(aC)
267+ then y(aD)
266268 else if (("createdAt" == E))
267- then A(aC)
269+ then A(aD)
268270 else if (("expiresAt" == E))
269- then B(aC)
271+ then B(aD)
270272 else if (("tokenId" == E))
271- then z(aC)
273+ then z(aD)
272274 else unit
273275 })
274276 }
275277
276278
277279
278-@Callable(af)
279-func register (h,w,ap) = valueOrElse(as([ax(), av(af), if (ac(h))
280+@Callable(ag)
281+func register (h,w,aq) = valueOrElse(at([ay(), aw(ag), if (ad(h))
280282 then unit
281- else throw((("`" + h) + "` cannot be registered")), if (ad(w))
283+ else throw((("`" + h) + "` cannot be registered")), if (ae(w))
282284 then unit
283- else throw("Owner must be a valid address"), if ((ap > 0))
285+ else throw("Owner must be a valid address"), if ((aq > 0))
284286 then unit
285- else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= ap))
287+ else throw("CreatedAt must be positive"), if ((lastBlock.timestamp >= aq))
286288 then unit
287289 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)
290+ let aE = ao(h)
291+ let l = calculateAssetId(aE[0])
292+ let aF = toBase58String(l)
293+ let aG = ap(h, aF, aq)
294+ let aH = as(aF, w)
295+ let aI = v(h, w)
296+ (((aE ++ aG) ++ aH) ++ aI)
295297 })
296298
297299
298300
299-@Callable(af)
300-func reclaim (h) = valueOrElse(as([ax(), if (P(h))
301+@Callable(ag)
302+func reclaim (h) = valueOrElse(at([ay(), if (Q(h))
301303 then unit
302304 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 = {
305+ let aJ = ag.originCaller
306+ let aK = toString(aJ)
307+ let aF = valueOrErrorMessage(z(h), (("No token is issued for `" + h) + "`"))
308+ let l = fromBase58String(aF)
309+ let aL = (assetBalance(aJ, l) == 1)
310+ let aM = ah(ag, h)
311+ let aN = {
310312 let E = assetInfo(l)
311313 if ($isInstanceOf(E, "Asset"))
312314 then {
313- let aN = E
314- (aN.quantity == 1)
315+ let aO = E
316+ (aO.quantity == 1)
315317 }
316318 else false
317319 }
318- if (if (aL)
319- then !(aM)
320+ if (if (aM)
321+ then !(aN)
320322 else false)
321323 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)
324+ let aP = ao(h)
325+ let aQ = calculateAssetId(aP[0])
326+ let aR = toBase58String(aQ)
327+ let aS = ar(h, aR)
328+ let aT = as(aR, aK)
329+ ((aP ++ aS) ++ aT)
328330 }
329- else if (if (aL)
330- then aK
331+ else if (if (aM)
332+ then aL
331333 else false)
332334 then throw("You already own a name token")
333- else if (!(aK))
335+ else if (!(aL))
334336 then throw("You don't have a name token")
335- else v(h, aJ)
337+ else v(h, aK)
336338 })
337339
338340
339341
340-@Callable(af)
341-func transfer (aT) = valueOrElse(as([ax(), if (ad(aT))
342+@Callable(ag)
343+func transfer (aU) = valueOrElse(at([ay(), if (ae(aU))
342344 then unit
343345 else throw("Recipient must be a valid address")]), {
344- let aU = if ((size(af.payments) != 1))
346+ let aV = if ((size(ag.payments) != 1))
345347 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))
348+ else toBase58String(valueOrErrorMessage(ag.payments[0].assetId, "Payment must contain name token"))
349+ let aW = valueOrErrorMessage(C(aV), "Payment must contain name token")
350+ let aX = value(z(aW))
351+ if (if ((aV != aX))
350352 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))
353+ else !(Q(aW)))
354+ then throw((("Ownership of `" + aW) + "` for this token is expired"))
355+ else (as(aV, aU) ++ v(aW, aU))
354356 })
355357
356358
357359
358-@Callable(af)
359-func renew (h,aX) = valueOrElse(as([ax(), aw(af, h), if (P(h))
360+@Callable(ag)
361+func renew (h,aY) = valueOrElse(at([ay(), ax(ag, h), if (Q(h))
360362 then unit
361- else throw((("Name '" + h) + "' is expired or it doesn't exist")), if ((aX > 0))
363+ else throw((("Name '" + h) + "' is expired or it doesn't exist")), if ((aY > 0))
362364 then unit
363365 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)
366+ func aZ (h) = {
367+ let ba = {
368+ let E = getString(K, ("Top_" + h))
369+ if ($isInstanceOf(E, "String"))
370+ then {
371+ let bb = E
372+ parseInt(split(bb, ",")[1])
373+ }
374+ else unit
375+ }
376+ let bc = valueOrElse(getInteger(K, ("Length_" + toString(size(h)))), getIntegerValue(K, "minimalBid"))
377+ valueOrElse(ba, bc)
378+ }
379+
380+ let bd = if (if ((size(ag.payments) == 1))
381+ then (ag.payments[0].assetId == unit)
366382 else false)
367- then af.payments[0]
383+ then ag.payments[0]
368384 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))) + "'"))
385+ let be = (aY * aZ(h))
386+ if ((bd.amount != be))
387+ then throw((((((((("Attached payment '" + toString(bd.amount)) + "' is not equal to expected '") + toString(be)) + "' for '") + toString(aY)) + "' years. Diff: '") + toString((bd.amount - be))) + "'"))
372388 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)]
389+ let bf = valueOrErrorMessage(B(h), (("Can't read expiration data for name '" + h) + "'"))
390+[IntegerEntry(p(h), (bf + (aY * G))), ScriptTransfer(I, bd.amount, bd.assetId)]
375391 }
376392 })
377393
378394

github/deemru/w8io/873ac7e 
189.41 ms