tx · GeNp1RA83MrthdDvRkyR3yje7Fuwq8dXZdPkNWEdK3MH

3P8v4dR4UD8nGeLQmorw6BmCo424GvGBXCA:  -0.01400000 Waves

2021.01.06 04:42 [2404693] smart account 3P8v4dR4UD8nGeLQmorw6BmCo424GvGBXCA > SELF 0.00000000 Waves

{ "type": 13, "id": "GeNp1RA83MrthdDvRkyR3yje7Fuwq8dXZdPkNWEdK3MH", "fee": 1400000, "feeAssetId": null, "timestamp": 1609897412911, "version": 1, "sender": "3P8v4dR4UD8nGeLQmorw6BmCo424GvGBXCA", "senderPublicKey": "5gGSWjBNTQGAMZViHK3qbn35JUNmbzqboicpdMuweapK", "proofs": [ "4raui8ViKxkuP9yX4Pe6MFywo9VKKPfnWLVh8Rnq2ALpoNb5EJDxQEXQz7HCVmDX6fec8UyHBox3eVYWdRv2UUL9" ], "script": "base64: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b250YWluc0VsZW1lbnQAAAACBQAAAAlwb3J0Zm9saW8ICAUAAAABbwAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAJcG9ydGZvbGlvCAgFAAAAAW8AAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0BwcJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAACW91ckFzc2V0cwgIBQAAAAFvAAAACWFzc2V0UGFpcgAAAApwcmljZUFzc2V0BwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAJb3VyQXNzZXRzCAgFAAAAAW8AAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0BwMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwAwMDBQAAAAxpc1ZhbGlkQWRtaW4FAAAAEWlzVmFsaWRHdWFyYW50b3JzBwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAJcG9ydGZvbGlvCAUAAAABdAAAAAdhc3NldElkBwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAJcG9ydGZvbGlvCAUAAAABdAAAAApmZWVBc3NldElkBwMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24FAAAADGlzVmFsaWRBZG1pbgcIvAyu", "chainId": 87, "height": 2404693, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H2EgWAPxMQL6gX1dq7xm8u5pvCu8nzUpx1FRT3tMtd8v Next: B2vm9MnZMrNDUDwtRHbCfXJ9YvP29KSE6frtSEeHjEoF Diff:
OldNewDifferences
2525
2626 let minSignatures = ((actualSize / 2) + (actualSize % 2))
2727
28+let usdtAsset = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
29+
30+let usdcAsset = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
31+
2832 let fhfsAsset = base58'4wcCKU3Cu4ABpmfiwzufocvrQQuRX4QMHZ7TjpRwtAmn'
2933
3034 let ratsAsset = base58'Z7817F7hnbWYsVHykjPtn8sUjyuLLf8NPofdveb8CMD'
4751
4852 let frats = Address(base58'3PJ7RB5CC3Bnn44RNR2hceZ6wKsULnMSxPi')
4953
50-let fhfsCash = (assetBalance(fmain, fhfsAsset) + assetBalance(fcold, fhfsAsset))
54+let fhfsTotal = (assetBalance(fmain, fhfsAsset) + assetBalance(fcold, fhfsAsset))
5155
52-let fhfsFunds = (value(assetInfo(fhfsAsset)).quantity - fhfsCash)
56+let fhfsFunds = (value(assetInfo(fhfsAsset)).quantity - fhfsTotal)
5357
54-let ratsCash = (assetBalance(frats, ratsAsset) + assetBalance(fcold, ratsAsset))
58+let ratsTotal = (assetBalance(frats, ratsAsset) + assetBalance(fcold, ratsAsset))
5559
56-let ratsFunds = (value(assetInfo(ratsAsset)).quantity - ratsCash)
60+let ratsFunds = (value(assetInfo(ratsAsset)).quantity - ratsTotal)
5761
58-let usdxFunds = (assetBalance(frats, portfolio[0]) + assetBalance(frats, portfolio[1]))
62+let usdxFunds = (assetBalance(frats, usdtAsset) + assetBalance(frats, usdcAsset))
5963
6064 func fractionRound (val,num,den) = ((fraction((2 * val), num, den) + 1) / 2)
6165
100104 let oldProfit = getIntegerValue(this, "fixedProfit")
101105 let minMult = ((oldProfit / usdtOrder) + 1)
102106 if ((minMult > newMult))
103- then throw(("Minimum multiplier: " + toString(minMult)))
107+ then throw(("Inavlid value! Minimum multiplier: " + toString(minMult)))
104108 else if ((size(i.payments) > 0))
105109 then throw("Don't attach payment when calling this function ...")
106110 else if (if ((i.callerPublicKey != adminPublicKey))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ScriptVersion = "2.0.2-test_20210106"
55
66 let percent = 10000
77
88 let usdMult = 1000000
99
1010 let decMult = 100000000
1111
1212 let fhfsPrice = (100 * usdMult)
1313
1414 let fmainPercent = (30 * (percent / 100))
1515
1616 let adminPublicKey = base58'JDYJq5RKnSXKLYUQfL89zWPdM3QH5hW8JUTpjnTYV95k'
1717
1818 let robotPublicKey = base58'JDYJq5RKnSXKLYUQfL89zWPdM3QH5hW8JUTpjnTYV95k'
1919
2020 let wexchPublicKey = base58'9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5'
2121
2222 let guarantors = ([valueOrElse(getBinary(this, "guarantor1"), base58''), valueOrElse(getBinary(this, "guarantor2"), base58''), valueOrElse(getBinary(this, "guarantor3"), base58'')] :+ base58'')
2323
2424 let actualSize = value(indexOf(guarantors, base58''))
2525
2626 let minSignatures = ((actualSize / 2) + (actualSize % 2))
2727
28+let usdtAsset = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
29+
30+let usdcAsset = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
31+
2832 let fhfsAsset = base58'4wcCKU3Cu4ABpmfiwzufocvrQQuRX4QMHZ7TjpRwtAmn'
2933
3034 let ratsAsset = base58'Z7817F7hnbWYsVHykjPtn8sUjyuLLf8NPofdveb8CMD'
3135
3236 let xfeeAsset = base58'5EMfVQiB8NF4HuhaXrZzDM637whWuVBsduq59ZaCSNqk'
3337
3438 let portfolio = [base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ', base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu', base58'zMFqXuoyrn5w17PFurTqxB7GsS71fp9dfk6XFwxbPCy', base58'HZk1mbfuJpmxU1Fs4AX5MWLVYtctsNcg6e2C6VKqK8zk', base58'B3uGHFRpSUuGEDWjqB9LWWxafQj8VTvpMucEyoxzws5H', base58'5WvPKSJXzVE2orvbkJ8wsQmmQKqTv9sGBPksV4adViw3', base58'BrjUWjndUanm5VsJkbUip8VRYy6LWJePtxya3FNv4TQa']
3539
3640 let ourAssets = [fhfsAsset, xfeeAsset, ratsAsset]
3741
3842 let btcMult = 2
3943
4044 let altMult = (btcMult * (size(portfolio) - 1))
4145
4246 let admin = Address(base58'3PLRw83NCgHKKFfeJi8XWZ4fypqJJxm2x2x')
4347
4448 let fmain = Address(base58'3PEPsNg7aSWSSgdC6XweyJkvDXmwVoWeNHL')
4549
4650 let fcold = Address(base58'3P8v4dR4UD8nGeLQmorw6BmCo424GvGBXCA')
4751
4852 let frats = Address(base58'3PJ7RB5CC3Bnn44RNR2hceZ6wKsULnMSxPi')
4953
50-let fhfsCash = (assetBalance(fmain, fhfsAsset) + assetBalance(fcold, fhfsAsset))
54+let fhfsTotal = (assetBalance(fmain, fhfsAsset) + assetBalance(fcold, fhfsAsset))
5155
52-let fhfsFunds = (value(assetInfo(fhfsAsset)).quantity - fhfsCash)
56+let fhfsFunds = (value(assetInfo(fhfsAsset)).quantity - fhfsTotal)
5357
54-let ratsCash = (assetBalance(frats, ratsAsset) + assetBalance(fcold, ratsAsset))
58+let ratsTotal = (assetBalance(frats, ratsAsset) + assetBalance(fcold, ratsAsset))
5559
56-let ratsFunds = (value(assetInfo(ratsAsset)).quantity - ratsCash)
60+let ratsFunds = (value(assetInfo(ratsAsset)).quantity - ratsTotal)
5761
58-let usdxFunds = (assetBalance(frats, portfolio[0]) + assetBalance(frats, portfolio[1]))
62+let usdxFunds = (assetBalance(frats, usdtAsset) + assetBalance(frats, usdcAsset))
5963
6064 func fractionRound (val,num,den) = ((fraction((2 * val), num, den) + 1) / 2)
6165
6266
6367 func valueOrMinimum (intValue,minValue) = if ((minValue > intValue))
6468 then minValue
6569 else intValue
6670
6771
6872 func valueOrMaximum (intValue,maxValue) = if ((intValue > maxValue))
6973 then maxValue
7074 else intValue
7175
7276
7377 func toFloatString (num,dec) = if ((0 > num))
7478 then throw("Negative values are not allowed!")
7579 else if ((num > 0))
7680 then toUtf8String(((toBytes(toString((num / dec))) + base58'o') + drop(toBytes(toString(((num % dec) + dec))), 1)))
7781 else "0"
7882
7983
8084 func excessAmount (assetId) = {
8185 let fmainFunds = assetBalance(fmain, assetId)
8286 let totalFunds = (fmainFunds + assetBalance(fcold, assetId))
8387 let fmainSupply = fraction(totalFunds, fmainPercent, percent)
8488 valueOrMinimum((fmainSupply - fmainFunds), 0)
8589 }
8690
8791
8892 func airdropBalance (assetId) = if (containsElement((portfolio ++ ourAssets), assetId))
8993 then throw(("Please delete the asset: " + toBase58String(assetId)))
9094 else if ((assetId == base58''))
9195 then 0
9296 else assetBalance(this, assetId)
9397
9498
9599 @Callable(i)
96100 func AutoFixProfit (newMult) = {
97101 let spread = getIntegerValue(this, "halfSpread")
98102 let usdtFunds = fraction(fhfsFunds, fhfsPrice, decMult)
99103 let usdtOrder = fraction(usdtFunds, spread, (altMult * percent))
100104 let oldProfit = getIntegerValue(this, "fixedProfit")
101105 let minMult = ((oldProfit / usdtOrder) + 1)
102106 if ((minMult > newMult))
103- then throw(("Minimum multiplier: " + toString(minMult)))
107+ then throw(("Inavlid value! Minimum multiplier: " + toString(minMult)))
104108 else if ((size(i.payments) > 0))
105109 then throw("Don't attach payment when calling this function ...")
106110 else if (if ((i.callerPublicKey != adminPublicKey))
107111 then (i.callerPublicKey != robotPublicKey)
108112 else false)
109113 then throw("This action can only be performed by an administrator!")
110114 else {
111115 let newProfit = (newMult * usdtOrder)
112116 let usdtAmount = (newProfit - oldProfit)
113117 let ratsAmount = fractionRound(usdtAmount, ratsFunds, usdxFunds)
114118 throw(makeString(["newProfit:", (toFloatString(newProfit, usdMult) + ";"), "usdtAmount:", (toFloatString(usdtAmount, usdMult) + ";"), "ratsAmount:", toFloatString(ratsAmount, usdMult)], " "))
115119 }
116120 }
117121
118122
119123
120124 @Callable(i)
121125 func AutoRebalance () = if ((size(i.payments) > 0))
122126 then throw("Don't attach payment when calling this function ...")
123127 else if (if ((i.callerPublicKey != adminPublicKey))
124128 then (i.callerPublicKey != robotPublicKey)
125129 else false)
126130 then throw("This action can only be performed by an administrator!")
127131 else {
128132 let fhfsExcessAmount = valueOrMinimum((getIntegerValue(fmain, "fhfsSupply") - assetBalance(fmain, fhfsAsset)), 0)
129133 [ScriptTransfer(fmain, fhfsExcessAmount, fhfsAsset), ScriptTransfer(fmain, excessAmount(portfolio[0]), portfolio[0]), ScriptTransfer(fmain, excessAmount(portfolio[1]), portfolio[1]), ScriptTransfer(fmain, excessAmount(portfolio[2]), portfolio[2]), ScriptTransfer(fmain, excessAmount(portfolio[3]), portfolio[3]), ScriptTransfer(fmain, excessAmount(portfolio[4]), portfolio[4]), ScriptTransfer(fmain, excessAmount(portfolio[5]), portfolio[5]), ScriptTransfer(fmain, excessAmount(portfolio[6]), portfolio[6]), ScriptTransfer(fmain, excessAmount(portfolio[7]), portfolio[7])]
130134 }
131135
132136
133137
134138 @Callable(i)
135139 func AirdropWasher (id0,id1,id2,id3,id4,id5,id6,id7,id8,id9) = if ((size(i.payments) > 0))
136140 then throw("Don't attach payment when calling this function ...")
137141 else if ((i.callerPublicKey != adminPublicKey))
138142 then throw("This action can only be performed by an administrator!")
139143 else [ScriptTransfer(admin, airdropBalance(id0), id0), ScriptTransfer(admin, airdropBalance(id1), id1), ScriptTransfer(admin, airdropBalance(id2), id2), ScriptTransfer(admin, airdropBalance(id3), id3), ScriptTransfer(admin, airdropBalance(id4), id4), ScriptTransfer(admin, airdropBalance(id5), id5), ScriptTransfer(admin, airdropBalance(id6), id6), ScriptTransfer(admin, airdropBalance(id7), id7), ScriptTransfer(admin, airdropBalance(id8), id8), ScriptTransfer(admin, airdropBalance(id9), id9)]
140144
141145
142146 @Verifier(tx)
143147 func verify () = {
144148 let isValidGuarantors = ((((if (sigVerify_32Kb(tx.bodyBytes, tx.proofs[1], guarantors[0]))
145149 then 1
146150 else 0) + (if (sigVerify_32Kb(tx.bodyBytes, tx.proofs[2], guarantors[1]))
147151 then 1
148152 else 0)) + (if (sigVerify_32Kb(tx.bodyBytes, tx.proofs[3], guarantors[2]))
149153 then 1
150154 else 0)) >= minSignatures)
151155 let isValidOwner = sigVerify_32Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
152156 let isValidAdmin = if (isValidOwner)
153157 then true
154158 else sigVerify_32Kb(tx.bodyBytes, tx.proofs[0], adminPublicKey)
155159 let isValidRobot = if (isValidOwner)
156160 then true
157161 else sigVerify_32Kb(tx.bodyBytes, tx.proofs[0], robotPublicKey)
158162 match tx {
159163 case b: BurnTransaction =>
160164 if (if (isValidOwner)
161165 then !(containsElement(portfolio, b.assetId))
162166 else false)
163167 then !(containsElement(ourAssets, b.assetId))
164168 else false
165169 case l: LeaseCancelTransaction|LeaseTransaction =>
166170 isValidOwner
167171 case o: Order =>
168172 if (if (if (if (if (isValidRobot)
169173 then !(isDefined(o.matcherFeeAssetId))
170174 else false)
171175 then (o.matcherPublicKey == wexchPublicKey)
172176 else false)
173177 then if (if (if ((o.orderType == Buy))
174178 then !(containsElement(portfolio, o.assetPair.priceAsset))
175179 else false)
176180 then true
177181 else if ((o.orderType == Sell))
178182 then !(containsElement(portfolio, o.assetPair.amountAsset))
179183 else false)
180184 then true
181185 else if (!(containsElement(portfolio, o.assetPair.priceAsset)))
182186 then !(containsElement(portfolio, o.assetPair.amountAsset))
183187 else false
184188 else false)
185189 then !(containsElement(ourAssets, o.assetPair.priceAsset))
186190 else false)
187191 then !(containsElement(ourAssets, o.assetPair.amountAsset))
188192 else false
189193 case t: MassTransferTransaction|TransferTransaction =>
190194 if (if (if (isValidAdmin)
191195 then isValidGuarantors
192196 else false)
193197 then !(containsElement(portfolio, t.assetId))
194198 else false)
195199 then !(containsElement(portfolio, t.feeAssetId))
196200 else false
197201 case _: SetScriptTransaction|DataTransaction =>
198202 isValidAdmin
199203 case _ =>
200204 false
201205 }
202206 }
203207

github/deemru/w8io/3ef1775 
51.03 ms