tx · GMpUpczuYr52ok8PwFgzrrpnkxaNMrJh4NLjg9qxUzFE

3PKygHiLgLC16j5bNP1T3UUudmH98Pp2v8o:  -0.01000000 Waves

2024.03.24 17:39 [4098178] smart account 3PKygHiLgLC16j5bNP1T3UUudmH98Pp2v8o > SELF 0.00000000 Waves

{ "type": 13, "id": "GMpUpczuYr52ok8PwFgzrrpnkxaNMrJh4NLjg9qxUzFE", "fee": 1000000, "feeAssetId": null, "timestamp": 1711291255778, "version": 2, "chainId": 87, "sender": "3PKygHiLgLC16j5bNP1T3UUudmH98Pp2v8o", "senderPublicKey": "EKWFwVJMAk6xj9i7a2PGBZx557V7M57jEhyaZHH3mAc1", "proofs": [ "3w3MgZt2FZZgwFqbKgXqBJkewseB497kfYjGiJ6EkujfvNuCpLkQ84DWg7Ah38oedEd6VFQfQH3JW1qqpR7KRBzF" ], "script": "base64:BgIPCAISAwoBCBIGCgQICAgBBwEPZ2V0UmFuZG9tTnVtYmVyBAh2YXJpYW50cwR0eElkFGhhdGNoaW5nRmluaXNoSGVpZ2h0Bm9mZnNldAQPcmFuZG9tU2VlZEJsb2NrCQEFdmFsdWUBCQDtBwEJAGUCBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAABBApyYW5kb21IYXNoCQDUFgEJAMsBAgUEdHhJZAkBBXZhbHVlAQgFD3JhbmRvbVNlZWRCbG9jawN2cmYJAGoCCQCyCQIFCnJhbmRvbUhhc2gFBm9mZnNldAUIdmFyaWFudHMBDGdldFJhbmRvbUdlbgUEZ2VuMQRnZW4yBHN0ZXAEdHhJZBRoYXRjaGluZ0ZpbmlzaEhlaWdodAQJcmFuZG9tTnVtCQEPZ2V0UmFuZG9tTnVtYmVyBAACBQR0eElkBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAUEc3RlcAQDZ2VuAwkAAAIFCXJhbmRvbU51bQAABQRnZW4xBQRnZW4yBQNnZW4BDXRyeUdldEludGVnZXIBA2tleQQDdmFsBAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAUDdmFsAQhpc1N5bWJvbAILYWNjdW11bGF0ZWQDc3ltAwkAAAIFA3N5bQgFC2FjY3VtdWxhdGVkAl8yCQBkAggFC2FjY3VtdWxhdGVkAl8xAAEJAGQCCAULYWNjdW11bGF0ZWQCXzEAAAEQZ2V0QW1vdW50T3JDbGVhcgEGYW1vdW50AwkBCGNvbnRhaW5zAgUGYW1vdW50AgEwAgAFBmFtb3VudAEIY2hhckxpc3QACQDMCAICAUEJAMwIAgIBQgkAzAgCAgFDCQDMCAICAUQJAMwIAgIBRQkAzAgCAgFGCQDMCAICAUcJAMwIAgIBSAkAzAgCAgFJCQDMCAICAUoJAMwIAgIBSwkAzAgCAgFMCQDMCAICAU0JAMwIAgIBTgkAzAgCAgFPCQDMCAICAVAJAMwIAgIBUQkAzAgCAgFSCQDMCAICAVMJAMwIAgIBVAkAzAgCAgFVCQDMCAICAVYJAMwIAgIBVwkAzAgCAgFYCQDMCAICAVkJAMwIAgIBWgUDbmlsAQ1uck9mVHlwZUdlbmVzAQNnZW4ECGdlbm90eXBlCQC1CQIJALMCAgkAsAICBQNnZW4ABQADAgAEBnBhcnRzMQkArAICCQCRAwIFCGdlbm90eXBlAAAJAJEDAgUIZ2Vub3R5cGUAAQQGcGFydHMyCQCsAgIJAJEDAgUIZ2Vub3R5cGUAAgkAkQMCBQhnZW5vdHlwZQADBAZwYXJ0czMJAKwCAgkAkQMCBQhnZW5vdHlwZQAECQCRAwIFCGdlbm90eXBlAAUEBnBhcnRzNAkArAICCQCRAwIFCGdlbm90eXBlAAYJAJEDAgUIZ2Vub3R5cGUABwQGcGFydHM1CQCsAgIJAJEDAgUIZ2Vub3R5cGUACAkAkQMCBQhnZW5vdHlwZQAJBAZwYXJ0czYJAKwCAgkAkQMCBQhnZW5vdHlwZQAKCQCRAwIFCGdlbm90eXBlAAsEBnBhcnRzNwkArAICCQCRAwIFCGdlbm90eXBlAAwJAJEDAgUIZ2Vub3R5cGUADQQGcGFydHM4CQCsAgIJAJEDAgUIZ2Vub3R5cGUADgkAkQMCBQhnZW5vdHlwZQAPBAVwYXJ0cwkAzAgCBQZwYXJ0czEJAMwIAgUGcGFydHMyCQDMCAIFBnBhcnRzMwkAzAgCBQZwYXJ0czQJAMwIAgUGcGFydHM1CQDMCAIFBnBhcnRzNgkAzAgCBQZwYXJ0czcJAMwIAgUGcGFydHM4BQNuaWwKAQ9zb3J0UGFydHNCeVR5cGUCA2FjYwRwYXJ0BApzcGxpdFBhcnRzCQC1CQIFBHBhcnQCAAMJAAACCQCRAwIFCnNwbGl0UGFydHMAAAIBVAkAzQgCCAUDYWNjAl8xCQCRAwIFCnNwbGl0UGFydHMAAQMJAAACCQCRAwIFCnNwbGl0UGFydHMAAAIBRAkAzQgCCAUDYWNjAl8yCQCRAwIFCnNwbGl0UGFydHMAAQkAAgECDFVOS05PV04gVFlQRQQGcmVzdWx0CgACJGwFBXBhcnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEPc29ydFBhcnRzQnlUeXBlAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA4CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAoBE2NvbXBvc2VTdHJpbmdUdXJ0bGUCA2FjYwRjaGFyBAljaGFyQ291bnQKAAIkbAgFBnJlc3VsdAJfMQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgAABQRjaGFyCgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhpc1N5bWJvbAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgOAkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgJAKwCAgkArAICBQNhY2MJAKQDAQgFCWNoYXJDb3VudAJfMQUEY2hhcgoBEWNvbXBvc2VTdHJpbmdEdWNrAgNhY2MEY2hhcgQJY2hhckNvdW50CgACJGwIBQZyZXN1bHQCXzIKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIAAAUEY2hhcgoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIaXNTeW1ib2wCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAICQCsAgIJAKwCAgUDYWNjCQCkAwEIBQljaGFyQ291bnQCXzEFBGNoYXIJAMwIAgkBC1N0cmluZ0VudHJ5AgIMREVCVUdfVFVSVExFCQCRAwIIBQZyZXN1bHQCXzEAAAkAzAgCCQELU3RyaW5nRW50cnkCAgxERUJVR19UVVJUTEUJAJEDAggFBnJlc3VsdAJfMgAABQNuaWwCAWkBA3BvYwEKYXNzZXRJZFN0cgQFYXNzZXQJANkEAQUKYXNzZXRJZFN0cgQPcGFyc2VkQXNzZXRJbmZvCQEFdmFsdWUBCQDsBwEFBWFzc2V0BARib2R5CAUPcGFyc2VkQXNzZXRJbmZvC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgIGREVCVUdfBQphc3NldElkU3RyBQRib2R5BQNuaWwBaQEKcG9jTmFtZUdlbgQFbmFtZTEFbmFtZTIEdHhJZAxmaW5pc2hIZWlnaHQEC2NvbG9yUmFuZG9tCQEPZ2V0UmFuZG9tTnVtYmVyBAAECQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAALBAVjb2xvcgMJAAACBQtjb2xvclJhbmRvbQAAAgFSAwkAAAIFC2NvbG9yUmFuZG9tAAECAUQDCQAAAgULY29sb3JSYW5kb20AAgIBUwIBRwQKcGFyZW50MUdlbgkAtQkCBQVuYW1lMQIABApwYXJlbnQyR2VuCQC1CQIFBW5hbWUyAgAEA2dlbgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgVNVE5ULQkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAFCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ABQAACQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAGCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ABgABCQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAHCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ABwACCQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAICQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACAADCQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAJCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACQAECQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAKCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACgAFCQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgALCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACwAGCQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAMCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ADAAHCQDZBAEFBHR4SWQFDGZpbmlzaEhlaWdodAICLUcFBWNvbG9yCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQICDERFQlVHX2Ftb3VudAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQIMREVCVUdfYW1vdW50AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgINREVCVUdfcGFyZW50MQUFbmFtZTEJAMwIAgkBC1N0cmluZ0VudHJ5AgINREVCVUdfcGFyZW50MgUFbmFtZTIJAMwIAgkBC1N0cmluZ0VudHJ5AgIKREVCVUdfbmFtZQIFTVROVC0JAMwIAgkBC1N0cmluZ0VudHJ5AgIMREVCVUdfcmVzdWx0BQNnZW4FA25pbAkBDW5yT2ZUeXBlR2VuZXMBBQNnZW4AGYLViw==", "height": 4098178, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9n8J2hEvXGJ1pTEphBw9zVZy6U3D2kum7wivjBZ2qskx Next: EV5jWVqUz6Gkdt1ru91Bqtc1gU3p6xrpGhJUu3wYWXu8 Diff:
OldNewDifferences
111111 ((acc + toString(charCount._1)) + char)
112112 }
113113
114- nil
114+[StringEntry("DEBUG_TURTLE", result._1[0]), StringEntry("DEBUG_TURTLE", result._2[0])]
115115 }
116116
117117
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func getRandomNumber (variants,txId,hatchingFinishHeight,offset) = {
55 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
66 let randomHash = sha256_16Kb((txId + value(randomSeedBlock.vrf)))
77 (toInt(randomHash, offset) % variants)
88 }
99
1010
1111 func getRandomGen (gen1,gen2,step,txId,hatchingFinishHeight) = {
1212 let randomNum = getRandomNumber(2, txId, hatchingFinishHeight, step)
1313 let gen = if ((randomNum == 0))
1414 then gen1
1515 else gen2
1616 gen
1717 }
1818
1919
2020 func tryGetInteger (key) = {
2121 let val = match getInteger(this, key) {
2222 case b: Int =>
2323 b
2424 case _ =>
2525 0
2626 }
2727 val
2828 }
2929
3030
3131 func isSymbol (accumulated,sym) = if ((sym == accumulated._2))
3232 then (accumulated._1 + 1)
3333 else (accumulated._1 + 0)
3434
3535
3636 func getAmountOrClear (amount) = if (contains(amount, "0"))
3737 then ""
3838 else amount
3939
4040
4141 func charList () = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
4242
4343
4444 func nrOfTypeGenes (gen) = {
4545 let genotype = split(dropRight(drop(gen, 5), 3), "")
4646 let parts1 = (genotype[0] + genotype[1])
4747 let parts2 = (genotype[2] + genotype[3])
4848 let parts3 = (genotype[4] + genotype[5])
4949 let parts4 = (genotype[6] + genotype[7])
5050 let parts5 = (genotype[8] + genotype[9])
5151 let parts6 = (genotype[10] + genotype[11])
5252 let parts7 = (genotype[12] + genotype[13])
5353 let parts8 = (genotype[14] + genotype[15])
5454 let parts = [parts1, parts2, parts3, parts4, parts5, parts6, parts7, parts8]
5555 func sortPartsByType (acc,part) = {
5656 let splitParts = split(part, "")
5757 if ((splitParts[0] == "T"))
5858 then (acc._1 :+ splitParts[1])
5959 else if ((splitParts[0] == "D"))
6060 then (acc._2 :+ splitParts[1])
6161 else throw("UNKNOWN TYPE")
6262 }
6363
6464 let result = {
6565 let $l = parts
6666 let $s = size($l)
6767 let $acc0 = $Tuple2(nil, nil)
6868 func $f0_1 ($a,$i) = if (($i >= $s))
6969 then $a
7070 else sortPartsByType($a, $l[$i])
7171
7272 func $f0_2 ($a,$i) = if (($i >= $s))
7373 then $a
7474 else throw("List size exceeds 8")
7575
7676 $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)
7777 }
7878 func composeStringTurtle (acc,char) = {
7979 let charCount = {
8080 let $l = result._1
8181 let $s = size($l)
8282 let $acc0 = $Tuple2(0, char)
8383 func $f1_1 ($a,$i) = if (($i >= $s))
8484 then $a
8585 else isSymbol($a, $l[$i])
8686
8787 func $f1_2 ($a,$i) = if (($i >= $s))
8888 then $a
8989 else throw("List size exceeds 8")
9090
9191 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
9292 }
9393 ((acc + toString(charCount._1)) + char)
9494 }
9595
9696 func composeStringDuck (acc,char) = {
9797 let charCount = {
9898 let $l = result._2
9999 let $s = size($l)
100100 let $acc0 = $Tuple2(0, char)
101101 func $f1_1 ($a,$i) = if (($i >= $s))
102102 then $a
103103 else isSymbol($a, $l[$i])
104104
105105 func $f1_2 ($a,$i) = if (($i >= $s))
106106 then $a
107107 else throw("List size exceeds 8")
108108
109109 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
110110 }
111111 ((acc + toString(charCount._1)) + char)
112112 }
113113
114- nil
114+[StringEntry("DEBUG_TURTLE", result._1[0]), StringEntry("DEBUG_TURTLE", result._2[0])]
115115 }
116116
117117
118118 @Callable(i)
119119 func poc (assetIdStr) = {
120120 let asset = fromBase58String(assetIdStr)
121121 let parsedAssetInfo = value(assetInfo(asset))
122122 let body = parsedAssetInfo.description
123123 [StringEntry(("DEBUG_" + assetIdStr), body)]
124124 }
125125
126126
127127
128128 @Callable(i)
129129 func pocNameGen (name1,name2,txId,finishHeight) = {
130130 let colorRandom = getRandomNumber(4, fromBase58String(txId), finishHeight, 11)
131131 let color = if ((colorRandom == 0))
132132 then "R"
133133 else if ((colorRandom == 1))
134134 then "D"
135135 else if ((colorRandom == 2))
136136 then "S"
137137 else "G"
138138 let parent1Gen = split(name1, "")
139139 let parent2Gen = split(name2, "")
140140 let gen = (((((((((("MTNT-" + getRandomGen((parent1Gen[0] + parent1Gen[5]), (parent2Gen[0] + parent2Gen[5]), 0, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[6]), (parent2Gen[0] + parent2Gen[6]), 1, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[7]), (parent2Gen[0] + parent2Gen[7]), 2, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[8]), (parent2Gen[0] + parent2Gen[8]), 3, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[9]), (parent2Gen[0] + parent2Gen[9]), 4, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[10]), (parent2Gen[0] + parent2Gen[10]), 5, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[11]), (parent2Gen[0] + parent2Gen[11]), 6, fromBase58String(txId), finishHeight)) + getRandomGen((parent1Gen[0] + parent1Gen[12]), (parent2Gen[0] + parent2Gen[12]), 7, fromBase58String(txId), finishHeight)) + "-G") + color)
141141 ([IntegerEntry("DEBUG_amount", (tryGetInteger("DEBUG_amount") + 1)), StringEntry("DEBUG_parent1", name1), StringEntry("DEBUG_parent2", name2), StringEntry("DEBUG_name", "MTNT-"), StringEntry("DEBUG_result", gen)] ++ nrOfTypeGenes(gen))
142142 }
143143
144144

github/deemru/w8io/6500d08 
31.92 ms