2022.09.23 17:17 [3307312] smart account 3PDs3ewniAQCp4LfXPMEqb2xRECgtZu2AR5 > SELF 0.00000000 Waves

{ "type": 13, "id": "HtEYb2NGweXguKZPX92e1UwzpnVvt2oKFD4GK9CXSxs8", "fee": 700000, "feeAssetId": null, "timestamp": 1663942659070, "version": 2, "chainId": 87, "sender": "3PDs3ewniAQCp4LfXPMEqb2xRECgtZu2AR5", "senderPublicKey": "D2oFRSwLr9uimTCnnv7K7DUe1Ahtu17JDmRVCXR9kKV6", "proofs": [ "5TBRzEG56wXQBF3RY7FXmKYE5itisXKcr92aMYa3wM7mTD1FRECkuaJbh3ERgD2LCdEmaLvMhNp62pLGp38itec5" ], "script": "base64:BgIICAISBAoCCAgdAAtrZXlNQWNjUEtleQIJbWFzdGVyX3BrAA1rZXlCYWNrdXBQS2V5AgdiYWNrX3BrAAh3YXJzUEtleQIHd2Fyc19wawEGZ2V0U3RyAQNrZXkEByRtYXRjaDAJAJ0IAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYgUHJG1hdGNoMAUBYgIAAA5tQWNjUEtleVN0cmluZwkBBmdldFN0cgEFC2tleU1BY2NQS2V5ABBiYWNrdXBQS2V5U3RyaW5nCQEGZ2V0U3RyAQUNa2V5QmFja3VwUEtleQEMZ2V0QmFja3VwS2V5AAMJAAACBRBiYWNrdXBQS2V5U3RyaW5nAgAIBQR0aGlzBWJ5dGVzCQDZBAEFEGJhY2t1cFBLZXlTdHJpbmcACG1BY2NQS2V5CQDZBAEFDm1BY2NQS2V5U3RyaW5nAAhtQWNjQWRkcgkApwgBBQhtQWNjUEtleQAKZmVlUGVyY2VudAkBEUBleHRyTmF0aXZlKDEwNTApAgUIbUFjY0FkZHIJAKwCAgkArAICAgJmXwkApQgBBQR0aGlzAgRfZmVlAA5zdGFraW5nQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFCG1BY2NBZGRyCQCsAgIJAKwCAgICZl8JAKUIAQUEdGhpcwIOX3N0YWtlX2FkZHJlc3MJAKwCAgkArAICAgJmXwkApQgBBQR0aGlzAhpfc3Rha2VfYWRkcmVzcyBub3QgZGVmaW5lZAAId0FjY1BLZXkJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFCG1BY2NBZGRyBQh3YXJzUEtleQkArAICBQh3YXJzUEtleQIMIG5vdCBkZWZpbmVkAA9rVG90YWxMaXF1aWRpdHkCD3RvdGFsX2xpcXVpZGl0eQAMa0luaXRpYWxpemVkAgtJTklUSUFMSVpFRAATa0xpcXVpZGl0eVRocmVzaG9sZAITTElRVUlESVRZX1RIUkVTSE9MRAATa1RvdGFsRmFybWluZ1Jld2FyZAIUdG90YWxfZmFybWluZ19yZXdhcmQADWtTaGFyZUFzc2V0SWQCDlNIQVJFX0FTU0VUX0lEAA5rSW5jdWJhdG9yRGFwcAIOSU5DVUJBVE9SX0RBUFAADGtCcmVlZGVyRGFwcAIMQlJFRURFUl9EQVBQAAxrRmFybWluZ0RhcHACDEZBUk1JTkdfREFQUAAQa01hcmtldFByb3h5RGFwcAIWTUFSS0VUUExBQ0VfUFJPWFlfREFQUAAMa0F1Y3Rpb25EYXBwAgxBVUNUSU9OX0RBUFAAB2tMb2NrZWQCBkxPQ0tFRAAQa0Nlb0NvbGxlY3RlZEZlZQIRY2VvX2NvbGxlY3RlZF9mZWUAF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsAg9jZW9fZmVlX292ZXJhbGwAEmtMb2NrZWRJbnZlc3RtZW50cwISbG9ja2VkX2ludmVzdG1lbnRzABBrZXlUb3RhbENvbXBvdW5kAg50b3RhbF9jb21wb3VuZAAPa2V5R2xvYmFsU3Rha2VkAg1nbG9iYWxfc3Rha2VkAQdnZXRTdHJBAgFhAWsEByRtYXRjaDAJAJ0IAgUBYQUBawMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAEBaQEQY2FsbFVuc3Rha2VQcm94eQIIZnVuY3Rpb24DaWRzAwMJAQIhPQIFCGZ1bmN0aW9uAgp1bnN0YWtlTkZUCQECIT0CBQhmdW5jdGlvbgIOdW5zdGFrZUphY2twb3QHCQACAQIRQmFkIGZ1bmN0aW9uIG5hbWUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAiFDYW4gYmUgY2FsbGVkIG9ubHkgYnkgdGhlIGFjY291bnQEEmZhcm1pbmdEYXBwQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBB2dldFN0ckECBQhtQWNjQWRkcgIMRkFSTUlOR19EQVBQCgELdW5zdGFrZUR1Y2sCBWFjY3VtBW5mdElkBAZpbnZSZXMJAPwHBAUSZmFybWluZ0RhcHBBZGRyZXNzBQhmdW5jdGlvbgkAzAgCBQVuZnRJZAUDbmlsBQNuaWwDCQAAAgUGaW52UmVzBQZpbnZSZXMEBnJld2FyZAQHJG1hdGNoMAUGaW52UmVzAwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQJAAIBAhZFcnJvciBkdXJpbmcgdW5zdGFraW5nCQBkAgUFYWNjdW0FBnJld2FyZAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQGbmZ0SWRzCQC1CQIFA2lkcwIBOwQKZm9sZFJlc3VsdAoAAiRsBQZuZnRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBC3Vuc3Rha2VEdWNrAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBA1jbGFpbWVkUmV3YXJkBAckbWF0Y2gwBQpmb2xkUmVzdWx0AwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQJAAIBAgJfNgkAzAgCCQEMSW50ZWdlckVudHJ5AgIFREVCVUcFDWNsYWltZWRSZXdhcmQFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCG1BY2NQS2V5O0zG0Q==", "height": 3307312, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CJt3VxvYoMTRdMCgE3KqG1wTy8nKtwBAeMFo3R3XhM1h Next: none Diff:
OldNewDifferences
8686 func unstakeDuck (accum,nftId) = {
8787 let invRes = invoke(farmingDappAddress, function, [nftId], nil)
8888 if ((invRes == invRes))
89- then nil
89+ then {
90+ let reward = match invRes {
91+ case int: Int =>
92+ int
93+ case _ =>
94+ throw("Error during unstaking")
95+ }
96+ (accum + reward)
97+ }
9098 else throw("Strict value is not equal to itself.")
9199 }
92100
105113
106114 $f0_2($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)
107115 }
108- nil
116+ let claimedReward = match foldResult {
117+ case int: Int =>
118+ int
119+ case _ =>
120+ throw("_6")
121+ }
122+[IntegerEntry("DEBUG", claimedReward)]
109123 }
110124
111125
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyMAccPKey = "master_pk"
55
66 let keyBackupPKey = "back_pk"
77
88 let warsPKey = "wars_pk"
99
1010 func getStr (key) = match getString(this, key) {
1111 case b: String =>
1212 b
1313 case _ =>
1414 ""
1515 }
1616
1717
1818 let mAccPKeyString = getStr(keyMAccPKey)
1919
2020 let backupPKeyString = getStr(keyBackupPKey)
2121
2222 func getBackupKey () = if ((backupPKeyString == ""))
2323 then this.bytes
2424 else fromBase58String(backupPKeyString)
2525
2626
2727 let mAccPKey = fromBase58String(mAccPKeyString)
2828
2929 let mAccAddr = addressFromPublicKey(mAccPKey)
3030
3131 let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
3232
3333 let stakingAddress = addressFromStringValue(valueOrErrorMessage(getString(mAccAddr, (("f_" + toString(this)) + "_stake_address")), (("f_" + toString(this)) + "_stake_address not defined")))
3434
3535 let wAccPKey = fromBase58String(valueOrErrorMessage(getString(mAccAddr, warsPKey), (warsPKey + " not defined")))
3636
3737 let kTotalLiquidity = "total_liquidity"
3838
3939 let kInitialized = "INITIALIZED"
4040
4141 let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
4242
4343 let kTotalFarmingReward = "total_farming_reward"
4444
4545 let kShareAssetId = "SHARE_ASSET_ID"
4646
4747 let kIncubatorDapp = "INCUBATOR_DAPP"
4848
4949 let kBreederDapp = "BREEDER_DAPP"
5050
5151 let kFarmingDapp = "FARMING_DAPP"
5252
5353 let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
5454
5555 let kAuctionDapp = "AUCTION_DAPP"
5656
5757 let kLocked = "LOCKED"
5858
5959 let kCeoCollectedFee = "ceo_collected_fee"
6060
6161 let kCeoCollectedFeeOverall = "ceo_fee_overall"
6262
6363 let kLockedInvestments = "locked_investments"
6464
6565 let keyTotalCompound = "total_compound"
6666
6767 let keyGlobalStaked = "global_staked"
6868
6969 func getStrA (a,k) = match getString(a, k) {
7070 case b: String =>
7171 b
7272 case _ =>
7373 ""
7474 }
7575
7676
7777 @Callable(i)
7878 func callUnstakeProxy (function,ids) = if (if ((function != "unstakeNFT"))
7979 then (function != "unstakeJackpot")
8080 else false)
8181 then throw("Bad function name")
8282 else if ((i.caller != this))
8383 then throw("Can be called only by the account")
8484 else {
8585 let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
8686 func unstakeDuck (accum,nftId) = {
8787 let invRes = invoke(farmingDappAddress, function, [nftId], nil)
8888 if ((invRes == invRes))
89- then nil
89+ then {
90+ let reward = match invRes {
91+ case int: Int =>
92+ int
93+ case _ =>
94+ throw("Error during unstaking")
95+ }
96+ (accum + reward)
97+ }
9098 else throw("Strict value is not equal to itself.")
9199 }
92100
93101 let nftIds = split(ids, ";")
94102 let foldResult = {
95103 let $l = nftIds
96104 let $s = size($l)
97105 let $acc0 = 0
98106 func $f0_1 ($a,$i) = if (($i >= $s))
99107 then $a
100108 else unstakeDuck($a, $l[$i])
101109
102110 func $f0_2 ($a,$i) = if (($i >= $s))
103111 then $a
104112 else throw("List size exceeds 10")
105113
106114 $f0_2($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)
107115 }
108- nil
116+ let claimedReward = match foldResult {
117+ case int: Int =>
118+ int
119+ case _ =>
120+ throw("_6")
121+ }
122+[IntegerEntry("DEBUG", claimedReward)]
109123 }
110124
111125
112126 @Verifier(tx)
113127 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
114128

github/deemru/w8io/786bc32 
44.86 ms