tx · Hk8i78DkPuAYwsn2dyJ6oxqZhWvHPpqdaSUM2gdFc7EU

3PNze6jf5ZvScSj1cmiq34Jby825MV49gR3:  -0.01000000 Waves

2021.07.08 13:32 [2669288] smart account 3PNze6jf5ZvScSj1cmiq34Jby825MV49gR3 > SELF 0.00000000 Waves

{ "type": 13, "id": "Hk8i78DkPuAYwsn2dyJ6oxqZhWvHPpqdaSUM2gdFc7EU", "fee": 1000000, "feeAssetId": null, "timestamp": 1625740377228, "version": 1, "sender": "3PNze6jf5ZvScSj1cmiq34Jby825MV49gR3", "senderPublicKey": "2LTH2FED81uaJjvBKDdpcdgE78Xv26Fs33Yc3Kmz8dih", "proofs": [ "54qVTbTE3SjeF6sEUKy3uvAih3gF2tAnhzbMHwYxCNYQ9ZwMM5ibKw6DzuAJpxQm7nUnqnDrDzP4Z82ugvkxWrRc" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIIAQAAAAYAAAAABUhFQURLAgAAAAtoZWFkUG9pbnRlcgAAAAAHUkVCSURYSwIAAAAVbGFzdFNldHRsZW1lbnRQcmljZUlkAAAAAANNQVgAf/////////8BAAAAA2ludgAAAAEAAAAHYWRkcmVzcwQAAAACYTEJAAP8AAAABAUAAAAHYWRkcmVzcwIAAAAHc2V0dGxlMwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmExBQAAAAJhMQQAAAACYTIJAAP8AAAABAUAAAAHYWRkcmVzcwIAAAAHc2V0dGxlMwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmEyBQAAAAJhMgQAAAACYTMJAAP8AAAABAUAAAAHYWRkcmVzcwIAAAAHc2V0dGxlMwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmEzBQAAAAJhMwQAAAACYTQJAAP8AAAABAUAAAAHYWRkcmVzcwIAAAAHc2V0dGxlMwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmE0BQAAAAJhNAQAAAACYTUJAAP8AAAABAUAAAAHYWRkcmVzcwIAAAAHc2V0dGxlMwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmE1BQAAAAJhNQQAAAACYTYJAAP8AAAABAUAAAAHYWRkcmVzcwIAAAAHc2V0dGxlMwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmE2BQAAAAJhNgAAAAAAAAAAAAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEAAAAGY29tbW9uAAAAAQAAAARkYXBwBAAAAAdhZGRyZXNzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAEZGFwcAIAAAAdcGFjZXdyYXBwZXI6IGJhZCBkYXBwIGFkZHJlc3MEAAAACG9yYWNsZXYyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAHYWRkcmVzcwIAAAAIb3JhY2xldjICAAAAHHBhY2V3cmFwcGVyOiBubyBvcmFjbGV2MiBrZXkEAAAABm9yYWNsZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAACG9yYWNsZXYyAgAAAB9wYWNld3JhcHBlcjogYmFkIG9yYWNsZSBhZGRyZXNzBAAAAAlhc3NldGlkdjIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzAgAAAAlhc3NldGlkdjICAAAADG5vIGFzc2V0aWR2MgQAAAARbGFzdFByaWNlSW5kZXhLZXkJAAEsAAAAAgIAAAASJXMlc19faWR4Q3VycmVudF9fBQAAAAlhc3NldGlkdjIEAAAAEXNldHRsZWRQcmljZUluZGV4CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAAHUkVCSURYSwIAAAAXbm8gbGFzdCByZWJhbGFuY2UgcHJpY2UEAAAAEG9yYWNsZVByaWNlSW5kZXgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAZvcmFjbGUFAAAAEWxhc3RQcmljZUluZGV4S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACBwYWNld3JhcHBlcjogYmFkIG9yYWNsZSBkYXRhIGF0IAkABCUAAAABBQAAAAZvcmFjbGUCAAAAEDogbm8gaW50ZWdlciBhdCAFAAAAEWxhc3RQcmljZUluZGV4S2V5BAAAABFyZXF1ZXN0UHJpY2VJbmRleAQAAAALaGVhZFBvaW50ZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAAFSEVBREsCAAAAAAMJAAAAAAAAAgUAAAALaGVhZFBvaW50ZXICAAAAAAUAAAADTUFYBAAAAARkYXRhCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAB2FkZHJlc3MFAAAAC2hlYWRQb2ludGVyAgAAAAF8BAAAAANycGkJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAADBQAAAANycGkEAAAAFmhhc1Byb2Nlc3NhYmxlUmVxdWVzdHMJAABnAAAAAgUAAAAQb3JhY2xlUHJpY2VJbmRleAUAAAARcmVxdWVzdFByaWNlSW5kZXgJAAUXAAAABQUAAAAHYWRkcmVzcwUAAAARc2V0dGxlZFByaWNlSW5kZXgFAAAAEG9yYWNsZVByaWNlSW5kZXgFAAAAEXJlcXVlc3RQcmljZUluZGV4BQAAABZoYXNQcm9jZXNzYWJsZVJlcXVlc3RzAQAAAAZhZHZpc2UAAAABAAAABGRhcHAEAAAACyR0MDE4OTUyMDUyCQEAAAAGY29tbW9uAAAAAQUAAAAEZGFwcAMJAAAAAAAAAgUAAAALJHQwMTg5NTIwNTIFAAAACyR0MDE4OTUyMDUyBAAAABZoYXNQcm9jZXNzYWJsZVJlcXVlc3RzCAUAAAALJHQwMTg5NTIwNTIAAAACXzUEAAAAEXJlcXVlc3RQcmljZUluZGV4CAUAAAALJHQwMTg5NTIwNTIAAAACXzQEAAAAEG9yYWNsZVByaWNlSW5kZXgIBQAAAAskdDAxODk1MjA1MgAAAAJfMwQAAAARc2V0dGxlZFByaWNlSW5kZXgIBQAAAAskdDAxODk1MjA1MgAAAAJfMgQAAAAHYWRkcmVzcwgFAAAACyR0MDE4OTUyMDUyAAAAAl8xBAAAAAVCVUxMSwIAAAAGQlVMTElkBAAAAAVCRUFSSwIAAAAGQkVBUklkBAAAAAlQT09MVVNETksCAAAAEnBvb2xNYWluVG9rZW5WYWx1ZQQAAAAHUE9PTFVQSwIAAAAGcG9vbFVwBAAAAAhQT09MRFdOSwIAAAAHcG9vbER3bgQAAAAIQlVMTENPTEsCAAAADmJ1bGxDb2xsYXRlcmFsBAAAAAhCRUFSQ09MSwIAAAAOYmVhckNvbGxhdGVyYWwEAAAACUJVTExDSVJDSwIAAAAPYnVsbENpcmN1bGF0aW9uBAAAAAlCRUFSQ0lSQ0sCAAAAD2JlYXJDaXJjdWxhdGlvbgQAAAAEQlVMTAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAHYWRkcmVzcwUAAAAFQlVMTEsEAAAABEJFQVIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAB2FkZHJlc3MFAAAABUJFQVJLBAAAAAhwb29sTWFpbgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAHYWRkcmVzcwUAAAAJUE9PTFVTRE5LBAAAAAZwb29sVXAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAB2FkZHJlc3MFAAAAB1BPT0xVUEsEAAAAB3Bvb2xEd24JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAB2FkZHJlc3MFAAAACFBPT0xEV05LBAAAAAdidWxsQ29sCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAdhZGRyZXNzBQAAAAhCVUxMQ09MSwQAAAAHYmVhckNvbAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAHYWRkcmVzcwUAAAAIQkVBUkNPTEsEAAAACGJ1bGxDaXJjCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAdhZGRyZXNzBQAAAAlCVUxMQ0lSQ0sEAAAACGJlYXJDaXJjCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAdhZGRyZXNzBQAAAAlCRUFSQ0lSQ0sEAAAAEHBvb2xCdWxsRXhwb3N1cmUJAABrAAAAAwUAAAAHYnVsbENvbAUAAAAGcG9vbFVwBQAAAAhidWxsQ2lyYwQAAAAQcG9vbEJlYXJFeHBvc3VyZQkAAGsAAAADBQAAAAdiZWFyQ29sBQAAAAdwb29sRHduBQAAAAhiZWFyQ2lyYwQAAAAJcG9vbFZhbHVlCQAAZAAAAAIJAABkAAAAAgUAAAAIcG9vbE1haW4FAAAAEHBvb2xCdWxsRXhwb3N1cmUFAAAAEHBvb2xCZWFyRXhwb3N1cmUKAQAAAAdkaWZmQWJzAAAAAgAAAAJhMQAAAAJhMgQAAAAEZGlmZgkAAGUAAAACBQAAAAJhMQUAAAACYTIDCQAA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cwIAAAAPYmVhckNpcmN1bGF0aW9uAgAAABEsIG1heElzc3VlQnVsbCA9IAkAAaQAAAABCQEAAAAIbWF4SXNzdWUAAAABBQAAAARCVUxMAgAAABEsIG1heElzc3VlQmVhciA9IAkAAaQAAAABCQEAAAAIbWF4SXNzdWUAAAABBQAAAARCRUFSCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAFpAQAAAAlzZXR0bGVBbGwAAAACAAAABGRhcHAAAAAPbWluUHJpY2VBZHZhbmNlBAAAAAskdDA0ODYxNDk2OQkBAAAABmNvbW1vbgAAAAEFAAAABGRhcHAEAAAAB2FkZHJlc3MIBQAAAAskdDA0ODYxNDk2OQAAAAJfMQQAAAARc2V0dGxlZFByaWNlSW5kZXgIBQAAAAskdDA0ODYxNDk2OQAAAAJfMgQAAAAQb3JhY2xlUHJpY2VJbmRleAgFAAAACyR0MDQ4NjE0OTY5AAAAAl8zBAAAABFyZXF1ZXN0UHJpY2VJbmRleAgFAAAACyR0MDQ4NjE0OTY5AAAAAl80BAAAABZoYXNQcm9jZXNzYWJsZVJlcXVlc3RzCAUAAAALJHQwNDg2MTQ5NjkAAAACXzUDAwUAAAAWaGFzUHJvY2Vzc2FibGVSZXF1ZXN0cwYJAABnAAAAAgkAAGUAAAACBQAAABBvcmFjbGVQcmljZUluZGV4BQAAABFzZXR0bGVkUHJpY2VJbmRleAUAAAAPbWluUHJpY2VBZHZhbmNlBAAAAARyZXMxCQEAAAADaW52AAAAAQUAAAAHYWRkcmVzcwMJAAAAAAAAAgUAAAAEcmVzMQUAAAAEcmVzMQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAABOW09LXSBubyBhY3Rpb25zIHF1ZXVlIGFuZCBwcmljZSBxdWV1ZShvcmFjbGVQcmljZUluZGV4IC0gc2V0dGxlZFByaWNlSW5kZXgpID0gCQABpAAAAAEJAABlAAAAAgUAAAAQb3JhY2xlUHJpY2VJbmRleAUAAAARc2V0dGxlZFByaWNlSW5kZXgCAAAACiB0b28gc21hbGwAAAAAIrQDQw==", "chainId": 87, "height": 2669288, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3SH3KUiykeKWPR2BsSMEjNbMYENbMRNZgwE1rarL9YBK Next: DwxXKDAM311dFP9R14zWZYnhFX6VN1cLQq7m63Z13kjh Diff:
OldNewDifferences
120120 then {
121121 let res = inv(address)
122122 if ((res == res))
123- then {
124- let stateR = invoke(address, "state", nil, nil)
125- if ((stateR == stateR))
126- then {
127- let state = match stateR {
128- case s: String =>
129- s
130- case _ =>
131- throw("unexpected")
132- }
133- ((((((((((((basic + ", projectedBullCollateral = ") + toString(getIntegerValue(address, "bullCollateral"))) + ", projectedBearCollateral = ") + toString(getIntegerValue(address, "bearCollateral"))) + ", projectedBullCirculation = ") + toString(getIntegerValue(address, "bullCirculation"))) + ", projectedBearCirculation = ") + toString(getIntegerValue(address, "bearCirculation"))) + ", maxIssueBull = ") + toString(maxIssue(BULL))) + ", maxIssueBear = ") + toString(maxIssue(BEAR)))
134- }
135- else throw("Strict value is not equal to itself.")
136- }
123+ then ((((((((((((basic + ", projectedBullCollateral = ") + toString(getIntegerValue(address, "bullCollateral"))) + ", projectedBearCollateral = ") + toString(getIntegerValue(address, "bearCollateral"))) + ", projectedBullCirculation = ") + toString(getIntegerValue(address, "bullCirculation"))) + ", projectedBearCirculation = ") + toString(getIntegerValue(address, "bearCirculation"))) + ", maxIssueBull = ") + toString(maxIssue(BULL))) + ", maxIssueBear = ") + toString(maxIssue(BEAR)))
137124 else throw("Strict value is not equal to itself.")
138125 }
139126 else throw("Strict value is not equal to itself.")
144131
145132 @Callable(i)
146133 func settleAll (dapp,minPriceAdvance) = {
147- let $t050225130 = common(dapp)
148- let address = $t050225130._1
149- let settledPriceIndex = $t050225130._2
150- let oraclePriceIndex = $t050225130._3
151- let requestPriceIndex = $t050225130._4
152- let hasProcessableRequests = $t050225130._5
134+ let $t048614969 = common(dapp)
135+ let address = $t048614969._1
136+ let settledPriceIndex = $t048614969._2
137+ let oraclePriceIndex = $t048614969._3
138+ let requestPriceIndex = $t048614969._4
139+ let hasProcessableRequests = $t048614969._5
153140 if (if (hasProcessableRequests)
154141 then true
155142 else ((oraclePriceIndex - settledPriceIndex) >= minPriceAdvance))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let HEADK = "headPointer"
55
66 let REBIDXK = "lastSettlementPriceId"
77
88 let MAX = 9223372036854775807
99
1010 func inv (address) = {
1111 let a1 = invoke(address, "settle3", nil, nil)
1212 if ((a1 == a1))
1313 then {
1414 let a2 = invoke(address, "settle3", nil, nil)
1515 if ((a2 == a2))
1616 then {
1717 let a3 = invoke(address, "settle3", nil, nil)
1818 if ((a3 == a3))
1919 then {
2020 let a4 = invoke(address, "settle3", nil, nil)
2121 if ((a4 == a4))
2222 then {
2323 let a5 = invoke(address, "settle3", nil, nil)
2424 if ((a5 == a5))
2525 then {
2626 let a6 = invoke(address, "settle3", nil, nil)
2727 if ((a6 == a6))
2828 then 0
2929 else throw("Strict value is not equal to itself.")
3030 }
3131 else throw("Strict value is not equal to itself.")
3232 }
3333 else throw("Strict value is not equal to itself.")
3434 }
3535 else throw("Strict value is not equal to itself.")
3636 }
3737 else throw("Strict value is not equal to itself.")
3838 }
3939 else throw("Strict value is not equal to itself.")
4040 }
4141
4242
4343 func common (dapp) = {
4444 let address = valueOrErrorMessage(addressFromString(dapp), "pacewrapper: bad dapp address")
4545 let oraclev2 = valueOrErrorMessage(getString(address, "oraclev2"), "pacewrapper: no oraclev2 key")
4646 let oracle = valueOrErrorMessage(addressFromString(oraclev2), "pacewrapper: bad oracle address")
4747 let assetidv2 = valueOrErrorMessage(getString(address, "assetidv2"), "no assetidv2")
4848 let lastPriceIndexKey = ("%s%s__idxCurrent__" + assetidv2)
4949 let settledPriceIndex = valueOrErrorMessage(getInteger(address, REBIDXK), "no last rebalance price")
5050 let oraclePriceIndex = valueOrErrorMessage(getInteger(oracle, lastPriceIndexKey), ((("pacewrapper: bad oracle data at " + toString(oracle)) + ": no integer at ") + lastPriceIndexKey))
5151 let requestPriceIndex = {
5252 let headPointer = valueOrElse(getString(address, HEADK), "")
5353 if ((headPointer == ""))
5454 then MAX
5555 else {
5656 let data = split(getStringValue(address, headPointer), "|")
5757 let rpi = parseIntValue(data[3])
5858 rpi
5959 }
6060 }
6161 let hasProcessableRequests = (oraclePriceIndex >= requestPriceIndex)
6262 $Tuple5(address, settledPriceIndex, oraclePriceIndex, requestPriceIndex, hasProcessableRequests)
6363 }
6464
6565
6666 func advise (dapp) = {
6767 let $t018952052 = common(dapp)
6868 if (($t018952052 == $t018952052))
6969 then {
7070 let hasProcessableRequests = $t018952052._5
7171 let requestPriceIndex = $t018952052._4
7272 let oraclePriceIndex = $t018952052._3
7373 let settledPriceIndex = $t018952052._2
7474 let address = $t018952052._1
7575 let BULLK = "BULLId"
7676 let BEARK = "BEARId"
7777 let POOLUSDNK = "poolMainTokenValue"
7878 let POOLUPK = "poolUp"
7979 let POOLDWNK = "poolDwn"
8080 let BULLCOLK = "bullCollateral"
8181 let BEARCOLK = "bearCollateral"
8282 let BULLCIRCK = "bullCirculation"
8383 let BEARCIRCK = "bearCirculation"
8484 let BULL = getStringValue(address, BULLK)
8585 let BEAR = getStringValue(address, BEARK)
8686 let poolMain = getIntegerValue(address, POOLUSDNK)
8787 let poolUp = getIntegerValue(address, POOLUPK)
8888 let poolDwn = getIntegerValue(address, POOLDWNK)
8989 let bullCol = getIntegerValue(address, BULLCOLK)
9090 let bearCol = getIntegerValue(address, BEARCOLK)
9191 let bullCirc = getIntegerValue(address, BULLCIRCK)
9292 let bearCirc = getIntegerValue(address, BEARCIRCK)
9393 let poolBullExposure = fraction(bullCol, poolUp, bullCirc)
9494 let poolBearExposure = fraction(bearCol, poolDwn, bearCirc)
9595 let poolValue = ((poolMain + poolBullExposure) + poolBearExposure)
9696 func diffAbs (a1,a2) = {
9797 let diff = (a1 - a2)
9898 if ((diff > 0))
9999 then diff
100100 else (0 - diff)
101101 }
102102
103103 func userDiffAbs () = diffAbs((bullCol - poolBullExposure), (bearCol - poolBearExposure))
104104
105105 func maxIssue (tokenId) = {
106106 let poolInvestment = if ((poolUp > 0))
107107 then BULL
108108 else BEAR
109109 if ((tokenId != poolInvestment))
110110 then poolMain
111111 else (userDiffAbs() + poolValue)
112112 }
113113
114114 let basic = ((((((((((((((((("dapp = " + dapp) + ", currentBullCollateral = ") + toString(getIntegerValue(address, "bullCollateral"))) + ", currentBearCollateral = ") + toString(getIntegerValue(address, "bearCollateral"))) + ", currentBullCirculation = ") + toString(getIntegerValue(address, "bullCirculation"))) + ", currentBearCirculation = ") + toString(getIntegerValue(address, "bearCirculation"))) + ", settledPriceIndex = ") + toString(settledPriceIndex)) + ", oraclePriceIndex = ") + toString(oraclePriceIndex)) + ", requestPriceIndex = ") + toString(if ((requestPriceIndex == MAX))
115115 then -1
116116 else requestPriceIndex)) + ", hasProcessableRequests = ") + (if (hasProcessableRequests)
117117 then "true"
118118 else "false"))
119119 if ((basic == basic))
120120 then {
121121 let res = inv(address)
122122 if ((res == res))
123- then {
124- let stateR = invoke(address, "state", nil, nil)
125- if ((stateR == stateR))
126- then {
127- let state = match stateR {
128- case s: String =>
129- s
130- case _ =>
131- throw("unexpected")
132- }
133- ((((((((((((basic + ", projectedBullCollateral = ") + toString(getIntegerValue(address, "bullCollateral"))) + ", projectedBearCollateral = ") + toString(getIntegerValue(address, "bearCollateral"))) + ", projectedBullCirculation = ") + toString(getIntegerValue(address, "bullCirculation"))) + ", projectedBearCirculation = ") + toString(getIntegerValue(address, "bearCirculation"))) + ", maxIssueBull = ") + toString(maxIssue(BULL))) + ", maxIssueBear = ") + toString(maxIssue(BEAR)))
134- }
135- else throw("Strict value is not equal to itself.")
136- }
123+ then ((((((((((((basic + ", projectedBullCollateral = ") + toString(getIntegerValue(address, "bullCollateral"))) + ", projectedBearCollateral = ") + toString(getIntegerValue(address, "bearCollateral"))) + ", projectedBullCirculation = ") + toString(getIntegerValue(address, "bullCirculation"))) + ", projectedBearCirculation = ") + toString(getIntegerValue(address, "bearCirculation"))) + ", maxIssueBull = ") + toString(maxIssue(BULL))) + ", maxIssueBear = ") + toString(maxIssue(BEAR)))
137124 else throw("Strict value is not equal to itself.")
138125 }
139126 else throw("Strict value is not equal to itself.")
140127 }
141128 else throw("Strict value is not equal to itself.")
142129 }
143130
144131
145132 @Callable(i)
146133 func settleAll (dapp,minPriceAdvance) = {
147- let $t050225130 = common(dapp)
148- let address = $t050225130._1
149- let settledPriceIndex = $t050225130._2
150- let oraclePriceIndex = $t050225130._3
151- let requestPriceIndex = $t050225130._4
152- let hasProcessableRequests = $t050225130._5
134+ let $t048614969 = common(dapp)
135+ let address = $t048614969._1
136+ let settledPriceIndex = $t048614969._2
137+ let oraclePriceIndex = $t048614969._3
138+ let requestPriceIndex = $t048614969._4
139+ let hasProcessableRequests = $t048614969._5
153140 if (if (hasProcessableRequests)
154141 then true
155142 else ((oraclePriceIndex - settledPriceIndex) >= minPriceAdvance))
156143 then {
157144 let res1 = inv(address)
158145 if ((res1 == res1))
159146 then nil
160147 else throw("Strict value is not equal to itself.")
161148 }
162149 else throw((("[OK] no actions queue and price queue(oraclePriceIndex - settledPriceIndex) = " + toString((oraclePriceIndex - settledPriceIndex))) + " too small"))
163150 }
164151
165152

github/deemru/w8io/6500d08 
42.33 ms