tx · 8xJoa4kK1gpcJYi8QjgXasuUDAJE6oEpTzKKmdiStmXh

3NBYw8rxLmTvyEdsvaYor8nHG6GJ4NjB2Aw:  -0.01000000 Waves

2023.02.27 08:33 [2467692] smart account 3NBYw8rxLmTvyEdsvaYor8nHG6GJ4NjB2Aw > SELF 0.00000000 Waves

{ "type": 13, "id": "8xJoa4kK1gpcJYi8QjgXasuUDAJE6oEpTzKKmdiStmXh", "fee": 1000000, "feeAssetId": null, "timestamp": 1677476118515, "version": 2, "chainId": 84, "sender": "3NBYw8rxLmTvyEdsvaYor8nHG6GJ4NjB2Aw", "senderPublicKey": "4NDsd3dGKXuKLCoSbYvcWCX276K9ShP75cs9HTBMLJEN", "proofs": [ "2p1bRVb1t6a1YtfFpqAouzQ27wgRF8xwEFUvT1GkBvLj7inHRn6tUuKaMZx7CXLX19KZ1jEEev4RLDEwv6f2rfE2" ], "script": "base64:BgIHCAISAwoBCAIABXRlYW1zASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgAFV0FWRVMBAAEBaQESbWFudWFsRnVuZFRyYW5zZmVyAQ1yZWNlcGllbnRBZGRyBAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEB3JlY2l2ZXIJANkEAQUNcmVjZXBpZW50QWRkcgQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQRcmVjZXBpZW50X3BheW1lbnQJAGgCCQBpAgUGYW1vdW50AOgHAM8HBAxwbGF0Zm9ybV9mZWUJAGgCCQBpAgUGYW1vdW50AOgHABkDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQR1bml0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJANgEAQUGY2FsbGVyAglfdHJhbnNmZXIFBmFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCAgxwbGF0Zm9ybV9mZWUJAKQDAQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkA2AQBBQZjYWxsZXICDF90cmFuc2Zlcl90bwUNcmVjZXBpZW50QWRkcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFB3JlY2l2ZXIFEXJlY2VwaWVudF9wYXltZW50BQR1bml0BQNuaWwDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQV0ZWFtcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQDYBAEFBmNhbGxlcgIJX3RyYW5zZmVyBQZhbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgIMcGxhdGZvcm1fZmVlCQCkAwEFDHBsYXRmb3JtX2ZlZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJANgEAQUGY2FsbGVyAgxfdHJhbnNmZXJfdG8FDXJlY2VwaWVudEFkZHIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQdyZWNpdmVyBRFyZWNlcGllbnRfcGF5bWVudAUFdGVhbXMFA25pbAUDbmlsANuufV8=", "height": 2467692, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GXDWSomhmW1ghzMLXYciuMbHsrF1U6od3tuyeh4o555K Next: 7X4ZbTvZzPEyZbQV5sX7pk5ydzTf6qjfJxK9NfsQ5BL9 Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "_"
4+let a = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
55
6-let b = "buy"
6+let b = base58''
77
8-let c = "price"
9-
10-let d = "sell"
11-
12-let e = 30
13-
14-let f = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
15-
16-let g = base58''
17-
18-let h = "bid"
19-
20-let i = $Tuple4("OPEN", "CLOSED", "REWARDED", "CANCELED")
21-
22-let j = base58'3MvjAaDYHpS4A5K4CV3kZMMEH9m9JdBSvbq'
23-
24-func k (l) = {
25- let m = assetInfo(l)
26- if ($isInstanceOf(m, "Asset"))
27- then {
28- let n = m
29- if (if ((n.decimals == 0))
30- then (n.quantity == 1)
31- else false)
32- then (n.reissuable == false)
33- else false
34- }
35- else false
36- }
37-
38-
39-@Callable(o)
40-func createNft (p,q,r,s,t,u,v,w,x) = {
41- let y = Issue(p, v, 1, 0, false)
42- let z = calculateAssetId(y)
43- let A = o.transactionId
44-[y, ScriptTransfer(o.caller, 1, z), StringEntry(((toBase58String(z) + a) + "Owner"), toString(o.caller)), StringEntry(((toBase58String(z) + a) + "nft_type"), s), StringEntry(((toBase58String(z) + a) + "nft_tags"), t), StringEntry(((toBase58String(z) + a) + "nft_dAppAddress"), r), IntegerEntry(((toBase58String(z) + a) + "nft_selling_price"), u), StringEntry(((toBase58String(z) + a) + "nft_onSell"), w), StringEntry(((toBase58String(z) + a) + "nft_data"), x), StringEntry(((toBase58String(A) + a) + "issue_nft"), toBase58String(z))]
45- }
46-
47-
48-
49-@Callable(o)
50-func sellNFT (B,C) = {
51- let A = o.transactionId
52- let D = o.caller.bytes
53- let E = $Tuple2(value(o.payments[0].assetId), value(o.payments[0].amount))
54- let F = E._1
55- let G = E._2
56- if (!(k(F)))
57- then throw("Token is not NFT")
58- else [StringEntry(((c + a) + toBase58String(value(o.payments[0].assetId))), B), StringEntry(((toString(o.caller) + a) + d), (((toBase58String(F) + a) + toString(G)) + C))]
59- }
60-
61-
62-
63-@Callable(o)
64-func buyNFT (H,I) = {
65- let l = fromBase58String(H)
66- let J = value(o.payments[0].amount)
67- let K = {
68- let m = getString(this, (("nft_" + I) + "_owner"))
69- if ($isInstanceOf(m, "String"))
70- then {
71- let L = m
72- L
73- }
74- else false
75- }
76- let B = getStringValue(((((c + a) + H) + "_") + I))
77- let M = ((J / 1000) * 975)
78- let N = ((J / 1000) * 25)
79- if ((I == toString(o.caller)))
80- then throw("current Owner of NFT not able to purchase")
81- else if ((o.payments[0].assetId == f))
82- then [ScriptTransfer(o.caller, 1, l), ScriptTransfer(Address(fromBase58String(I)), M, f), StringEntry((("nft_" + H) + "platform_fee"), toString(N)), StringEntry(((toString(o.caller) + a) + b), ((H + a) + toString(J))), DeleteEntry((("nft_" + I) + "_owner")), StringEntry((("nft_" + I) + "_owner"), toString(o.caller)), StringEntry(((H + a) + "_owner"), toString(o.caller))]
83- else if ((o.payments[0].assetId == unit))
84- then [ScriptTransfer(o.caller, 1, l), ScriptTransfer(Address(fromBase58String(I)), M, unit), StringEntry((("nft_" + H) + "platform_fee"), toString(N)), StringEntry(((toString(o.caller) + a) + b), ((H + a) + toString(J))), DeleteEntry((("nft_" + I) + "_owner")), StringEntry((("nft_" + I) + "_owner"), toString(o.caller)), StringEntry(((H + a) + "_owner"), toString(o.caller))]
85- else nil
86- }
87-
88-
89-
90-@Callable(o)
91-func cancelSell (O) = {
92- let A = toBase58String(o.transactionId)
93- let D = o.caller.bytes
94-[StringEntry(((A + O) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(D), 1, fromBase58String(O))]
95- }
96-
97-
98-
99-@Callable(o)
100-func addAuction (P,Q,R,S,C) = {
101- let A = toBase58String(o.transactionId)
102- let O = value(o.payments[0].assetId)
103- let B = value(R)
104- let T = (lastBlock.height + S)
105- let U = o.caller.bytes
106- let V = {
107- let m = getString(this, (((toBase58String(O) + a) + "nft_status_") + toBase58String(U)))
108- if ($isInstanceOf(m, "String"))
109- then {
110- let L = m
111- true
112- }
113- else false
114- }
115- if ((V == true))
116- then throw("Already in auction list")
117- else if ((S > e))
118- then throw(("Duration is too long. Must be less than or equal to 7 " + toString(e)))
119- else if ((o.payments[0].assetId == unit))
120- then throw("NFT not attached")
121- else if ((o.payments[0].assetId == f))
122- then throw("NFT not attached")
123- else [StringEntry(((A + "nft_start_auction_date") + toBase58String(U)), P), StringEntry(((A + "nft_end_auction_date") + toBase58String(U)), Q), StringEntry((A + "_nft_start_price"), R), StringEntry((A + "_nft_owner"), toString(o.caller)), StringEntry((A + "_nft_on_auction"), toBase58String(O)), StringEntry((A + "_previous_bidder"), "none"), StringEntry((A + "_highest_bid"), "0"), StringEntry((A + "_winner_of_nft"), "0"), StringEntry((A + "_bidder_count"), "0"), StringEntry((A + "_nft_status"), "OPEN")]
124- }
125-
126-
127-
128-@Callable(o)
129-func placeBid (W,O,q,X,Y) = {
130- let A = toBase58String(o.transactionId)
131- let U = o.caller.bytes
132- let l = fromBase58String(O)
133- let Z = o.payments[0].assetId
134- let aa = o.payments[0].amount
135- let ab = getStringValue(this, (W + "_highest_bid"))
136- let ac = getString(this, (W + "_previous_bidder"))
137- let ad = getStringValue(this, (W + "_bidder_count"))
138- let ae = getStringValue(this, (W + "_winner_of_nft"))
139- let V = getStringValue(this, (W + "_nft_status"))
140- if ((V != "OPEN"))
141- then throw("Not open for auction")
142- else if ((parseIntValue(ab) >= aa))
143- then throw("Bid is less then starting/highest Bid")
144- else if ((ab == "0"))
145- then [StringEntry((W + "_highest_bid"), toString(aa)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(aa)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ae), StringEntry((A + "_prevoius_bid_amount_refund"), ab)]
146- else if ((ab != "0"))
147- then [ScriptTransfer(Address(fromBase58String(ae)), parseIntValue(ab), Z), StringEntry((A + "_previous_bid_amount_refund_to_address"), ae), StringEntry((A + "_prevoius_bid_amount_refund"), ab), StringEntry((W + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((W + "_highest_bid"), toString(aa)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(aa)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X)]
148- else nil
149- }
150-
151-
152-
153-@Callable(o)
154-func acceptBidOffer (W,O,af,Y) = {
155- let ag = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
156- let A = toBase58String(o.transactionId)
157- let ah = fromBase58String(Y)
158- let U = o.caller.bytes
159- let l = fromBase58String(O)
160- let ai = getStringValue(this, (W + "_highest_bid"))
161- let aj = ((parseIntValue(ai) / 1000) * 975)
162- let N = ((parseIntValue(ai) / 1000) * 25)
163- let ak = getStringValue(this, (W + "_winner_of_nft"))
164- if ((Y == ag))
165- then [ScriptTransfer(Address(U), aj, ah), ScriptTransfer(Address(fromBase58String(ak)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), ai), StringEntry((A + "_nft_transfer_to"), ak), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), ai), StringEntry((W + "_nft_transfer_to"), ak), StringEntry((W + "_nft_status"), "REWARDED")]
166- else if ((Y == "WAVES"))
167- then [ScriptTransfer(Address(U), aj, unit), ScriptTransfer(Address(fromBase58String(ak)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), ai), StringEntry((A + "_nft_transfer_to"), ak), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), ai), StringEntry((W + "_nft_transfer_to"), ak), StringEntry((W + "_nft_status"), "REWARDED")]
168- else nil
169- }
170-
171-
172-
173-@Callable(o)
174-func cancelAuction (W,Y) = {
175- let A = toBase58String(o.transactionId)
176- let U = o.caller.bytes
177- let al = getStringValue(this, (W + "_nft_status"))
178- let am = getStringValue(this, (W + "_winner_of_nft"))
179- let an = getStringValue(this, (W + "_nft_owner"))
180- let O = getStringValue(this, (W + "_nft_on_auction"))
181- let ao = getStringValue(this, (W + "_highest_bid"))
182- if ((am == "0"))
183- then [StringEntry(((A + W) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(fromBase58String(an)), 1, fromBase58String(O))]
184- else if ((am != "0"))
185- then throw("soory you can't cancel it because already auction placed by someone")
186- else nil
187- }
188-
189-
190-
191-@Callable(o)
192-func manualFundTransfer (ap,aq) = {
193- let U = o.caller.bytes
194- let ar = fromBase58String(ap)
195- let J = o.payments[0].amount
196- let as = ((J / 1000) * 975)
197- let N = ((J / 1000) * 25)
198- if ((o.payments[0].assetId == unit))
199- then [IntegerEntry((toBase58String(U) + "_transfer"), J), StringEntry("platform_fee", toString(N)), StringEntry((toBase58String(U) + "_transfer_to"), ap), ScriptTransfer(Address(ar), as, unit)]
200- else if ((o.payments[0].assetId == f))
201- then [IntegerEntry((toBase58String(U) + "_transfer"), J), StringEntry("platform_fee", toString(N)), StringEntry((toBase58String(U) + "_transfer_to"), ap), ScriptTransfer(Address(ar), as, f)]
202- else nil
203- }
204-
205-
206-
207-@Callable(o)
208-func backValue (W) = {
209- let U = o.caller.bytes
210- let O = getStringValue(this, (W + "_nft_on_auction"))
211- let an = getStringValue(this, (W + "_nft_owner"))
212-[StringEntry((W + "_nft_status"), "Auction_time over"), ScriptTransfer(Address(fromBase58String(an)), 1, fromBase58String(O))]
213- }
214-
215-
216-
217-@Callable(o)
218-func withdrawBid (at,Y) = {
219- let U = o.caller.bytes
220- let ag = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
221- let A = toBase58String(o.transactionId)
222- let ah = fromBase58String(Y)
223- let au = getStringValue(this, (at + "_highest_bid"))
224- let av = getStringValue(this, (at + "_winner"))
225- let aw = getStringValue(this, (at + "_nft_id"))
226- if ((Y == ag))
227- then [StringEntry((at + "_nft_bid"), "WITHDRAW"), StringEntry((at + "_nft_id"), aw), StringEntry((at + "_bidding_price_refund_amount"), au), ScriptTransfer(o.caller, parseIntValue(au), ah)]
228- else if ((Y == "WAVES"))
229- then [StringEntry((at + "_nft_bid"), "WITHDRAW"), StringEntry((at + "_nft_id"), aw), StringEntry((at + "_bidding_price_refund_amount"), au), ScriptTransfer(o.caller, parseIntValue(au), unit)]
8+@Callable(c)
9+func manualFundTransfer (d) = {
10+ let e = c.caller.bytes
11+ let f = fromBase58String(d)
12+ let g = c.payments[0].amount
13+ let h = ((g / 1000) * 975)
14+ let i = ((g / 1000) * 25)
15+ if ((c.payments[0].assetId == unit))
16+ then [IntegerEntry((toBase58String(e) + "_transfer"), g), StringEntry("platform_fee", toString(i)), StringEntry((toBase58String(e) + "_transfer_to"), d), ScriptTransfer(Address(f), h, unit)]
17+ else if ((c.payments[0].assetId == a))
18+ then [IntegerEntry((toBase58String(e) + "_transfer"), g), StringEntry("platform_fee", toString(i)), StringEntry((toBase58String(e) + "_transfer_to"), d), ScriptTransfer(Address(f), h, a)]
23019 else nil
23120 }
23221
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "_"
4+let a = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
55
6-let b = "buy"
6+let b = base58''
77
8-let c = "price"
9-
10-let d = "sell"
11-
12-let e = 30
13-
14-let f = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
15-
16-let g = base58''
17-
18-let h = "bid"
19-
20-let i = $Tuple4("OPEN", "CLOSED", "REWARDED", "CANCELED")
21-
22-let j = base58'3MvjAaDYHpS4A5K4CV3kZMMEH9m9JdBSvbq'
23-
24-func k (l) = {
25- let m = assetInfo(l)
26- if ($isInstanceOf(m, "Asset"))
27- then {
28- let n = m
29- if (if ((n.decimals == 0))
30- then (n.quantity == 1)
31- else false)
32- then (n.reissuable == false)
33- else false
34- }
35- else false
36- }
37-
38-
39-@Callable(o)
40-func createNft (p,q,r,s,t,u,v,w,x) = {
41- let y = Issue(p, v, 1, 0, false)
42- let z = calculateAssetId(y)
43- let A = o.transactionId
44-[y, ScriptTransfer(o.caller, 1, z), StringEntry(((toBase58String(z) + a) + "Owner"), toString(o.caller)), StringEntry(((toBase58String(z) + a) + "nft_type"), s), StringEntry(((toBase58String(z) + a) + "nft_tags"), t), StringEntry(((toBase58String(z) + a) + "nft_dAppAddress"), r), IntegerEntry(((toBase58String(z) + a) + "nft_selling_price"), u), StringEntry(((toBase58String(z) + a) + "nft_onSell"), w), StringEntry(((toBase58String(z) + a) + "nft_data"), x), StringEntry(((toBase58String(A) + a) + "issue_nft"), toBase58String(z))]
45- }
46-
47-
48-
49-@Callable(o)
50-func sellNFT (B,C) = {
51- let A = o.transactionId
52- let D = o.caller.bytes
53- let E = $Tuple2(value(o.payments[0].assetId), value(o.payments[0].amount))
54- let F = E._1
55- let G = E._2
56- if (!(k(F)))
57- then throw("Token is not NFT")
58- else [StringEntry(((c + a) + toBase58String(value(o.payments[0].assetId))), B), StringEntry(((toString(o.caller) + a) + d), (((toBase58String(F) + a) + toString(G)) + C))]
59- }
60-
61-
62-
63-@Callable(o)
64-func buyNFT (H,I) = {
65- let l = fromBase58String(H)
66- let J = value(o.payments[0].amount)
67- let K = {
68- let m = getString(this, (("nft_" + I) + "_owner"))
69- if ($isInstanceOf(m, "String"))
70- then {
71- let L = m
72- L
73- }
74- else false
75- }
76- let B = getStringValue(((((c + a) + H) + "_") + I))
77- let M = ((J / 1000) * 975)
78- let N = ((J / 1000) * 25)
79- if ((I == toString(o.caller)))
80- then throw("current Owner of NFT not able to purchase")
81- else if ((o.payments[0].assetId == f))
82- then [ScriptTransfer(o.caller, 1, l), ScriptTransfer(Address(fromBase58String(I)), M, f), StringEntry((("nft_" + H) + "platform_fee"), toString(N)), StringEntry(((toString(o.caller) + a) + b), ((H + a) + toString(J))), DeleteEntry((("nft_" + I) + "_owner")), StringEntry((("nft_" + I) + "_owner"), toString(o.caller)), StringEntry(((H + a) + "_owner"), toString(o.caller))]
83- else if ((o.payments[0].assetId == unit))
84- then [ScriptTransfer(o.caller, 1, l), ScriptTransfer(Address(fromBase58String(I)), M, unit), StringEntry((("nft_" + H) + "platform_fee"), toString(N)), StringEntry(((toString(o.caller) + a) + b), ((H + a) + toString(J))), DeleteEntry((("nft_" + I) + "_owner")), StringEntry((("nft_" + I) + "_owner"), toString(o.caller)), StringEntry(((H + a) + "_owner"), toString(o.caller))]
85- else nil
86- }
87-
88-
89-
90-@Callable(o)
91-func cancelSell (O) = {
92- let A = toBase58String(o.transactionId)
93- let D = o.caller.bytes
94-[StringEntry(((A + O) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(D), 1, fromBase58String(O))]
95- }
96-
97-
98-
99-@Callable(o)
100-func addAuction (P,Q,R,S,C) = {
101- let A = toBase58String(o.transactionId)
102- let O = value(o.payments[0].assetId)
103- let B = value(R)
104- let T = (lastBlock.height + S)
105- let U = o.caller.bytes
106- let V = {
107- let m = getString(this, (((toBase58String(O) + a) + "nft_status_") + toBase58String(U)))
108- if ($isInstanceOf(m, "String"))
109- then {
110- let L = m
111- true
112- }
113- else false
114- }
115- if ((V == true))
116- then throw("Already in auction list")
117- else if ((S > e))
118- then throw(("Duration is too long. Must be less than or equal to 7 " + toString(e)))
119- else if ((o.payments[0].assetId == unit))
120- then throw("NFT not attached")
121- else if ((o.payments[0].assetId == f))
122- then throw("NFT not attached")
123- else [StringEntry(((A + "nft_start_auction_date") + toBase58String(U)), P), StringEntry(((A + "nft_end_auction_date") + toBase58String(U)), Q), StringEntry((A + "_nft_start_price"), R), StringEntry((A + "_nft_owner"), toString(o.caller)), StringEntry((A + "_nft_on_auction"), toBase58String(O)), StringEntry((A + "_previous_bidder"), "none"), StringEntry((A + "_highest_bid"), "0"), StringEntry((A + "_winner_of_nft"), "0"), StringEntry((A + "_bidder_count"), "0"), StringEntry((A + "_nft_status"), "OPEN")]
124- }
125-
126-
127-
128-@Callable(o)
129-func placeBid (W,O,q,X,Y) = {
130- let A = toBase58String(o.transactionId)
131- let U = o.caller.bytes
132- let l = fromBase58String(O)
133- let Z = o.payments[0].assetId
134- let aa = o.payments[0].amount
135- let ab = getStringValue(this, (W + "_highest_bid"))
136- let ac = getString(this, (W + "_previous_bidder"))
137- let ad = getStringValue(this, (W + "_bidder_count"))
138- let ae = getStringValue(this, (W + "_winner_of_nft"))
139- let V = getStringValue(this, (W + "_nft_status"))
140- if ((V != "OPEN"))
141- then throw("Not open for auction")
142- else if ((parseIntValue(ab) >= aa))
143- then throw("Bid is less then starting/highest Bid")
144- else if ((ab == "0"))
145- then [StringEntry((W + "_highest_bid"), toString(aa)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(aa)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ae), StringEntry((A + "_prevoius_bid_amount_refund"), ab)]
146- else if ((ab != "0"))
147- then [ScriptTransfer(Address(fromBase58String(ae)), parseIntValue(ab), Z), StringEntry((A + "_previous_bid_amount_refund_to_address"), ae), StringEntry((A + "_prevoius_bid_amount_refund"), ab), StringEntry((W + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((W + "_highest_bid"), toString(aa)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(aa)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ad) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X)]
148- else nil
149- }
150-
151-
152-
153-@Callable(o)
154-func acceptBidOffer (W,O,af,Y) = {
155- let ag = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
156- let A = toBase58String(o.transactionId)
157- let ah = fromBase58String(Y)
158- let U = o.caller.bytes
159- let l = fromBase58String(O)
160- let ai = getStringValue(this, (W + "_highest_bid"))
161- let aj = ((parseIntValue(ai) / 1000) * 975)
162- let N = ((parseIntValue(ai) / 1000) * 25)
163- let ak = getStringValue(this, (W + "_winner_of_nft"))
164- if ((Y == ag))
165- then [ScriptTransfer(Address(U), aj, ah), ScriptTransfer(Address(fromBase58String(ak)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), ai), StringEntry((A + "_nft_transfer_to"), ak), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), ai), StringEntry((W + "_nft_transfer_to"), ak), StringEntry((W + "_nft_status"), "REWARDED")]
166- else if ((Y == "WAVES"))
167- then [ScriptTransfer(Address(U), aj, unit), ScriptTransfer(Address(fromBase58String(ak)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), ai), StringEntry((A + "_nft_transfer_to"), ak), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), ai), StringEntry((W + "_nft_transfer_to"), ak), StringEntry((W + "_nft_status"), "REWARDED")]
168- else nil
169- }
170-
171-
172-
173-@Callable(o)
174-func cancelAuction (W,Y) = {
175- let A = toBase58String(o.transactionId)
176- let U = o.caller.bytes
177- let al = getStringValue(this, (W + "_nft_status"))
178- let am = getStringValue(this, (W + "_winner_of_nft"))
179- let an = getStringValue(this, (W + "_nft_owner"))
180- let O = getStringValue(this, (W + "_nft_on_auction"))
181- let ao = getStringValue(this, (W + "_highest_bid"))
182- if ((am == "0"))
183- then [StringEntry(((A + W) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(fromBase58String(an)), 1, fromBase58String(O))]
184- else if ((am != "0"))
185- then throw("soory you can't cancel it because already auction placed by someone")
186- else nil
187- }
188-
189-
190-
191-@Callable(o)
192-func manualFundTransfer (ap,aq) = {
193- let U = o.caller.bytes
194- let ar = fromBase58String(ap)
195- let J = o.payments[0].amount
196- let as = ((J / 1000) * 975)
197- let N = ((J / 1000) * 25)
198- if ((o.payments[0].assetId == unit))
199- then [IntegerEntry((toBase58String(U) + "_transfer"), J), StringEntry("platform_fee", toString(N)), StringEntry((toBase58String(U) + "_transfer_to"), ap), ScriptTransfer(Address(ar), as, unit)]
200- else if ((o.payments[0].assetId == f))
201- then [IntegerEntry((toBase58String(U) + "_transfer"), J), StringEntry("platform_fee", toString(N)), StringEntry((toBase58String(U) + "_transfer_to"), ap), ScriptTransfer(Address(ar), as, f)]
202- else nil
203- }
204-
205-
206-
207-@Callable(o)
208-func backValue (W) = {
209- let U = o.caller.bytes
210- let O = getStringValue(this, (W + "_nft_on_auction"))
211- let an = getStringValue(this, (W + "_nft_owner"))
212-[StringEntry((W + "_nft_status"), "Auction_time over"), ScriptTransfer(Address(fromBase58String(an)), 1, fromBase58String(O))]
213- }
214-
215-
216-
217-@Callable(o)
218-func withdrawBid (at,Y) = {
219- let U = o.caller.bytes
220- let ag = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
221- let A = toBase58String(o.transactionId)
222- let ah = fromBase58String(Y)
223- let au = getStringValue(this, (at + "_highest_bid"))
224- let av = getStringValue(this, (at + "_winner"))
225- let aw = getStringValue(this, (at + "_nft_id"))
226- if ((Y == ag))
227- then [StringEntry((at + "_nft_bid"), "WITHDRAW"), StringEntry((at + "_nft_id"), aw), StringEntry((at + "_bidding_price_refund_amount"), au), ScriptTransfer(o.caller, parseIntValue(au), ah)]
228- else if ((Y == "WAVES"))
229- then [StringEntry((at + "_nft_bid"), "WITHDRAW"), StringEntry((at + "_nft_id"), aw), StringEntry((at + "_bidding_price_refund_amount"), au), ScriptTransfer(o.caller, parseIntValue(au), unit)]
8+@Callable(c)
9+func manualFundTransfer (d) = {
10+ let e = c.caller.bytes
11+ let f = fromBase58String(d)
12+ let g = c.payments[0].amount
13+ let h = ((g / 1000) * 975)
14+ let i = ((g / 1000) * 25)
15+ if ((c.payments[0].assetId == unit))
16+ then [IntegerEntry((toBase58String(e) + "_transfer"), g), StringEntry("platform_fee", toString(i)), StringEntry((toBase58String(e) + "_transfer_to"), d), ScriptTransfer(Address(f), h, unit)]
17+ else if ((c.payments[0].assetId == a))
18+ then [IntegerEntry((toBase58String(e) + "_transfer"), g), StringEntry("platform_fee", toString(i)), StringEntry((toBase58String(e) + "_transfer_to"), d), ScriptTransfer(Address(f), h, a)]
23019 else nil
23120 }
23221
23322

github/deemru/w8io/c3f4982 
36.03 ms