tx · 8pREZw4XxxJ7inGYKnCuGShFyoRK1wNwnfDFGSyZKGb8 3MBnE1RRNbiNi5G6ThpokpVCz8RVeK7QXtk: -0.06000000 Waves 2026.08.29 01:36 [1316846] smart account 3MBnE1RRNbiNi5G6ThpokpVCz8RVeK7QXtk > SELF 0.00000000 Waves
{ "type": 13, "id": "8pREZw4XxxJ7inGYKnCuGShFyoRK1wNwnfDFGSyZKGb8", "fee": 6000000, "feeAssetId": null, "timestamp": 1787956625541, "version": 2, "chainId": 82, "sender": "3MBnE1RRNbiNi5G6ThpokpVCz8RVeK7QXtk", "senderPublicKey": "7gRKDEy8k8Td2GPnz1hUJ9cGHukzaGwaHHv8TbYS3uge", "proofs": [ "3RW7zZHjjHv32W9TWfVCKcs99pmAusQyGy8hRxx8zhkrCfQGz5DEixy7dAs3kYini6jbaLXAv4yzWPBjornTd8JD" ], "script": "base64:BgIRCAISABIECgIIARIFCgMICAEDAQl0cnlHZXRJbnQBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAF2BQckbWF0Y2gwBQF2AAABDmdldEFzc2V0U3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgIFV0FWRVMBDWdldEFzc2V0Qnl0ZXMBCmFzc2V0SWRTdHIDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMFBHVuaXQJANkEAQUKYXNzZXRJZFN0cgMBaQEHc3Rha2VMUAADCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiNzdGFrZUxQOiBleGFjdGx5IDEgcGF5bWVudCByZXF1aXJlZAQKYXNzZXRJZFN0cgkBDmdldEFzc2V0U3RyaW5nAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdjdXJyZW50CQEJdHJ5R2V0SW50AQkArAICAgdzdGFrZWRfBQphc3NldElkU3RyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICB3N0YWtlZF8FCmFzc2V0SWRTdHIJAGQCBQdjdXJyZW50BQZhbW91bnQFA25pbAFpAQl1bnN0YWtlTFACCmFzc2V0SWRTdHIGYW1vdW50BAdjdXJyZW50CQEJdHJ5R2V0SW50AQkArAICAgdzdGFrZWRfBQphc3NldElkU3RyAwkAZgIFBmFtb3VudAUHY3VycmVudAkAAgECJnVuc3Rha2VMUDogaW5zdWZmaWNpZW50IHN0YWtlZCBiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICB3N0YWtlZF8FCmFzc2V0SWRTdHIJAGUCBQdjdXJyZW50BQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQJAQ1nZXRBc3NldEJ5dGVzAQUKYXNzZXRJZFN0cgUDbmlsAWkBD3RyaWdnZXJJbnRlcmVzdAMKbWFya2V0QWRkcgphc3NldElkU3RyBmFtb3VudAQGbWFya2V0CQERQGV4dHJOYXRpdmUoMTA2MikBBQptYXJrZXRBZGRyBANpbnYJAPwHBAUGbWFya2V0AgthZGRJbnRlcmVzdAkAzAgCBQphc3NldElkU3RyCQDMCAIFBmFtb3VudAUDbmlsBQNuaWwDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAQ6mbi", "height": 1316846, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2VhJhbA6RVwGQ7SnAxceefTTCjT7V6D9T7NRCq8uvWFe Next: 5R9YU4tUXxSK1BXbyqpCHRVuxawBbHw6si4jYn4hjBR1 Full:
| Old | New | Differences | |
|---|---|---|---|
| 1 | 1 | {-# STDLIB_VERSION 6 #-} | |
| 2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
| 3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
| 4 | 4 | func tryGetInt (key) = match getInteger(this, key) { | |
| 5 | 5 | case v: Int => | |
| 6 | 6 | v | |
| 7 | 7 | case _ => | |
| 8 | 8 | 0 | |
| 9 | 9 | } | |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 12 | func getAssetString (assetId) = match assetId { | |
| 13 | 13 | case b: ByteVector => | |
| 14 | 14 | toBase58String(b) | |
| 15 | 15 | case _ => | |
| 16 | 16 | "WAVES" | |
| 17 | 17 | } | |
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | 20 | func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES")) | |
| 21 | 21 | then unit | |
| 22 | 22 | else fromBase58String(assetIdStr) | |
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | 25 | @Callable(i) | |
| 26 | 26 | func stakeLP () = if ((size(i.payments) != 1)) | |
| 27 | 27 | then throw("stakeLP: exactly 1 payment required") | |
| 28 | 28 | else { | |
| 29 | 29 | let assetIdStr = getAssetString(i.payments[0].assetId) | |
| 30 | 30 | let amount = i.payments[0].amount | |
| 31 | 31 | let current = tryGetInt(("staked_" + assetIdStr)) | |
| 32 | 32 | [IntegerEntry(("staked_" + assetIdStr), (current + amount))] | |
| 33 | 33 | } | |
| 34 | 34 | ||
| 35 | 35 | ||
| 36 | 36 | ||
| 37 | 37 | @Callable(i) | |
| 38 | 38 | func unstakeLP (assetIdStr,amount) = { | |
| 39 | 39 | let current = tryGetInt(("staked_" + assetIdStr)) | |
| 40 | 40 | if ((amount > current)) | |
| 41 | 41 | then throw("unstakeLP: insufficient staked balance") | |
| 42 | 42 | else [IntegerEntry(("staked_" + assetIdStr), (current - amount)), ScriptTransfer(i.caller, amount, getAssetBytes(assetIdStr))] | |
| 43 | 43 | } | |
| 44 | 44 | ||
| 45 | 45 | ||
| 46 | 46 | ||
| 47 | 47 | @Callable(i) | |
| 48 | 48 | func triggerInterest (marketAddr,assetIdStr,amount) = { | |
| 49 | 49 | let market = addressFromStringValue(marketAddr) | |
| 50 | 50 | let inv = invoke(market, "addInterest", [assetIdStr, amount], nil) | |
| 51 | 51 | if ((inv == inv)) | |
| 52 | 52 | then nil | |
| 53 | 53 | else throw("Strict value is not equal to itself.") | |
| 54 | 54 | } | |
| 55 | 55 | ||
| 56 | 56 |
github/deemru/w8io 59.56 ms ◑