tx · DY2yTuL1xNNZQGvVMpaSpVMMRrcTmXBtKW1FFTumAeyv

3Mttoccgkeiiy6UDNxZgRryjbHDhtNSG8hk:  -0.01400000 Waves

2019.07.28 00:32 [605012] smart account 3Mttoccgkeiiy6UDNxZgRryjbHDhtNSG8hk > SELF 0.00000000 Waves

{ "type": 13, "id": "DY2yTuL1xNNZQGvVMpaSpVMMRrcTmXBtKW1FFTumAeyv", "fee": 1400000, "feeAssetId": null, "timestamp": 1564263223738, "version": 1, "sender": "3Mttoccgkeiiy6UDNxZgRryjbHDhtNSG8hk", "senderPublicKey": "85Agsd1kzDDGoNw1gnh5KHdzJBTckBemuSqfn9v9YyB1", "proofs": [ "4CYNcZuJyEpUjsmAjHXZizHGCEP7M5cpm8RsuirQWotC1uxmfZvBEmP2Ld7VFC2MrcdyTCXnntu7gEixE8mQ4UaL" ], "script": null, "chainId": 84, "height": 605012, "spentComplexity": 0 } View: original | compacted Prev: BR3V2xeJ2KaZHQqH71YpoPKbMDkqDGF98GEswoCCWqUG Next: 93q168mrgmg3LRiXhyDCRdi1v2UeNKeuJq8S4dS33qwY Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let a = base58'9UUaVVahBUyLHLQo4HNuQsRMKY9QBH43Grojkbdf4wG4'
5-
6-let b = "destination_wallet_address"
7-
8-let c = "btc"
9-
10-let d = "eth"
11-
12-let e = "waves"
13-
14-let f = "ltc"
15-
16-func g () = {
17- let h = getString(this, b)
18- if ($isInstanceOf(h, "String"))
19- then {
20- let i = h
21- if ((i == ""))
22- then throw("Destination wallet address cannot be empty")
23- else addressFromStringValue(i)
24- }
25- else throw("Destination wallet address undefined")
26- }
27-
28-
29-func j (k,l) = (((k + "_") + l) + "_canceled")
30-
31-
32-func m (k,l,n) = (((((k + "_player_") + l) + "_bet_") + n) + "_amount")
33-
34-
35-func o (k,l,n) = (((((k + "_player_") + l) + "_") + n) + "_share_sum")
36-
37-
38-func p (k) = (k + "_total_bet_amount")
39-
40-
41-func q (k,r) = (((k + "_") + toString(r)) + "_place_player_address")
42-
43-
44-func s (k,n) = (((k + "_") + n) + "_start_price")
45-
46-
47-func t (k,n) = (((k + "_") + n) + "_end_price")
48-
49-
50-func u (k,l) = {
51- let h = getBoolean(this, j(toString(k), l))
52- if ($isInstanceOf(h, "Boolean"))
53- then {
54- let i = h
55- throw("Bet already canceled")
56- }
57- else false
58- }
59-
60-
61-@Callable(v)
62-func setDestinationWallet (w) = if ((v.callerPublicKey != a))
63- then throw("Only owner can call this method")
64- else if ((w == ""))
65- then throw("Address cannot be empty")
66- else WriteSet([DataEntry(b, w)])
67-
68-
69-
70-@Callable(v)
71-func bet (k,x,y,z,A,B) = {
72- let C = toString(k)
73- let D = extract(v.payment)
74- let E = D.amount
75- let F = toBase58String(v.caller.bytes)
76- let G = u(k, F)
77- let H = ((((((C + F) + toString(E)) + toString(x)) + toString(y)) + toString(z)) + toString(A))
78- if (!(sigVerify(toBytes(H), B, a)))
79- then throw("Cannot verify signature")
80- else {
81- let I = {
82- let h = getInteger(this, p(C))
83- if ($isInstanceOf(h, "Int"))
84- then {
85- let i = h
86- i
87- }
88- else 0
89- }
90- let J = (I + E)
91- WriteSet([DataEntry(p(C), I), DataEntry(j(C, F), E), DataEntry(o(C, F, c), x), DataEntry(o(C, F, d), y), DataEntry(o(C, F, e), z), DataEntry(o(C, F, f), A)])
92- }
93- }
94-
95-
96-
97-@Callable(v)
98-func cancelBet (k,B) = {
99- let C = toString(k)
100- let F = toBase58String(v.caller.bytes)
101- let G = u(k, F)
102- let H = (toString(k) + F)
103- if (!(sigVerify(toBytes(H), B, a)))
104- then throw("Cannot verify signature")
105- else {
106- let K = p(C)
107- let L = getIntegerValue(this, m(C, F, e))
108- let M = getIntegerValue(this, K)
109- let J = (M - L)
110- if ((0 > J))
111- then throw("New state of total bet will be less than zero, state error")
112- else ScriptResult(WriteSet([DataEntry(j(C, F), true), DataEntry(K, J)]), TransferSet([ScriptTransfer(addressFromStringValue(F), L, unit)]))
113- }
114- }
115-
116-
117-
118-@Callable(v)
119-func endRace (N,O,P,Q,R,S,T,U,V,W,X,Y) = if ((v.callerPublicKey != a))
120- then throw("Only owner can call endRace")
121- else {
122- let C = toString(N)
123- let I = getIntegerValue(this, p(C))
124- let Z = getIntegerValue(this, m(C, O, e))
125- let aa = getIntegerValue(this, m(C, P, e))
126- let ab = getIntegerValue(this, m(C, Q, e))
127- let ac = (Z * 2)
128- let ad = ((aa * 3) / 2)
129- let ae = ab
130- let af = (I - ((ac + ad) + ae))
131- if ((0 >= af))
132- then throw("Commission must be greater than zero, state error")
133- else {
134- let ag = wavesBalance(this)
135- let ah = (ag - af)
136- if ((0 > ah))
137- then throw("Not enough funds in core account")
138- else ScriptResult(WriteSet([DataEntry(q(C, 1), O), DataEntry(q(C, 2), P), DataEntry(q(C, 3), Q), DataEntry(s(C, c), R), DataEntry(t(C, c), S), DataEntry(s(C, d), T), DataEntry(t(C, d), U), DataEntry(s(C, e), V), DataEntry(t(C, e), W), DataEntry(s(C, f), X), DataEntry(t(C, f), Y)]), TransferSet([ScriptTransfer(addressFromStringValue(O), ac, unit), ScriptTransfer(addressFromStringValue(P), ad, unit), ScriptTransfer(addressFromStringValue(Q), ae, unit), ScriptTransfer(g(), af, unit)]))
139- }
140- }
141-
142-
1+# no script

github/deemru/w8io/873ac7e 
20.98 ms