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