tx · 8xGbxsPNq9K46BT9yRRbzwyLHHr6Z2KyAxemdjn3yoEM 3MJY3Jm8SCRy5pqN58YMRtnLk1BSCH2tq4s: -0.06000000 Waves 2026.06.23 15:29 [819958] smart account 3MJY3Jm8SCRy5pqN58YMRtnLk1BSCH2tq4s > SELF 0.00000000 Waves
{ "type": 13, "id": "8xGbxsPNq9K46BT9yRRbzwyLHHr6Z2KyAxemdjn3yoEM", "fee": 6000000, "feeAssetId": null, "timestamp": 1782217767952, "version": 2, "chainId": 82, "sender": "3MJY3Jm8SCRy5pqN58YMRtnLk1BSCH2tq4s", "senderPublicKey": "AZXgeC9N6savFtEB6vqQMZPbt8FkSiLTsrZmK4YE7kzj", "proofs": [ "3A6NWEoBCSbqq8MhTUQQJq3WQ8cuXM3ZT33u8zubJJqVf4kGWaB1of3PZD7QaptstxxZ1qzWoLrEAbMCidi6Bfd9" ], "script": "base64:BgIRCAISABIECgIIARIFCgMICAEDAQl0cnlHZXRJbnQBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAF2BQckbWF0Y2gwBQF2AAABDmdldEFzc2V0U3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgIFV0FWRVMBDWdldEFzc2V0Qnl0ZXMBCmFzc2V0SWRTdHIDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMFBHVuaXQJANkEAQUKYXNzZXRJZFN0cgMBaQEHc3Rha2VMUAADCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiNzdGFrZUxQOiBleGFjdGx5IDEgcGF5bWVudCByZXF1aXJlZAQKYXNzZXRJZFN0cgkBDmdldEFzc2V0U3RyaW5nAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdjdXJyZW50CQEJdHJ5R2V0SW50AQkArAICAgdzdGFrZWRfBQphc3NldElkU3RyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICB3N0YWtlZF8FCmFzc2V0SWRTdHIJAGQCBQdjdXJyZW50BQZhbW91bnQFA25pbAFpAQl1bnN0YWtlTFACCmFzc2V0SWRTdHIGYW1vdW50BAdjdXJyZW50CQEJdHJ5R2V0SW50AQkArAICAgdzdGFrZWRfBQphc3NldElkU3RyAwkAZgIFBmFtb3VudAUHY3VycmVudAkAAgECJnVuc3Rha2VMUDogaW5zdWZmaWNpZW50IHN0YWtlZCBiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICB3N0YWtlZF8FCmFzc2V0SWRTdHIJAGUCBQdjdXJyZW50BQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQJAQ1nZXRBc3NldEJ5dGVzAQUKYXNzZXRJZFN0cgUDbmlsAWkBD3RyaWdnZXJJbnRlcmVzdAMKbWFya2V0QWRkcgphc3NldElkU3RyBmFtb3VudAQGbWFya2V0CQERQGV4dHJOYXRpdmUoMTA2MikBBQptYXJrZXRBZGRyBANpbnYJAPwHBAUGbWFya2V0AgthZGRJbnRlcmVzdAkAzAgCBQphc3NldElkU3RyCQDMCAIFBmFtb3VudAUDbmlsBQNuaWwDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAQ6mbi", "height": 819958, "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 | + | func tryGetInt (key) = match getInteger(this, key) { | |
| 5 | + | case v: Int => | |
| 6 | + | v | |
| 7 | + | case _ => | |
| 8 | + | 0 | |
| 9 | + | } | |
| 10 | + | ||
| 11 | + | ||
| 12 | + | func getAssetString (assetId) = match assetId { | |
| 13 | + | case b: ByteVector => | |
| 14 | + | toBase58String(b) | |
| 15 | + | case _ => | |
| 16 | + | "WAVES" | |
| 17 | + | } | |
| 18 | + | ||
| 19 | + | ||
| 20 | + | func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES")) | |
| 21 | + | then unit | |
| 22 | + | else fromBase58String(assetIdStr) | |
| 23 | + | ||
| 24 | + | ||
| 25 | + | @Callable(i) | |
| 26 | + | func stakeLP () = if ((size(i.payments) != 1)) | |
| 27 | + | then throw("stakeLP: exactly 1 payment required") | |
| 28 | + | else { | |
| 29 | + | let assetIdStr = getAssetString(i.payments[0].assetId) | |
| 30 | + | let amount = i.payments[0].amount | |
| 31 | + | let current = tryGetInt(("staked_" + assetIdStr)) | |
| 32 | + | [IntegerEntry(("staked_" + assetIdStr), (current + amount))] | |
| 33 | + | } | |
| 34 | + | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | @Callable(i) | |
| 38 | + | func unstakeLP (assetIdStr,amount) = { | |
| 39 | + | let current = tryGetInt(("staked_" + assetIdStr)) | |
| 40 | + | if ((amount > current)) | |
| 41 | + | then throw("unstakeLP: insufficient staked balance") | |
| 42 | + | else [IntegerEntry(("staked_" + assetIdStr), (current - amount)), ScriptTransfer(i.caller, amount, getAssetBytes(assetIdStr))] | |
| 43 | + | } | |
| 44 | + | ||
| 45 | + | ||
| 46 | + | ||
| 47 | + | @Callable(i) | |
| 48 | + | func triggerInterest (marketAddr,assetIdStr,amount) = { | |
| 49 | + | let market = addressFromStringValue(marketAddr) | |
| 50 | + | let inv = invoke(market, "addInterest", [assetIdStr, amount], nil) | |
| 51 | + | if ((inv == inv)) | |
| 52 | + | then nil | |
| 53 | + | else throw("Strict value is not equal to itself.") | |
| 54 | + | } | |
| 55 | + | ||
| 56 | + |
github/deemru/w8io 24.48 ms ◑