tx · 3pp7LCMvNZ8eK4XR78YYEiHAFxd9FjdGDhtKhhPugTTe

3P5BTtdj32Sd1Dyh1Mdw33xQAAckSfMfnKf:  -0.01000000 Waves

2022.09.10 13:28 [3288392] smart account 3P5BTtdj32Sd1Dyh1Mdw33xQAAckSfMfnKf > SELF 0.00000000 Waves

{ "type": 13, "id": "3pp7LCMvNZ8eK4XR78YYEiHAFxd9FjdGDhtKhhPugTTe", "fee": 1000000, "feeAssetId": null, "timestamp": 1662805676890, "version": 2, "chainId": 87, "sender": "3P5BTtdj32Sd1Dyh1Mdw33xQAAckSfMfnKf", "senderPublicKey": "C2UDsiqKYoTm9rgUWvEJ63etAQiqv7WUZT97uHJZYVgq", "proofs": [ "GSZSEnxUVNpoE6FJMu3rVFXHgrgAgxLviyaRD4RhvCmAZv6WjH1XLd91xpLSCKBCeJpoDFu9GPDWiWqh8HV1y8E" ], "script": "base64:BgIcCAISAwoBGBIDCgEIEgQKAgEIEgMKAQgSAwoBCAcAE2xhc3RVcGRhdGVkQmxvY2tLZXkCEGxhc3RVcGRhdGVkQmxvY2sAEndoaXRlTGlzdEFkZHJlc3NlcwkAzAgCCQEHQWRkcmVzcwEBGgFXs9WSVEkJmioQ+8b4nxB2q+8/D3KliRWMBQNuaWwAB24xNUxpc3QJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEFA25pbAAHbjYwTGlzdAkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQkAzAgCAAEJAMwIAgABCQDMCAIAAQUDbmlsAQ9nZXRQcmljZURhdGFLZXkDBWJsb2NrBHR5cGUHdG9rZW5JZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgICBmJsb2NrXwkApAMBBQVibG9jawIBXwUEdHlwZQIBXwUHdG9rZW5JZAENZ2V0UHJpY2VWYWx1ZQMHdG9rZW5JZAR0eXBlBWJsb2NrBAZuQmxvY2sEByRtYXRjaDAFBWJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkBEUBleHRyTmF0aXZlKDEwNTUpAQUTbGFzdFVwZGF0ZWRCbG9ja0tleQMJAGcCAAAFBm5CbG9jawkAAgECE0ludmFsaWQgYmxvY2sgdmFsdWUDAwkAAAIFBHR5cGUCA21pbgYJAAACBQR0eXBlAgNtYXgJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBD2dldFByaWNlRGF0YUtleQMFBm5CbG9jawUEdHlwZQUHdG9rZW5JZAAACQACAQIPV3JvbmcgdHlwZSBuYW1lARNnZXRQcmljZURhdGFFbnRyaWVzAglwcmljZUxpc3QGaGVpZ2h0CgELcHJvY2Vzc0xpc3QCBWFjY3VtBG5leHQEBnBhcnNlZAkAtQkCBQRuZXh0AgFfBAd0b2tlbklkCQCRAwIFBnBhcnNlZAAABAhuZXdQcmljZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUGcGFyc2VkAAECGkludmFsaWQgdmFsdWUgcGFyc2VkIHByaWNlBAtrZXlNaW5QcmljZQkBD2dldFByaWNlRGF0YUtleQMFBmhlaWdodAIDbWluBQd0b2tlbklkBAtrZXlNYXhQcmljZQkBD2dldFByaWNlRGF0YUtleQMFBmhlaWdodAIDbWF4BQd0b2tlbklkBA9jdXJyZW50TWluUHJpY2UJAQt2YWx1ZU9yRWxzZQIJAJ8IAQULa2V5TWluUHJpY2UAAAQPY3VycmVudE1heFByaWNlCQELdmFsdWVPckVsc2UCCQCfCAEFC2tleU1heFByaWNlAAADCQBnAgAABQhuZXdQcmljZQkAAgECIVByaWNlIGNhbm5vdCBiZSB6ZXJvIG9yIGxlc3MgemVybwMJAAACCQCxAgEFB3Rva2VuSWQAAAkAAgECF0luYXZhbGlkIHZhbHVlIHRva2VuIElkAwkAZgIJAQV2YWx1ZQEFD2N1cnJlbnRNaW5QcmljZQUIbmV3UHJpY2UJAM0IAgUFYWNjdW0JAQxJbnRlZ2VyRW50cnkCBQtrZXlNaW5QcmljZQUIbmV3UHJpY2UDCQBmAgUIbmV3UHJpY2UJAQV2YWx1ZQEFD2N1cnJlbnRNYXhQcmljZQkAzQgCBQVhY2N1bQkBDEludGVnZXJFbnRyeQIFC2tleU1heFByaWNlBQhuZXdQcmljZQUFYWNjdW0KAAIkbAUJcHJp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AQlnZXRUV0FQNjABB3Rva2VuSWQEEGxhc3RVcGRhdGVkQmxvY2sJARFAZXh0ck5hdGl2ZSgxMDU1KQEFE2xhc3RVcGRhdGVkQmxvY2tLZXkKAQxnZXRQcmljZUxpc3QCBWFjY3VtBG5leHQECyR0MDMxODMzMjE2BQVhY2N1bQQGcmVzdWx0CAULJHQwMzE4MzMyMTYCXzEEBWJsb2NrCAULJHQwMzE4MzMyMTYCXzIEBHR5cGUIBQskdDAzMTgzMzIxNgJfMwQKcHJpY2VWYWx1ZQkBDWdldFByaWNlVmFsdWUDBQd0b2tlbklkBQR0eXBlBQVibG9jawQJbmV4dEJsb2NrCQBlAgUFYmxvY2sFBG5leHQDCQBmAgUKcHJpY2VWYWx1ZQAACQCVCgMJAM0IAgUGcmVzdWx0BQpwcmljZVZhbHVlBQluZXh0QmxvY2sFBHR5cGUJAJUKAwUGcmVzdWx0BQluZXh0QmxvY2sFBHR5cGUEDW1pblByaWNlc0xpc3QKAAIkbAUHbjYwTGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJUKAwUDbmlsBRBsYXN0VXBkYXRlZEJsb2NrAgNtaW4KAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDGdldFByaWNlTGlzdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNjAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUk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", "height": 3288392, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6aGvF3MGvqRFvjAYQ4qM5vJqDR8VE3SGevKXret6dReg Next: 8bBs6yNWjFTNahShir1vz6aKqcAYfQUQrKaHXS7oRUq1 Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let lastUpdatedBlockKey = "lastUpdatedBlock"
55
6-let whiteListAddresses = [Address(base58'')]
6+let whiteListAddresses = [Address(base58'3PJKmXoHJvVeQXjSJdhtkUcFDtdiQqMbUTD')]
77
88 let n15List = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
99
9090 func getTWAP60 (tokenId) = {
9191 let lastUpdatedBlock = getIntegerValue(lastUpdatedBlockKey)
9292 func getPriceList (accum,next) = {
93- let $t031483181 = accum
94- let result = $t031483181._1
95- let block = $t031483181._2
96- let type = $t031483181._3
93+ let $t031833216 = accum
94+ let result = $t031833216._1
95+ let block = $t031833216._2
96+ let type = $t031833216._3
9797 let priceValue = getPriceValue(tokenId, type, block)
9898 let nextBlock = (block - next)
9999 if ((priceValue > 0))
170170 func getTWAP15 (tokenId) = {
171171 let lastUpdatedBlock = getIntegerValue(lastUpdatedBlockKey)
172172 func getPriceList (accum,next) = {
173- let $t041724205 = accum
174- let result = $t041724205._1
175- let block = $t041724205._2
176- let type = $t041724205._3
173+ let $t042074240 = accum
174+ let result = $t042074240._1
175+ let block = $t042074240._2
176+ let type = $t042074240._3
177177 let priceValue = getPriceValue(tokenId, type, block)
178178 let nextBlock = (block - next)
179179 if ((priceValue > 0))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let lastUpdatedBlockKey = "lastUpdatedBlock"
55
6-let whiteListAddresses = [Address(base58'')]
6+let whiteListAddresses = [Address(base58'3PJKmXoHJvVeQXjSJdhtkUcFDtdiQqMbUTD')]
77
88 let n15List = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
99
1010 let n60List = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
1111
1212 func getPriceDataKey (block,type,tokenId) = ((((("block_" + toString(block)) + "_") + type) + "_") + tokenId)
1313
1414
1515 func getPriceValue (tokenId,type,block) = {
1616 let nBlock = match block {
1717 case t: Int =>
1818 t
1919 case _ =>
2020 getIntegerValue(lastUpdatedBlockKey)
2121 }
2222 if ((0 >= nBlock))
2323 then throw("Invalid block value")
2424 else if (if ((type == "min"))
2525 then true
2626 else (type == "max"))
2727 then valueOrElse(getInteger(getPriceDataKey(nBlock, type, tokenId)), 0)
2828 else throw("Wrong type name")
2929 }
3030
3131
3232 func getPriceDataEntries (priceList,height) = {
3333 func processList (accum,next) = {
3434 let parsed = split(next, "_")
3535 let tokenId = parsed[0]
3636 let newPrice = valueOrErrorMessage(parseInt(parsed[1]), "Invalid value parsed price")
3737 let keyMinPrice = getPriceDataKey(height, "min", tokenId)
3838 let keyMaxPrice = getPriceDataKey(height, "max", tokenId)
3939 let currentMinPrice = valueOrElse(getInteger(keyMinPrice), 0)
4040 let currentMaxPrice = valueOrElse(getInteger(keyMaxPrice), 0)
4141 if ((0 >= newPrice))
4242 then throw("Price cannot be zero or less zero")
4343 else if ((size(tokenId) == 0))
4444 then throw("Inavalid value token Id")
4545 else if ((value(currentMinPrice) > newPrice))
4646 then (accum :+ IntegerEntry(keyMinPrice, newPrice))
4747 else if ((newPrice > value(currentMaxPrice)))
4848 then (accum :+ IntegerEntry(keyMaxPrice, newPrice))
4949 else accum
5050 }
5151
5252 let $l = priceList
5353 let $s = size($l)
5454 let $acc0 = nil
5555 func $f0_1 ($a,$i) = if (($i >= $s))
5656 then $a
5757 else processList($a, $l[$i])
5858
5959 func $f0_2 ($a,$i) = if (($i >= $s))
6060 then $a
6161 else throw("List size exceeds 100")
6262
6363 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($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), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
6464 }
6565
6666
6767 @Callable(i)
6868 func updatePrice (prices) = if ((indexOf(whiteListAddresses, i.caller) == unit))
6969 then throw("Access denied")
7070 else if ((size(prices) == 0))
7171 then throw("Price list is empty")
7272 else ([IntegerEntry(lastUpdatedBlockKey, height)] ++ getPriceDataEntries(prices, height))
7373
7474
7575
7676 @Callable(i)
7777 func getPrice (tokenId) = {
7878 let lastUpdatedBlock = getIntegerValue(lastUpdatedBlockKey)
7979 $Tuple2(nil, $Tuple2(getPriceValue(tokenId, "min", unit), getPriceValue(tokenId, "max", unit)))
8080 }
8181
8282
8383
8484 @Callable(i)
8585 func getPriceAt (block,tokenId) = $Tuple2(nil, $Tuple2(getPriceValue(tokenId, "min", block), getPriceValue(tokenId, "max", block)))
8686
8787
8888
8989 @Callable(i)
9090 func getTWAP60 (tokenId) = {
9191 let lastUpdatedBlock = getIntegerValue(lastUpdatedBlockKey)
9292 func getPriceList (accum,next) = {
93- let $t031483181 = accum
94- let result = $t031483181._1
95- let block = $t031483181._2
96- let type = $t031483181._3
93+ let $t031833216 = accum
94+ let result = $t031833216._1
95+ let block = $t031833216._2
96+ let type = $t031833216._3
9797 let priceValue = getPriceValue(tokenId, type, block)
9898 let nextBlock = (block - next)
9999 if ((priceValue > 0))
100100 then $Tuple3((result :+ priceValue), nextBlock, type)
101101 else $Tuple3(result, nextBlock, type)
102102 }
103103
104104 let minPricesList = {
105105 let $l = n60List
106106 let $s = size($l)
107107 let $acc0 = $Tuple3(nil, lastUpdatedBlock, "min")
108108 func $f0_1 ($a,$i) = if (($i >= $s))
109109 then $a
110110 else getPriceList($a, $l[$i])
111111
112112 func $f0_2 ($a,$i) = if (($i >= $s))
113113 then $a
114114 else throw("List size exceeds 60")
115115
116116 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($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), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60)
117117 }
118118 let maxPricesList = {
119119 let $l = n60List
120120 let $s = size($l)
121121 let $acc0 = $Tuple3(nil, lastUpdatedBlock, "max")
122122 func $f1_1 ($a,$i) = if (($i >= $s))
123123 then $a
124124 else getPriceList($a, $l[$i])
125125
126126 func $f1_2 ($a,$i) = if (($i >= $s))
127127 then $a
128128 else throw("List size exceeds 60")
129129
130130 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($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), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60)
131131 }
132132 func sum (accum,next) = (accum + next)
133133
134134 let minSum = {
135135 let $l = minPricesList._1
136136 let $s = size($l)
137137 let $acc0 = 0
138138 func $f2_1 ($a,$i) = if (($i >= $s))
139139 then $a
140140 else sum($a, $l[$i])
141141
142142 func $f2_2 ($a,$i) = if (($i >= $s))
143143 then $a
144144 else throw("List size exceeds 60")
145145
146146 $f2_2($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60)
147147 }
148148 let maxSum = {
149149 let $l = maxPricesList._1
150150 let $s = size($l)
151151 let $acc0 = 0
152152 func $f3_1 ($a,$i) = if (($i >= $s))
153153 then $a
154154 else sum($a, $l[$i])
155155
156156 func $f3_2 ($a,$i) = if (($i >= $s))
157157 then $a
158158 else throw("List size exceeds 60")
159159
160160 $f3_2($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60)
161161 }
162162 let minAverage = fraction(minSum, 1000000, size(minPricesList))
163163 let maxAverage = fraction(maxSum, 1000000, size(minPricesList))
164164 $Tuple2(nil, $Tuple2(minAverage, maxAverage))
165165 }
166166
167167
168168
169169 @Callable(i)
170170 func getTWAP15 (tokenId) = {
171171 let lastUpdatedBlock = getIntegerValue(lastUpdatedBlockKey)
172172 func getPriceList (accum,next) = {
173- let $t041724205 = accum
174- let result = $t041724205._1
175- let block = $t041724205._2
176- let type = $t041724205._3
173+ let $t042074240 = accum
174+ let result = $t042074240._1
175+ let block = $t042074240._2
176+ let type = $t042074240._3
177177 let priceValue = getPriceValue(tokenId, type, block)
178178 let nextBlock = (block - next)
179179 if ((priceValue > 0))
180180 then $Tuple3((result :+ priceValue), nextBlock, type)
181181 else $Tuple3(result, nextBlock, type)
182182 }
183183
184184 let minPricesList = {
185185 let $l = n15List
186186 let $s = size($l)
187187 let $acc0 = $Tuple3(nil, lastUpdatedBlock, "min")
188188 func $f0_1 ($a,$i) = if (($i >= $s))
189189 then $a
190190 else getPriceList($a, $l[$i])
191191
192192 func $f0_2 ($a,$i) = if (($i >= $s))
193193 then $a
194194 else throw("List size exceeds 15")
195195
196196 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($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), 11), 12), 13), 14), 15)
197197 }
198198 let maxPricesList = {
199199 let $l = n15List
200200 let $s = size($l)
201201 let $acc0 = $Tuple3(nil, lastUpdatedBlock, "max")
202202 func $f1_1 ($a,$i) = if (($i >= $s))
203203 then $a
204204 else getPriceList($a, $l[$i])
205205
206206 func $f1_2 ($a,$i) = if (($i >= $s))
207207 then $a
208208 else throw("List size exceeds 15")
209209
210210 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($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), 9), 10), 11), 12), 13), 14), 15)
211211 }
212212 func sum (accum,next) = (accum + next)
213213
214214 let minSum = {
215215 let $l = minPricesList._1
216216 let $s = size($l)
217217 let $acc0 = 0
218218 func $f2_1 ($a,$i) = if (($i >= $s))
219219 then $a
220220 else sum($a, $l[$i])
221221
222222 func $f2_2 ($a,$i) = if (($i >= $s))
223223 then $a
224224 else throw("List size exceeds 15")
225225
226226 $f2_2($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
227227 }
228228 let maxSum = {
229229 let $l = maxPricesList._1
230230 let $s = size($l)
231231 let $acc0 = 0
232232 func $f3_1 ($a,$i) = if (($i >= $s))
233233 then $a
234234 else sum($a, $l[$i])
235235
236236 func $f3_2 ($a,$i) = if (($i >= $s))
237237 then $a
238238 else throw("List size exceeds 15")
239239
240240 $f3_2($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
241241 }
242242 let minAverage = fraction(minSum, 1000000, size(minPricesList))
243243 let maxAverage = fraction(maxSum, 1000000, size(minPricesList))
244244 $Tuple2(nil, $Tuple2(minAverage, maxAverage))
245245 }
246246
247247
248248 @Verifier(tx)
249249 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
250250

github/deemru/w8io/6500d08 
48.90 ms