tx · sZUCTCzBjfyWnVHaRYd2s7ubf63ciiSLJSyMJfXC12d 3PL1tnAkQUP3jQNGUu2NvfAuWuz5kqrhctt: -0.01400000 Waves 2021.08.27 16:36 [2741727] smart account 3PL1tnAkQUP3jQNGUu2NvfAuWuz5kqrhctt > SELF 0.00000000 Waves
{ "type": 13, "id": "sZUCTCzBjfyWnVHaRYd2s7ubf63ciiSLJSyMJfXC12d", "fee": 1400000, "feeAssetId": null, "timestamp": 1630071441148, "version": 2, "chainId": 87, "sender": "3PL1tnAkQUP3jQNGUu2NvfAuWuz5kqrhctt", "senderPublicKey": "FhXYYRZDWoRYCFFD5grk8GMaGMEir6Q9V6WFK26zVNhi", "proofs": [ "4xoRgthN1QGUwzihLUPk5gDPFV9fZqkaRfJuyGx6Hqa8qRKfLtBSgud82sAB9rrpq3ybfsFge53khVnVB5eLuqyd" ], "script": "base64:AAIFAAAAAAAADKIIAhIHCgUIAQEICBoOCgJhMRIIbUFjY1BLZXkaDgoCYTISCG1BY2NBZGRyGhQKAmEzEg5rSW5jdWJhdG9yRGFwcBoSCgJhNBIMa0JyZWVkZXJEYXBwGhEKAmE1EgtrTWFya2V0RGFwcBoOCgJhNhIIZ2V0Qm9vbEEaBwoCYTcSAWEaCQoCYTgSA2tleRoNCgJhORIHJG1hdGNoMBoHCgJiMRIBYhoNCgJiMhIHZ2V0U3RyQRoHCgJiMxIBaxoNCgJiNBIHZ2V0SW50QRoNCgJiNRIHYWRkcmVzcxoTCgJiNhINZ2V0TWFya2V0QWRkchoTCgJiNxINYW1vdW50T3JDbGVhchoMCgJiOBIGYW1vdW50Gg8KAmI5Eglpc1N5bWJvbEEaCQoCYzESA2FjYxoJCgJjMhIDc3ltGg8KAmMzEglpc1N5bWJvbEIaDwoCYzQSCWlzU3ltYm9sQxoPCgJjNRIJaXNTeW1ib2xEGg8KAmM2Eglpc1N5bWJvbEUaDwoCYzcSCWlzU3ltYm9sRhoPCgJjOBIJaXNTeW1ib2xHGg8KAmM5Eglpc1N5bWJvbEgaDAoCZDESBmdldEdlbhoPCgJkMhIJYXNzZXROYW1lGgoKAmQzEgRnZW5vGhMKAmQ0Eg0kbGlzdDI1MDcyNTM0GhMKAmQ1Eg0kc2l6ZTI1MDcyNTM0GhMKAmQ2Eg0kYWNjMDI1MDcyNTM0GhMKAmQ3Eg0kYWNjMTI1MDcyNTM0GhMKAmQ4Eg0kYWNjMjI1MDcyNTM0GhMKAmQ5Eg0kYWNjMzI1MDcyNTM0GhMKAmUxEg0kYWNjNDI1MDcyNTM0GhMKAmUyEg0kYWNjNTI1MDcyNTM0GhMKAmUzEg0kYWNjNjI1MDcyNTM0GhMKAmU0Eg0kYWNjNzI1MDcyNTM0GhMKAmU1Eg0kYWNjODI1MDcyNTM0GhMKAmU2Eg0kYWNjOTI1MDcyNTM0GhMKAmU3Eg0kbGlzdDI1NjgyNTk1GhMKAmU4Eg0kc2l6ZTI1NjgyNTk1GhMKAmU5Eg0kYWNjMDI1NjgyNTk1GhMKAmYxEg0kYWNjMTI1NjgyNTk1GhMKAmYyEg0kYWNjMjI1NjgyNTk1GhMKAmYzEg0kYWNjMzI1NjgyNTk1GhMKAmY0Eg0kYWNjNDI1NjgyNTk1GhMKAmY1Eg0kYWNjNTI1NjgyNTk1GhMKAmY2Eg0kYWNjNjI1NjgyNTk1GhMKAmY3Eg0kYWNjNzI1NjgyNTk1GhMKAmY4Eg0kYWNjODI1NjgyNTk1GhMKAmY5Eg0kYWNjOTI1NjgyNTk1GhMKAmcxEg0kbGlzdDI2MjkyNjU2GhMKAmcyEg0kc2l6ZTI2MjkyNjU2GhMKAmczEg0kYWNjMDI2MjkyNjU2GhMKAmc0Eg0kYWNjMTI2MjkyNjU2GhMKAmc1Eg0kYWNjMjI2MjkyNjU2GhMKAmc2Eg0kYWNjMzI2MjkyNjU2GhMKAmc3Eg0kYWNjNDI2MjkyNjU2GhMKAmc4Eg0kYWNjNTI2MjkyNjU2GhMKAmc5Eg0kYWNjNjI2MjkyNjU2GhMKAmgxEg0kYWNjNzI2MjkyNjU2GhMKAmgyEg0kYWNjODI2MjkyNjU2GhMKAmgzEg0kYWNjOTI2MjkyNjU2GhMKAmg0Eg0kbGlzdDI2OTIyNzE5GhMKAmg1Eg0kc2l6ZTI2OTIyNzE5GhMKAmg2Eg0kYWNjMDI2OTIyNzE5GhMKAmg3Eg0kYWNjMTI2OTIyNzE5GhMKAmg4Eg0kYWNjMjI2OTIyNzE5GhMKAmg5Eg0kYWNjMzI2OTIyNzE5GhMKAmkxEg0kYWNjNDI2OTIyNzE5GhMKAmkyEg0kYWNjNTI2OTIyNzE5GhMKAmkzEg0kYWNjNjI2OTIyNzE5GhMKAmk0Eg0kYWNjNzI2OTIyNzE5GhMKAmk1Eg0kYWNjODI2OTIyNzE5GhMKAmk2Eg0kYWNjOTI2OTIyNzE5GhMKAmk3Eg0kbGlzdDI3NTMyNzgwGhMKAmk4Eg0kc2l6ZTI3NTMyNzgwGhMKAmk5Eg0kYWNjMDI3NTMyNzgwGhMKAmoxEg0kYWNjMTI3NTMyNzgwGhMKAmoyEg0kYWNjMjI3NTMyNzgwGhMKAmozEg0kYWNjMzI3NTMyNzgwGhMKAmo0Eg0kYWNjNDI3NTMyNzgwGhMKAmo1Eg0kYWNjNTI3NTMyNzgwGhMKAmo2Eg0kYWNjNjI3NTMyNzgwGhMKAmo3Eg0kYWNjNzI3NTMyNzgwGhMKAmo4Eg0kYWNjODI3NTMyNzgwGhMKAmo5Eg0kYWNjOTI3NTMyNzgwGhMKAmsxEg0kbGlzdDI4MTQyODQxGhMKAmsyEg0kc2l6ZTI4MTQyODQxGhMKAmszEg0kYWNjMDI4MTQyODQxGhMKAms0Eg0kYWNjMTI4MTQyODQxGhMKAms1Eg0kYWNjMjI4MTQyODQxGhMKAms2Eg0kYWNjMzI4MTQyODQxGhMKAms3Eg0kYWNjNDI4MTQyODQxGhMKAms4Eg0kYWNjNTI4MTQyODQxGhMKAms5Eg0kYWNjNjI4MTQyODQxGhMKAmwxEg0kYWNjNzI4MTQyODQxGhMKAmwyEg0kYWNjODI4MTQyODQxGhMKAmwzEg0kYWNjOTI4MTQyODQxGhMKAmw0Eg0kbGlzdDI4NzcyOTA0GhMKAmw1Eg0kc2l6ZTI4NzcyOTA0GhMKAmw2Eg0kYWNjMDI4NzcyOTA0GhMKAmw3Eg0kYWNjMTI4NzcyOTA0GhMKAmw4Eg0kYWNjMjI4NzcyOTA0GhMKAmw5Eg0kYWNjMzI4NzcyOTA0GhMKAm0xEg0kYWNjNDI4NzcyOTA0GhMKAm0yEg0kYWNjNTI4NzcyOTA0GhMKAm0zEg0kYWNjNjI4NzcyOTA0GhMKAm00Eg0kYWNjNzI4NzcyOTA0GhMKAm01Eg0kYWNjODI4NzcyOTA0GhMKAm02Eg0kYWNjOTI4NzcyOTA0GhMKAm03Eg0kbGlzdDI5MzgyOTY1GhMKAm04Eg0kc2l6ZTI5MzgyOTY1GhMKAm05Eg0kYWNjMDI5MzgyOTY1GhMKAm4xEg0kYWNjMTI5MzgyOTY1GhMKAm4yEg0kYWNjMjI5MzgyOTY1GhMKAm4zEg0kYWNjMzI5MzgyOTY1GhMKAm40Eg0kYWNjNDI5MzgyOTY1GhMKAm41Eg0kYWNjNTI5MzgyOTY1GhMKAm42Eg0kYWNjNjI5MzgyOTY1GhMKAm43Eg0kYWNjNzI5MzgyOTY1GhMKAm44Eg0kYWNjODI5MzgyOTY1GhMKAm45Eg0kYWNjOTI5MzgyOTY1GhQKAm8xEg5nZXRBc3NldE9yaWdpbhoQCgJvMhIKZ2VuZXJhdGlvbhoWCgJvMxIQaW5jdWJhdG9yQWRkcmVzcxoUCgJvNBIOYnJlZWRlckFkZHJlc3MaFAoCbzUSDmdldEFzc2V0UmFyaXR5Gg4KAm82EghxdWFudGl0eRoLCgJvNxIFcG93ZXIaGgoCbzgSFGdldEFzc2V0RmFybWluZ1Bvd2VyGg0KAm85Egdhc3NldElkGgkKAnAxEgNnZW4aGAoCcDIS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", "height": 2741727, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9FY3GaeUty3GF3EVeb3JPRpTgmSHFYRB1REvHMiuqbF8 Next: FE45eoCjq63Q75wwmjyxEkzToaPRJLhRynVPXytm9rCj Diff:
Old | New | Differences | |
---|---|---|---|
11 | 11 | ||
12 | 12 | let kMarketDapp = "MARKETPLACE_DAPP" | |
13 | 13 | ||
14 | - | let kLocked = "LOCKED" | |
15 | - | ||
16 | - | func getBool (key) = match getBoolean(this, key) { | |
14 | + | func getBoolA (a,key) = match getBoolean(a, key) { | |
17 | 15 | case b: Boolean => | |
18 | 16 | b | |
19 | 17 | case _ => | |
88 | 86 | func getGen (assetName) = { | |
89 | 87 | let geno = split(dropRight(drop(assetName, 5), 3), "") | |
90 | 88 | (((((((amountOrClear((toString({ | |
91 | - | let $ | |
92 | - | let $ | |
93 | - | let $ | |
94 | - | if (($ | |
95 | - | then $ | |
89 | + | let $list25072534 = geno | |
90 | + | let $size25072534 = size($list25072534) | |
91 | + | let $acc025072534 = 0 | |
92 | + | if (($size25072534 == 0)) | |
93 | + | then $acc025072534 | |
96 | 94 | else { | |
97 | - | let $ | |
98 | - | if (($ | |
99 | - | then $ | |
95 | + | let $acc125072534 = isSymbolA($acc025072534, $list25072534[0]) | |
96 | + | if (($size25072534 == 1)) | |
97 | + | then $acc125072534 | |
100 | 98 | else { | |
101 | - | let $ | |
102 | - | if (($ | |
103 | - | then $ | |
99 | + | let $acc225072534 = isSymbolA($acc125072534, $list25072534[1]) | |
100 | + | if (($size25072534 == 2)) | |
101 | + | then $acc225072534 | |
104 | 102 | else { | |
105 | - | let $ | |
106 | - | if (($ | |
107 | - | then $ | |
103 | + | let $acc325072534 = isSymbolA($acc225072534, $list25072534[2]) | |
104 | + | if (($size25072534 == 3)) | |
105 | + | then $acc325072534 | |
108 | 106 | else { | |
109 | - | let $ | |
110 | - | if (($ | |
111 | - | then $ | |
107 | + | let $acc425072534 = isSymbolA($acc325072534, $list25072534[3]) | |
108 | + | if (($size25072534 == 4)) | |
109 | + | then $acc425072534 | |
112 | 110 | else { | |
113 | - | let $ | |
114 | - | if (($ | |
115 | - | then $ | |
111 | + | let $acc525072534 = isSymbolA($acc425072534, $list25072534[4]) | |
112 | + | if (($size25072534 == 5)) | |
113 | + | then $acc525072534 | |
116 | 114 | else { | |
117 | - | let $ | |
118 | - | if (($ | |
119 | - | then $ | |
115 | + | let $acc625072534 = isSymbolA($acc525072534, $list25072534[5]) | |
116 | + | if (($size25072534 == 6)) | |
117 | + | then $acc625072534 | |
120 | 118 | else { | |
121 | - | let $ | |
122 | - | if (($ | |
123 | - | then $ | |
119 | + | let $acc725072534 = isSymbolA($acc625072534, $list25072534[6]) | |
120 | + | if (($size25072534 == 7)) | |
121 | + | then $acc725072534 | |
124 | 122 | else { | |
125 | - | let $ | |
126 | - | if (($ | |
127 | - | then $ | |
123 | + | let $acc825072534 = isSymbolA($acc725072534, $list25072534[7]) | |
124 | + | if (($size25072534 == 8)) | |
125 | + | then $acc825072534 | |
128 | 126 | else { | |
129 | - | let $ | |
127 | + | let $acc925072534 = isSymbolA($acc825072534, $list25072534[8]) | |
130 | 128 | throw("List size exceed 8") | |
131 | 129 | } | |
132 | 130 | } | |
138 | 136 | } | |
139 | 137 | } | |
140 | 138 | }) + "A")) + amountOrClear((toString({ | |
141 | - | let $ | |
142 | - | let $ | |
143 | - | let $ | |
144 | - | if (($ | |
145 | - | then $ | |
139 | + | let $list25682595 = geno | |
140 | + | let $size25682595 = size($list25682595) | |
141 | + | let $acc025682595 = 0 | |
142 | + | if (($size25682595 == 0)) | |
143 | + | then $acc025682595 | |
146 | 144 | else { | |
147 | - | let $ | |
148 | - | if (($ | |
149 | - | then $ | |
145 | + | let $acc125682595 = isSymbolB($acc025682595, $list25682595[0]) | |
146 | + | if (($size25682595 == 1)) | |
147 | + | then $acc125682595 | |
150 | 148 | else { | |
151 | - | let $ | |
152 | - | if (($ | |
153 | - | then $ | |
149 | + | let $acc225682595 = isSymbolB($acc125682595, $list25682595[1]) | |
150 | + | if (($size25682595 == 2)) | |
151 | + | then $acc225682595 | |
154 | 152 | else { | |
155 | - | let $ | |
156 | - | if (($ | |
157 | - | then $ | |
153 | + | let $acc325682595 = isSymbolB($acc225682595, $list25682595[2]) | |
154 | + | if (($size25682595 == 3)) | |
155 | + | then $acc325682595 | |
158 | 156 | else { | |
159 | - | let $ | |
160 | - | if (($ | |
161 | - | then $ | |
157 | + | let $acc425682595 = isSymbolB($acc325682595, $list25682595[3]) | |
158 | + | if (($size25682595 == 4)) | |
159 | + | then $acc425682595 | |
162 | 160 | else { | |
163 | - | let $ | |
164 | - | if (($ | |
165 | - | then $ | |
161 | + | let $acc525682595 = isSymbolB($acc425682595, $list25682595[4]) | |
162 | + | if (($size25682595 == 5)) | |
163 | + | then $acc525682595 | |
166 | 164 | else { | |
167 | - | let $ | |
168 | - | if (($ | |
169 | - | then $ | |
165 | + | let $acc625682595 = isSymbolB($acc525682595, $list25682595[5]) | |
166 | + | if (($size25682595 == 6)) | |
167 | + | then $acc625682595 | |
170 | 168 | else { | |
171 | - | let $ | |
172 | - | if (($ | |
173 | - | then $ | |
169 | + | let $acc725682595 = isSymbolB($acc625682595, $list25682595[6]) | |
170 | + | if (($size25682595 == 7)) | |
171 | + | then $acc725682595 | |
174 | 172 | else { | |
175 | - | let $ | |
176 | - | if (($ | |
177 | - | then $ | |
173 | + | let $acc825682595 = isSymbolB($acc725682595, $list25682595[7]) | |
174 | + | if (($size25682595 == 8)) | |
175 | + | then $acc825682595 | |
178 | 176 | else { | |
179 | - | let $ | |
177 | + | let $acc925682595 = isSymbolB($acc825682595, $list25682595[8]) | |
180 | 178 | throw("List size exceed 8") | |
181 | 179 | } | |
182 | 180 | } | |
188 | 186 | } | |
189 | 187 | } | |
190 | 188 | }) + "B"))) + amountOrClear((toString({ | |
191 | - | let $ | |
192 | - | let $ | |
193 | - | let $ | |
194 | - | if (($ | |
195 | - | then $ | |
189 | + | let $list26292656 = geno | |
190 | + | let $size26292656 = size($list26292656) | |
191 | + | let $acc026292656 = 0 | |
192 | + | if (($size26292656 == 0)) | |
193 | + | then $acc026292656 | |
196 | 194 | else { | |
197 | - | let $ | |
198 | - | if (($ | |
199 | - | then $ | |
195 | + | let $acc126292656 = isSymbolC($acc026292656, $list26292656[0]) | |
196 | + | if (($size26292656 == 1)) | |
197 | + | then $acc126292656 | |
200 | 198 | else { | |
201 | - | let $ | |
202 | - | if (($ | |
203 | - | then $ | |
199 | + | let $acc226292656 = isSymbolC($acc126292656, $list26292656[1]) | |
200 | + | if (($size26292656 == 2)) | |
201 | + | then $acc226292656 | |
204 | 202 | else { | |
205 | - | let $ | |
206 | - | if (($ | |
207 | - | then $ | |
203 | + | let $acc326292656 = isSymbolC($acc226292656, $list26292656[2]) | |
204 | + | if (($size26292656 == 3)) | |
205 | + | then $acc326292656 | |
208 | 206 | else { | |
209 | - | let $ | |
210 | - | if (($ | |
211 | - | then $ | |
207 | + | let $acc426292656 = isSymbolC($acc326292656, $list26292656[3]) | |
208 | + | if (($size26292656 == 4)) | |
209 | + | then $acc426292656 | |
212 | 210 | else { | |
213 | - | let $ | |
214 | - | if (($ | |
215 | - | then $ | |
211 | + | let $acc526292656 = isSymbolC($acc426292656, $list26292656[4]) | |
212 | + | if (($size26292656 == 5)) | |
213 | + | then $acc526292656 | |
216 | 214 | else { | |
217 | - | let $ | |
218 | - | if (($ | |
219 | - | then $ | |
215 | + | let $acc626292656 = isSymbolC($acc526292656, $list26292656[5]) | |
216 | + | if (($size26292656 == 6)) | |
217 | + | then $acc626292656 | |
220 | 218 | else { | |
221 | - | let $ | |
222 | - | if (($ | |
223 | - | then $ | |
219 | + | let $acc726292656 = isSymbolC($acc626292656, $list26292656[6]) | |
220 | + | if (($size26292656 == 7)) | |
221 | + | then $acc726292656 | |
224 | 222 | else { | |
225 | - | let $ | |
226 | - | if (($ | |
227 | - | then $ | |
223 | + | let $acc826292656 = isSymbolC($acc726292656, $list26292656[7]) | |
224 | + | if (($size26292656 == 8)) | |
225 | + | then $acc826292656 | |
228 | 226 | else { | |
229 | - | let $ | |
227 | + | let $acc926292656 = isSymbolC($acc826292656, $list26292656[8]) | |
230 | 228 | throw("List size exceed 8") | |
231 | 229 | } | |
232 | 230 | } | |
238 | 236 | } | |
239 | 237 | } | |
240 | 238 | }) + "C"))) + amountOrClear((toString({ | |
241 | - | let $ | |
242 | - | let $ | |
243 | - | let $ | |
244 | - | if (($ | |
245 | - | then $ | |
239 | + | let $list26922719 = geno | |
240 | + | let $size26922719 = size($list26922719) | |
241 | + | let $acc026922719 = 0 | |
242 | + | if (($size26922719 == 0)) | |
243 | + | then $acc026922719 | |
246 | 244 | else { | |
247 | - | let $ | |
248 | - | if (($ | |
249 | - | then $ | |
245 | + | let $acc126922719 = isSymbolD($acc026922719, $list26922719[0]) | |
246 | + | if (($size26922719 == 1)) | |
247 | + | then $acc126922719 | |
250 | 248 | else { | |
251 | - | let $ | |
252 | - | if (($ | |
253 | - | then $ | |
249 | + | let $acc226922719 = isSymbolD($acc126922719, $list26922719[1]) | |
250 | + | if (($size26922719 == 2)) | |
251 | + | then $acc226922719 | |
254 | 252 | else { | |
255 | - | let $ | |
256 | - | if (($ | |
257 | - | then $ | |
253 | + | let $acc326922719 = isSymbolD($acc226922719, $list26922719[2]) | |
254 | + | if (($size26922719 == 3)) | |
255 | + | then $acc326922719 | |
258 | 256 | else { | |
259 | - | let $ | |
260 | - | if (($ | |
261 | - | then $ | |
257 | + | let $acc426922719 = isSymbolD($acc326922719, $list26922719[3]) | |
258 | + | if (($size26922719 == 4)) | |
259 | + | then $acc426922719 | |
262 | 260 | else { | |
263 | - | let $ | |
264 | - | if (($ | |
265 | - | then $ | |
261 | + | let $acc526922719 = isSymbolD($acc426922719, $list26922719[4]) | |
262 | + | if (($size26922719 == 5)) | |
263 | + | then $acc526922719 | |
266 | 264 | else { | |
267 | - | let $ | |
268 | - | if (($ | |
269 | - | then $ | |
265 | + | let $acc626922719 = isSymbolD($acc526922719, $list26922719[5]) | |
266 | + | if (($size26922719 == 6)) | |
267 | + | then $acc626922719 | |
270 | 268 | else { | |
271 | - | let $ | |
272 | - | if (($ | |
273 | - | then $ | |
269 | + | let $acc726922719 = isSymbolD($acc626922719, $list26922719[6]) | |
270 | + | if (($size26922719 == 7)) | |
271 | + | then $acc726922719 | |
274 | 272 | else { | |
275 | - | let $ | |
276 | - | if (($ | |
277 | - | then $ | |
273 | + | let $acc826922719 = isSymbolD($acc726922719, $list26922719[7]) | |
274 | + | if (($size26922719 == 8)) | |
275 | + | then $acc826922719 | |
278 | 276 | else { | |
279 | - | let $ | |
277 | + | let $acc926922719 = isSymbolD($acc826922719, $list26922719[8]) | |
280 | 278 | throw("List size exceed 8") | |
281 | 279 | } | |
282 | 280 | } | |
288 | 286 | } | |
289 | 287 | } | |
290 | 288 | }) + "D"))) + amountOrClear((toString({ | |
291 | - | let $ | |
292 | - | let $ | |
293 | - | let $ | |
294 | - | if (($ | |
295 | - | then $ | |
289 | + | let $list27532780 = geno | |
290 | + | let $size27532780 = size($list27532780) | |
291 | + | let $acc027532780 = 0 | |
292 | + | if (($size27532780 == 0)) | |
293 | + | then $acc027532780 | |
296 | 294 | else { | |
297 | - | let $ | |
298 | - | if (($ | |
299 | - | then $ | |
295 | + | let $acc127532780 = isSymbolE($acc027532780, $list27532780[0]) | |
296 | + | if (($size27532780 == 1)) | |
297 | + | then $acc127532780 | |
300 | 298 | else { | |
301 | - | let $ | |
302 | - | if (($ | |
303 | - | then $ | |
299 | + | let $acc227532780 = isSymbolE($acc127532780, $list27532780[1]) | |
300 | + | if (($size27532780 == 2)) | |
301 | + | then $acc227532780 | |
304 | 302 | else { | |
305 | - | let $ | |
306 | - | if (($ | |
307 | - | then $ | |
303 | + | let $acc327532780 = isSymbolE($acc227532780, $list27532780[2]) | |
304 | + | if (($size27532780 == 3)) | |
305 | + | then $acc327532780 | |
308 | 306 | else { | |
309 | - | let $ | |
310 | - | if (($ | |
311 | - | then $ | |
307 | + | let $acc427532780 = isSymbolE($acc327532780, $list27532780[3]) | |
308 | + | if (($size27532780 == 4)) | |
309 | + | then $acc427532780 | |
312 | 310 | else { | |
313 | - | let $ | |
314 | - | if (($ | |
315 | - | then $ | |
311 | + | let $acc527532780 = isSymbolE($acc427532780, $list27532780[4]) | |
312 | + | if (($size27532780 == 5)) | |
313 | + | then $acc527532780 | |
316 | 314 | else { | |
317 | - | let $ | |
318 | - | if (($ | |
319 | - | then $ | |
315 | + | let $acc627532780 = isSymbolE($acc527532780, $list27532780[5]) | |
316 | + | if (($size27532780 == 6)) | |
317 | + | then $acc627532780 | |
320 | 318 | else { | |
321 | - | let $ | |
322 | - | if (($ | |
323 | - | then $ | |
319 | + | let $acc727532780 = isSymbolE($acc627532780, $list27532780[6]) | |
320 | + | if (($size27532780 == 7)) | |
321 | + | then $acc727532780 | |
324 | 322 | else { | |
325 | - | let $ | |
326 | - | if (($ | |
327 | - | then $ | |
323 | + | let $acc827532780 = isSymbolE($acc727532780, $list27532780[7]) | |
324 | + | if (($size27532780 == 8)) | |
325 | + | then $acc827532780 | |
328 | 326 | else { | |
329 | - | let $ | |
327 | + | let $acc927532780 = isSymbolE($acc827532780, $list27532780[8]) | |
330 | 328 | throw("List size exceed 8") | |
331 | 329 | } | |
332 | 330 | } | |
338 | 336 | } | |
339 | 337 | } | |
340 | 338 | }) + "E"))) + amountOrClear((toString({ | |
341 | - | let $ | |
342 | - | let $ | |
343 | - | let $ | |
344 | - | if (($ | |
345 | - | then $ | |
339 | + | let $list28142841 = geno | |
340 | + | let $size28142841 = size($list28142841) | |
341 | + | let $acc028142841 = 0 | |
342 | + | if (($size28142841 == 0)) | |
343 | + | then $acc028142841 | |
346 | 344 | else { | |
347 | - | let $ | |
348 | - | if (($ | |
349 | - | then $ | |
345 | + | let $acc128142841 = isSymbolF($acc028142841, $list28142841[0]) | |
346 | + | if (($size28142841 == 1)) | |
347 | + | then $acc128142841 | |
350 | 348 | else { | |
351 | - | let $ | |
352 | - | if (($ | |
353 | - | then $ | |
349 | + | let $acc228142841 = isSymbolF($acc128142841, $list28142841[1]) | |
350 | + | if (($size28142841 == 2)) | |
351 | + | then $acc228142841 | |
354 | 352 | else { | |
355 | - | let $ | |
356 | - | if (($ | |
357 | - | then $ | |
353 | + | let $acc328142841 = isSymbolF($acc228142841, $list28142841[2]) | |
354 | + | if (($size28142841 == 3)) | |
355 | + | then $acc328142841 | |
358 | 356 | else { | |
359 | - | let $ | |
360 | - | if (($ | |
361 | - | then $ | |
357 | + | let $acc428142841 = isSymbolF($acc328142841, $list28142841[3]) | |
358 | + | if (($size28142841 == 4)) | |
359 | + | then $acc428142841 | |
362 | 360 | else { | |
363 | - | let $ | |
364 | - | if (($ | |
365 | - | then $ | |
361 | + | let $acc528142841 = isSymbolF($acc428142841, $list28142841[4]) | |
362 | + | if (($size28142841 == 5)) | |
363 | + | then $acc528142841 | |
366 | 364 | else { | |
367 | - | let $ | |
368 | - | if (($ | |
369 | - | then $ | |
365 | + | let $acc628142841 = isSymbolF($acc528142841, $list28142841[5]) | |
366 | + | if (($size28142841 == 6)) | |
367 | + | then $acc628142841 | |
370 | 368 | else { | |
371 | - | let $ | |
372 | - | if (($ | |
373 | - | then $ | |
369 | + | let $acc728142841 = isSymbolF($acc628142841, $list28142841[6]) | |
370 | + | if (($size28142841 == 7)) | |
371 | + | then $acc728142841 | |
374 | 372 | else { | |
375 | - | let $ | |
376 | - | if (($ | |
377 | - | then $ | |
373 | + | let $acc828142841 = isSymbolF($acc728142841, $list28142841[7]) | |
374 | + | if (($size28142841 == 8)) | |
375 | + | then $acc828142841 | |
378 | 376 | else { | |
379 | - | let $ | |
377 | + | let $acc928142841 = isSymbolF($acc828142841, $list28142841[8]) | |
380 | 378 | throw("List size exceed 8") | |
381 | 379 | } | |
382 | 380 | } | |
388 | 386 | } | |
389 | 387 | } | |
390 | 388 | }) + "F"))) + amountOrClear((toString({ | |
391 | - | let $ | |
392 | - | let $ | |
393 | - | let $ | |
394 | - | if (($ | |
395 | - | then $ | |
389 | + | let $list28772904 = geno | |
390 | + | let $size28772904 = size($list28772904) | |
391 | + | let $acc028772904 = 0 | |
392 | + | if (($size28772904 == 0)) | |
393 | + | then $acc028772904 | |
396 | 394 | else { | |
397 | - | let $ | |
398 | - | if (($ | |
399 | - | then $ | |
395 | + | let $acc128772904 = isSymbolG($acc028772904, $list28772904[0]) | |
396 | + | if (($size28772904 == 1)) | |
397 | + | then $acc128772904 | |
400 | 398 | else { | |
401 | - | let $ | |
402 | - | if (($ | |
403 | - | then $ | |
399 | + | let $acc228772904 = isSymbolG($acc128772904, $list28772904[1]) | |
400 | + | if (($size28772904 == 2)) | |
401 | + | then $acc228772904 | |
404 | 402 | else { | |
405 | - | let $ | |
406 | - | if (($ | |
407 | - | then $ | |
403 | + | let $acc328772904 = isSymbolG($acc228772904, $list28772904[2]) | |
404 | + | if (($size28772904 == 3)) | |
405 | + | then $acc328772904 | |
408 | 406 | else { | |
409 | - | let $ | |
410 | - | if (($ | |
411 | - | then $ | |
407 | + | let $acc428772904 = isSymbolG($acc328772904, $list28772904[3]) | |
408 | + | if (($size28772904 == 4)) | |
409 | + | then $acc428772904 | |
412 | 410 | else { | |
413 | - | let $ | |
414 | - | if (($ | |
415 | - | then $ | |
411 | + | let $acc528772904 = isSymbolG($acc428772904, $list28772904[4]) | |
412 | + | if (($size28772904 == 5)) | |
413 | + | then $acc528772904 | |
416 | 414 | else { | |
417 | - | let $ | |
418 | - | if (($ | |
419 | - | then $ | |
415 | + | let $acc628772904 = isSymbolG($acc528772904, $list28772904[5]) | |
416 | + | if (($size28772904 == 6)) | |
417 | + | then $acc628772904 | |
420 | 418 | else { | |
421 | - | let $ | |
422 | - | if (($ | |
423 | - | then $ | |
419 | + | let $acc728772904 = isSymbolG($acc628772904, $list28772904[6]) | |
420 | + | if (($size28772904 == 7)) | |
421 | + | then $acc728772904 | |
424 | 422 | else { | |
425 | - | let $ | |
426 | - | if (($ | |
427 | - | then $ | |
423 | + | let $acc828772904 = isSymbolG($acc728772904, $list28772904[7]) | |
424 | + | if (($size28772904 == 8)) | |
425 | + | then $acc828772904 | |
428 | 426 | else { | |
429 | - | let $ | |
427 | + | let $acc928772904 = isSymbolG($acc828772904, $list28772904[8]) | |
430 | 428 | throw("List size exceed 8") | |
431 | 429 | } | |
432 | 430 | } | |
438 | 436 | } | |
439 | 437 | } | |
440 | 438 | }) + "G"))) + amountOrClear((toString({ | |
441 | - | let $ | |
442 | - | let $ | |
443 | - | let $ | |
444 | - | if (($ | |
445 | - | then $ | |
439 | + | let $list29382965 = geno | |
440 | + | let $size29382965 = size($list29382965) | |
441 | + | let $acc029382965 = 0 | |
442 | + | if (($size29382965 == 0)) | |
443 | + | then $acc029382965 | |
446 | 444 | else { | |
447 | - | let $ | |
448 | - | if (($ | |
449 | - | then $ | |
445 | + | let $acc129382965 = isSymbolH($acc029382965, $list29382965[0]) | |
446 | + | if (($size29382965 == 1)) | |
447 | + | then $acc129382965 | |
450 | 448 | else { | |
451 | - | let $ | |
452 | - | if (($ | |
453 | - | then $ | |
449 | + | let $acc229382965 = isSymbolH($acc129382965, $list29382965[1]) | |
450 | + | if (($size29382965 == 2)) | |
451 | + | then $acc229382965 | |
454 | 452 | else { | |
455 | - | let $ | |
456 | - | if (($ | |
457 | - | then $ | |
453 | + | let $acc329382965 = isSymbolH($acc229382965, $list29382965[2]) | |
454 | + | if (($size29382965 == 3)) | |
455 | + | then $acc329382965 | |
458 | 456 | else { | |
459 | - | let $ | |
460 | - | if (($ | |
461 | - | then $ | |
457 | + | let $acc429382965 = isSymbolH($acc329382965, $list29382965[3]) | |
458 | + | if (($size29382965 == 4)) | |
459 | + | then $acc429382965 | |
462 | 460 | else { | |
463 | - | let $ | |
464 | - | if (($ | |
465 | - | then $ | |
461 | + | let $acc529382965 = isSymbolH($acc429382965, $list29382965[4]) | |
462 | + | if (($size29382965 == 5)) | |
463 | + | then $acc529382965 | |
466 | 464 | else { | |
467 | - | let $ | |
468 | - | if (($ | |
469 | - | then $ | |
465 | + | let $acc629382965 = isSymbolH($acc529382965, $list29382965[5]) | |
466 | + | if (($size29382965 == 6)) | |
467 | + | then $acc629382965 | |
470 | 468 | else { | |
471 | - | let $ | |
472 | - | if (($ | |
473 | - | then $ | |
469 | + | let $acc729382965 = isSymbolH($acc629382965, $list29382965[6]) | |
470 | + | if (($size29382965 == 7)) | |
471 | + | then $acc729382965 | |
474 | 472 | else { | |
475 | - | let $ | |
476 | - | if (($ | |
477 | - | then $ | |
473 | + | let $acc829382965 = isSymbolH($acc729382965, $list29382965[7]) | |
474 | + | if (($size29382965 == 8)) | |
475 | + | then $acc829382965 | |
478 | 476 | else { | |
479 | - | let $ | |
477 | + | let $acc929382965 = isSymbolH($acc829382965, $list29382965[8]) | |
480 | 478 | throw("List size exceed 8") | |
481 | 479 | } | |
482 | 480 | } | |
528 | 526 | func getDuckMarketPrice (nftId) = { | |
529 | 527 | let rarity = getAssetFarmingPower(nftId) | |
530 | 528 | let breederAddress = addressFromStringValue(getStrA(mAccAddr, kBreederDapp)) | |
531 | - | let | |
532 | - | let canBreedText = if (( | |
533 | - | then " | |
534 | - | else " | |
529 | + | let sterile = getIntA(breederAddress, (("asset_" + toBase58String(nftId)) + "_children")) | |
530 | + | let canBreedText = if ((sterile > 0)) | |
531 | + | then "0" | |
532 | + | else "1" | |
535 | 533 | let val = getInteger(mAccAddr, ((("r-" + toString(rarity)) + "-b-") + canBreedText)) | |
536 | - | valueOrErrorMessage(val, "There is no oracle data for this type of duck") | |
534 | + | match val { | |
535 | + | case price: Int => | |
536 | + | let minPrice = if ((sterile > 0)) | |
537 | + | then (200000000 * rarity) | |
538 | + | else 18000000000 | |
539 | + | if ((minPrice > price)) | |
540 | + | then minPrice | |
541 | + | else price | |
542 | + | case _ => | |
543 | + | throw("There is no price for such duck") | |
544 | + | } | |
537 | 545 | } | |
538 | 546 | ||
539 | 547 | ||
552 | 560 | @Callable(i) | |
553 | 561 | func callMarketplaceProxy (function,int1,int2,str1,str2) = { | |
554 | 562 | let marketplaceDappAddress = addressFromStringValue(getMarketAddr()) | |
555 | - | if (( | |
556 | - | then throw("_ | |
563 | + | if ((getBoolA(mAccAddr, ("farm_" + toString(i.caller))) != true)) | |
564 | + | then throw("_301=") | |
557 | 565 | else if ((function == "initAuction")) | |
558 | 566 | then { | |
559 | 567 | let asset = value(i.payments[0]) | |
560 | 568 | let duckMarketPrice = getDuckMarketPrice(value(asset.assetId)) | |
561 | 569 | let initialPrice = int1 | |
562 | 570 | let buyoutPrice = int2 | |
563 | - | if (if ((initialPrice >= (duckMarketPrice - ((duckMarketPrice / 100) * 15)))) | |
564 | - | then (buyoutPrice >= initialPrice) | |
565 | - | else false) | |
566 | - | then { | |
567 | - | let initAuction = invoke(marketplaceDappAddress, "initAuction", [initialPrice, buyoutPrice, str1], [AttachedPayment(value(asset.assetId), 1)]) | |
568 | - | if ((initAuction == initAuction)) | |
569 | - | then [StringEntry(("tx_" + toBase58String(i.transactionId)), toBase58String(value(asset.assetId)))] | |
570 | - | else throw("Strict value is not equal to itself.") | |
571 | - | } | |
572 | - | else throw(("_9=" + toString(duckMarketPrice))) | |
571 | + | let maxPriceDiff = fraction(duckMarketPrice, 15, 100) | |
572 | + | if ((value(asset.amount) != 1)) | |
573 | + | then throw("_103") | |
574 | + | else if (if ((initialPrice >= (duckMarketPrice - maxPriceDiff))) | |
575 | + | then (buyoutPrice >= initialPrice) | |
576 | + | else false) | |
577 | + | then { | |
578 | + | let initAuction = invoke(marketplaceDappAddress, "initAuction", [initialPrice, buyoutPrice, str1], [AttachedPayment(value(asset.assetId), 1)]) | |
579 | + | if ((initAuction == initAuction)) | |
580 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), toBase58String(value(asset.assetId)))] | |
581 | + | else throw("Strict value is not equal to itself.") | |
582 | + | } | |
583 | + | else throw(("_9=" + toString(duckMarketPrice))) | |
573 | 584 | } | |
574 | 585 | else if ((function == "placeBid")) | |
575 | 586 | then { | |
577 | 588 | let duckAssetId = getDuckIdByAuctionId(auctionId) | |
578 | 589 | let duckMarketPrice = getDuckMarketPrice(fromBase58String(duckAssetId)) | |
579 | 590 | let bidAmount = value(value(i.payments[0]).amount) | |
580 | - | if (((duckMarketPrice + ((duckMarketPrice / 100) * 10)) > bidAmount)) | |
581 | - | then { | |
582 | - | let placeBid = invoke(marketplaceDappAddress, "placeBid", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
583 | - | if ((placeBid == placeBid)) | |
584 | - | then nil | |
585 | - | else throw("Strict value is not equal to itself.") | |
586 | - | } | |
587 | - | else throw(("_10=" + toString(duckMarketPrice))) | |
591 | + | let maxPriceDiff = fraction(duckMarketPrice, 10, 100) | |
592 | + | if ((size(i.payments) != 1)) | |
593 | + | then throw("_103") | |
594 | + | else if ((value(i.payments[0]).assetId != unit)) | |
595 | + | then throw("_104") | |
596 | + | else if (((duckMarketPrice + maxPriceDiff) > bidAmount)) | |
597 | + | then { | |
598 | + | let placeBid = invoke(marketplaceDappAddress, "placeBid", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
599 | + | if ((placeBid == placeBid)) | |
600 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), auctionId)] | |
601 | + | else throw("Strict value is not equal to itself.") | |
602 | + | } | |
603 | + | else throw(("_10=" + toString(duckMarketPrice))) | |
588 | 604 | } | |
589 | 605 | else if ((function == "acceptBid")) | |
590 | 606 | then { | |
593 | 609 | let duckAssetId = getDuckIdByAuctionId(auctionId) | |
594 | 610 | let duckMarketPrice = getDuckMarketPrice(fromBase58String(duckAssetId)) | |
595 | 611 | let bidAmount = getBidAmount(auctionId, bidId) | |
596 | - | if ((bidAmount >= (duckMarketPrice - ((duckMarketPrice / 100) * 15)))) | |
612 | + | let maxPriceDiff = fraction(duckMarketPrice, 15, 100) | |
613 | + | if ((bidAmount >= (duckMarketPrice - maxPriceDiff))) | |
597 | 614 | then { | |
598 | 615 | let acceptBid = invoke(marketplaceDappAddress, "acceptBid", [auctionId, bidId], nil) | |
599 | 616 | if ((acceptBid == acceptBid)) | |
600 | - | then | |
617 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), auctionId)] | |
601 | 618 | else throw("Strict value is not equal to itself.") | |
602 | 619 | } | |
603 | 620 | else throw(("_11=" + toString(duckMarketPrice))) | |
608 | 625 | let duckAssetId = getDuckIdByAuctionId(auctionId) | |
609 | 626 | let duckMarketPrice = getDuckMarketPrice(fromBase58String(duckAssetId)) | |
610 | 627 | let bidAmount = value(value(i.payments[0]).amount) | |
611 | - | if (((duckMarketPrice + ((duckMarketPrice / 100) * 10)) > bidAmount)) | |
612 | - | then { | |
613 | - | let instantBuy = invoke(marketplaceDappAddress, "instantBuy", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
614 | - | if ((instantBuy == instantBuy)) | |
615 | - | then nil | |
616 | - | else throw("Strict value is not equal to itself.") | |
617 | - | } | |
618 | - | else throw(("_12" + toString(duckMarketPrice))) | |
628 | + | let maxPriceDiff = fraction(duckMarketPrice, 10, 100) | |
629 | + | if ((size(i.payments) != 1)) | |
630 | + | then throw("_103") | |
631 | + | else if ((value(i.payments[0]).assetId != unit)) | |
632 | + | then throw("_104") | |
633 | + | else if (((duckMarketPrice + maxPriceDiff) > bidAmount)) | |
634 | + | then { | |
635 | + | let instantBuy = invoke(marketplaceDappAddress, "instantBuy", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
636 | + | if ((instantBuy == instantBuy)) | |
637 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), auctionId)] | |
638 | + | else throw("Strict value is not equal to itself.") | |
639 | + | } | |
640 | + | else throw(("_12=" + toString(duckMarketPrice))) | |
619 | 641 | } | |
620 | 642 | else throw("_13") | |
621 | 643 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let mAccPKey = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T' | |
5 | 5 | ||
6 | 6 | let mAccAddr = addressFromPublicKey(mAccPKey) | |
7 | 7 | ||
8 | 8 | let kIncubatorDapp = "INCUBATOR_DAPP" | |
9 | 9 | ||
10 | 10 | let kBreederDapp = "BREEDER_DAPP" | |
11 | 11 | ||
12 | 12 | let kMarketDapp = "MARKETPLACE_DAPP" | |
13 | 13 | ||
14 | - | let kLocked = "LOCKED" | |
15 | - | ||
16 | - | func getBool (key) = match getBoolean(this, key) { | |
14 | + | func getBoolA (a,key) = match getBoolean(a, key) { | |
17 | 15 | case b: Boolean => | |
18 | 16 | b | |
19 | 17 | case _ => | |
20 | 18 | unit | |
21 | 19 | } | |
22 | 20 | ||
23 | 21 | ||
24 | 22 | func getStrA (a,k) = match getString(a, k) { | |
25 | 23 | case b: String => | |
26 | 24 | b | |
27 | 25 | case _ => | |
28 | 26 | "" | |
29 | 27 | } | |
30 | 28 | ||
31 | 29 | ||
32 | 30 | func getIntA (address,key) = match getInteger(address, key) { | |
33 | 31 | case b: Int => | |
34 | 32 | b | |
35 | 33 | case _ => | |
36 | 34 | 0 | |
37 | 35 | } | |
38 | 36 | ||
39 | 37 | ||
40 | 38 | func getMarketAddr () = getStrA(mAccAddr, kMarketDapp) | |
41 | 39 | ||
42 | 40 | ||
43 | 41 | func amountOrClear (amount) = if (contains(amount, "0")) | |
44 | 42 | then "" | |
45 | 43 | else amount | |
46 | 44 | ||
47 | 45 | ||
48 | 46 | func isSymbolA (acc,sym) = if ((sym == "A")) | |
49 | 47 | then (acc + 1) | |
50 | 48 | else (acc + 0) | |
51 | 49 | ||
52 | 50 | ||
53 | 51 | func isSymbolB (acc,sym) = if ((sym == "B")) | |
54 | 52 | then (acc + 1) | |
55 | 53 | else (acc + 0) | |
56 | 54 | ||
57 | 55 | ||
58 | 56 | func isSymbolC (acc,sym) = if ((sym == "C")) | |
59 | 57 | then (acc + 1) | |
60 | 58 | else (acc + 0) | |
61 | 59 | ||
62 | 60 | ||
63 | 61 | func isSymbolD (acc,sym) = if ((sym == "D")) | |
64 | 62 | then (acc + 1) | |
65 | 63 | else (acc + 0) | |
66 | 64 | ||
67 | 65 | ||
68 | 66 | func isSymbolE (acc,sym) = if ((sym == "E")) | |
69 | 67 | then (acc + 1) | |
70 | 68 | else (acc + 0) | |
71 | 69 | ||
72 | 70 | ||
73 | 71 | func isSymbolF (acc,sym) = if ((sym == "F")) | |
74 | 72 | then (acc + 1) | |
75 | 73 | else (acc + 0) | |
76 | 74 | ||
77 | 75 | ||
78 | 76 | func isSymbolG (acc,sym) = if ((sym == "G")) | |
79 | 77 | then (acc + 1) | |
80 | 78 | else (acc + 0) | |
81 | 79 | ||
82 | 80 | ||
83 | 81 | func isSymbolH (acc,sym) = if ((sym == "H")) | |
84 | 82 | then (acc + 1) | |
85 | 83 | else (acc + 0) | |
86 | 84 | ||
87 | 85 | ||
88 | 86 | func getGen (assetName) = { | |
89 | 87 | let geno = split(dropRight(drop(assetName, 5), 3), "") | |
90 | 88 | (((((((amountOrClear((toString({ | |
91 | - | let $ | |
92 | - | let $ | |
93 | - | let $ | |
94 | - | if (($ | |
95 | - | then $ | |
89 | + | let $list25072534 = geno | |
90 | + | let $size25072534 = size($list25072534) | |
91 | + | let $acc025072534 = 0 | |
92 | + | if (($size25072534 == 0)) | |
93 | + | then $acc025072534 | |
96 | 94 | else { | |
97 | - | let $ | |
98 | - | if (($ | |
99 | - | then $ | |
95 | + | let $acc125072534 = isSymbolA($acc025072534, $list25072534[0]) | |
96 | + | if (($size25072534 == 1)) | |
97 | + | then $acc125072534 | |
100 | 98 | else { | |
101 | - | let $ | |
102 | - | if (($ | |
103 | - | then $ | |
99 | + | let $acc225072534 = isSymbolA($acc125072534, $list25072534[1]) | |
100 | + | if (($size25072534 == 2)) | |
101 | + | then $acc225072534 | |
104 | 102 | else { | |
105 | - | let $ | |
106 | - | if (($ | |
107 | - | then $ | |
103 | + | let $acc325072534 = isSymbolA($acc225072534, $list25072534[2]) | |
104 | + | if (($size25072534 == 3)) | |
105 | + | then $acc325072534 | |
108 | 106 | else { | |
109 | - | let $ | |
110 | - | if (($ | |
111 | - | then $ | |
107 | + | let $acc425072534 = isSymbolA($acc325072534, $list25072534[3]) | |
108 | + | if (($size25072534 == 4)) | |
109 | + | then $acc425072534 | |
112 | 110 | else { | |
113 | - | let $ | |
114 | - | if (($ | |
115 | - | then $ | |
111 | + | let $acc525072534 = isSymbolA($acc425072534, $list25072534[4]) | |
112 | + | if (($size25072534 == 5)) | |
113 | + | then $acc525072534 | |
116 | 114 | else { | |
117 | - | let $ | |
118 | - | if (($ | |
119 | - | then $ | |
115 | + | let $acc625072534 = isSymbolA($acc525072534, $list25072534[5]) | |
116 | + | if (($size25072534 == 6)) | |
117 | + | then $acc625072534 | |
120 | 118 | else { | |
121 | - | let $ | |
122 | - | if (($ | |
123 | - | then $ | |
119 | + | let $acc725072534 = isSymbolA($acc625072534, $list25072534[6]) | |
120 | + | if (($size25072534 == 7)) | |
121 | + | then $acc725072534 | |
124 | 122 | else { | |
125 | - | let $ | |
126 | - | if (($ | |
127 | - | then $ | |
123 | + | let $acc825072534 = isSymbolA($acc725072534, $list25072534[7]) | |
124 | + | if (($size25072534 == 8)) | |
125 | + | then $acc825072534 | |
128 | 126 | else { | |
129 | - | let $ | |
127 | + | let $acc925072534 = isSymbolA($acc825072534, $list25072534[8]) | |
130 | 128 | throw("List size exceed 8") | |
131 | 129 | } | |
132 | 130 | } | |
133 | 131 | } | |
134 | 132 | } | |
135 | 133 | } | |
136 | 134 | } | |
137 | 135 | } | |
138 | 136 | } | |
139 | 137 | } | |
140 | 138 | }) + "A")) + amountOrClear((toString({ | |
141 | - | let $ | |
142 | - | let $ | |
143 | - | let $ | |
144 | - | if (($ | |
145 | - | then $ | |
139 | + | let $list25682595 = geno | |
140 | + | let $size25682595 = size($list25682595) | |
141 | + | let $acc025682595 = 0 | |
142 | + | if (($size25682595 == 0)) | |
143 | + | then $acc025682595 | |
146 | 144 | else { | |
147 | - | let $ | |
148 | - | if (($ | |
149 | - | then $ | |
145 | + | let $acc125682595 = isSymbolB($acc025682595, $list25682595[0]) | |
146 | + | if (($size25682595 == 1)) | |
147 | + | then $acc125682595 | |
150 | 148 | else { | |
151 | - | let $ | |
152 | - | if (($ | |
153 | - | then $ | |
149 | + | let $acc225682595 = isSymbolB($acc125682595, $list25682595[1]) | |
150 | + | if (($size25682595 == 2)) | |
151 | + | then $acc225682595 | |
154 | 152 | else { | |
155 | - | let $ | |
156 | - | if (($ | |
157 | - | then $ | |
153 | + | let $acc325682595 = isSymbolB($acc225682595, $list25682595[2]) | |
154 | + | if (($size25682595 == 3)) | |
155 | + | then $acc325682595 | |
158 | 156 | else { | |
159 | - | let $ | |
160 | - | if (($ | |
161 | - | then $ | |
157 | + | let $acc425682595 = isSymbolB($acc325682595, $list25682595[3]) | |
158 | + | if (($size25682595 == 4)) | |
159 | + | then $acc425682595 | |
162 | 160 | else { | |
163 | - | let $ | |
164 | - | if (($ | |
165 | - | then $ | |
161 | + | let $acc525682595 = isSymbolB($acc425682595, $list25682595[4]) | |
162 | + | if (($size25682595 == 5)) | |
163 | + | then $acc525682595 | |
166 | 164 | else { | |
167 | - | let $ | |
168 | - | if (($ | |
169 | - | then $ | |
165 | + | let $acc625682595 = isSymbolB($acc525682595, $list25682595[5]) | |
166 | + | if (($size25682595 == 6)) | |
167 | + | then $acc625682595 | |
170 | 168 | else { | |
171 | - | let $ | |
172 | - | if (($ | |
173 | - | then $ | |
169 | + | let $acc725682595 = isSymbolB($acc625682595, $list25682595[6]) | |
170 | + | if (($size25682595 == 7)) | |
171 | + | then $acc725682595 | |
174 | 172 | else { | |
175 | - | let $ | |
176 | - | if (($ | |
177 | - | then $ | |
173 | + | let $acc825682595 = isSymbolB($acc725682595, $list25682595[7]) | |
174 | + | if (($size25682595 == 8)) | |
175 | + | then $acc825682595 | |
178 | 176 | else { | |
179 | - | let $ | |
177 | + | let $acc925682595 = isSymbolB($acc825682595, $list25682595[8]) | |
180 | 178 | throw("List size exceed 8") | |
181 | 179 | } | |
182 | 180 | } | |
183 | 181 | } | |
184 | 182 | } | |
185 | 183 | } | |
186 | 184 | } | |
187 | 185 | } | |
188 | 186 | } | |
189 | 187 | } | |
190 | 188 | }) + "B"))) + amountOrClear((toString({ | |
191 | - | let $ | |
192 | - | let $ | |
193 | - | let $ | |
194 | - | if (($ | |
195 | - | then $ | |
189 | + | let $list26292656 = geno | |
190 | + | let $size26292656 = size($list26292656) | |
191 | + | let $acc026292656 = 0 | |
192 | + | if (($size26292656 == 0)) | |
193 | + | then $acc026292656 | |
196 | 194 | else { | |
197 | - | let $ | |
198 | - | if (($ | |
199 | - | then $ | |
195 | + | let $acc126292656 = isSymbolC($acc026292656, $list26292656[0]) | |
196 | + | if (($size26292656 == 1)) | |
197 | + | then $acc126292656 | |
200 | 198 | else { | |
201 | - | let $ | |
202 | - | if (($ | |
203 | - | then $ | |
199 | + | let $acc226292656 = isSymbolC($acc126292656, $list26292656[1]) | |
200 | + | if (($size26292656 == 2)) | |
201 | + | then $acc226292656 | |
204 | 202 | else { | |
205 | - | let $ | |
206 | - | if (($ | |
207 | - | then $ | |
203 | + | let $acc326292656 = isSymbolC($acc226292656, $list26292656[2]) | |
204 | + | if (($size26292656 == 3)) | |
205 | + | then $acc326292656 | |
208 | 206 | else { | |
209 | - | let $ | |
210 | - | if (($ | |
211 | - | then $ | |
207 | + | let $acc426292656 = isSymbolC($acc326292656, $list26292656[3]) | |
208 | + | if (($size26292656 == 4)) | |
209 | + | then $acc426292656 | |
212 | 210 | else { | |
213 | - | let $ | |
214 | - | if (($ | |
215 | - | then $ | |
211 | + | let $acc526292656 = isSymbolC($acc426292656, $list26292656[4]) | |
212 | + | if (($size26292656 == 5)) | |
213 | + | then $acc526292656 | |
216 | 214 | else { | |
217 | - | let $ | |
218 | - | if (($ | |
219 | - | then $ | |
215 | + | let $acc626292656 = isSymbolC($acc526292656, $list26292656[5]) | |
216 | + | if (($size26292656 == 6)) | |
217 | + | then $acc626292656 | |
220 | 218 | else { | |
221 | - | let $ | |
222 | - | if (($ | |
223 | - | then $ | |
219 | + | let $acc726292656 = isSymbolC($acc626292656, $list26292656[6]) | |
220 | + | if (($size26292656 == 7)) | |
221 | + | then $acc726292656 | |
224 | 222 | else { | |
225 | - | let $ | |
226 | - | if (($ | |
227 | - | then $ | |
223 | + | let $acc826292656 = isSymbolC($acc726292656, $list26292656[7]) | |
224 | + | if (($size26292656 == 8)) | |
225 | + | then $acc826292656 | |
228 | 226 | else { | |
229 | - | let $ | |
227 | + | let $acc926292656 = isSymbolC($acc826292656, $list26292656[8]) | |
230 | 228 | throw("List size exceed 8") | |
231 | 229 | } | |
232 | 230 | } | |
233 | 231 | } | |
234 | 232 | } | |
235 | 233 | } | |
236 | 234 | } | |
237 | 235 | } | |
238 | 236 | } | |
239 | 237 | } | |
240 | 238 | }) + "C"))) + amountOrClear((toString({ | |
241 | - | let $ | |
242 | - | let $ | |
243 | - | let $ | |
244 | - | if (($ | |
245 | - | then $ | |
239 | + | let $list26922719 = geno | |
240 | + | let $size26922719 = size($list26922719) | |
241 | + | let $acc026922719 = 0 | |
242 | + | if (($size26922719 == 0)) | |
243 | + | then $acc026922719 | |
246 | 244 | else { | |
247 | - | let $ | |
248 | - | if (($ | |
249 | - | then $ | |
245 | + | let $acc126922719 = isSymbolD($acc026922719, $list26922719[0]) | |
246 | + | if (($size26922719 == 1)) | |
247 | + | then $acc126922719 | |
250 | 248 | else { | |
251 | - | let $ | |
252 | - | if (($ | |
253 | - | then $ | |
249 | + | let $acc226922719 = isSymbolD($acc126922719, $list26922719[1]) | |
250 | + | if (($size26922719 == 2)) | |
251 | + | then $acc226922719 | |
254 | 252 | else { | |
255 | - | let $ | |
256 | - | if (($ | |
257 | - | then $ | |
253 | + | let $acc326922719 = isSymbolD($acc226922719, $list26922719[2]) | |
254 | + | if (($size26922719 == 3)) | |
255 | + | then $acc326922719 | |
258 | 256 | else { | |
259 | - | let $ | |
260 | - | if (($ | |
261 | - | then $ | |
257 | + | let $acc426922719 = isSymbolD($acc326922719, $list26922719[3]) | |
258 | + | if (($size26922719 == 4)) | |
259 | + | then $acc426922719 | |
262 | 260 | else { | |
263 | - | let $ | |
264 | - | if (($ | |
265 | - | then $ | |
261 | + | let $acc526922719 = isSymbolD($acc426922719, $list26922719[4]) | |
262 | + | if (($size26922719 == 5)) | |
263 | + | then $acc526922719 | |
266 | 264 | else { | |
267 | - | let $ | |
268 | - | if (($ | |
269 | - | then $ | |
265 | + | let $acc626922719 = isSymbolD($acc526922719, $list26922719[5]) | |
266 | + | if (($size26922719 == 6)) | |
267 | + | then $acc626922719 | |
270 | 268 | else { | |
271 | - | let $ | |
272 | - | if (($ | |
273 | - | then $ | |
269 | + | let $acc726922719 = isSymbolD($acc626922719, $list26922719[6]) | |
270 | + | if (($size26922719 == 7)) | |
271 | + | then $acc726922719 | |
274 | 272 | else { | |
275 | - | let $ | |
276 | - | if (($ | |
277 | - | then $ | |
273 | + | let $acc826922719 = isSymbolD($acc726922719, $list26922719[7]) | |
274 | + | if (($size26922719 == 8)) | |
275 | + | then $acc826922719 | |
278 | 276 | else { | |
279 | - | let $ | |
277 | + | let $acc926922719 = isSymbolD($acc826922719, $list26922719[8]) | |
280 | 278 | throw("List size exceed 8") | |
281 | 279 | } | |
282 | 280 | } | |
283 | 281 | } | |
284 | 282 | } | |
285 | 283 | } | |
286 | 284 | } | |
287 | 285 | } | |
288 | 286 | } | |
289 | 287 | } | |
290 | 288 | }) + "D"))) + amountOrClear((toString({ | |
291 | - | let $ | |
292 | - | let $ | |
293 | - | let $ | |
294 | - | if (($ | |
295 | - | then $ | |
289 | + | let $list27532780 = geno | |
290 | + | let $size27532780 = size($list27532780) | |
291 | + | let $acc027532780 = 0 | |
292 | + | if (($size27532780 == 0)) | |
293 | + | then $acc027532780 | |
296 | 294 | else { | |
297 | - | let $ | |
298 | - | if (($ | |
299 | - | then $ | |
295 | + | let $acc127532780 = isSymbolE($acc027532780, $list27532780[0]) | |
296 | + | if (($size27532780 == 1)) | |
297 | + | then $acc127532780 | |
300 | 298 | else { | |
301 | - | let $ | |
302 | - | if (($ | |
303 | - | then $ | |
299 | + | let $acc227532780 = isSymbolE($acc127532780, $list27532780[1]) | |
300 | + | if (($size27532780 == 2)) | |
301 | + | then $acc227532780 | |
304 | 302 | else { | |
305 | - | let $ | |
306 | - | if (($ | |
307 | - | then $ | |
303 | + | let $acc327532780 = isSymbolE($acc227532780, $list27532780[2]) | |
304 | + | if (($size27532780 == 3)) | |
305 | + | then $acc327532780 | |
308 | 306 | else { | |
309 | - | let $ | |
310 | - | if (($ | |
311 | - | then $ | |
307 | + | let $acc427532780 = isSymbolE($acc327532780, $list27532780[3]) | |
308 | + | if (($size27532780 == 4)) | |
309 | + | then $acc427532780 | |
312 | 310 | else { | |
313 | - | let $ | |
314 | - | if (($ | |
315 | - | then $ | |
311 | + | let $acc527532780 = isSymbolE($acc427532780, $list27532780[4]) | |
312 | + | if (($size27532780 == 5)) | |
313 | + | then $acc527532780 | |
316 | 314 | else { | |
317 | - | let $ | |
318 | - | if (($ | |
319 | - | then $ | |
315 | + | let $acc627532780 = isSymbolE($acc527532780, $list27532780[5]) | |
316 | + | if (($size27532780 == 6)) | |
317 | + | then $acc627532780 | |
320 | 318 | else { | |
321 | - | let $ | |
322 | - | if (($ | |
323 | - | then $ | |
319 | + | let $acc727532780 = isSymbolE($acc627532780, $list27532780[6]) | |
320 | + | if (($size27532780 == 7)) | |
321 | + | then $acc727532780 | |
324 | 322 | else { | |
325 | - | let $ | |
326 | - | if (($ | |
327 | - | then $ | |
323 | + | let $acc827532780 = isSymbolE($acc727532780, $list27532780[7]) | |
324 | + | if (($size27532780 == 8)) | |
325 | + | then $acc827532780 | |
328 | 326 | else { | |
329 | - | let $ | |
327 | + | let $acc927532780 = isSymbolE($acc827532780, $list27532780[8]) | |
330 | 328 | throw("List size exceed 8") | |
331 | 329 | } | |
332 | 330 | } | |
333 | 331 | } | |
334 | 332 | } | |
335 | 333 | } | |
336 | 334 | } | |
337 | 335 | } | |
338 | 336 | } | |
339 | 337 | } | |
340 | 338 | }) + "E"))) + amountOrClear((toString({ | |
341 | - | let $ | |
342 | - | let $ | |
343 | - | let $ | |
344 | - | if (($ | |
345 | - | then $ | |
339 | + | let $list28142841 = geno | |
340 | + | let $size28142841 = size($list28142841) | |
341 | + | let $acc028142841 = 0 | |
342 | + | if (($size28142841 == 0)) | |
343 | + | then $acc028142841 | |
346 | 344 | else { | |
347 | - | let $ | |
348 | - | if (($ | |
349 | - | then $ | |
345 | + | let $acc128142841 = isSymbolF($acc028142841, $list28142841[0]) | |
346 | + | if (($size28142841 == 1)) | |
347 | + | then $acc128142841 | |
350 | 348 | else { | |
351 | - | let $ | |
352 | - | if (($ | |
353 | - | then $ | |
349 | + | let $acc228142841 = isSymbolF($acc128142841, $list28142841[1]) | |
350 | + | if (($size28142841 == 2)) | |
351 | + | then $acc228142841 | |
354 | 352 | else { | |
355 | - | let $ | |
356 | - | if (($ | |
357 | - | then $ | |
353 | + | let $acc328142841 = isSymbolF($acc228142841, $list28142841[2]) | |
354 | + | if (($size28142841 == 3)) | |
355 | + | then $acc328142841 | |
358 | 356 | else { | |
359 | - | let $ | |
360 | - | if (($ | |
361 | - | then $ | |
357 | + | let $acc428142841 = isSymbolF($acc328142841, $list28142841[3]) | |
358 | + | if (($size28142841 == 4)) | |
359 | + | then $acc428142841 | |
362 | 360 | else { | |
363 | - | let $ | |
364 | - | if (($ | |
365 | - | then $ | |
361 | + | let $acc528142841 = isSymbolF($acc428142841, $list28142841[4]) | |
362 | + | if (($size28142841 == 5)) | |
363 | + | then $acc528142841 | |
366 | 364 | else { | |
367 | - | let $ | |
368 | - | if (($ | |
369 | - | then $ | |
365 | + | let $acc628142841 = isSymbolF($acc528142841, $list28142841[5]) | |
366 | + | if (($size28142841 == 6)) | |
367 | + | then $acc628142841 | |
370 | 368 | else { | |
371 | - | let $ | |
372 | - | if (($ | |
373 | - | then $ | |
369 | + | let $acc728142841 = isSymbolF($acc628142841, $list28142841[6]) | |
370 | + | if (($size28142841 == 7)) | |
371 | + | then $acc728142841 | |
374 | 372 | else { | |
375 | - | let $ | |
376 | - | if (($ | |
377 | - | then $ | |
373 | + | let $acc828142841 = isSymbolF($acc728142841, $list28142841[7]) | |
374 | + | if (($size28142841 == 8)) | |
375 | + | then $acc828142841 | |
378 | 376 | else { | |
379 | - | let $ | |
377 | + | let $acc928142841 = isSymbolF($acc828142841, $list28142841[8]) | |
380 | 378 | throw("List size exceed 8") | |
381 | 379 | } | |
382 | 380 | } | |
383 | 381 | } | |
384 | 382 | } | |
385 | 383 | } | |
386 | 384 | } | |
387 | 385 | } | |
388 | 386 | } | |
389 | 387 | } | |
390 | 388 | }) + "F"))) + amountOrClear((toString({ | |
391 | - | let $ | |
392 | - | let $ | |
393 | - | let $ | |
394 | - | if (($ | |
395 | - | then $ | |
389 | + | let $list28772904 = geno | |
390 | + | let $size28772904 = size($list28772904) | |
391 | + | let $acc028772904 = 0 | |
392 | + | if (($size28772904 == 0)) | |
393 | + | then $acc028772904 | |
396 | 394 | else { | |
397 | - | let $ | |
398 | - | if (($ | |
399 | - | then $ | |
395 | + | let $acc128772904 = isSymbolG($acc028772904, $list28772904[0]) | |
396 | + | if (($size28772904 == 1)) | |
397 | + | then $acc128772904 | |
400 | 398 | else { | |
401 | - | let $ | |
402 | - | if (($ | |
403 | - | then $ | |
399 | + | let $acc228772904 = isSymbolG($acc128772904, $list28772904[1]) | |
400 | + | if (($size28772904 == 2)) | |
401 | + | then $acc228772904 | |
404 | 402 | else { | |
405 | - | let $ | |
406 | - | if (($ | |
407 | - | then $ | |
403 | + | let $acc328772904 = isSymbolG($acc228772904, $list28772904[2]) | |
404 | + | if (($size28772904 == 3)) | |
405 | + | then $acc328772904 | |
408 | 406 | else { | |
409 | - | let $ | |
410 | - | if (($ | |
411 | - | then $ | |
407 | + | let $acc428772904 = isSymbolG($acc328772904, $list28772904[3]) | |
408 | + | if (($size28772904 == 4)) | |
409 | + | then $acc428772904 | |
412 | 410 | else { | |
413 | - | let $ | |
414 | - | if (($ | |
415 | - | then $ | |
411 | + | let $acc528772904 = isSymbolG($acc428772904, $list28772904[4]) | |
412 | + | if (($size28772904 == 5)) | |
413 | + | then $acc528772904 | |
416 | 414 | else { | |
417 | - | let $ | |
418 | - | if (($ | |
419 | - | then $ | |
415 | + | let $acc628772904 = isSymbolG($acc528772904, $list28772904[5]) | |
416 | + | if (($size28772904 == 6)) | |
417 | + | then $acc628772904 | |
420 | 418 | else { | |
421 | - | let $ | |
422 | - | if (($ | |
423 | - | then $ | |
419 | + | let $acc728772904 = isSymbolG($acc628772904, $list28772904[6]) | |
420 | + | if (($size28772904 == 7)) | |
421 | + | then $acc728772904 | |
424 | 422 | else { | |
425 | - | let $ | |
426 | - | if (($ | |
427 | - | then $ | |
423 | + | let $acc828772904 = isSymbolG($acc728772904, $list28772904[7]) | |
424 | + | if (($size28772904 == 8)) | |
425 | + | then $acc828772904 | |
428 | 426 | else { | |
429 | - | let $ | |
427 | + | let $acc928772904 = isSymbolG($acc828772904, $list28772904[8]) | |
430 | 428 | throw("List size exceed 8") | |
431 | 429 | } | |
432 | 430 | } | |
433 | 431 | } | |
434 | 432 | } | |
435 | 433 | } | |
436 | 434 | } | |
437 | 435 | } | |
438 | 436 | } | |
439 | 437 | } | |
440 | 438 | }) + "G"))) + amountOrClear((toString({ | |
441 | - | let $ | |
442 | - | let $ | |
443 | - | let $ | |
444 | - | if (($ | |
445 | - | then $ | |
439 | + | let $list29382965 = geno | |
440 | + | let $size29382965 = size($list29382965) | |
441 | + | let $acc029382965 = 0 | |
442 | + | if (($size29382965 == 0)) | |
443 | + | then $acc029382965 | |
446 | 444 | else { | |
447 | - | let $ | |
448 | - | if (($ | |
449 | - | then $ | |
445 | + | let $acc129382965 = isSymbolH($acc029382965, $list29382965[0]) | |
446 | + | if (($size29382965 == 1)) | |
447 | + | then $acc129382965 | |
450 | 448 | else { | |
451 | - | let $ | |
452 | - | if (($ | |
453 | - | then $ | |
449 | + | let $acc229382965 = isSymbolH($acc129382965, $list29382965[1]) | |
450 | + | if (($size29382965 == 2)) | |
451 | + | then $acc229382965 | |
454 | 452 | else { | |
455 | - | let $ | |
456 | - | if (($ | |
457 | - | then $ | |
453 | + | let $acc329382965 = isSymbolH($acc229382965, $list29382965[2]) | |
454 | + | if (($size29382965 == 3)) | |
455 | + | then $acc329382965 | |
458 | 456 | else { | |
459 | - | let $ | |
460 | - | if (($ | |
461 | - | then $ | |
457 | + | let $acc429382965 = isSymbolH($acc329382965, $list29382965[3]) | |
458 | + | if (($size29382965 == 4)) | |
459 | + | then $acc429382965 | |
462 | 460 | else { | |
463 | - | let $ | |
464 | - | if (($ | |
465 | - | then $ | |
461 | + | let $acc529382965 = isSymbolH($acc429382965, $list29382965[4]) | |
462 | + | if (($size29382965 == 5)) | |
463 | + | then $acc529382965 | |
466 | 464 | else { | |
467 | - | let $ | |
468 | - | if (($ | |
469 | - | then $ | |
465 | + | let $acc629382965 = isSymbolH($acc529382965, $list29382965[5]) | |
466 | + | if (($size29382965 == 6)) | |
467 | + | then $acc629382965 | |
470 | 468 | else { | |
471 | - | let $ | |
472 | - | if (($ | |
473 | - | then $ | |
469 | + | let $acc729382965 = isSymbolH($acc629382965, $list29382965[6]) | |
470 | + | if (($size29382965 == 7)) | |
471 | + | then $acc729382965 | |
474 | 472 | else { | |
475 | - | let $ | |
476 | - | if (($ | |
477 | - | then $ | |
473 | + | let $acc829382965 = isSymbolH($acc729382965, $list29382965[7]) | |
474 | + | if (($size29382965 == 8)) | |
475 | + | then $acc829382965 | |
478 | 476 | else { | |
479 | - | let $ | |
477 | + | let $acc929382965 = isSymbolH($acc829382965, $list29382965[8]) | |
480 | 478 | throw("List size exceed 8") | |
481 | 479 | } | |
482 | 480 | } | |
483 | 481 | } | |
484 | 482 | } | |
485 | 483 | } | |
486 | 484 | } | |
487 | 485 | } | |
488 | 486 | } | |
489 | 487 | } | |
490 | 488 | }) + "H"))) | |
491 | 489 | } | |
492 | 490 | ||
493 | 491 | ||
494 | 492 | func getAssetOrigin (generation) = { | |
495 | 493 | let incubatorAddress = getStrA(mAccAddr, kIncubatorDapp) | |
496 | 494 | let breederAddress = getStrA(mAccAddr, kBreederDapp) | |
497 | 495 | if ((generation == "G")) | |
498 | 496 | then fromBase58String(incubatorAddress) | |
499 | 497 | else fromBase58String(breederAddress) | |
500 | 498 | } | |
501 | 499 | ||
502 | 500 | ||
503 | 501 | func getAssetRarity (geno,generation) = { | |
504 | 502 | let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + geno) + "_quantity")) | |
505 | 503 | let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR) | |
506 | 504 | if ((power > 0)) | |
507 | 505 | then power | |
508 | 506 | else 2 | |
509 | 507 | } | |
510 | 508 | ||
511 | 509 | ||
512 | 510 | func getAssetFarmingPower (assetId) = { | |
513 | 511 | let breederAddress = fromBase58String(getStrA(mAccAddr, kBreederDapp)) | |
514 | 512 | let incubatorAddress = fromBase58String(getStrA(mAccAddr, kIncubatorDapp)) | |
515 | 513 | if (if ((value(assetInfo(assetId)).issuer == Address(breederAddress))) | |
516 | 514 | then true | |
517 | 515 | else (value(assetInfo(assetId)).issuer == Address(incubatorAddress))) | |
518 | 516 | then { | |
519 | 517 | let assetName = value(assetInfo(assetId)).name | |
520 | 518 | let generation = take(takeRight(assetName, 2), 1) | |
521 | 519 | let gen = ((getGen(assetName) + "-") + generation) | |
522 | 520 | getAssetRarity(gen, generation) | |
523 | 521 | } | |
524 | 522 | else throw("_20") | |
525 | 523 | } | |
526 | 524 | ||
527 | 525 | ||
528 | 526 | func getDuckMarketPrice (nftId) = { | |
529 | 527 | let rarity = getAssetFarmingPower(nftId) | |
530 | 528 | let breederAddress = addressFromStringValue(getStrA(mAccAddr, kBreederDapp)) | |
531 | - | let | |
532 | - | let canBreedText = if (( | |
533 | - | then " | |
534 | - | else " | |
529 | + | let sterile = getIntA(breederAddress, (("asset_" + toBase58String(nftId)) + "_children")) | |
530 | + | let canBreedText = if ((sterile > 0)) | |
531 | + | then "0" | |
532 | + | else "1" | |
535 | 533 | let val = getInteger(mAccAddr, ((("r-" + toString(rarity)) + "-b-") + canBreedText)) | |
536 | - | valueOrErrorMessage(val, "There is no oracle data for this type of duck") | |
534 | + | match val { | |
535 | + | case price: Int => | |
536 | + | let minPrice = if ((sterile > 0)) | |
537 | + | then (200000000 * rarity) | |
538 | + | else 18000000000 | |
539 | + | if ((minPrice > price)) | |
540 | + | then minPrice | |
541 | + | else price | |
542 | + | case _ => | |
543 | + | throw("There is no price for such duck") | |
544 | + | } | |
537 | 545 | } | |
538 | 546 | ||
539 | 547 | ||
540 | 548 | func getDuckIdByAuctionId (auctionId) = { | |
541 | 549 | let marketAddr = getMarketAddr() | |
542 | 550 | getStrA(addressFromStringValue(marketAddr), (("auction_" + auctionId) + "_assetId")) | |
543 | 551 | } | |
544 | 552 | ||
545 | 553 | ||
546 | 554 | func getBidAmount (auctionId,bidId) = { | |
547 | 555 | let marketAddr = getMarketAddr() | |
548 | 556 | getIntA(addressFromStringValue(marketAddr), (((("auction_" + auctionId) + "_bid_") + bidId) + "_amount")) | |
549 | 557 | } | |
550 | 558 | ||
551 | 559 | ||
552 | 560 | @Callable(i) | |
553 | 561 | func callMarketplaceProxy (function,int1,int2,str1,str2) = { | |
554 | 562 | let marketplaceDappAddress = addressFromStringValue(getMarketAddr()) | |
555 | - | if (( | |
556 | - | then throw("_ | |
563 | + | if ((getBoolA(mAccAddr, ("farm_" + toString(i.caller))) != true)) | |
564 | + | then throw("_301=") | |
557 | 565 | else if ((function == "initAuction")) | |
558 | 566 | then { | |
559 | 567 | let asset = value(i.payments[0]) | |
560 | 568 | let duckMarketPrice = getDuckMarketPrice(value(asset.assetId)) | |
561 | 569 | let initialPrice = int1 | |
562 | 570 | let buyoutPrice = int2 | |
563 | - | if (if ((initialPrice >= (duckMarketPrice - ((duckMarketPrice / 100) * 15)))) | |
564 | - | then (buyoutPrice >= initialPrice) | |
565 | - | else false) | |
566 | - | then { | |
567 | - | let initAuction = invoke(marketplaceDappAddress, "initAuction", [initialPrice, buyoutPrice, str1], [AttachedPayment(value(asset.assetId), 1)]) | |
568 | - | if ((initAuction == initAuction)) | |
569 | - | then [StringEntry(("tx_" + toBase58String(i.transactionId)), toBase58String(value(asset.assetId)))] | |
570 | - | else throw("Strict value is not equal to itself.") | |
571 | - | } | |
572 | - | else throw(("_9=" + toString(duckMarketPrice))) | |
571 | + | let maxPriceDiff = fraction(duckMarketPrice, 15, 100) | |
572 | + | if ((value(asset.amount) != 1)) | |
573 | + | then throw("_103") | |
574 | + | else if (if ((initialPrice >= (duckMarketPrice - maxPriceDiff))) | |
575 | + | then (buyoutPrice >= initialPrice) | |
576 | + | else false) | |
577 | + | then { | |
578 | + | let initAuction = invoke(marketplaceDappAddress, "initAuction", [initialPrice, buyoutPrice, str1], [AttachedPayment(value(asset.assetId), 1)]) | |
579 | + | if ((initAuction == initAuction)) | |
580 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), toBase58String(value(asset.assetId)))] | |
581 | + | else throw("Strict value is not equal to itself.") | |
582 | + | } | |
583 | + | else throw(("_9=" + toString(duckMarketPrice))) | |
573 | 584 | } | |
574 | 585 | else if ((function == "placeBid")) | |
575 | 586 | then { | |
576 | 587 | let auctionId = str1 | |
577 | 588 | let duckAssetId = getDuckIdByAuctionId(auctionId) | |
578 | 589 | let duckMarketPrice = getDuckMarketPrice(fromBase58String(duckAssetId)) | |
579 | 590 | let bidAmount = value(value(i.payments[0]).amount) | |
580 | - | if (((duckMarketPrice + ((duckMarketPrice / 100) * 10)) > bidAmount)) | |
581 | - | then { | |
582 | - | let placeBid = invoke(marketplaceDappAddress, "placeBid", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
583 | - | if ((placeBid == placeBid)) | |
584 | - | then nil | |
585 | - | else throw("Strict value is not equal to itself.") | |
586 | - | } | |
587 | - | else throw(("_10=" + toString(duckMarketPrice))) | |
591 | + | let maxPriceDiff = fraction(duckMarketPrice, 10, 100) | |
592 | + | if ((size(i.payments) != 1)) | |
593 | + | then throw("_103") | |
594 | + | else if ((value(i.payments[0]).assetId != unit)) | |
595 | + | then throw("_104") | |
596 | + | else if (((duckMarketPrice + maxPriceDiff) > bidAmount)) | |
597 | + | then { | |
598 | + | let placeBid = invoke(marketplaceDappAddress, "placeBid", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
599 | + | if ((placeBid == placeBid)) | |
600 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), auctionId)] | |
601 | + | else throw("Strict value is not equal to itself.") | |
602 | + | } | |
603 | + | else throw(("_10=" + toString(duckMarketPrice))) | |
588 | 604 | } | |
589 | 605 | else if ((function == "acceptBid")) | |
590 | 606 | then { | |
591 | 607 | let auctionId = str1 | |
592 | 608 | let bidId = str2 | |
593 | 609 | let duckAssetId = getDuckIdByAuctionId(auctionId) | |
594 | 610 | let duckMarketPrice = getDuckMarketPrice(fromBase58String(duckAssetId)) | |
595 | 611 | let bidAmount = getBidAmount(auctionId, bidId) | |
596 | - | if ((bidAmount >= (duckMarketPrice - ((duckMarketPrice / 100) * 15)))) | |
612 | + | let maxPriceDiff = fraction(duckMarketPrice, 15, 100) | |
613 | + | if ((bidAmount >= (duckMarketPrice - maxPriceDiff))) | |
597 | 614 | then { | |
598 | 615 | let acceptBid = invoke(marketplaceDappAddress, "acceptBid", [auctionId, bidId], nil) | |
599 | 616 | if ((acceptBid == acceptBid)) | |
600 | - | then | |
617 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), auctionId)] | |
601 | 618 | else throw("Strict value is not equal to itself.") | |
602 | 619 | } | |
603 | 620 | else throw(("_11=" + toString(duckMarketPrice))) | |
604 | 621 | } | |
605 | 622 | else if ((function == "instantBuy")) | |
606 | 623 | then { | |
607 | 624 | let auctionId = str1 | |
608 | 625 | let duckAssetId = getDuckIdByAuctionId(auctionId) | |
609 | 626 | let duckMarketPrice = getDuckMarketPrice(fromBase58String(duckAssetId)) | |
610 | 627 | let bidAmount = value(value(i.payments[0]).amount) | |
611 | - | if (((duckMarketPrice + ((duckMarketPrice / 100) * 10)) > bidAmount)) | |
612 | - | then { | |
613 | - | let instantBuy = invoke(marketplaceDappAddress, "instantBuy", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
614 | - | if ((instantBuy == instantBuy)) | |
615 | - | then nil | |
616 | - | else throw("Strict value is not equal to itself.") | |
617 | - | } | |
618 | - | else throw(("_12" + toString(duckMarketPrice))) | |
628 | + | let maxPriceDiff = fraction(duckMarketPrice, 10, 100) | |
629 | + | if ((size(i.payments) != 1)) | |
630 | + | then throw("_103") | |
631 | + | else if ((value(i.payments[0]).assetId != unit)) | |
632 | + | then throw("_104") | |
633 | + | else if (((duckMarketPrice + maxPriceDiff) > bidAmount)) | |
634 | + | then { | |
635 | + | let instantBuy = invoke(marketplaceDappAddress, "instantBuy", [auctionId], [AttachedPayment(unit, bidAmount)]) | |
636 | + | if ((instantBuy == instantBuy)) | |
637 | + | then [StringEntry(("tx_" + toBase58String(i.transactionId)), auctionId)] | |
638 | + | else throw("Strict value is not equal to itself.") | |
639 | + | } | |
640 | + | else throw(("_12=" + toString(duckMarketPrice))) | |
619 | 641 | } | |
620 | 642 | else throw("_13") | |
621 | 643 | } | |
622 | 644 | ||
623 | 645 | ||
624 | 646 | @Verifier(tx) | |
625 | 647 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
626 | 648 |
github/deemru/w8io/3ef1775 280.49 ms ◑