tx · 3fzMGkTAHqg6M82m3hvUxZtr6YXdgBfr5c3a7zmerSjS 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu: -0.04000000 Waves 2022.02.07 18:32 [1913404] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves
{ "type": 13, "id": "3fzMGkTAHqg6M82m3hvUxZtr6YXdgBfr5c3a7zmerSjS", "fee": 4000000, "feeAssetId": null, "timestamp": 1644247987965, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "2e2bQJ7CvC8CJnjS3Zk6fYEA6Q6T8tJd8J9GiFW833szb6TGztXzBzNdhps85DH9LDo3ao1LBPMuFNrqg7ajN6ZJ" ], "script": "base64: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", "height": 1913404, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BJC4theM3hAYHyWrjKzsxY4FegcvVbR2Sf1JhJAdY6DN Next: 3TpcSunPqyBTKmsdcGj4XJF752nm1W1jq8hYk5Gfp3vr Diff:
Old | New | Differences | |
---|---|---|---|
43 | 43 | let assetUrl = $t014771573._3 | |
44 | 44 | let dataKeyPrefix = $t014771573._4 | |
45 | 45 | let assetIdStr = toBase58String(assetId) | |
46 | - | let res = invoke(holdingsAddress, "addOwnerAndAmount", [holdings, assetIdStr, "2"], [AttachedPayment(unit, 0)]) | |
47 | - | if ((res == res)) | |
48 | - | then [asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)] | |
49 | - | else throw("Strict value is not equal to itself.") | |
46 | + | [asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)] | |
50 | 47 | } | |
51 | 48 | ||
52 | 49 | ||
54 | 51 | @Callable(i) | |
55 | 52 | func evolve (x,y,gen,ownerId) = { | |
56 | 53 | let transactionId = toBase58String(i.transactionId) | |
57 | - | let $ | |
58 | - | let asset = $ | |
59 | - | let assetId = $ | |
60 | - | let assetUrl = $ | |
61 | - | let dataKeyPrefix = $ | |
54 | + | let $t023012396 = claimSquare(x, y, gen, ownerId, transactionId) | |
55 | + | let asset = $t023012396._1 | |
56 | + | let assetId = $t023012396._2 | |
57 | + | let assetUrl = $t023012396._3 | |
58 | + | let dataKeyPrefix = $t023012396._4 | |
62 | 59 | [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)] | |
63 | 60 | } | |
64 | 61 | ||
107 | 104 | let xStr = toString(x) | |
108 | 105 | let yStr = toString(y) | |
109 | 106 | let genStr = toString(gen) | |
110 | - | let $ | |
111 | - | let parsedX = $ | |
112 | - | let parsedY = $ | |
113 | - | let parsedGen = $ | |
107 | + | let $t039754022 = $Tuple3(x, y, gen) | |
108 | + | let parsedX = $t039754022._1 | |
109 | + | let parsedY = $t039754022._2 | |
110 | + | let parsedGen = $t039754022._3 | |
114 | 111 | let returnList = nil | |
115 | 112 | if ((parsedGen == gen)) | |
116 | 113 | then { | |
119 | 116 | } | |
120 | 117 | else { | |
121 | 118 | let transactionId = toBase58String(i.transactionId) | |
122 | - | let $ | |
123 | - | let asset = $ | |
124 | - | let evolvedAssetId = $ | |
125 | - | let assetUrl = $ | |
126 | - | let dataKeyPrefix = $ | |
119 | + | let $t044054516 = claimSquare(xStr, yStr, genStr, ownerId, transactionId) | |
120 | + | let asset = $t044054516._1 | |
121 | + | let evolvedAssetId = $t044054516._2 | |
122 | + | let assetUrl = $t044054516._3 | |
123 | + | let dataKeyPrefix = $t044054516._4 | |
127 | 124 | let dataKey = dataKeyPrefix | |
128 | 125 | $Tuple2([asset, StringEntry((dataKey + "_assetId"), toBase58String(evolvedAssetId)), StringEntry((dataKey + "_asset"), assetUrl), StringEntry((dataKey + "_owner"), ownerId), StringEntry(transactionId, dataKey), ScriptTransfer(Address(fromBase58String(ownerId)), 1, fromBase58String(assetId))], dataKey) | |
129 | 126 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let nftDomain = "https://nft.gridgang.io/" | |
5 | 5 | ||
6 | 6 | let holdings = "3N9R7u449Z1b76QpJp9u3gzPjMYQYnp3V7r" | |
7 | 7 | ||
8 | 8 | let holdingsAddress = Address(fromBase58String(holdings)) | |
9 | 9 | ||
10 | 10 | func claimSquare (x,y,gen,ownerId,transactionId) = { | |
11 | 11 | let resolvedXStr = x | |
12 | 12 | let resolvedYStr = y | |
13 | 13 | let resolvedGenStr = gen | |
14 | 14 | let assetName = ((resolvedXStr + ",") + resolvedYStr) | |
15 | 15 | let assetUrl = ((nftDomain + transactionId) + ".png") | |
16 | 16 | let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false) | |
17 | 17 | let assetId = calculateAssetId(asset) | |
18 | 18 | let dataKeyPrefix = ((assetName + ",") + gen) | |
19 | 19 | $Tuple4(asset, assetId, assetUrl, dataKeyPrefix) | |
20 | 20 | } | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | @Callable(i) | |
24 | 24 | func purchase (x,y) = { | |
25 | 25 | let ownerId = toBase58String(i.caller.bytes) | |
26 | 26 | let transactionId = toBase58String(i.transactionId) | |
27 | 27 | let $t09311026 = claimSquare(x, y, "1", ownerId, transactionId) | |
28 | 28 | let asset = $t09311026._1 | |
29 | 29 | let assetId = $t09311026._2 | |
30 | 30 | let assetUrl = $t09311026._3 | |
31 | 31 | let dataKeyPrefix = $t09311026._4 | |
32 | 32 | [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)] | |
33 | 33 | } | |
34 | 34 | ||
35 | 35 | ||
36 | 36 | ||
37 | 37 | @Callable(i) | |
38 | 38 | func autoBuy (x,y) = { | |
39 | 39 | let transactionId = toBase58String(i.transactionId) | |
40 | 40 | let $t014771573 = claimSquare(x, y, "1", holdings, transactionId) | |
41 | 41 | let asset = $t014771573._1 | |
42 | 42 | let assetId = $t014771573._2 | |
43 | 43 | let assetUrl = $t014771573._3 | |
44 | 44 | let dataKeyPrefix = $t014771573._4 | |
45 | 45 | let assetIdStr = toBase58String(assetId) | |
46 | - | let res = invoke(holdingsAddress, "addOwnerAndAmount", [holdings, assetIdStr, "2"], [AttachedPayment(unit, 0)]) | |
47 | - | if ((res == res)) | |
48 | - | then [asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)] | |
49 | - | else throw("Strict value is not equal to itself.") | |
46 | + | [asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)] | |
50 | 47 | } | |
51 | 48 | ||
52 | 49 | ||
53 | 50 | ||
54 | 51 | @Callable(i) | |
55 | 52 | func evolve (x,y,gen,ownerId) = { | |
56 | 53 | let transactionId = toBase58String(i.transactionId) | |
57 | - | let $ | |
58 | - | let asset = $ | |
59 | - | let assetId = $ | |
60 | - | let assetUrl = $ | |
61 | - | let dataKeyPrefix = $ | |
54 | + | let $t023012396 = claimSquare(x, y, gen, ownerId, transactionId) | |
55 | + | let asset = $t023012396._1 | |
56 | + | let assetId = $t023012396._2 | |
57 | + | let assetUrl = $t023012396._3 | |
58 | + | let dataKeyPrefix = $t023012396._4 | |
62 | 59 | [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)] | |
63 | 60 | } | |
64 | 61 | ||
65 | 62 | ||
66 | 63 | ||
67 | 64 | @Callable(i) | |
68 | 65 | func putForSale (assetId,amount) = { | |
69 | 66 | let ownerId = toBase58String(i.caller.bytes) | |
70 | 67 | let res = invoke(holdingsAddress, "addOwnerAndAmount", [ownerId, assetId, amount], [AttachedPayment(unit, 0)]) | |
71 | 68 | if ((res == res)) | |
72 | 69 | then [StringEntry((("sale_" + assetId) + "_originalOwner"), ownerId), StringEntry((("sale_" + assetId) + "_amount"), amount), ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))] | |
73 | 70 | else throw("Strict value is not equal to itself.") | |
74 | 71 | } | |
75 | 72 | ||
76 | 73 | ||
77 | 74 | ||
78 | 75 | @Callable(i) | |
79 | 76 | func finalizeSale (assetId,ownerId) = { | |
80 | 77 | let assetData = match assetInfo(fromBase58String(assetId)) { | |
81 | 78 | case ass: Asset => | |
82 | 79 | ass | |
83 | 80 | case _ => | |
84 | 81 | throw("Asset not found") | |
85 | 82 | } | |
86 | 83 | let assetName = assetData.name | |
87 | 84 | let xPart = split(assetName, ",") | |
88 | 85 | let restPart = split(xPart[1], " ") | |
89 | 86 | let x = match xPart[0] { | |
90 | 87 | case s: String => | |
91 | 88 | valueOrErrorMessage(parseInt(s), "Could not parse 'x'") | |
92 | 89 | case _ => | |
93 | 90 | throw("'x' not found") | |
94 | 91 | } | |
95 | 92 | let y = match restPart[0] { | |
96 | 93 | case s: String => | |
97 | 94 | valueOrErrorMessage(parseInt(s), "Could not parse 'y'") | |
98 | 95 | case _ => | |
99 | 96 | throw("'y' not found") | |
100 | 97 | } | |
101 | 98 | let gen = match restPart[2] { | |
102 | 99 | case s: String => | |
103 | 100 | valueOrErrorMessage(parseInt(s), "Could not parse 'gen'") | |
104 | 101 | case _ => | |
105 | 102 | throw("'gen' not found") | |
106 | 103 | } | |
107 | 104 | let xStr = toString(x) | |
108 | 105 | let yStr = toString(y) | |
109 | 106 | let genStr = toString(gen) | |
110 | - | let $ | |
111 | - | let parsedX = $ | |
112 | - | let parsedY = $ | |
113 | - | let parsedGen = $ | |
107 | + | let $t039754022 = $Tuple3(x, y, gen) | |
108 | + | let parsedX = $t039754022._1 | |
109 | + | let parsedY = $t039754022._2 | |
110 | + | let parsedGen = $t039754022._3 | |
114 | 111 | let returnList = nil | |
115 | 112 | if ((parsedGen == gen)) | |
116 | 113 | then { | |
117 | 114 | let dataKey = ((((xStr + ",") + yStr) + ",") + genStr) | |
118 | 115 | $Tuple2([StringEntry((dataKey + "_owner"), ownerId), StringEntry((("sale_" + assetId) + "_originalOwner"), ""), IntegerEntry((("sale_" + assetId) + "_amount"), 0)], dataKey) | |
119 | 116 | } | |
120 | 117 | else { | |
121 | 118 | let transactionId = toBase58String(i.transactionId) | |
122 | - | let $ | |
123 | - | let asset = $ | |
124 | - | let evolvedAssetId = $ | |
125 | - | let assetUrl = $ | |
126 | - | let dataKeyPrefix = $ | |
119 | + | let $t044054516 = claimSquare(xStr, yStr, genStr, ownerId, transactionId) | |
120 | + | let asset = $t044054516._1 | |
121 | + | let evolvedAssetId = $t044054516._2 | |
122 | + | let assetUrl = $t044054516._3 | |
123 | + | let dataKeyPrefix = $t044054516._4 | |
127 | 124 | let dataKey = dataKeyPrefix | |
128 | 125 | $Tuple2([asset, StringEntry((dataKey + "_assetId"), toBase58String(evolvedAssetId)), StringEntry((dataKey + "_asset"), assetUrl), StringEntry((dataKey + "_owner"), ownerId), StringEntry(transactionId, dataKey), ScriptTransfer(Address(fromBase58String(ownerId)), 1, fromBase58String(assetId))], dataKey) | |
129 | 126 | } | |
130 | 127 | } | |
131 | 128 | ||
132 | 129 | ||
133 | 130 | @Verifier(tx) | |
134 | 131 | func verify () = true | |
135 | 132 |
github/deemru/w8io/169f3d6 50.35 ms ◑![]()