tx · GxqSoMK8fhRd7xy9Xj5vkyCesk4sEhB7u43E8kXT8AC3

3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7:  -0.00300000 Waves

2023.03.15 21:40 [2491509] smart account 3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7 > SELF 0.00000000 Waves

{ "type": 13, "id": "GxqSoMK8fhRd7xy9Xj5vkyCesk4sEhB7u43E8kXT8AC3", "fee": 300000, "feeAssetId": null, "timestamp": 1678905674661, "version": 2, "chainId": 84, "sender": "3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7", "senderPublicKey": "CrHxACS7bWTh8cgmgqstvybmgMqR9KtDryGFt5svZhBW", "proofs": [ "r9nhusWbfQ1Rce7ohap1hMjHVTZbo1gmn8jGVc36wM5ZBy8EMcK6AW1PhYodKSaeFBwnfSWpZYuJWFUXcmzDi7q" ], "script": "base64:BgIsCAISBAoCGBgSBAoCGBgSAwoBCBIDCgEIEgUKAwgICBIECgIICBIFCgMIGBgIAA5jb2xsZWN0aW9uTmFtZQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwIOY29sbGVjdGlvbk5hbWUABnN5bWJvbAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwIGc3ltYm9sAAtkZXNjcmlwdGlvbgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwILZGVzY3JpcHRpb24AC3RvdGFsQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAgt0b3RhbEFtb3VudAAIZEFwcEpzb24JAQdBZGRyZXNzAQkA2QQBAiMzTXJHYVpWUmhrbkVHZkhKMTl0dFVQTm5EUm9GcWNIaFZONwEMb25seUludGVybmFsAQZjYWxsZXIDCQAAAgUGY2FsbGVyBQR0aGlzBQR1bml0CQACAQIST25seSBpbnRlcm5hbCBjYWxsAQ10cmFuc2Zlck9yTm90AgJ0bwdhc3NldElkAwkAAAIFAnRvBQR0aGlzCQELU3RyaW5nRW50cnkCAg7QutC+0YHRgtGL0LvRjAIO0LrQvtGB0YLRi9C70YwJAQ5TY3JpcHRUcmFuc2ZlcgMFAnRvAAEFB2Fzc2V0SWQBB3NldFVzZXIDB2Fzc2V0SWQEdXNlcgdleHBpcmVzCQEFdGhyb3cABwFpARBtYWtlSlNPTkludGVybmFsAgdhcnJLZXlzCWFyclZhbHVlcwkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgQDcmVzCQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQERYWRkVG9KU09OSW50ZXJuYWwCB2FycktleXMJYXJyVmFsdWVzCQELdmFsdWVPckVsc2UCCQEMb25seUludGVybmFsAQgFAWkGY2FsbGVyBANyZXMJAPwHBAUIZEFwcEpzb24CCWFkZFRvSlNPTgkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEVcmVhZEJ5SlNPTktleUludGVybmFsAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIEA3JlcwkA/AcEBQhkQXBwSnNvbgINcmVhZEJ5SlNPTktleQkAzAgCBQNrZXkFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBF2RlbGV0ZUJ5SlNPTktleUludGVybmFsAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIEA3JlcwkA/AcEBQhkQXBwSnNvbgIPZGVsZXRlQnlKU09OS2V5CQDMCAIFA2tleQUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEEaW5pdAMOY29sbGVjdGlvbk5hbWUGc3ltYm9sC2Rlc2NyaXB0aW9uAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwkAzAgCCQELU3RyaW5nRW50cnkCAg5jb2xsZWN0aW9uTmFtZQUOY29sbGVjdGlvbk5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgIGc3ltYm9sBQZzeW1ib2wJAMwIAgkBC1N0cmluZ0VudHJ5AgILZGVzY3JpcHRpb24FC2Rlc2NyaXB0aW9uCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgt0b3RhbEFtb3VudAAABQNuaWwJAAIBAglvbmx5IGRBcHABaQEEbWludAICdG8IdG9rZW5VUkkDCQAAAggFAWkGY2FsbGVyBQR0aGlzBAd0b2tlbklkCQBkAgULdG90YWxBbW91bnQAAQQHcHJlTmFtZQkArAICCQCsAgIFBnN5bWJvbAIBIwkApAMBBQd0b2tlbklkBARuYW1lAwkAZwIAEAkAsQIBBQdwcmVOYW1lBQdwcmVOYW1lCQCkAwEFB3Rva2VuSWQEBWFzc2V0CQDDCAcFBG5hbWUJAKwCAgkArAICAgZ7dXJpOiIFCHRva2VuVVJJAgIifQABAAAHBQR1bml0BQZoZWlnaHQEB2Fzc2V0SWQJALgIAQUFYXNzZXQECXRvQWRkcmVzcwkBB0FkZHJlc3MBCQDZBAEFAnRvBAh0cmFuc2ZlcgkBDXRyYW5zZmVyT3JOb3QCBQl0b0FkZHJlc3MFB2Fzc2V0SWQDCQAAAgUIdHJhbnNmZXIFCHRyYW5zZmVyCQDMCAIFBWFzc2V0CQDMCAIFCHRyYW5zZmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgt0b3RhbEFtb3VudAUHdG9rZW5JZAkAzAgCCQELU3RyaW5nRW50cnkCBQRuYW1lBQh0b2tlblVSSQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIJb25seSBkQXBwAWkBD3Rlc3RTdG9yYWdlSnNvbgMHanNvbktleQdhcnJLZXlzCWFyclZhbHVlcwQDcmVzCQD8BwQFBHRoaXMCEG1ha2VKU09OSW50ZXJuYWwJAMwIAgUHYXJyS2V5cwkAzAgCBQlhcnJWYWx1ZXMFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAE+sFzg=", "height": 2491509, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: XyLeQwua57Yyck16LnQk3MdhgPCfXZoCezAGiXzDEGJ Next: dqBZQvkQ9sCzsLZonYiykQHig7LqZm9M2qT16cxjNi1 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let jsonRes = "jsonRes"
4+let collectionName = getStringValue(this, "collectionName")
55
6-let quote = toUtf8String(base58'b')
6+let symbol = getStringValue(this, "symbol")
77
8-func makeField (nextValue) = (((((((quote + nextValue._1) + quote) + ":") + quote) + nextValue._2) + quote) + ",")
8+let description = getStringValue(this, "description")
99
10+let totalAmount = getIntegerValue(this, "totalAmount")
1011
11-func reducerMakeJSON (accum,nextValue) = (accum + makeField(nextValue))
12-
13-
14-func iterateMakeJSON (params,res,length) = if ((length == 0))
15- then throw("Empty params")
16- else if ((length == 1))
17- then {
18- let $l = params
19- let $s = size($l)
20- let $acc0 = res
21- func $f0_1 ($a,$i) = if (($i >= $s))
22- then $a
23- else reducerMakeJSON($a, $l[$i])
24-
25- func $f0_2 ($a,$i) = if (($i >= $s))
26- then $a
27- else throw("List size exceeds 1")
28-
29- $f0_2($f0_1($acc0, 0), 1)
30- }
31- else if ((length == 2))
32- then {
33- let $l = params
34- let $s = size($l)
35- let $acc0 = res
36- func $f0_1 ($a,$i) = if (($i >= $s))
37- then $a
38- else reducerMakeJSON($a, $l[$i])
39-
40- func $f0_2 ($a,$i) = if (($i >= $s))
41- then $a
42- else throw("List size exceeds 2")
43-
44- $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
45- }
46- else if ((length == 3))
47- then {
48- let $l = params
49- let $s = size($l)
50- let $acc0 = res
51- func $f0_1 ($a,$i) = if (($i >= $s))
52- then $a
53- else reducerMakeJSON($a, $l[$i])
54-
55- func $f0_2 ($a,$i) = if (($i >= $s))
56- then $a
57- else throw("List size exceeds 3")
58-
59- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
60- }
61- else if ((length == 4))
62- then {
63- let $l = params
64- let $s = size($l)
65- let $acc0 = res
66- func $f0_1 ($a,$i) = if (($i >= $s))
67- then $a
68- else reducerMakeJSON($a, $l[$i])
69-
70- func $f0_2 ($a,$i) = if (($i >= $s))
71- then $a
72- else throw("List size exceeds 4")
73-
74- $f0_2($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4)
75- }
76- else if ((length == 5))
77- then {
78- let $l = params
79- let $s = size($l)
80- let $acc0 = res
81- func $f0_1 ($a,$i) = if (($i >= $s))
82- then $a
83- else reducerMakeJSON($a, $l[$i])
84-
85- func $f0_2 ($a,$i) = if (($i >= $s))
86- then $a
87- else throw("List size exceeds 5")
88-
89- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
90- }
91- else if ((length == 6))
92- then {
93- let $l = params
94- let $s = size($l)
95- let $acc0 = res
96- func $f0_1 ($a,$i) = if (($i >= $s))
97- then $a
98- else reducerMakeJSON($a, $l[$i])
99-
100- func $f0_2 ($a,$i) = if (($i >= $s))
101- then $a
102- else throw("List size exceeds 6")
103-
104- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6)
105- }
106- else if ((length == 7))
107- then {
108- let $l = params
109- let $s = size($l)
110- let $acc0 = res
111- func $f0_1 ($a,$i) = if (($i >= $s))
112- then $a
113- else reducerMakeJSON($a, $l[$i])
114-
115- func $f0_2 ($a,$i) = if (($i >= $s))
116- then $a
117- else throw("List size exceeds 7")
118-
119- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7)
120- }
121- else if ((length == 8))
122- then {
123- let $l = params
124- let $s = size($l)
125- let $acc0 = res
126- func $f0_1 ($a,$i) = if (($i >= $s))
127- then $a
128- else reducerMakeJSON($a, $l[$i])
129-
130- func $f0_2 ($a,$i) = if (($i >= $s))
131- then $a
132- else throw("List size exceeds 8")
133-
134- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
135- }
136- else if ((length == 9))
137- then {
138- let $l = params
139- let $s = size($l)
140- let $acc0 = res
141- func $f0_1 ($a,$i) = if (($i >= $s))
142- then $a
143- else reducerMakeJSON($a, $l[$i])
144-
145- func $f0_2 ($a,$i) = if (($i >= $s))
146- then $a
147- else throw("List size exceeds 9")
148-
149- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9)
150- }
151- else if ((length == 10))
152- then {
153- let $l = params
154- let $s = size($l)
155- let $acc0 = res
156- func $f0_1 ($a,$i) = if (($i >= $s))
157- then $a
158- else reducerMakeJSON($a, $l[$i])
159-
160- func $f0_2 ($a,$i) = if (($i >= $s))
161- then $a
162- else throw("List size exceeds 10")
163-
164- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
165- }
166- else throw("The max number of parameters exceeded")
167-
168-
169-func getPartAndTail (arr) = {
170- let el0 = arr[0]
171- let el1 = arr[1]
172- let el2 = arr[2]
173- let el3 = arr[3]
174- let el4 = arr[4]
175- let el5 = arr[5]
176- let el6 = arr[6]
177- let el7 = arr[7]
178- let el8 = arr[8]
179- let el9 = arr[9]
180- let arr0 = removeByIndex(arr, 0)
181- let arr1 = removeByIndex(arr0, 0)
182- let arr2 = removeByIndex(arr1, 0)
183- let arr3 = removeByIndex(arr2, 0)
184- let arr4 = removeByIndex(arr3, 0)
185- let arr5 = removeByIndex(arr4, 0)
186- let arr6 = removeByIndex(arr5, 0)
187- let arr7 = removeByIndex(arr6, 0)
188- let arr8 = removeByIndex(arr7, 0)
189- let arr9 = removeByIndex(arr8, 0)
190- $Tuple2([el0, el1, el2, el3, el4, el5, el6, el7, el8, el9], arr9)
191- }
192-
12+let dAppJson = Address(fromBase58String("3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7"))
19313
19414 func onlyInternal (caller) = if ((caller == this))
19515 then unit
19616 else throw("Only internal call")
19717
19818
199-func prepare_1 (arr,arr2) = [$Tuple2(arr[0], arr2[0])]
19+func transferOrNot (to,assetId) = if ((to == this))
20+ then StringEntry("костыль", "костыль")
21+ else ScriptTransfer(to, 1, assetId)
20022
20123
202-func prepare_2 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1])]
203-
204-
205-func prepare_3 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2])]
206-
207-
208-func prepare_4 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3])]
209-
210-
211-func prepare_5 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4])]
212-
213-
214-func prepare_6 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5])]
215-
216-
217-func prepare_7 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6])]
218-
219-
220-func prepare_8 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6]), $Tuple2(arr[7], arr2[7])]
221-
222-
223-func prepare_9 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6]), $Tuple2(arr[7], arr2[7]), $Tuple2(arr[8], arr2[8])]
224-
225-
226-func prepare_10 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6]), $Tuple2(arr[7], arr2[7]), $Tuple2(arr[8], arr2[8]), $Tuple2(arr[9], arr2[9])]
227-
228-
229-func prepareParams (currentArrPartKeys,currentArrPartValues,length) = if ((length == 0))
230- then throw("Empty params")
231- else if ((length == 1))
232- then prepare_1(currentArrPartKeys, currentArrPartValues)
233- else if ((length == 2))
234- then prepare_2(currentArrPartKeys, currentArrPartValues)
235- else if ((length == 3))
236- then prepare_3(currentArrPartKeys, currentArrPartValues)
237- else if ((length == 4))
238- then prepare_4(currentArrPartKeys, currentArrPartValues)
239- else if ((length == 5))
240- then prepare_5(currentArrPartKeys, currentArrPartValues)
241- else if ((length == 6))
242- then prepare_6(currentArrPartKeys, currentArrPartValues)
243- else if ((length == 7))
244- then prepare_7(currentArrPartKeys, currentArrPartValues)
245- else if ((length == 8))
246- then prepare_8(currentArrPartKeys, currentArrPartValues)
247- else if ((length == 9))
248- then prepare_9(currentArrPartKeys, currentArrPartValues)
249- else if ((length == 10))
250- then prepare_10(currentArrPartKeys, currentArrPartValues)
251- else throw("Max number of parameters exceeded")
252-
253-
254-func getStartAndEndIndexes (json,key) = {
255- let keyLen = size(key)
256- let startIndex = value(indexOf(json, key))
257- let endIndex = valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex)))
258- $Tuple3(keyLen, startIndex, endIndex)
259- }
260-
261-
262-func readByKeyInternal (json,key) = {
263- let $t063046417 = getStartAndEndIndexes(json, key)
264- let keyLen = $t063046417._1
265- let startIndex = $t063046417._2
266- let endIndex = $t063046417._3
267- drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
268- }
269-
270-
271-func deleteByKeyInternal (json,key) = {
272- let $t066916815 = getStartAndEndIndexes(json, key)
273- let keyLen = $t066916815._1
274- let startIndex = $t066916815._2
275- let endIndex = $t066916815._3
276- let deletedValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
277- let newJson = if (((size(json) - endIndex) == 1))
278- then (take(json, (startIndex - 2)) + drop(json, endIndex))
279- else (take(json, (startIndex - 1)) + drop(json, (endIndex + 1)))
280- $Tuple2(deletedValue, newJson)
281- }
24+func setUser (assetId,user,expires) = throw()
28225
28326
28427 @Callable(i)
285-func makeJSONInternal (arrKeys,arrValues,iterationsCount,lastIterationLen,res) = valueOrElse(onlyInternal(i.caller), if ((iterationsCount > 0))
286- then {
287- let $t079138075 = getPartAndTail(arrKeys)
288- let currentArrPartKeys = $t079138075._1
289- let arrTailKeys = $t079138075._2
290- let $t080848199 = getPartAndTail(arrValues)
291- let currentArrPartValues = $t080848199._1
292- let arrTailValues = $t080848199._2
293- let params = prepareParams(currentArrPartKeys, currentArrPartValues, 10)
294- let newString = iterateMakeJSON(params, res, 10)
295- let result = invoke(this, "makeJSONInternal", [arrTailKeys, arrTailValues, (iterationsCount - 1), lastIterationLen, newString], nil)
296- if ((result == result))
297- then $Tuple2(nil, result)
298- else throw("Strict value is not equal to itself.")
299- }
300- else if ((lastIterationLen != 0))
301- then {
302- let params = prepareParams(arrKeys, arrValues, lastIterationLen)
303- let newString = iterateMakeJSON(params, res, lastIterationLen)
304- $Tuple2(nil, (("{" + dropRight(newString, 1)) + "}"))
305- }
306- else $Tuple2(nil, (("{" + dropRight(res, 1)) + "}")))
28+func makeJSONInternal (arrKeys,arrValues) = valueOrElse(onlyInternal(i.caller), {
29+ let res = invoke(dAppJson, "makeJSON", [arrKeys, arrValues], nil)
30+ if ((res == res))
31+ then $Tuple2(nil, res)
32+ else throw("Strict value is not equal to itself.")
33+ })
30734
30835
30936
31037 @Callable(i)
311-func makeJSON (arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
312- then throw("ArrayKeys and ArrayValues length must be equal")
313- else {
314- let len = size(arrKeys)
315- let iterationsCount = fraction(1, len, 10)
316- let lastIterationLen = (len % 10)
317- let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, ""], nil)
318- if ((res == res))
319- then $Tuple2(nil, res)
320- else throw("Strict value is not equal to itself.")
321- }
38+func addToJSONInternal (arrKeys,arrValues) = valueOrElse(onlyInternal(i.caller), {
39+ let res = invoke(dAppJson, "addToJSON", [arrKeys, arrValues], nil)
40+ if ((res == res))
41+ then $Tuple2(nil, res)
42+ else throw("Strict value is not equal to itself.")
43+ })
32244
32345
32446
32547 @Callable(i)
326-func addToJSON (arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
327- then throw("ArrayKeys and ArrayValues length must be equal")
328- else {
329- let oldJson = getStringValue(this, jsonRes)
330- let len = size(arrKeys)
331- let iterationsCount = fraction(1, len, 10)
332- let lastIterationLen = (len % 10)
333- let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, (drop(dropRight(oldJson, 1), 1) + ",")], nil)
334- if ((res == res))
335- then $Tuple2(nil, res)
336- else throw("Strict value is not equal to itself.")
337- }
48+func readByJSONKeyInternal (key) = valueOrElse(onlyInternal(i.caller), {
49+ let res = invoke(dAppJson, "readByJSONKey", [key], nil)
50+ if ((res == res))
51+ then $Tuple2(nil, res)
52+ else throw("Strict value is not equal to itself.")
53+ })
33854
33955
34056
34157 @Callable(i)
342-func readByJSONKey (key) = {
343- let json = getStringValue(this, jsonRes)
344- let valueByKey = readByKeyInternal(json, key)
345- $Tuple2(nil, valueByKey)
346- }
58+func deleteByJSONKeyInternal (key) = valueOrElse(onlyInternal(i.caller), {
59+ let res = invoke(dAppJson, "deleteByJSONKey", [key], nil)
60+ if ((res == res))
61+ then $Tuple2(nil, res)
62+ else throw("Strict value is not equal to itself.")
63+ })
34764
34865
34966
35067 @Callable(i)
351-func deleteByJSONKey (key) = {
352- let json = getStringValue(this, jsonRes)
353- let $t01252612656 = deleteByKeyInternal(json, key)
354- let deletedValueByKey = $t01252612656._1
355- let newJson = $t01252612656._2
356- $Tuple2(nil, $Tuple2(deletedValueByKey, newJson))
68+func init (collectionName,symbol,description) = if ((i.caller == this))
69+ then [StringEntry("collectionName", collectionName), StringEntry("symbol", symbol), StringEntry("description", description), IntegerEntry("totalAmount", 0)]
70+ else throw("only dApp")
71+
72+
73+
74+@Callable(i)
75+func mint (to,tokenURI) = if ((i.caller == this))
76+ then {
77+ let tokenId = (totalAmount + 1)
78+ let preName = ((symbol + "#") + toString(tokenId))
79+ let name = if ((16 >= size(preName)))
80+ then preName
81+ else toString(tokenId)
82+ let asset = Issue(name, (("{uri:\"" + tokenURI) + "\"}"), 1, 0, false, unit, height)
83+ let assetId = calculateAssetId(asset)
84+ let toAddress = Address(fromBase58String(to))
85+ let transfer = transferOrNot(toAddress, assetId)
86+ if ((transfer == transfer))
87+ then [asset, transfer, IntegerEntry("totalAmount", tokenId), StringEntry(name, tokenURI)]
88+ else throw("Strict value is not equal to itself.")
89+ }
90+ else throw("only dApp")
91+
92+
93+
94+@Callable(i)
95+func testStorageJson (jsonKey,arrKeys,arrValues) = {
96+ let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues], nil)
97+ if ((res == res))
98+ then $Tuple2(nil, res)
99+ else throw("Strict value is not equal to itself.")
357100 }
358101
359102

github/deemru/w8io/169f3d6 
40.01 ms