tx · BsCrNyVKeMHgGDJcaeAF4GMprBkgQ72cvqucJ1g9ftAC

3MrQ4g9YCsAN2Wr4QUXiWAPhNPv7DGdQNWb:  -0.00500000 Waves

2023.03.16 22:57 [2493028] smart account 3MrQ4g9YCsAN2Wr4QUXiWAPhNPv7DGdQNWb > SELF 0.00000000 Waves

{ "type": 13, "id": "BsCrNyVKeMHgGDJcaeAF4GMprBkgQ72cvqucJ1g9ftAC", "fee": 500000, "feeAssetId": null, "timestamp": 1678996672583, "version": 2, "chainId": 84, "sender": "3MrQ4g9YCsAN2Wr4QUXiWAPhNPv7DGdQNWb", "senderPublicKey": "2VQGRNRWyFAZvjDtkgZwdZcTwZvBJJ61n8zJfYYxm5eK", "proofs": [ "3ZksZ9hJjo4kvK4yf5XFMtsFYN2wqK4yMCB8u3TbLxQoHcQDkohnWL9SYdcW7benkNEFh2ZaA6ePfvvM7GBr8VNu" ], "script": "base64:BgJCCAISBAoCGBgSBQoDCBgYEgQKAggIEgQKAggIEgQKAggIEgUKAwgICBIDCgECEgUKAwgICBIECgIICBIGCgQIAQEBCgAOY29sbGVjdGlvbk5hbWUJARFAZXh0ck5hdGl2ZSgxMDU4KQECDmNvbGxlY3Rpb25OYW1lAAZzeW1ib2wJARFAZXh0ck5hdGl2ZSgxMDU4KQECBnN5bWJvbAALZGVzY3JpcHRpb24JARFAZXh0ck5hdGl2ZSgxMDU4KQECC2Rlc2NyaXB0aW9uAAt0b3RhbEFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTUpAQILdG90YWxBbW91bnQACGRBcHBKc29uCQEHQWRkcmVzcwEJANkEAQIjM01yR2FaVlJoa25FR2ZISjE5dHRVUE5uRFJvRnFjSGhWTjcADHRva2VuUGF5bWVudAkBB0FkZHJlc3MBCQERQGV4dHJOYXRpdmUoMTA1NykBAgx0b2tlblBheW1lbnQBDG9ubHlJbnRlcm5hbAEGY2FsbGVyAwkAAAIFBmNhbGxlcgUEdGhpcwUEdW5pdAkAAgECEk9ubHkgaW50ZXJuYWwgY2FsbAENdHJhbnNmZXJPck5vdAICdG8HYXNzZXRJZAMJAAACBQJ0bwUEdGhpcwkBC1N0cmluZ0VudHJ5AgIO0LrQvtGB0YLRi9C70YwCDtC60L7RgdGC0YvQu9GMCQEOU2NyaXB0VHJhbnNmZXIDBQJ0bwABBQdhc3NldElkAQ5wYXJzZUlkdG9Bc3NldAEHYXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDsBwEJANkEAQUHYXNzZXRJZAIcQ2FuJ3QgZmluZCBhc3NldCBieSBhc3NldCBpZAEPY2hlY2tBc3NldE93bmVyAgZjYWxsZXIHYXNzZXRJZAMJAAACCQDwBwIFBmNhbGxlcgkA2QQBBQdhc3NldElkAAEFBHVuaXQJAAIBAhBPbmx5IGFzc2V0IG93bmVyCgFpARBtYWtlSlNPTkludGVybmFsAgdhcnJLZXlzCWFyclZhbHVlcwkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgQDcmVzCQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQERYWRkVG9KU09OSW50ZXJuYWwDBGpzb24HYXJyS2V5cwlhcnJWYWx1ZXMJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIEA3JlcwkA/AcEBQhkQXBwSnNvbgIJYWRkVG9KU09OCQDMCAIFBGpzb24JAMwIAgUHYXJyS2V5cwkAzAgCBQlhcnJWYWx1ZXMFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFXJlYWRCeUpTT05LZXlJbnRlcm5hbAIEanNvbgNrZXkJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIEA3JlcwkA/AcEBQhkQXBwSnNvbgINcmVhZEJ5SlNPTktleQkAzAgCBQRqc29uCQDMCAIFA2tleQUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXZGVsZXRlQnlKU09OS2V5SW50ZXJuYWwCBGpzb24Da2V5CQELdmFsdWVPckVsc2UCCQEMb25seUludGVybmFsAQgFAWkGY2FsbGVyBANyZXMJAPwHBAUIZEFwcEpzb24CD2RlbGV0ZUJ5SlNPTktleQkAzAgCBQRqc29uCQDMCAIFA2tleQUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQETc3RvcmFnZUpzb25JbnRlcm5hbAIHanNvbktleQpqc29uU3RyaW5nCQELdmFsdWVPckVsc2UCCQEMb25seUludGVybmFsAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIFB2pzb25LZXkFCmpzb25TdHJpbmcFA25pbAFpAQdzZXRVc2VyAwdhc3NldElkBHVzZXIHZXhwaXJlcwQDcmVzCQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCCQDMCAICBHVzZXIJAMwIAgIHZXhwaXJlcwUDbmlsCQDMCAIJAMwIAgUEdXNlcgkAzAgCBQdleHBpcmVzBQNuaWwFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAgd1c2VyT2YtBQdhc3NldElkCgABQAUDcmVzAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEPc2V0VG9rZW5QYXltZW50AQdhc3NldElkCQELdmFsdWVPckVsc2UCCQEMb25seUludGVybmFsAQgFAWkGY2FsbGVyCQDMCAIJAQtCaW5hcnlFbnRyeQICDHRva2VuUGF5bWVudAUHYXNzZXRJZAUDbmlsAWkBBGluaXQDDmNvbGxlY3Rpb25OYW1lBnN5bWJvbAtkZXNjcmlwdGlvbgkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCAg5jb2xsZWN0aW9uTmFtZQUOY29sbGVjdGlvbk5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgIGc3ltYm9sBQZzeW1ib2wJAMwIAgkBC1N0cmluZ0VudHJ5AgILZGVzY3JpcHRpb24FC2Rlc2NyaXB0aW9uCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgt0b3RhbEFtb3VudAAABQNuaWwBaQEEbWludAICdG8IdG9rZW5VUkkJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIEB3Rva2VuSWQJAGQCBQt0b3RhbEFtb3VudAABBAdwcmVOYW1lCQCsAgIJAKwCAgUGc3ltYm9sAgEjCQCkAwEFB3Rva2VuSWQEBG5hbWUDCQBnAgAQCQCxAgEFB3ByZU5hbWUFB3ByZU5hbWUJAKQDAQUHdG9rZW5JZAQFYXNzZXQJAMMIBwUEbmFtZQkArAICCQCsAgICBnt1cmk6IgUIdG9rZW5VUkkCAiJ9AAEAAAcFBHVuaXQFBmhlaWdodAQHYXNzZXRJZAkAuAgBBQVhc3NldAQJdG9BZGRyZXNzCQEHQWRkcmVzcwEJANkEAQUCdG8ECHRyYW5zZmVyCQENdHJhbnNmZXJPck5vdAIFCXRvQWRkcmVzcwUHYXNzZXRJZAMJAAACBQh0cmFuc2ZlcgUIdHJhbnNmZXIJAMwIAgUFYXNzZXQJAMwIAgUIdHJhbnNmZXIJAMwIAgkBDEludGVnZXJFbnRyeQICC3RvdGFsQW1vdW50BQd0b2tlbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIFBG5hbWUFCHRva2VuVVJJBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIaW5pdExlbmQEB2Fzc2V0SWQPdGltZVVuaXRTZWNvbmRzDXRpbWVVbml0UHJpY2UNdGltZVVuaXRDb3VudAkBC3ZhbHVlT3JFbHNlAgkBD2NoZWNrQXNzZXRPd25lcgIIBQFpBmNhbGxlcgUHYXNzZXRJZAQFYXNzZXQJAQ5wYXJzZUlkdG9Bc3NldAEFB2Fzc2V0SWQECHRva2VuVXJpCAUFYXNzZXQLZGVzY3JpcHRpb24EBWxlbmRzCQERQGV4dHJOYXRpdmUoMTA1OCkBAgVMZW5kcwQEcmVzMQkA/AcEBQhkQXBwSnNvbgINcmVhZEJ5SlNPTktleQkAzAgCBQVsZW5kcwkAzAgCAgVjb3VudAUDbmlsBQNuaWwEBmxlbmRJZAkAZAIJAQ1wYXJzZUludFZhbHVlAQoAAUAFBHJlczEDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nAAEEBHJlczIJAPwHBAUIZEFwcEpzb24CCG1ha2VKU09OCQDMCAIJAMwIAgISc3VwcG9ydGVkSW50ZXJmYWNlCQDMCAICCGFzc2V0ZElkCQDMCAICCHRva2VuVXJpCQDMCAICBW93bmVyCQDMCAICD3RpbWVVbml0U2Vjb25kcwkAzAgCAg10aW1lVW5pdFByaWNlCQDMCAICDXRpbWVVbml0Q291bnQJAMwIAgIOc3RhcnRUaW1lc3RhbXAJAMwIAgIMZW5kVGltZXN0YW1wCQDMCAICB2RlcG9zaXQJAMwIAgIHY2xhaW1lZAkAzAgCAgVyZW50cwUDbmlsCQDMCAIJAMwIAgAACQDMCAIFB2Fzc2V0SWQJAMwIAgUIdG9rZW5VcmkJAMwIAggFAWkGY2FsbGVyCQDMCAIFD3RpbWVVbml0U2Vjb25kcwkAzAgCBQ10aW1lVW5pdFByaWNlCQDMCAIFDXRpbWVVbml0Q291bnQJAMwIAggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkAZAIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQBoAgUPdGltZVVuaXRTZWNvbmRzBQ10aW1lVW5pdENvdW50CQDMCAIAAAkAzAgCBwkAzAgCAg17ImNvdW50IjoiMCJ9BQNuaWwFA25pbAUDbmlsAwkAAAIFBHJlczIFBHJlczIJAMwIAgkBC1N0cmluZ0VudHJ5AgIFTGVuZHMKAAFABQRyZXMyAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAOLBJvU=", "height": 2493028, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hc5NxFAYykVAm27kKY7w7DS2j7HxHbS1vmksieSEwRUH Next: eRhpXC1HR3iWSD4wiDgDYADB4ytQ2WHGmfswn29dGJz Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = getStringValue(this, "collectionName")
4+let a = getStringValue("collectionName")
55
6-let b = getStringValue(this, "symbol")
6+let b = getStringValue("symbol")
77
8-let c = getStringValue(this, "description")
8+let c = getStringValue("description")
99
10-let d = getIntegerValue(this, "totalAmount")
10+let d = getIntegerValue("totalAmount")
1111
1212 let e = Address(fromBase58String("3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7"))
1313
14-let f = Address(getBinaryValue(this, "tokenPayment"))
14+let f = Address(getBinaryValue("tokenPayment"))
1515
1616 func g (h) = if ((h == this))
1717 then unit
2323 else ScriptTransfer(j, 1, k)
2424
2525
26-@Callable(l)
27-func makeJSONInternal (m,n) = valueOrElse(g(l.caller), {
28- let o = invoke(e, "makeJSON", [m, n], nil)
29- if ((o == o))
30- then $Tuple2(nil, o)
26+func l (k) = valueOrErrorMessage(assetInfo(fromBase58String(k)), "Can't find asset by asset id")
27+
28+
29+func m (h,k) = if ((assetBalance(h, fromBase58String(k)) == 1))
30+ then unit
31+ else throw("Only asset owner")
32+
33+
34+@Callable(n)
35+func makeJSONInternal (o,p) = valueOrElse(g(n.caller), {
36+ let q = invoke(e, "makeJSON", [o, p], nil)
37+ if ((q == q))
38+ then $Tuple2(nil, q)
3139 else throw("Strict value is not equal to itself.")
3240 })
3341
3442
3543
36-@Callable(l)
37-func addToJSONInternal (m,n) = valueOrElse(g(l.caller), {
38- let o = invoke(e, "addToJSON", [m, n], nil)
39- if ((o == o))
40- then $Tuple2(nil, o)
44+@Callable(n)
45+func addToJSONInternal (r,o,p) = valueOrElse(g(n.caller), {
46+ let q = invoke(e, "addToJSON", [r, o, p], nil)
47+ if ((q == q))
48+ then $Tuple2(nil, q)
4149 else throw("Strict value is not equal to itself.")
4250 })
4351
4452
4553
46-@Callable(l)
47-func readByJSONKeyInternal (p) = valueOrElse(g(l.caller), {
48- let o = invoke(e, "readByJSONKey", [p], nil)
49- if ((o == o))
50- then $Tuple2(nil, o)
54+@Callable(n)
55+func readByJSONKeyInternal (r,s) = valueOrElse(g(n.caller), {
56+ let q = invoke(e, "readByJSONKey", [r, s], nil)
57+ if ((q == q))
58+ then $Tuple2(nil, q)
5159 else throw("Strict value is not equal to itself.")
5260 })
5361
5462
5563
56-@Callable(l)
57-func deleteByJSONKeyInternal (p) = valueOrElse(g(l.caller), {
58- let o = invoke(e, "deleteByJSONKey", [p], nil)
59- if ((o == o))
60- then $Tuple2(nil, o)
64+@Callable(n)
65+func deleteByJSONKeyInternal (r,s) = valueOrElse(g(n.caller), {
66+ let q = invoke(e, "deleteByJSONKey", [r, s], nil)
67+ if ((q == q))
68+ then $Tuple2(nil, q)
6169 else throw("Strict value is not equal to itself.")
6270 })
6371
6472
6573
66-@Callable(l)
67-func storageJsonInternal (q,r) = valueOrElse(g(l.caller), [StringEntry(q, r)])
74+@Callable(n)
75+func storageJsonInternal (t,u) = valueOrElse(g(n.caller), [StringEntry(t, u)])
6876
6977
7078
71-@Callable(l)
72-func setUser (k,s,t) = valueOrElse(g(l.caller), {
73- let o = invoke(e, "makeJSON", [["user", "expires"], [s, t]], nil)
74- if ((o == o))
79+@Callable(n)
80+func setUser (k,v,w) = {
81+ let q = invoke(e, "makeJSON", [["user", "expires"], [v, w]], nil)
82+ if ((q == q))
7583 then $Tuple2([StringEntry(("userOf-" + k), {
76- let u = o
77- if ($isInstanceOf(u, "String"))
78- then u
79- else throw(($getType(u) + " couldn't be cast to String"))
80- })], o)
84+ let x = q
85+ if ($isInstanceOf(x, "String"))
86+ then x
87+ else throw(($getType(x) + " couldn't be cast to String"))
88+ })], q)
89+ else throw("Strict value is not equal to itself.")
90+ }
91+
92+
93+
94+@Callable(n)
95+func setTokenPayment (k) = valueOrElse(g(n.caller), [BinaryEntry("tokenPayment", k)])
96+
97+
98+
99+@Callable(n)
100+func init (a,b,c) = valueOrElse(g(n.caller), [StringEntry("collectionName", a), StringEntry("symbol", b), StringEntry("description", c), IntegerEntry("totalAmount", 0)])
101+
102+
103+
104+@Callable(n)
105+func mint (j,y) = valueOrElse(g(n.caller), {
106+ let z = (d + 1)
107+ let A = ((b + "#") + toString(z))
108+ let B = if ((16 >= size(A)))
109+ then A
110+ else toString(z)
111+ let C = Issue(B, (("{uri:\"" + y) + "\"}"), 1, 0, false, unit, height)
112+ let k = calculateAssetId(C)
113+ let D = Address(fromBase58String(j))
114+ let E = i(D, k)
115+ if ((E == E))
116+ then [C, E, IntegerEntry("totalAmount", z), StringEntry(B, y)]
81117 else throw("Strict value is not equal to itself.")
82118 })
83119
84120
85121
86-@Callable(l)
87-func setTokenPayment (k) = valueOrElse(g(l.caller), [BinaryEntry("tokenPayment", k)])
88-
89-
90-
91-@Callable(l)
92-func init (a,b,c) = valueOrElse(g(l.caller), [StringEntry("collectionName", a), StringEntry("symbol", b), StringEntry("description", c), IntegerEntry("totalAmount", 0)])
93-
94-
95-
96-@Callable(l)
97-func mint (j,v) = valueOrElse(g(l.caller), {
98- let w = (d + 1)
99- let x = ((b + "#") + toString(w))
100- let y = if ((16 >= size(x)))
101- then x
102- else toString(w)
103- let z = Issue(y, (("{uri:\"" + v) + "\"}"), 1, 0, false, unit, height)
104- let k = calculateAssetId(z)
105- let A = Address(fromBase58String(j))
106- let B = i(A, k)
107- if ((B == B))
108- then [z, B, IntegerEntry("totalAmount", w), StringEntry(y, v)]
122+@Callable(n)
123+func initLend (k,F,G,H) = valueOrElse(m(n.caller, k), {
124+ let C = l(k)
125+ let I = C.description
126+ let J = getStringValue("Lends")
127+ let K = invoke(e, "readByJSONKey", [J, "count"], nil)
128+ let L = (parseIntValue({
129+ let x = K
130+ if ($isInstanceOf(x, "String"))
131+ then x
132+ else throw(($getType(x) + " couldn't be cast to String"))
133+ }) + 1)
134+ let M = invoke(e, "makeJSON", [["supportedInterface", "assetdId", "tokenUri", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed", "rents"], [0, k, I, n.caller, F, G, H, lastBlock.timestamp, (lastBlock.timestamp + (F * H)), 0, false, "{\"count\":\"0\"}"]], nil)
135+ if ((M == M))
136+ then [StringEntry("Lends", {
137+ let x = M
138+ if ($isInstanceOf(x, "String"))
139+ then x
140+ else throw(($getType(x) + " couldn't be cast to String"))
141+ })]
109142 else throw("Strict value is not equal to itself.")
110143 })
111144
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = getStringValue(this, "collectionName")
4+let a = getStringValue("collectionName")
55
6-let b = getStringValue(this, "symbol")
6+let b = getStringValue("symbol")
77
8-let c = getStringValue(this, "description")
8+let c = getStringValue("description")
99
10-let d = getIntegerValue(this, "totalAmount")
10+let d = getIntegerValue("totalAmount")
1111
1212 let e = Address(fromBase58String("3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7"))
1313
14-let f = Address(getBinaryValue(this, "tokenPayment"))
14+let f = Address(getBinaryValue("tokenPayment"))
1515
1616 func g (h) = if ((h == this))
1717 then unit
1818 else throw("Only internal call")
1919
2020
2121 func i (j,k) = if ((j == this))
2222 then StringEntry("костыль", "костыль")
2323 else ScriptTransfer(j, 1, k)
2424
2525
26-@Callable(l)
27-func makeJSONInternal (m,n) = valueOrElse(g(l.caller), {
28- let o = invoke(e, "makeJSON", [m, n], nil)
29- if ((o == o))
30- then $Tuple2(nil, o)
26+func l (k) = valueOrErrorMessage(assetInfo(fromBase58String(k)), "Can't find asset by asset id")
27+
28+
29+func m (h,k) = if ((assetBalance(h, fromBase58String(k)) == 1))
30+ then unit
31+ else throw("Only asset owner")
32+
33+
34+@Callable(n)
35+func makeJSONInternal (o,p) = valueOrElse(g(n.caller), {
36+ let q = invoke(e, "makeJSON", [o, p], nil)
37+ if ((q == q))
38+ then $Tuple2(nil, q)
3139 else throw("Strict value is not equal to itself.")
3240 })
3341
3442
3543
36-@Callable(l)
37-func addToJSONInternal (m,n) = valueOrElse(g(l.caller), {
38- let o = invoke(e, "addToJSON", [m, n], nil)
39- if ((o == o))
40- then $Tuple2(nil, o)
44+@Callable(n)
45+func addToJSONInternal (r,o,p) = valueOrElse(g(n.caller), {
46+ let q = invoke(e, "addToJSON", [r, o, p], nil)
47+ if ((q == q))
48+ then $Tuple2(nil, q)
4149 else throw("Strict value is not equal to itself.")
4250 })
4351
4452
4553
46-@Callable(l)
47-func readByJSONKeyInternal (p) = valueOrElse(g(l.caller), {
48- let o = invoke(e, "readByJSONKey", [p], nil)
49- if ((o == o))
50- then $Tuple2(nil, o)
54+@Callable(n)
55+func readByJSONKeyInternal (r,s) = valueOrElse(g(n.caller), {
56+ let q = invoke(e, "readByJSONKey", [r, s], nil)
57+ if ((q == q))
58+ then $Tuple2(nil, q)
5159 else throw("Strict value is not equal to itself.")
5260 })
5361
5462
5563
56-@Callable(l)
57-func deleteByJSONKeyInternal (p) = valueOrElse(g(l.caller), {
58- let o = invoke(e, "deleteByJSONKey", [p], nil)
59- if ((o == o))
60- then $Tuple2(nil, o)
64+@Callable(n)
65+func deleteByJSONKeyInternal (r,s) = valueOrElse(g(n.caller), {
66+ let q = invoke(e, "deleteByJSONKey", [r, s], nil)
67+ if ((q == q))
68+ then $Tuple2(nil, q)
6169 else throw("Strict value is not equal to itself.")
6270 })
6371
6472
6573
66-@Callable(l)
67-func storageJsonInternal (q,r) = valueOrElse(g(l.caller), [StringEntry(q, r)])
74+@Callable(n)
75+func storageJsonInternal (t,u) = valueOrElse(g(n.caller), [StringEntry(t, u)])
6876
6977
7078
71-@Callable(l)
72-func setUser (k,s,t) = valueOrElse(g(l.caller), {
73- let o = invoke(e, "makeJSON", [["user", "expires"], [s, t]], nil)
74- if ((o == o))
79+@Callable(n)
80+func setUser (k,v,w) = {
81+ let q = invoke(e, "makeJSON", [["user", "expires"], [v, w]], nil)
82+ if ((q == q))
7583 then $Tuple2([StringEntry(("userOf-" + k), {
76- let u = o
77- if ($isInstanceOf(u, "String"))
78- then u
79- else throw(($getType(u) + " couldn't be cast to String"))
80- })], o)
84+ let x = q
85+ if ($isInstanceOf(x, "String"))
86+ then x
87+ else throw(($getType(x) + " couldn't be cast to String"))
88+ })], q)
89+ else throw("Strict value is not equal to itself.")
90+ }
91+
92+
93+
94+@Callable(n)
95+func setTokenPayment (k) = valueOrElse(g(n.caller), [BinaryEntry("tokenPayment", k)])
96+
97+
98+
99+@Callable(n)
100+func init (a,b,c) = valueOrElse(g(n.caller), [StringEntry("collectionName", a), StringEntry("symbol", b), StringEntry("description", c), IntegerEntry("totalAmount", 0)])
101+
102+
103+
104+@Callable(n)
105+func mint (j,y) = valueOrElse(g(n.caller), {
106+ let z = (d + 1)
107+ let A = ((b + "#") + toString(z))
108+ let B = if ((16 >= size(A)))
109+ then A
110+ else toString(z)
111+ let C = Issue(B, (("{uri:\"" + y) + "\"}"), 1, 0, false, unit, height)
112+ let k = calculateAssetId(C)
113+ let D = Address(fromBase58String(j))
114+ let E = i(D, k)
115+ if ((E == E))
116+ then [C, E, IntegerEntry("totalAmount", z), StringEntry(B, y)]
81117 else throw("Strict value is not equal to itself.")
82118 })
83119
84120
85121
86-@Callable(l)
87-func setTokenPayment (k) = valueOrElse(g(l.caller), [BinaryEntry("tokenPayment", k)])
88-
89-
90-
91-@Callable(l)
92-func init (a,b,c) = valueOrElse(g(l.caller), [StringEntry("collectionName", a), StringEntry("symbol", b), StringEntry("description", c), IntegerEntry("totalAmount", 0)])
93-
94-
95-
96-@Callable(l)
97-func mint (j,v) = valueOrElse(g(l.caller), {
98- let w = (d + 1)
99- let x = ((b + "#") + toString(w))
100- let y = if ((16 >= size(x)))
101- then x
102- else toString(w)
103- let z = Issue(y, (("{uri:\"" + v) + "\"}"), 1, 0, false, unit, height)
104- let k = calculateAssetId(z)
105- let A = Address(fromBase58String(j))
106- let B = i(A, k)
107- if ((B == B))
108- then [z, B, IntegerEntry("totalAmount", w), StringEntry(y, v)]
122+@Callable(n)
123+func initLend (k,F,G,H) = valueOrElse(m(n.caller, k), {
124+ let C = l(k)
125+ let I = C.description
126+ let J = getStringValue("Lends")
127+ let K = invoke(e, "readByJSONKey", [J, "count"], nil)
128+ let L = (parseIntValue({
129+ let x = K
130+ if ($isInstanceOf(x, "String"))
131+ then x
132+ else throw(($getType(x) + " couldn't be cast to String"))
133+ }) + 1)
134+ let M = invoke(e, "makeJSON", [["supportedInterface", "assetdId", "tokenUri", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed", "rents"], [0, k, I, n.caller, F, G, H, lastBlock.timestamp, (lastBlock.timestamp + (F * H)), 0, false, "{\"count\":\"0\"}"]], nil)
135+ if ((M == M))
136+ then [StringEntry("Lends", {
137+ let x = M
138+ if ($isInstanceOf(x, "String"))
139+ then x
140+ else throw(($getType(x) + " couldn't be cast to String"))
141+ })]
109142 else throw("Strict value is not equal to itself.")
110143 })
111144
112145

github/deemru/w8io/c3f4982 
44.09 ms