tx · Hk1QunLJEYNrAe7ZSQdb9EPHa25Y4VVhGYvHxLmZzzPw

3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD:  -0.01000000 Waves

2023.08.19 19:30 [2717726] smart account 3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD > SELF 0.00000000 Waves

{ "type": 13, "id": "Hk1QunLJEYNrAe7ZSQdb9EPHa25Y4VVhGYvHxLmZzzPw", "fee": 1000000, "feeAssetId": null, "timestamp": 1692462663374, "version": 2, "chainId": 84, "sender": "3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD", "senderPublicKey": "G6PnkMn8MpXBkNwsQKMn1o1V7EKMgZyHCJRdFMQuouBC", "proofs": [ "4KxwQpqDVJBhXqqNhHEKv4RHVAryzeGyUDoieSu6Xf2namt52rC4MjY9denkc91RMyaNS8opq7yeJChXDB33VspT" ], "script": "base64:BgIJCAISABIDCgEBCAAQY29udHJhY3RGaWxlTmFtZQICcDEAA1NFUAIBXwAIa2Fzc2V0SWQCB0Fzc2V0SUQACWtuZXdUb2tlbgIFVG9rZW4BCmtleUFzc2V0SUQACQC5CQIJAMwIAgICJXMJAMwIAgIHYXNzZXRJRAUDbmlsBQNTRVABBWtleVR4AAkAuQkCCQDMCAICAiVzCQDMCAICCnB1cmNoYXNlOiAFA25pbAUDU0VQAQd3cmFwRXJyAQNtc2cJALkJAgkAzAgCBRBjb250cmFjdEZpbGVOYW1lCQDMCAICAToJAMwIAgUDbXNnBQNuaWwCAAEIdGhyb3dFcnIBA21zZwkAAgEJAQd3cmFwRXJyAQUDbXNnAgFpAQ10b2tlbklzc3VhbmNlAAQEbmFtZQIIUFJBQ1RJQ0UEC2Rlc2NyaXB0aW9uAgoxOjEwIHdhdmVzBAhxdWFudGl0eQCAreIEBAhkZWNpbWFscwAABAtpc3N1ZV90b2tlbgkAwggFBQRuYW1lBQtkZXNjcmlwdGlvbgUIcXVhbnRpdHkFCGRlY2ltYWxzBgQHYXNzZXRJZAkAuAgBBQtpc3N1ZV90b2tlbgkAzAgCBQtpc3N1ZV90b2tlbgkAzAgCCQELQmluYXJ5RW50cnkCBQhrYXNzZXRJZAUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCBQlrbmV3VG9rZW4IBQtpc3N1ZV90b2tlbgRuYW1lBQNuaWwBaQEIYnV5VG9rZW4BCHF1YW50aXR5BAp3YXZlc09yRXJyCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQR1bml0BAdhc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDUyKQIFBHRoaXMFCGthc3NldElkAiFpZCDRgtC+0LrQtdC90LAg0L3QtSDQvdCw0LnQtNC10L0EDXBheW1lbnRBbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAt0b2tlbl9wcmljZQCAreIEBAphbW91bnRfZHVlCQBoAgULdG9rZW5fcHJpY2UFCHF1YW50aXR5BAdwYXltZW50BAckbWF0Y2gwCQCRAwIIBQFpCHBheW1lbnRzAAADCQABAgUHJG1hdGNoMAIPQXR0YWNoZWRQYXltZW50BAFwBQckbWF0Y2gwBQFwCQACAQIWU2VuZCBleGFjdGx5IDAuMSBXQVZFUwMJAQIhPQIFCndhdmVzT3JFcnIGCQEIdGhyb3dFcnIBAivQn9C70LDRgtC10LYg0LTQvtC70LbQtdC9INCx0YvRgtGMINCyIFdBVkVTAwkBAiE9AgUNcGF5bWVudEFtb3VudAUKYW1vdW50X2R1ZQkBCHRocm93RXJyAQIy0J3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YPQvNC80LAg0L/Qu9Cw0YLQtdC20LAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQhxdWFudGl0eQUHYXNzZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBBWtleVR4AAUIcXVhbnRpdHkFA25pbAA4AM4T", "height": 2717726, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9NpQXs6VfKqupPzdF43QYExgBqCdnFMLkmbqNd5s1okb Next: GkQThJFaL3X8ZPZuAczM7q7yL2UGiTD4JSRsEXb9VMae Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "p1"
55
6-let b = Address(base58'3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD')
6+let b = "_"
77
8-let c = base58'ETjui5BwgM7t2anpXm9A2pY3WzHpaxK8FWRPhw4Bo1GX'
8+let c = "AssetID"
99
10-let d = " "
10+let d = "Token"
1111
12-let e = "AssetID"
13-
14-func f () = makeString(["%s", "Переданное сообщение: "], d)
12+func e () = makeString(["%s", "assetID"], b)
1513
1614
17-func g () = makeString(["%s", "assetID"], d)
15+func f () = makeString(["%s", "purchase: "], b)
1816
1917
20-func h (i) = makeString([a, ":", i], "")
18+func g (h) = makeString([a, ":", h], "")
2119
2220
23-func j (i) = throw(h(i))
21+func i (h) = throw(g(h))
2422
2523
26-@Callable(k)
27-func message (i) = {
28- let l = split(i, d)
29- let m = size(l)
30- let n = k.payments[0]
31- let o = k.payments[0].amount
32- if ((o != m))
33- then j("Кол-во слов != кол-ву токенов")
34- else if ((c == k.payments[0].assetId))
35- then j("Платеж должен быть в PRACTICE")
36- else [StringEntry(f(), i)]
24+@Callable(j)
25+func tokenIssuance () = {
26+ let k = "PRACTICE"
27+ let l = "1:10 waves"
28+ let m = 10000000
29+ let n = 0
30+ let o = Issue(k, l, m, n, true)
31+ let p = calculateAssetId(o)
32+[o, BinaryEntry(c, p), StringEntry(d, o.name)]
3733 }
3834
3935
40-@Verifier(p)
41-func q () = sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey)
36+
37+@Callable(j)
38+func buyToken (m) = {
39+ let q = (j.payments[0].assetId == unit)
40+ let p = valueOrErrorMessage(getBinaryValue(this, c), "id токена не найден")
41+ let r = j.payments[0].amount
42+ let s = 10000000
43+ let t = (s * m)
44+ let u = {
45+ let v = j.payments[0]
46+ if ($isInstanceOf(v, "AttachedPayment"))
47+ then {
48+ let w = v
49+ w
50+ }
51+ else throw("Send exactly 0.1 WAVES")
52+ }
53+ if ((q != true))
54+ then i("Платеж должен быть в WAVES")
55+ else if ((r != t))
56+ then i("Неправильная сумма платежа")
57+ else [ScriptTransfer(j.caller, m, p), IntegerEntry(f(), m)]
58+ }
59+
4260
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "p1"
55
6-let b = Address(base58'3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD')
6+let b = "_"
77
8-let c = base58'ETjui5BwgM7t2anpXm9A2pY3WzHpaxK8FWRPhw4Bo1GX'
8+let c = "AssetID"
99
10-let d = " "
10+let d = "Token"
1111
12-let e = "AssetID"
13-
14-func f () = makeString(["%s", "Переданное сообщение: "], d)
12+func e () = makeString(["%s", "assetID"], b)
1513
1614
17-func g () = makeString(["%s", "assetID"], d)
15+func f () = makeString(["%s", "purchase: "], b)
1816
1917
20-func h (i) = makeString([a, ":", i], "")
18+func g (h) = makeString([a, ":", h], "")
2119
2220
23-func j (i) = throw(h(i))
21+func i (h) = throw(g(h))
2422
2523
26-@Callable(k)
27-func message (i) = {
28- let l = split(i, d)
29- let m = size(l)
30- let n = k.payments[0]
31- let o = k.payments[0].amount
32- if ((o != m))
33- then j("Кол-во слов != кол-ву токенов")
34- else if ((c == k.payments[0].assetId))
35- then j("Платеж должен быть в PRACTICE")
36- else [StringEntry(f(), i)]
24+@Callable(j)
25+func tokenIssuance () = {
26+ let k = "PRACTICE"
27+ let l = "1:10 waves"
28+ let m = 10000000
29+ let n = 0
30+ let o = Issue(k, l, m, n, true)
31+ let p = calculateAssetId(o)
32+[o, BinaryEntry(c, p), StringEntry(d, o.name)]
3733 }
3834
3935
40-@Verifier(p)
41-func q () = sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey)
36+
37+@Callable(j)
38+func buyToken (m) = {
39+ let q = (j.payments[0].assetId == unit)
40+ let p = valueOrErrorMessage(getBinaryValue(this, c), "id токена не найден")
41+ let r = j.payments[0].amount
42+ let s = 10000000
43+ let t = (s * m)
44+ let u = {
45+ let v = j.payments[0]
46+ if ($isInstanceOf(v, "AttachedPayment"))
47+ then {
48+ let w = v
49+ w
50+ }
51+ else throw("Send exactly 0.1 WAVES")
52+ }
53+ if ((q != true))
54+ then i("Платеж должен быть в WAVES")
55+ else if ((r != t))
56+ then i("Неправильная сумма платежа")
57+ else [ScriptTransfer(j.caller, m, p), IntegerEntry(f(), m)]
58+ }
59+
4260

github/deemru/w8io/026f985 
24.71 ms