tx · HB83Joq6h6HvZvf52LyvEzpkbn6hTNFYrA45F7ui3SQs

3PKX8mjwxxJGmC6uUV7opAwMmFUN61JnmG9:  -0.01000000 Waves

2023.07.31 13:55 [3755615] smart account 3PKX8mjwxxJGmC6uUV7opAwMmFUN61JnmG9 > SELF 0.00000000 Waves

{ "type": 13, "id": "HB83Joq6h6HvZvf52LyvEzpkbn6hTNFYrA45F7ui3SQs", "fee": 1000000, "feeAssetId": null, "timestamp": 1690800936409, "version": 2, "chainId": 87, "sender": "3PKX8mjwxxJGmC6uUV7opAwMmFUN61JnmG9", "senderPublicKey": "XmAFwGAEKdN5NoXVdfV95VeJ85namtKXxkhyGGYYVUw", "proofs": [ "28Ms8QfAYnGJwpFMDk8ggjF7hgz5mk6Ha4RnQoDqLfxQ3xXb7eXuU3r2RnAErHaLtJRY726G6yaKMp8s8NCeyu3F" ], "script": "base64:AAIFAAAAAAAAAB4IAhIECgIICBIAEgMKAQgSAwoBCBIDCgEIEgMKAQgAAAAfAQAAAAhrZXlPd25lcgAAAAEAAAALZHVja0hvdXNlSWQJAAEsAAAAAgUAAAALZHVja0hvdXNlSWQCAAAABl9vd25lcgEAAAAMa2V5RHVja0hvdXNlAAAAAQAAAAZkdWNrSWQJAAEsAAAAAgUAAAAGZHVja0lkAgAAAAtfZHVja19ob3VzZQEAAAAXb2NjdXBpZWRTcG90c0R1Y2tzSG91c2UAAAABAAAAC2R1Y2tIb3VzZUlkCQABLAAAAAIFAAAAC2R1Y2tIb3VzZUlkAgAAAA1fZmlsbGVkX3Nwb3RzAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAMdHJ5R2V0U3RyaW5nAAAAAQAAAANrZXkJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAAhhc1N0cmluZwAAAAEAAAAFdmFsdWUEAAAAByRtYXRjaDAFAAAABXZhbHVlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAUAAAAGc3RyaW5nCQAAAgAAAAECAAAAHHdyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcBAAAABWFzSW50AAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQJAAACAAAAAQIAAAAZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAEAAAAXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAAAAAAgAAABRzdGF0aWNfb3JhY2xlQWRkcmVzcwEAAAAWc3RhdGljS2V5X2l0ZW1zQWRkcmVzcwAAAAACAAAAE3N0YXRpY19pdGVtc0FkZHJlc3MBAAAAEnN0YXRpY0tleV9leHRyYUZlZQAAAAACAAAAD3N0YXRpY19leHRyYUZlZQEAAAAXc3RhdGljS2V5X2ZlZUFnZ3JlZ2F0b3IAAAAAAgAAABRzdGF0aWNfZmVlQWdncmVnYXRvcgEAAAAUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAAAAAAgAAABFzdGF0aWNfZWdnQXNzZXRJZAEAAAAYc3RhdGljS2V5X2Zhcm1pbmdBZGRyZXNzAAAAAAIAAAAVc3RhdGljX2Zhcm1pbmdBZGRyZXNzAQAAABJzdGF0aWNLZXlfbWF4RHVja3MAAAAAAgAAAA9zdGF0aWNfbWF4RHVja3MBAAAAE3N0YXRpY0tleV9zdGFrZUNhbGwAAAAAAgAAABBzdGF0aWNfc3Rha2VDYWxsAQAAABRzdGF0aWNLZXlfSlN0YWtlQ2FsbAAAAAACAAAAEXN0YXRpY19KU3Rha2VDYWxsAQAAAA5zdGF0aWNLZXlfdHlwZQAAAAACAAAAC3N0YXRpY190eXBlAQAAAA9zdGF0aWNLZXlfYm9vc3QAAAAAAgAAAAxzdGF0aWNfYm9vc3QBAAAACWdldE9yYWNsZQAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkBAAAAF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAAAAAEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAWc3RhdGljS2V5X2l0ZW1zQWRkcmVzcwAAAAABAAAAEWdldEZhcm1pbmdBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAYc3RhdGljS2V5X2Zhcm1pbmdBZGRyZXNzAAAAAAEAAAANZ2V0RWdnQXNzZXRJZAAAAAAJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAABRzdGF0aWNLZXlfZWdnQXNzZXRJZAAAAAABAAAAEGdldEZlZUFnZ3JlZ2F0b3IAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAABdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgAAAAABAAAACG1heER1Y2tzAAAAAAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAASc3RhdGljS2V5X21heER1Y2tzAAAAAAEAAAAJc3Rha2VDYWxsAAAAAAkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAABNzdGF0aWNLZXlfc3Rha2VDYWxsAAAAAAEAAAAKSlN0YWtlQ2FsbAAAAAAJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAUc3RhdGljS2V5X0pTdGFrZUNhbGwAAAAAAQAAAAR0eXBlAAAAAAkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAAA5zdGF0aWNLZXlfdHlwZQAAAAABAAAABWJvb3N0AAAAAAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAPc3RhdGljS2V5X2Jvb3N0AAAAAAEAAAAJaXNKYWNrcG90AAAAAQAAAAdhc3NldElkCQAAAAAAAAIJAQAAAAl0YWtlUmlnaHQAAAACCQEAAAAFdmFsdWUAAAABCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAABG5hbWUAAAAAAAAAAAECAAAAAVUBAAAAFmNoZWNrQWRkaXRpb25hbFBheW1lbnQAAAABAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABlXQ0FQOiBQbGVhc2UgYXR0YWNoIHdhdmVzBAAAAAlmZWVBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIJAQAAAAln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", "height": 3755615, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FFCa3haoMKcUt4WeRSdKp8Dgf5naqG2WtCb4o8yM5KR6 Next: 2SiyWNKEzyRhBRgpuyR5cJFRkNVW1FWhutprhxARfENH Diff:
OldNewDifferences
212212 else {
213213 let unstakeDuckReward = if (isJackpot(fromBase58String(asset)))
214214 then asInt(invoke(getFarmingAddress(), "unstakeJackpot", [asset], i.payments))
215- else asInt(invoke(getFarmingAddress(), "unstakeNFT", [asset], nil))
215+ else asInt(invoke(getFarmingAddress(), "unstakeNFT", [asset], i.payments))
216216 if ((unstakeDuckReward == unstakeDuckReward))
217217 then {
218218 let filledSpots = tryGetInteger(occupiedSpotsDucksHouse(duckHouseId))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func keyOwner (duckHouseId) = (duckHouseId + "_owner")
55
66
77 func keyDuckHouse (duckId) = (duckId + "_duck_house")
88
99
1010 func occupiedSpotsDucksHouse (duckHouseId) = (duckHouseId + "_filled_spots")
1111
1212
1313 func tryGetStringExternal (address,key) = match getString(address, key) {
1414 case a: String =>
1515 a
1616 case _ =>
1717 ""
1818 }
1919
2020
2121 func tryGetString (key) = tryGetStringExternal(this, key)
2222
2323
2424 func tryGetInteger (key) = match getInteger(this, key) {
2525 case b: Int =>
2626 b
2727 case _ =>
2828 0
2929 }
3030
3131
3232 func asString (value) = match value {
3333 case string: String =>
3434 string
3535 case _ =>
3636 throw("wrong type, expected: String")
3737 }
3838
3939
4040 func asInt (value) = match value {
4141 case int: Int =>
4242 int
4343 case _ =>
4444 throw("wrong type, expected: Int")
4545 }
4646
4747
4848 func staticKey_oracleAddress () = "static_oracleAddress"
4949
5050
5151 func staticKey_itemsAddress () = "static_itemsAddress"
5252
5353
5454 func staticKey_extraFee () = "static_extraFee"
5555
5656
5757 func staticKey_feeAggregator () = "static_feeAggregator"
5858
5959
6060 func staticKey_eggAssetId () = "static_eggAssetId"
6161
6262
6363 func staticKey_farmingAddress () = "static_farmingAddress"
6464
6565
6666 func staticKey_maxDucks () = "static_maxDucks"
6767
6868
6969 func staticKey_stakeCall () = "static_stakeCall"
7070
7171
7272 func staticKey_JStakeCall () = "static_JStakeCall"
7373
7474
7575 func staticKey_type () = "static_type"
7676
7777
7878 func staticKey_boost () = "static_boost"
7979
8080
8181 func getOracle () = Address(fromBase58String(tryGetString(staticKey_oracleAddress())))
8282
8383
8484 func getItemsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), staticKey_itemsAddress())))
8585
8686
8787 func getFarmingAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), staticKey_farmingAddress())))
8888
8989
9090 func getEggAssetId () = fromBase58String(tryGetStringExternal(getOracle(), staticKey_eggAssetId()))
9191
9292
9393 func getFeeAggregator () = Address(fromBase58String(tryGetStringExternal(getOracle(), staticKey_feeAggregator())))
9494
9595
9696 func maxDucks () = tryGetInteger(staticKey_maxDucks())
9797
9898
9999 func stakeCall () = tryGetString(staticKey_stakeCall())
100100
101101
102102 func JStakeCall () = tryGetString(staticKey_JStakeCall())
103103
104104
105105 func type () = tryGetString(staticKey_type())
106106
107107
108108 func boost () = tryGetInteger(staticKey_boost())
109109
110110
111111 func isJackpot (assetId) = (takeRight(value(value(assetInfo(assetId)).name), 1) == "U")
112112
113113
114114 func checkAdditionalPayment (payment) = if (isDefined(payment.assetId))
115115 then throw("WCAP: Please attach waves")
116116 else {
117117 let feeAmount = getIntegerValue(getOracle(), staticKey_extraFee())
118118 if ((payment.amount != feeAmount))
119119 then throw((("WCAP: Please attach exactly " + toString(feeAmount)) + " amount of wavelets"))
120120 else [ScriptTransfer(getFeeAggregator(), feeAmount, unit)]
121121 }
122122
123123
124124 @Callable(i)
125125 func configureOracle (oracle,type) = if ((i.caller != this))
126126 then throw("admin only")
127127 else {
128128 let setup = if ((type == "ART-BIGHOUSE"))
129129 then [IntegerEntry(staticKey_boost(), 15), IntegerEntry(staticKey_maxDucks(), 10), StringEntry(staticKey_stakeCall(), "stakeNFTWithoutPerch"), StringEntry(staticKey_type(), "ART-BIGHOUSE"), StringEntry(staticKey_JStakeCall(), "stakeNFTWithoutPerch")]
130130 else if ((type == "ART-HOUSE"))
131131 then [IntegerEntry(staticKey_boost(), 30), IntegerEntry(staticKey_maxDucks(), 4), StringEntry(staticKey_stakeCall(), "stakeNFT"), StringEntry(staticKey_type(), "ART-HOUSE"), StringEntry(staticKey_JStakeCall(), "stakeNFTWithoutPerch")]
132132 else throw("Unknown type!")
133133 ([StringEntry(staticKey_oracleAddress(), oracle)] ++ setup)
134134 }
135135
136136
137137
138138 @Callable(i)
139139 func stakeDuckHouse () = {
140140 let owner = toString(i.caller)
141141 let artefactPayment = value(i.payments[0])
142142 let validPayment = checkAdditionalPayment(i.payments[1])
143143 let artefactAssetId = toBase58String(value(artefactPayment.assetId))
144144 if ((artefactPayment.amount != 1))
145145 then throw("NFT is not attached")
146146 else {
147147 let artefactName = asString(invoke(getItemsAddress(), "checkArtefactDetails", [artefactAssetId], nil))
148148 if ((artefactName == artefactName))
149149 then if ((artefactName != type()))
150150 then throw("Wrong artefact")
151151 else ([StringEntry(keyOwner(artefactAssetId), owner)] ++ validPayment)
152152 else throw("Strict value is not equal to itself.")
153153 }
154154 }
155155
156156
157157
158158 @Callable(i)
159159 func unstakeDuckHouse (duckHouseId) = {
160160 let caller = toString(i.caller)
161161 let duckHouseOwner = tryGetString(keyOwner(duckHouseId))
162162 let validPayment = checkAdditionalPayment(i.payments[1])
163163 if ((duckHouseOwner == ""))
164164 then throw("This duckhouse is not staked!")
165165 else if ((duckHouseOwner != caller))
166166 then throw("This duckhouse is not yours!")
167167 else if ((tryGetInteger(occupiedSpotsDucksHouse(duckHouseId)) != 0))
168168 then throw("Please first remove your ducks from the duckhouse")
169169 else ([ScriptTransfer(i.caller, 1, fromBase58String(duckHouseId)), DeleteEntry(keyOwner(duckHouseId))] ++ validPayment)
170170 }
171171
172172
173173
174174 @Callable(i)
175175 func stakeDuck (duckHouseId) = {
176176 let assetId = value(value(i.payments[0]).assetId)
177177 let address = toString(i.caller)
178178 let duckHouseOwner = tryGetString(keyOwner(duckHouseId))
179179 if ((duckHouseOwner == ""))
180180 then throw("This duckhouse is not staked!")
181181 else if ((duckHouseOwner != address))
182182 then throw("This duckhouse is not yours!")
183183 else {
184184 let filledSpots = tryGetInteger(occupiedSpotsDucksHouse(duckHouseId))
185185 if ((filledSpots == maxDucks()))
186186 then throw("No space in duck house left!")
187187 else {
188188 let boostDuck = invoke(getItemsAddress(), "manipulateBoost", [boost(), toBase58String(assetId)], nil)
189189 if ((boostDuck == boostDuck))
190190 then {
191191 let stakeDuck = if (isJackpot(assetId))
192192 then invoke(getFarmingAddress(), JStakeCall(), nil, i.payments)
193193 else invoke(getFarmingAddress(), stakeCall(), nil, i.payments)
194194 if ((stakeDuck == stakeDuck))
195195 then [IntegerEntry(occupiedSpotsDucksHouse(duckHouseId), (filledSpots + 1)), StringEntry(keyDuckHouse(toBase58String(assetId)), duckHouseId)]
196196 else throw("Strict value is not equal to itself.")
197197 }
198198 else throw("Strict value is not equal to itself.")
199199 }
200200 }
201201 }
202202
203203
204204
205205 @Callable(i)
206206 func unstakeDuck (asset) = {
207207 let duckHouseId = tryGetString(keyDuckHouse(asset))
208208 let owner = tryGetString(keyOwner(duckHouseId))
209209 let address = toString(i.caller)
210210 if ((owner != address))
211211 then throw("Don't try to steal someone duck!")
212212 else {
213213 let unstakeDuckReward = if (isJackpot(fromBase58String(asset)))
214214 then asInt(invoke(getFarmingAddress(), "unstakeJackpot", [asset], i.payments))
215- else asInt(invoke(getFarmingAddress(), "unstakeNFT", [asset], nil))
215+ else asInt(invoke(getFarmingAddress(), "unstakeNFT", [asset], i.payments))
216216 if ((unstakeDuckReward == unstakeDuckReward))
217217 then {
218218 let filledSpots = tryGetInteger(occupiedSpotsDucksHouse(duckHouseId))
219219 if ((filledSpots == 0))
220220 then throw("You aren't staking any ducks!")
221221 else {
222222 let unboostDuck = invoke(getItemsAddress(), "manipulateBoost", [-(boost()), asset], nil)
223223 if ((unboostDuck == unboostDuck))
224224 then [ScriptTransfer(i.caller, unstakeDuckReward, getEggAssetId()), ScriptTransfer(i.caller, 1, fromBase58String(asset)), DeleteEntry(keyDuckHouse(asset)), IntegerEntry(occupiedSpotsDucksHouse(duckHouseId), (filledSpots - 1))]
225225 else throw("Strict value is not equal to itself.")
226226 }
227227 }
228228 else throw("Strict value is not equal to itself.")
229229 }
230230 }
231231
232232
233233
234234 @Callable(i)
235235 func claimDuckRewards (asset) = {
236236 let claimRewards = asInt(invoke(getFarmingAddress(), "claimReward", [asset], i.payments))
237237 if ((claimRewards == claimRewards))
238238 then nil
239239 else throw("Strict value is not equal to itself.")
240240 }
241241
242242

github/deemru/w8io/6500d08 
35.74 ms