tx · 4t6oCy3com8Sa4iZoUFnrxeEbYPPUrQhGC6ZzMd4qQqJ 3P9k1sC5WFHCdr8xVwcQYPZxkCXBudYRNGY: -0.01000000 Waves 2022.12.27 16:38 [3444270] smart account 3P9k1sC5WFHCdr8xVwcQYPZxkCXBudYRNGY > SELF 0.00000000 Waves
{ "type": 13, "id": "4t6oCy3com8Sa4iZoUFnrxeEbYPPUrQhGC6ZzMd4qQqJ", "fee": 1000000, "feeAssetId": null, "timestamp": 1672148324456, "version": 2, "chainId": 87, "sender": "3P9k1sC5WFHCdr8xVwcQYPZxkCXBudYRNGY", "senderPublicKey": "DPdvCYDZjJh9yDx6EyfLQuDfL9VBGEZ5ro5BE9MPex2Q", "proofs": [ "2mGS2aKVcnieuMNUoY1xjeH9nEyQBSov1bYYEZb4Xx3nJftP48DmycobWs5xfQ3MnMq2izTscCp7Z1nDc9EnX9FM" ], "script": "base64:BgIRCAISAwoBCBIDCgEIEgMKAQgJAQhhc1N0cmluZwEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAQIFByRtYXRjaDACBlN0cmluZwQGc3RyaW5nBQckbWF0Y2gwBQZzdHJpbmcJAAIBAiFBQVM6IHdyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcBFHRyeUdldFN0cmluZ0V4dGVybmFsAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABFXRyeUdldEludGVnZXJFeHRlcm5hbAIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAQx0cnlHZXRTdHJpbmcBA2tleQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgUEdGhpcwUDa2V5AQlnZXRPcmFjbGUACQEHQWRkcmVzcwEJANkEAQkBDHRyeUdldFN0cmluZwECFHN0YXRpY19vcmFjbGVBZGRyZXNzARVnZXRNYXJrZXRwbGFjZUFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBDHRyeUdldFN0cmluZwECGXN0YXRpY19tYXJrZXRwbGFjZUFkZHJlc3MBDmdldEh1bnRBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBAhJzdGF0aWNfaHVudEFkZHJlc3MBFGdldEFjY2Vzc0l0ZW1Bc3NldElkAAkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEOZ2V0SHVudEFkZHJlc3MAAhhzdGF0aWNfYWNjZXNzSXRlbUFzc2V0SWQBEmdldEFjY2Vzc0l0ZW1QcmljZQAJARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCCQEOZ2V0SHVudEFkZHJlc3MAAhZzdGF0aWNfYWNjZXNzSXRlbVByaWNlAwFpAQ9jb25maWd1cmVPcmFjbGUBBm9yYWNsZQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECD0FDTzogYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwUGb3JhY2xlBQNuaWwBaQEQYnV5QW5kU2VuZFRvSHVudAEJYXVjdGlvbklkBApkdWNrQnV5aW5nCQEIYXNTdHJpbmcBCQD8BwQJARVnZXRNYXJrZXRwbGFjZUFkZHJlc3MAAgppbnN0YW50QnV5CQDMCAIFCWF1Y3Rpb25JZAUDbmlsCQDMCAIJAJEDAggFAWkIcGF5bWVudHMAAAUDbmlsAwkAAAIFCmR1Y2tCdXlpbmcFCmR1Y2tCdXlpbmcEDnNlbmRUb0h1bnREYXRhCQEIYXNTdHJpbmcBCQD8BwQJAQ5nZXRIdW50QWRkcmVzcwACCGxvY2tEdWNrBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUKZHVja0J1eWluZwABBQNuaWwDCQAAAgUOc2VuZFRvSHVudERhdGEFDnNlbmRUb0h1bnREYXRhBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEZYnV5RHVja0FuZEFSQW5kU2VuZFRvSHVudAEJYXVjdGlvbklkBApkdWNrQnV5aW5nCQEIYXNTdHJpbmcBCQD8BwQJARVnZXRNYXJrZXRwbGFjZUFkZHJlc3MAAgppbnN0YW50QnV5CQDMCAIFCWF1Y3Rpb25JZAUDbmlsCQDMCAIJAJEDAggFAWkIcGF5bWVudHMAAAUDbmlsAwkAAAIFCmR1Y2tCdXlpbmcFCmR1Y2tCdXlpbmcEDnNlbmRUb0h1bnREYXRhCQEIYXNTdHJpbmcBCQD8BwQJAQ5nZXRIdW50QWRkcmVzcwACGGJ1eUFjY2Vzc0l0ZW1BbmRMb2NrRHVjawUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEUZ2V0QWNjZXNzSXRlbUFzc2V0SWQACQESZ2V0QWNjZXNzSXRlbVByaWNlAAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQpkdWNrQnV5aW5nAAEFA25pbAMJAAACBQ5zZW5kVG9IdW50RGF0YQUOc2VuZFRvSHVudERhdGEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgCcDmso", "height": 3444270, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 9QVWr723ZCVLguZG7SSEtnitKpKXuhMC5LrV3hYMh2bu Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func asString (value) = match value { | |
5 | + | case string: String => | |
6 | + | string | |
7 | + | case _ => | |
8 | + | throw("AAS: wrong type, expected: String") | |
9 | + | } | |
10 | + | ||
11 | + | ||
12 | + | func tryGetStringExternal (address,key) = match getString(address, key) { | |
13 | + | case a: String => | |
14 | + | a | |
15 | + | case _ => | |
16 | + | "" | |
17 | + | } | |
18 | + | ||
19 | + | ||
20 | + | func tryGetIntegerExternal (address,key) = match getInteger(address, key) { | |
21 | + | case b: Int => | |
22 | + | b | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
26 | + | ||
27 | + | ||
28 | + | func tryGetString (key) = tryGetStringExternal(this, key) | |
29 | + | ||
30 | + | ||
31 | + | func getOracle () = Address(fromBase58String(tryGetString("static_oracleAddress"))) | |
32 | + | ||
33 | + | ||
34 | + | func getMarketplaceAddress () = Address(fromBase58String(tryGetString("static_marketplaceAddress"))) | |
35 | + | ||
36 | + | ||
37 | + | func getHuntAddress () = Address(fromBase58String(tryGetString("static_huntAddress"))) | |
38 | + | ||
39 | + | ||
40 | + | func getAccessItemAssetId () = fromBase58String(tryGetStringExternal(getHuntAddress(), "static_accessItemAssetId")) | |
41 | + | ||
42 | + | ||
43 | + | func getAccessItemPrice () = tryGetIntegerExternal(getHuntAddress(), "static_accessItemPrice") | |
44 | + | ||
45 | + | ||
46 | + | @Callable(i) | |
47 | + | func configureOracle (oracle) = if ((i.caller != this)) | |
48 | + | then throw("ACO: admin only") | |
49 | + | else [StringEntry("static_oracleAddress", oracle)] | |
50 | + | ||
51 | + | ||
52 | + | ||
53 | + | @Callable(i) | |
54 | + | func buyAndSendToHunt (auctionId) = { | |
55 | + | let duckBuying = asString(invoke(getMarketplaceAddress(), "instantBuy", [auctionId], [i.payments[0]])) | |
56 | + | if ((duckBuying == duckBuying)) | |
57 | + | then { | |
58 | + | let sendToHuntData = asString(invoke(getHuntAddress(), "lockDuck", nil, [AttachedPayment(fromBase58String(duckBuying), 1)])) | |
59 | + | if ((sendToHuntData == sendToHuntData)) | |
60 | + | then nil | |
61 | + | else throw("Strict value is not equal to itself.") | |
62 | + | } | |
63 | + | else throw("Strict value is not equal to itself.") | |
64 | + | } | |
65 | + | ||
66 | + | ||
67 | + | ||
68 | + | @Callable(i) | |
69 | + | func buyDuckAndARAndSendToHunt (auctionId) = { | |
70 | + | let duckBuying = asString(invoke(getMarketplaceAddress(), "instantBuy", [auctionId], [i.payments[0]])) | |
71 | + | if ((duckBuying == duckBuying)) | |
72 | + | then { | |
73 | + | let sendToHuntData = asString(invoke(getHuntAddress(), "buyAccessItemAndLockDuck", nil, [AttachedPayment(getAccessItemAssetId(), getAccessItemPrice()), AttachedPayment(fromBase58String(duckBuying), 1)])) | |
74 | + | if ((sendToHuntData == sendToHuntData)) | |
75 | + | then nil | |
76 | + | else throw("Strict value is not equal to itself.") | |
77 | + | } | |
78 | + | else throw("Strict value is not equal to itself.") | |
79 | + | } | |
80 | + | ||
81 | + |
github/deemru/w8io/6500d08 18.77 ms ◑