tx · 5u3iLvm278boZ54HKRdUheQzssHJYj8p8mEqmd6cCRDg

3PLUS2LnNbseGKcsQ68UVNSf1WxomDwpTAD:  -0.01000000 Waves

2023.01.07 21:56 [3460424] smart account 3PLUS2LnNbseGKcsQ68UVNSf1WxomDwpTAD > SELF 0.00000000 Waves

{ "type": 13, "id": "5u3iLvm278boZ54HKRdUheQzssHJYj8p8mEqmd6cCRDg", "fee": 1000000, "feeAssetId": null, "timestamp": 1673117793623, "version": 2, "chainId": 87, "sender": "3PLUS2LnNbseGKcsQ68UVNSf1WxomDwpTAD", "senderPublicKey": "9Qqr9p7WJJ3AXftyViHnjYj2bsqaJHufSgGPnWMegxP2", "proofs": [ "5fiZzYeR4qoKJbmB1E2DhSMH44rbrNjX1EvmUZuQDXAT7ZSsWP2Aco8fUuzwn2N6TXkgd4746q4Acs8iBoeg819P" ], "script": "base64:BgIICAISABIAEgAYAAtiZW5lZmljaWFyeQkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1A2NHFFVnp1R3pCSnVZZkRYWWlzRnRva0pDaFNSYTh1amEAC2tvbGtob3pEYXBwCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEUyZmVZOENwQnRXQlJQeHRMUzdkdDNZSmtTdDRLbWU2VQANZHV4cGxvcmVyRGFwcAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BKczRwb0JXQU1GVU0xVm43VDg3bXZOb1pydHM0ZXNRYnQACm1hcnZpbkRhcHAJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQNXpmZ1h0Y2pKeHlNWnZlczJzZlNxR29hYmh6YU11UHBaAAtmYXJtaW5nRGFwcAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BBRVRUdHVXN2FTaXlLdG45R3VNTDNSZ3RWMXhkcTFtUVcAFWtleUdsb2JhbExhc3RJbnRlcmVzdAIZZ2xvYmFsX2xhc3RDaGVja19pbnRlcmVzdAAFTVVMVDgAgMLXLwAFTVVMVDYAwIQ9AAVNVUxUNACQTgAKa2V5TXlEdWNrcwIOZHVja3NPbkZhcm1pbmcACG1BY2NBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUERrdHN4RFZFY29vYnBFQkpjYXVzbktvNGVuaGNXVURFRgENdHJ5R2V0SW50ZWdlcgIHYWRkcmVzcwNrZXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUHYWRkcmVzcwUDa2V5AAABFGtleUxhc3RDaGVja0ludGVyZXN0AQdhZGRyZXNzCQCsAgIJAKUIAQUHYWRkcmVzcwITX2xhc3RDaGVja19pbnRlcmVzdAEPa2V5U3Rha2VkQW1vdW50AQdhZGRyZXNzCQCsAgIJAKUIAQUHYWRkcmVzcwIMX2Zhcm1fc3Rha2VkAQhnZXRFZ2dJZAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUIbUFjY0FkZHICDEVHR19BU1NFVF9JRAESY2xhaW1TdGFraW5nUmVzdWx0AgRkQXBwB2FkZHJlc3MED2N1cnJlbnRJbnRlcmVzdAkBDXRyeUdldEludGVnZXICBQRkQXBwBRVrZXlHbG9iYWxMYXN0SW50ZXJlc3QEEWxhc3RDaGVja0ludGVyZXN0CQENdHJ5R2V0SW50ZWdlcgIFBGRBcHAJARRrZXlMYXN0Q2hlY2tJbnRlcmVzdAEFB2FkZHJlc3MEDHN0YWtlZEFtb3VudAkBDXRyeUdldEludGVnZXICBQRkQXBwCQEPa2V5U3Rha2VkQW1vdW50AQUHYWRkcmVzcwMJAGYCBRFsYXN0Q2hlY2tJbnRlcmVzdAAACQBrAwkAZQIFD2N1cnJlbnRJbnRlcmVzdAURbGFzdENoZWNrSW50ZXJlc3QFDHN0YWtlZEFtb3VudAUFTVVMVDgAAAECY2YBBGRBcHAEBnJld2FyZAkBEmNsYWltU3Rha2luZ1Jlc3VsdAIFBGRBcHAFBHRoaXMDCQBmAgUGcmV3YXJkAIDaxAkEAWsJAPwHBAUEZEFwcAILY2xhaW1SZXdhcmQFA25pbAUDbmlsAwkAAAIFAWsFAWsFBnJld2FyZAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAR1nZXRMYXN0S25vd25Bc3NldEZhcm1pbmdQb3dlcgIHYWRkcmVzcwdhc3NldElkCQENdHJ5R2V0SW50ZWdlcgIFC2Zhcm1pbmdEYXBwCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAgdfYXNzZXRfBQdhc3NldElkAg1fZmFybWluZ1Bvd2VyARFnZXRSZXdhcmRQZXJCbG9jawAApAQBDGNhbGNJbnRlcmVzdAMQcHJldmlvdXNJbnRlcmVzdBZwcmV2aW91c0ludGVyZXN0SGVpZ2h0EXRvdGFsRmFybWluZ1Bvd2VyCQBkAgUQcHJldmlvdXNJbnRlcmVzdAkAaQIJAGgCCQBoAgUFTVVMVDQJARFnZXRSZXdhcmRQZXJCbG9jawAJAGUCBQZoZWlnaHQFFnByZXZpb3VzSW50ZXJlc3RIZWlnaHQFEXRvdGFsRmFybWluZ1Bvd2VyARJnZXRDdXJyZW50SW50ZXJlc3QAAwkAZgIJAQ10cnlHZXRJbnRlZ2VyAgULZmFybWluZ0RhcHACEnRvdGFsX2Zhcm1pbmdQb3dlcgAABBBwcmV2aW91c0ludGVyZXN0CQENdHJ5R2V0SW50ZWdlcgIFC2Zhcm1pbmdEYXBwAhd0b3RhbF9sYXN0Q2hlY2tJbnRlcmVzdAQWcHJldmlvdXNJbnRlcmVzdEhlaWdodAkBDXRyeUdldEludGVnZXICBQtmYXJtaW5nRGFwcAIddG90YWxfbGFzdENoZWNrSW50ZXJlc3RIZWlnaHQEEXRvdGFsRmFybWluZ1Bvd2VyCQENdHJ5R2V0SW50ZWdlcgIFC2Zhcm1pbmdEYXBwAhJ0b3RhbF9mYXJtaW5nUG93ZXIJAQxjYWxjSW50ZXJlc3QDBRBwcmV2aW91c0ludGVyZXN0BRZwcmV2aW91c0ludGVyZXN0SGVpZ2h0BRF0b3RhbEZhcm1pbmdQb3dlcgMJAQIhPQIJAQ10cnlHZXRJbnRlZ2VyAgULZmFybWluZ0RhcHACEXRvdGFsX3N0YXJ0SGVpZ2h0AAAJAQ10cnlHZXRJbnRlZ2VyAgULZmFybWluZ0RhcHACF3RvdGFsX2xhc3RDaGVja0ludGVyZXN0CQACAQIcZmFybWluZyBpcyBub3QgbGF1bmNoZWQsIHlldAEUY2FsY0Fzc2V0UmV3YXJkRGVsdGEDB2FkZHJlc3MHYXNzZXRJZBFhc3NldEZhcm1pbmdQb3dlcgQWbGFzdENoZWNrQXNzZXRJbnRlcmVzdAkBDXRyeUdldEludGVnZXICBQtmYXJtaW5nRGFwcAkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIHX2Fzc2V0XwUHYXNzZXRJZAISX2xhc3RDaGVja0ludGVyZXN0BA9jdXJyZW50SW50ZXJlc3QJARJnZXRDdXJyZW50SW50ZXJlc3QACQBoAgURYXNzZXRGYXJtaW5nUG93ZXIJAGUCBQ9jdXJyZW50SW50ZXJlc3QFFmxhc3RDaGVja0Fzc2V0SW50ZXJlc3QBEmNsYWltRmFybWluZ1Jlc3VsdAEFYXNzZXQEBm15QWRkcgkApQgBBQR0aGlzBBFhc3NldEZhcm1pbmdQb3dlcgkBHWdldExhc3RLbm93bkFzc2V0RmFybWluZ1Bvd2VyAgUGbXlBZGRyBQVhc3NldAQQYXNzZXRSZXdhcmREZWx0YQkBFGNhbGNBc3NldFJld2FyZERlbHRhAwUGbXlBZGRyBQVhc3NldAURYXNzZXRGYXJtaW5nUG93ZXIEDGZhcm1lZEFtb3VudAkAZAIFEGFzc2V0UmV3YXJkRGVsdGEJAQ10cnlHZXRJbnRlZ2VyAgULZmFybWluZ0RhcHAJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FBm15QWRkcgIHX2Fzc2V0XwUFYXNzZXQCFl9sYXN0Q2hlY2tGYXJtZWRBbW91bnQED3dpdGhkcmF3bkFtb3VudAkBDXRyeUdldEludGVnZXICBQtmYXJtaW5nRGFwcAkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUGbXlBZGRyAgdfYXNzZXRfBQVhc3NldAIQX3dpdGhkcmF3bkFtb3VudAkAaQIJAGUCBQxmYXJtZWRBbW91bnQFD3dpdGhkcmF3bkFtb3VudAUFTVVMVDYBFGNvbW1vbkZhcm1pbmdSZXdhcmRzAQRwYXJ0BAlkdWNrc0xpc3QJAL0JAgUEcGFydAIBXwoBB2NsYWltZXICA2FjYwRlbGVtBAZyZXdhcmQJARJjbGFpbUZhcm1pbmdSZXN1bHQBBQRlbGVtBAFyAwkAZgIFBnJld2FyZAAUBAFrCQD8BwQFC2Zhcm1pbmdEYXBwAgtjbGFpbVJld2FyZAkAzAgCBQRlbGVtBQNuaWwFA25pbAMJAAACBQFrBQFrCQBoAgUGcmV3YXJkBQVNVUxUNgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAACQBkAgUDYWNjBQFyBAt0b3RhbFJld2FyZAoAAiRsBQlkdWNrc0xpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB2NsYWltZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDQ0CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAQIdHJhbnNmZXIDCQBmAgULdG90YWxSZXdhcmQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtiZW5lZmljaWFyeQULdG90YWxSZXdhcmQJAQhnZXRFZ2dJZAAFA25pbAkAAgECIkZhcm1pbmcgcmV3YXJkIGlzIHRvbyBsb3cgdG8gY2xhaW0JAJQKAgUIdHJhbnNmZXIFC3RvdGFsUmV3YXJkAwFpAQxnZXRDRnJld2FyZHMABAt0b3RhbFJld2FyZAkAZAIJAGQCCQECY2YBBQtrb2xraG96RGFwcAkBAmNmAQUNZHV4cGxvcmVyRGFwcAkBAmNmAQUKbWFydmluRGFwcAQIdHJhbnNmZXIDCQBmAgULdG90YWxSZXdhcmQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtiZW5lZmljaWFyeQULdG90YWxSZXdhcmQJAQhnZXRFZ2dJZAAFA25pbAkAAgECGlJld2FyZCBpcyB0b28gbG93IHRvIGNsYWltCQCUCgIFCHRyYW5zZmVyBQt0b3RhbFJld2FyZAFpAQ9mYXJtaW5nUmV3YXJkczAAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIrU2hvdWxkIGJlIGludm9rZWQgZnJvbSBkdWNrIGFjY291bnQgYWRkcmVzcwQMZHVja3NMaXN0U3RyCQEFdmFsdWUBCQCiCAEFCmtleU15RHVja3MEBXBhcnRzCQC9CQIFDGR1Y2tzTGlzdFN0cgIuXzlNRzZmN21ZVUZtOVZ5RmJNa0YxZkhoTkV0MVd5a3Z5b1dFZzNacFlDd21jXwkBFGNvbW1vbkZhcm1pbmdSZXdhcmRzAQkAkQMCBQVwYXJ0cwAAAWkBD2Zhcm1pbmdSZXdhcmRzMQADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAitTaG91bGQgYmUgaW52b2tlZCBmcm9tIGR1Y2sgYWNjb3VudCBhZGRyZXNzBAxkdWNrc0xpc3RTdHIJAQV2YWx1ZQEJAKIIAQUKa2V5TXlEdWNrcwQFcGFydHMJAL0JAgUMZHVja3NMaXN0U3RyAi5fOXM4cHltNGNLbkxqTDNadllVWHJYMUQ2aW82dW9tSmMxRjVDNlNvRE1maHhfCQEUY29tbW9uRmFybWluZ1Jld2FyZHMBCQCRAwIFBXBhcnRzAAEAJhDP2w==", "height": 3460424, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8UTeJPycGucHmmXfqGNjLQ46dFHn8JGnSnQKxPKEcLEw Next: 8j9oFvUVX219Qm4HAJE8ssEM5ipS8JURr9GSV7k8xe7r Diff:
OldNewDifferences
6161 func getLastKnownAssetFarmingPower (address,assetId) = tryGetInteger(farmingDapp, (((("address_" + address) + "_asset_") + assetId) + "_farmingPower"))
6262
6363
64-func getRewardPerBlock () = 684
64+func getRewardPerBlock () = 548
6565
6666
6767 func calcInterest (previousInterest,previousInterestHeight,totalFarmingPower) = (previousInterest + (((MULT4 * getRewardPerBlock()) * (height - previousInterestHeight)) / totalFarmingPower))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let beneficiary = addressFromStringValue("3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja")
55
66 let kolkhozDapp = addressFromStringValue("3PE2feY8CpBtWBRPxtLS7dt3YJkSt4Kme6U")
77
88 let duxplorerDapp = addressFromStringValue("3PJs4poBWAMFUM1Vn7T87mvNoZrts4esQbt")
99
1010 let marvinDapp = addressFromStringValue("3P5zfgXtcjJxyMZves2sfSqGoabhzaMuPpZ")
1111
1212 let farmingDapp = addressFromStringValue("3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW")
1313
1414 let keyGlobalLastInterest = "global_lastCheck_interest"
1515
1616 let MULT8 = 100000000
1717
1818 let MULT6 = 1000000
1919
2020 let MULT4 = 10000
2121
2222 let keyMyDucks = "ducksOnFarming"
2323
2424 let mAccAddr = addressFromStringValue("3PDktsxDVEcoobpEBJcausnKo4enhcWUDEF")
2525
2626 func tryGetInteger (address,key) = valueOrElse(getInteger(address, key), 0)
2727
2828
2929 func keyLastCheckInterest (address) = (toString(address) + "_lastCheck_interest")
3030
3131
3232 func keyStakedAmount (address) = (toString(address) + "_farm_staked")
3333
3434
3535 func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
3636
3737
3838 func claimStakingResult (dApp,address) = {
3939 let currentInterest = tryGetInteger(dApp, keyGlobalLastInterest)
4040 let lastCheckInterest = tryGetInteger(dApp, keyLastCheckInterest(address))
4141 let stakedAmount = tryGetInteger(dApp, keyStakedAmount(address))
4242 if ((lastCheckInterest > 0))
4343 then fraction((currentInterest - lastCheckInterest), stakedAmount, MULT8)
4444 else 0
4545 }
4646
4747
4848 func cf (dApp) = {
4949 let reward = claimStakingResult(dApp, this)
5050 if ((reward > 20000000))
5151 then {
5252 let k = invoke(dApp, "claimReward", nil, nil)
5353 if ((k == k))
5454 then reward
5555 else throw("Strict value is not equal to itself.")
5656 }
5757 else 0
5858 }
5959
6060
6161 func getLastKnownAssetFarmingPower (address,assetId) = tryGetInteger(farmingDapp, (((("address_" + address) + "_asset_") + assetId) + "_farmingPower"))
6262
6363
64-func getRewardPerBlock () = 684
64+func getRewardPerBlock () = 548
6565
6666
6767 func calcInterest (previousInterest,previousInterestHeight,totalFarmingPower) = (previousInterest + (((MULT4 * getRewardPerBlock()) * (height - previousInterestHeight)) / totalFarmingPower))
6868
6969
7070 func getCurrentInterest () = if ((tryGetInteger(farmingDapp, "total_farmingPower") > 0))
7171 then {
7272 let previousInterest = tryGetInteger(farmingDapp, "total_lastCheckInterest")
7373 let previousInterestHeight = tryGetInteger(farmingDapp, "total_lastCheckInterestHeight")
7474 let totalFarmingPower = tryGetInteger(farmingDapp, "total_farmingPower")
7575 calcInterest(previousInterest, previousInterestHeight, totalFarmingPower)
7676 }
7777 else if ((tryGetInteger(farmingDapp, "total_startHeight") != 0))
7878 then tryGetInteger(farmingDapp, "total_lastCheckInterest")
7979 else throw("farming is not launched, yet")
8080
8181
8282 func calcAssetRewardDelta (address,assetId,assetFarmingPower) = {
8383 let lastCheckAssetInterest = tryGetInteger(farmingDapp, (((("address_" + address) + "_asset_") + assetId) + "_lastCheckInterest"))
8484 let currentInterest = getCurrentInterest()
8585 (assetFarmingPower * (currentInterest - lastCheckAssetInterest))
8686 }
8787
8888
8989 func claimFarmingResult (asset) = {
9090 let myAddr = toString(this)
9191 let assetFarmingPower = getLastKnownAssetFarmingPower(myAddr, asset)
9292 let assetRewardDelta = calcAssetRewardDelta(myAddr, asset, assetFarmingPower)
9393 let farmedAmount = (assetRewardDelta + tryGetInteger(farmingDapp, (((("address_" + myAddr) + "_asset_") + asset) + "_lastCheckFarmedAmount")))
9494 let withdrawnAmount = tryGetInteger(farmingDapp, (((("address_" + myAddr) + "_asset_") + asset) + "_withdrawnAmount"))
9595 ((farmedAmount - withdrawnAmount) / MULT6)
9696 }
9797
9898
9999 func commonFarmingRewards (part) = {
100100 let ducksList = split_51C(part, "_")
101101 func claimer (acc,elem) = {
102102 let reward = claimFarmingResult(elem)
103103 let r = if ((reward > 20))
104104 then {
105105 let k = invoke(farmingDapp, "claimReward", [elem], nil)
106106 if ((k == k))
107107 then (reward * MULT6)
108108 else throw("Strict value is not equal to itself.")
109109 }
110110 else 0
111111 (acc + r)
112112 }
113113
114114 let totalReward = {
115115 let $l = ducksList
116116 let $s = size($l)
117117 let $acc0 = 0
118118 func $f0_1 ($a,$i) = if (($i >= $s))
119119 then $a
120120 else claimer($a, $l[$i])
121121
122122 func $f0_2 ($a,$i) = if (($i >= $s))
123123 then $a
124124 else throw("List size exceeds 44")
125125
126126 $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($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)
127127 }
128128 let transfer = if ((totalReward > 0))
129129 then [ScriptTransfer(beneficiary, totalReward, getEggId())]
130130 else throw("Farming reward is too low to claim")
131131 $Tuple2(transfer, totalReward)
132132 }
133133
134134
135135 @Callable(i)
136136 func getCFrewards () = {
137137 let totalReward = ((cf(kolkhozDapp) + cf(duxplorerDapp)) + cf(marvinDapp))
138138 let transfer = if ((totalReward > 0))
139139 then [ScriptTransfer(beneficiary, totalReward, getEggId())]
140140 else throw("Reward is too low to claim")
141141 $Tuple2(transfer, totalReward)
142142 }
143143
144144
145145
146146 @Callable(i)
147147 func farmingRewards0 () = if ((i.caller != this))
148148 then throw("Should be invoked from duck account address")
149149 else {
150150 let ducksListStr = value(getString(keyMyDucks))
151151 let parts = split_51C(ducksListStr, "_9MG6f7mYUFm9VyFbMkF1fHhNEt1WykvyoWEg3ZpYCwmc_")
152152 commonFarmingRewards(parts[0])
153153 }
154154
155155
156156
157157 @Callable(i)
158158 func farmingRewards1 () = if ((i.caller != this))
159159 then throw("Should be invoked from duck account address")
160160 else {
161161 let ducksListStr = value(getString(keyMyDucks))
162162 let parts = split_51C(ducksListStr, "_9s8pym4cKnLjL3ZvYUXrX1D6io6uomJc1F5C6SoDMfhx_")
163163 commonFarmingRewards(parts[1])
164164 }
165165
166166

github/deemru/w8io/6500d08 
39.91 ms