tx · FrUPKwuFKN7giTMsRpQaio9Fb9FxKbon8MPThsPpN561

3N2tusqAtDctK8iSTXS6F9rimmftmSuwLUX:  -0.05000000 Waves

2019.10.29 07:04 [740929] smart account 3N2tusqAtDctK8iSTXS6F9rimmftmSuwLUX > SELF 0.00000000 Waves

{ "type": 13, "id": "FrUPKwuFKN7giTMsRpQaio9Fb9FxKbon8MPThsPpN561", "fee": 5000000, "feeAssetId": null, "timestamp": 1572321918298, "version": 1, "sender": "3N2tusqAtDctK8iSTXS6F9rimmftmSuwLUX", "senderPublicKey": "ACfUG5PwG2GssMuyEwVEhkYAbbbP1geSHR8XoNxLyu6V", "proofs": [ "2JkwMv5M6BQYHijzxfV6AHEYLrFdN2ZP6J8nVJzideh8k5kujEPkiD8Yumg5np5PhqH63dPG2HtX8aJ3ZqQBJm8Z" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAAHQAAAAAJUlNBUFVCTElDCQACWwAAAAECAAABj2Jhc2U2NDpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQWc0ZEFSNlhiQkRBUzloci9FajNkSnY2RmZjNDY2eC9tT0dNV1UzbHJBQnMzcWE4QkhtdUpHbmtmYnBFZjJ2QXdZVE9XUHZ2emZNMTBPQmJmbG9TeXEzYzlNS3Z5VGUxbHVCTEdxVzR2WlVYSXl2U2d6MWxpeVVWZWZJUXkzZHlGOWpiZVRaYkMwYmJjVC83TzNERUwrMDF6NkErckRDYWNTWjBsR29sU1E2QW5oTHh6SWtWcE9RSmJyQm1DK3grWnVaUENNV3pKeW5kNWFlT243amFqL21rUlZ5eGU2Zy8wT2hXejROaWlaWGV1TVJCKzhtS3kwZldEL1VsSWxaV0hzQVMyWm1ya1hLcWpMcTAvMHdyOElMSmt6bmpTcWRuSTVJYmpnM3VRcmovNEFOK2k5cjI4YVE3My9aa1B0WTVTYncwQU9pQUJCdTdnSG1xOWF5VnhaUUlEQVFBQgAAAAAPR0FNRVNDT1VOVEVSS0VZAgAAAAkkR0FNRV9OVU0AAAAABFdCRVQBAAAAIA+bi6xab2gnOR9SbfiMgOxiQKrNdZOH+I5+YI04ouDJAAAAAAtGRUVXQVZFU0JFVAAAAAAAAAAABAAAAAAJRkVFTUNBRkVFAAAAAAAAAAACAAAAAAdXQVZFTEVUAAAAAAAF9eEAAAAAAA5TVEFURVNVQk1JVFRFRAIAAAAJU1VCTUlUVEVEAAAAAA1TVEFURUFDQ0VQVEVEAgAAAAhBQ0NFUFRFRAAAAAANU1RBVEVGSU5JU0hFRAIAAAAIRklOSVNIRUQAAAAADVNUQVRFQ0FOQ0VMRUQCAAAACENBTkNFTEVEAAAAAAdDT0lOUkVEAgAAAANSRUQAAAAACENPSU5CTFVFAgAAAARCTFVFAAAAAAtCRVRNSU5XQVZFUwkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAAEFAAAAB1dBVkVMRVQAAAAAAAAAAAIAAAAACkJFVE1JTldCRVQJAABoAAAAAgAAAAAAAAAAZAUAAAAHV0FWRUxFVAAAAAAMSWR4R2FtZVN0YXRlAAAAAAAAAAAAAAAA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AAEJAABpAAAAAgUAAAALQkVUTUlOV0FWRVMFAAAAB1dBVkVMRVQJAABpAAAAAgkAAGgAAAACCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAgkAAGUAAAACAAAAAAAAAABkCQAAZAAAAAIFAAAAC0ZFRVdBVkVTQkVUBQAAAAlGRUVNQ0FGRUUAAAAAAAAAAGQAAAABAAAAAWkBAAAACHBsYXlDb2luAAAAAQAAAAZwYUNvaW4EAAAABmdhbWVJZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAApnYW1lSWRVc2VkCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzBQAAAAZnYW1lSWQEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAKZmVlQXNzZXRJZAkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAFpAAAACmZlZUFzc2V0SWQDAwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAA+wAAAABAQAAAAQTq9kzCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAARXQkVUBwkAAAIAAAABAgAAADFQYXltZW50IHNob3VsZCBiZSBpbiBXYmV0IG9yIFdhdmVzLiBHYW1lIGFib3J0ZWQuAwUAAAAKZmVlQXNzZXRJZAkAAAIAAAABAgAAADFUcmFuc2FjdGlvbidzIGZlZSBtdXN0IGJlIGluIFdhdmVzLiBHYW1lIGFib3J0ZWQuAwUAAAAKZ2FtZUlkVXNlZAkAAAIAAAABAgAAADFQYXNzZWQgZ2FtZUlkIGhhZCBiZWVuIHVzZWQgYmVmb3JlLiBHYW1lIGFib3J0ZWQuBAAAAApuZXdHYW1lTnVtCQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAAD3BsYXllckFQdWJLZXk1OAkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAB3BheVR5cGUJAQAAAAtwYXltZW50VHlwZQAAAAEFAAAAB3BheW1lbnQEAAAABndpbkFtdAkBAAAAGlZhbGlkYXRlQmV0QW5kRGVmaW5lV2luQW10AAAAAwgFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAAZwYUNvaW4FAAAAB3BheVR5cGUEAAAAC2dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAIBQAAAA5TVEFURVNVQk1JVFRFRAUAAAAGcGFDb2luBQAAAA9wbGF5ZXJBUHViS2V5NTgFAAAAB3BheVR5cGUIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAAGd2luQW10AgAAAAACAAAAAAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD0dBTUVTQ09VTlRFUktFWQUAAAAKbmV3R2FtZU51bQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAAtnYW1lRGF0YVN0cgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAANuaWwAAAAAQlvgOQ==", "chainId": 84, "height": 740929, "spentComplexity": 0 } View: original | compacted Prev: HPB8uezNA4RVDkN8FsD38gqGBMzUy8ZvvBfMVLSCMWuW Next: YjUvJ7T6i71pM9ZnS1cskNSyt55uLPdiDgmQaQQxHCV Diff:
OldNewDifferences
123123 then (m > Z)
124124 else false)
125125 then throw(("The minimum bet on Waves is " + toString((m / f))))
126- else ((Z * 2) * ((100 - (d + e)) / 100))
126+ else (((Z * 2) * (100 - (d + e))) / 100)
127127
128128
129129 @Callable(ab)
146146 let S = I(J)
147147 let U = Y(J.amount, ac, S)
148148 let ah = O(g, ac, R, S, J.amount, U, "", "")
149- throw(ah)
149+ ScriptResult(WriteSet([DataEntry(b, ag), DataEntry(ad, ah)]), TransferSet(nil))
150150 }
151151 }
152152
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
55
66 let b = "$GAME_NUM"
77
88 let c = base58'23vgV9p9pD83A7CFbsDEc4zjanep7UeFo4ZRS6oGorhv'
99
1010 let d = 4
1111
1212 let e = 2
1313
1414 let f = 100000000
1515
1616 let g = "SUBMITTED"
1717
1818 let h = "ACCEPTED"
1919
2020 let i = "FINISHED"
2121
2222 let j = "CANCELED"
2323
2424 let k = "RED"
2525
2626 let l = "BLUE"
2727
2828 let m = ((1 * f) / 2)
2929
3030 let n = (100 * f)
3131
3232 let o = 0
3333
3434 let p = 1
3535
3636 let q = 2
3737
3838 let r = 3
3939
4040 let s = 4
4141
4242 let t = 5
4343
4444 let u = 6
4545
4646 let v = 7
4747
4848 func w () = {
4949 let x = {
5050 let y = getInteger(this, b)
5151 if ($isInstanceOf(y, "Int"))
5252 then {
5353 let z = y
5454 z
5555 }
5656 else 0
5757 }
5858 (x + 1)
5959 }
6060
6161
6262 func A (B,C,D) = {
6363 let E = {
6464 let y = getBinary(this, "lastPlay")
6565 if ($isInstanceOf(y, "ByteVector"))
6666 then {
6767 let F = y
6868 F
6969 }
7070 else if ($isInstanceOf(y, "Unit"))
7171 then {
7272 let G = y
7373 base58'2ee4oFDYriWJ9EMeR'
7474 }
7575 else throw()
7676 }
7777 let H = (((((E + B.transactionId) + B.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
7878 (((toInt(sha256(H)) % 1000) % ((C - D) + 1)) + 1)
7979 }
8080
8181
8282 func I (J) = if ((J.assetId == c))
8383 then "WBET"
8484 else "WAVES"
8585
8686
8787 func K (L) = if ((L == "WBET"))
8888 then c
8989 else unit
9090
9191
9292 func M (N) = {
9393 let F = size(N)
9494 if ((F == 0))
9595 then throw("Parameter size must be greater then 0")
9696 else if ((F > 99))
9797 then throw("Parameter size must be less then 100")
9898 else if ((10 > F))
9999 then (("0" + toString(F)) + N)
100100 else (toString(F) + N)
101101 }
102102
103103
104104 func O (P,Q,R,S,T,U,V,W) = {
105105 let X = ((((((((((M(P) + "_") + M(Q)) + "_") + M(R)) + "_") + M(S)) + "_") + M(toString(T))) + "_") + M(toString(U)))
106106 if (if ((V == ""))
107107 then true
108108 else (W == ""))
109109 then X
110110 else ((((X + "_") + M(V)) + "_") + M(W))
111111 }
112112
113113
114114 func Y (Z,aa,I) = if (if ((aa != k))
115115 then (aa != l)
116116 else false)
117117 then throw("Invalid play, change your bet to RED or BLUE coin. Game aborted.")
118118 else if (if ((I == "WBET"))
119119 then (n > Z)
120120 else false)
121121 then throw(("The minimum bet on Wbet is " + toString((n / f))))
122122 else if (if ((I == "WAVES"))
123123 then (m > Z)
124124 else false)
125125 then throw(("The minimum bet on Waves is " + toString((m / f))))
126- else ((Z * 2) * ((100 - (d + e)) / 100))
126+ else (((Z * 2) * (100 - (d + e))) / 100)
127127
128128
129129 @Callable(ab)
130130 func playCoin (ac) = {
131131 let ad = toBase58String(ab.transactionId)
132132 let ae = isDefined(getString(this, ad))
133133 let J = extract(ab.payment)
134134 let af = isDefined(ab.feeAssetId)
135135 if (if ((J.assetId != assetInfo(base58'WAVES')))
136136 then (J.assetId != c)
137137 else false)
138138 then throw("Payment should be in Wbet or Waves. Game aborted.")
139139 else if (af)
140140 then throw("Transaction's fee must be in Waves. Game aborted.")
141141 else if (ae)
142142 then throw("Passed gameId had been used before. Game aborted.")
143143 else {
144144 let ag = w()
145145 let R = toBase58String(ab.callerPublicKey)
146146 let S = I(J)
147147 let U = Y(J.amount, ac, S)
148148 let ah = O(g, ac, R, S, J.amount, U, "", "")
149- throw(ah)
149+ ScriptResult(WriteSet([DataEntry(b, ag), DataEntry(ad, ah)]), TransferSet(nil))
150150 }
151151 }
152152
153153

github/deemru/w8io/169f3d6 
128.36 ms