tx · 5TTs67GcjFfPzk7PompRYaZrjqjsYqMSCUnDGPSqeVDy 3M8ZK1hZmwNEZ2w2txfMkSHosesxn34u1oP: -0.01000000 Waves 2025.12.03 06:05 [783096] smart account 3M8ZK1hZmwNEZ2w2txfMkSHosesxn34u1oP > SELF 0.00000000 Waves
{ "type": 13, "id": "5TTs67GcjFfPzk7PompRYaZrjqjsYqMSCUnDGPSqeVDy", "fee": 1000000, "feeAssetId": null, "timestamp": 1764731123390, "version": 2, "chainId": 82, "sender": "3M8ZK1hZmwNEZ2w2txfMkSHosesxn34u1oP", "senderPublicKey": "BTvWT2jjCsGYRhBfHnHGBGpPav6jMtGnTXPDLxka8p7f", "proofs": [ "62jFpv77J1WCeznxzX9eDecbDvWbUrNpCbSTe6XUn3N68ow4vtQMz7LaG3CDJixbvH128EoHVDrWCfd1YaSxntgf" ], "script": "base64:BgIGCAISABIACQAJY29uZmlnU3RyCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMCDWNvbmZpZ0FkZHJlc3MCIzNQTW9FaWJkTGVXcWNVUlE4MzUxWGhhV3d5YWNEYzdHNGU1AA5DT05GSUdfQUREUkVTUwMJAAACBQljb25maWdTdHICAAUEdGhpcwkBB0FkZHJlc3MBCQDZBAEFCWNvbmZpZ1N0cgAJdXNkbklkU3RyCQELdmFsdWVPckVsc2UCCQCdCAIFDkNPTkZJR19BRERSRVNTAg51c2RuQXNzZXRJZFN0cgIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAAC3B1enpsZUlkU3RyCQELdmFsdWVPckVsc2UCCQCdCAIFDkNPTkZJR19BRERSRVNTAhBwdXp6bGVBc3NldElkU3RyAixIRUI4UWF3OXhyV3BXczh0SHNpQVRZR0JXREJ0UDJTN2tjUEFMck11NDNBUwAGdXNkbklkCQDZBAEFCXVzZG5JZFN0cgAIcHV6emxlSWQJANkEAQULcHV6emxlSWRTdHIADnN0YWtpbmdBZGRyZXNzCQEHQWRkcmVzcwEJANkEAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5DT05GSUdfQUREUkVTUwIOc3Rha2luZ0FkZHJlc3MCIzNQRlRieXdxeHRGZnVrWDNIeVQ4ODFnNGlXNUs0UUwzRkFTAA1oZWxwZXJBZGRyZXNzBQR0aGlzAQ10cnlHZXRJbnRlZ2VyAQNrZXkEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAgFpARNzd2FwQW5kVG9wdXBTdGFraW5nAAQHYmFsYW5jZQkA8AcCBQR0aGlzBQZ1c2RuSWQEA2ludgkA/AcEBQ1oZWxwZXJBZGRyZXNzAhJleGNoYW5nZVRoZW5JbnZva2UJAMwIAgULcHV6emxlSWRTdHIJAMwIAgUOc3Rha2luZ0FkZHJlc3MJAMwIAgILdG9wVXBSZXdhcmQJAMwIAgUDbmlsCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZ1c2RuSWQFB2JhbGFuY2UFA25pbAMJAAACBQNpbnYFA2ludgkAzAgCCQEMSW50ZWdlckVudHJ5AgIOc3RhdHNfbGFzdFN3YXAFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAhNzdGF0c190b3RhbFN3YXBwZWRfBQl1c2RuSWRTdHIJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgITc3RhdHNfdG90YWxTd2FwcGVkXwUJdXNkbklkU3RyBQdiYWxhbmNlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMdG9wdXBTdGFraW5nAAQDaW52CQD8BwQFDnN0YWtpbmdBZGRyZXNzAgt0b3BVcFJld2FyZAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQhwdXp6bGVJZAkA8AcCBQR0aGlzBQhwdXp6bGVJZAUDbmlsAwkAAAIFA2ludgUDaW52CQDMCAIJAQxJbnRlZ2VyRW50cnkCAg5zdGF0c19sYXN0U3dhcAUGaGVpZ2h0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5Qnx1QQ==", "height": 783096, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
| Old | New | Differences | |
|---|---|---|---|
| 1 | - | # no script | |
| 1 | + | {-# STDLIB_VERSION 6 #-} | |
| 2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
| 3 | + | {-# CONTENT_TYPE DAPP #-} | |
| 4 | + | let configStr = valueOrElse(getString(this, "configAddress"), "3PMoEibdLeWqcURQ8351XhaWwyacDc7G4e5") | |
| 5 | + | ||
| 6 | + | let CONFIG_ADDRESS = if ((configStr == "")) | |
| 7 | + | then this | |
| 8 | + | else Address(fromBase58String(configStr)) | |
| 9 | + | ||
| 10 | + | let usdnIdStr = valueOrElse(getString(CONFIG_ADDRESS, "usdnAssetIdStr"), "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p") | |
| 11 | + | ||
| 12 | + | let puzzleIdStr = valueOrElse(getString(CONFIG_ADDRESS, "puzzleAssetIdStr"), "HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS") | |
| 13 | + | ||
| 14 | + | let usdnId = fromBase58String(usdnIdStr) | |
| 15 | + | ||
| 16 | + | let puzzleId = fromBase58String(puzzleIdStr) | |
| 17 | + | ||
| 18 | + | let stakingAddress = Address(fromBase58String(valueOrElse(getString(CONFIG_ADDRESS, "stakingAddress"), "3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS"))) | |
| 19 | + | ||
| 20 | + | let helperAddress = this | |
| 21 | + | ||
| 22 | + | func tryGetInteger (key) = match getInteger(this, key) { | |
| 23 | + | case b: Int => | |
| 24 | + | b | |
| 25 | + | case _ => | |
| 26 | + | 0 | |
| 27 | + | } | |
| 28 | + | ||
| 29 | + | ||
| 30 | + | @Callable(i) | |
| 31 | + | func swapAndTopupStaking () = { | |
| 32 | + | let balance = assetBalance(this, usdnId) | |
| 33 | + | let inv = invoke(helperAddress, "exchangeThenInvoke", [puzzleIdStr, stakingAddress, "topUpReward", nil, 0], [AttachedPayment(usdnId, balance)]) | |
| 34 | + | if ((inv == inv)) | |
| 35 | + | then [IntegerEntry("stats_lastSwap", height), IntegerEntry(("stats_totalSwapped_" + usdnIdStr), (tryGetInteger(("stats_totalSwapped_" + usdnIdStr)) + balance))] | |
| 36 | + | else throw("Strict value is not equal to itself.") | |
| 37 | + | } | |
| 38 | + | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | @Callable(i) | |
| 42 | + | func topupStaking () = { | |
| 43 | + | let inv = invoke(stakingAddress, "topUpReward", nil, [AttachedPayment(puzzleId, assetBalance(this, puzzleId))]) | |
| 44 | + | if ((inv == inv)) | |
| 45 | + | then [IntegerEntry("stats_lastSwap", height)] | |
| 46 | + | else throw("Strict value is not equal to itself.") | |
| 47 | + | } | |
| 48 | + | ||
| 49 | + | ||
| 50 | + | @Verifier(tx) | |
| 51 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
| 52 | + |
github/deemru/w8io 13.72 ms ◑