tx · FafG5DvVanaRDEkCksLGrm7X1z6BKffizJEzQtzvwLwr

3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD:  -0.01000000 Waves

2023.07.30 13:43 [2688500] smart account 3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD > SELF 0.00000000 Waves

{ "type": 13, "id": "FafG5DvVanaRDEkCksLGrm7X1z6BKffizJEzQtzvwLwr", "fee": 1000000, "feeAssetId": null, "timestamp": 1690713889320, "version": 2, "chainId": 84, "sender": "3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD", "senderPublicKey": "G6PnkMn8MpXBkNwsQKMn1o1V7EKMgZyHCJRdFMQuouBC", "proofs": [ "3dW76QbV8P1DLHr34zGvhbtruxQwVPPej5pLYkF1JyR6NR1xDhN7cJw4SdxLrXgsEWnHssHWxQXZzcJgXKnRFkfJ" ], "script": "base64:BgIJCAISABIDCgEBBwAQY29udHJhY3RGaWxlTmFtZQICcDEAA1NFUAIBXwAIa2Fzc2V0SWQCB0Fzc2V0SUQACWtuZXdUb2tlbgIFVG9rZW4BCmtleUFzc2V0SUQACQC5CQIJAMwIAgICJXMJAMwIAgIHYXNzZXRJRAUDbmlsBQNTRVABB3dyYXBFcnIBA21zZwkAuQkCCQDMCAIFEGNvbnRyYWN0RmlsZU5hbWUJAMwIAgIBOgkAzAgCBQNtc2cFA25pbAIAAQh0aHJvd0VycgEDbXNnCQACAQkBB3dyYXBFcnIBBQNtc2cCAWkBDXRva2VuSXNzdWFuY2UABARuYW1lAghQUkFDVElDRQQLZGVzY3JpcHRpb24CCjE6MTAgd2F2ZXMECHF1YW50aXR5AICt4gQECGRlY2ltYWxzAAMEC2lzc3VlX3Rva2VuCQDCCAUFBG5hbWUFC2Rlc2NyaXB0aW9uBQhxdWFudGl0eQUIZGVjaW1hbHMGBAdhc3NldElkCQC4CAEFC2lzc3VlX3Rva2VuCQDMCAIFC2lzc3VlX3Rva2VuCQDMCAIJAQtCaW5hcnlFbnRyeQIFCGthc3NldElkBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIFCWtuZXdUb2tlbggFC2lzc3VlX3Rva2VuBG5hbWUFA25pbAFpAQhidXlUb2tlbgEIcXVhbnRpdHkECndhdmVzT3JFcnIJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQEB2Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwUIa2Fzc2V0SWQCIWlkINGC0L7QutC10L3QsCDQvdC1INC90LDQudC00LXQvQQNcGF5bWVudEFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEC3Rva2VuX3ByaWNlAKCNBgQKYW1vdW50X2R1ZQkAaAIFC3Rva2VuX3ByaWNlBQhxdWFudGl0eQQHcGF5bWVudAQHJG1hdGNoMAkAkQMCCAUBaQhwYXltZW50cwAAAwkAAQIFByRtYXRjaDACD0F0dGFjaGVkUGF5bWVudAQBcAUHJG1hdGNoMAUBcAkAAgECFlNlbmQgZXhhY3RseSAwLjEgV0FWRVMDCQECIT0CBQp3YXZlc09yRXJyBgkBCHRocm93RXJyAQIr0J/Qu9Cw0YLQtdC2INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQsiBXQVZFUwMJAQIhPQIFDXBheW1lbnRBbW91bnQFCmFtb3VudF9kdWUJAQh0aHJvd0VycgECMtCd0LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGD0LzQvNCwINC/0LvQsNGC0LXQttCwCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUIcXVhbnRpdHkFB2Fzc2V0SWQFA25pbABtxCtL", "height": 2688500, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2rewbW6DzYJ2m9TpMftnNiHdzay3kRDrHkuiiVbaMkQh Next: 3BXHgiykf8xd4NT2DwiZ8jjdxbgmsDCXKaXQH8TcvzGF Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "p1"
55
6-let b = Address(base58'3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD')
6+let b = "_"
77
8-let c = " "
8+let c = "AssetID"
99
10-let d = "AssetID"
10+let d = "Token"
1111
12-func e () = makeString(["%s", "Переданное сообщение: "], c)
12+func e () = makeString(["%s", "assetID"], b)
1313
1414
15-func f () = makeString(["%s", "assetID"], c)
15+func f (g) = makeString([a, ":", g], "")
1616
1717
18-func g (h) = makeString([a, ":", h], "")
18+func h (g) = throw(f(g))
1919
2020
21-func i (h) = throw(g(h))
22-
23-
24-@Callable(j)
25-func message (h) = {
26- let k = split(h, c)
27- let l = size(k)
28- let m = getStringValue(b, d)
29- let n = toBytes(m)
30- let o = j.payments[0]
31- let p = j.payments[0].amount
32- if ((p != l))
33- then i("Кол-во слов != кол-ву токенов")
34- else if ((n == j.payments[0].assetId))
35- then i("Платеж должен быть равен количеству слов в переданном сообщении")
36- else [StringEntry(d, m), StringEntry(e(), h)]
21+@Callable(i)
22+func tokenIssuance () = {
23+ let j = "PRACTICE"
24+ let k = "1:10 waves"
25+ let l = 10000000
26+ let m = 3
27+ let n = Issue(j, k, l, m, true)
28+ let o = calculateAssetId(n)
29+[n, BinaryEntry(c, o), StringEntry(d, n.name)]
3730 }
3831
3932
40-@Verifier(q)
41-func r () = sigVerify(q.bodyBytes, q.proofs[0], q.senderPublicKey)
33+
34+@Callable(i)
35+func buyToken (l) = {
36+ let p = (i.payments[0].assetId == unit)
37+ let o = valueOrErrorMessage(getBinaryValue(this, c), "id токена не найден")
38+ let q = i.payments[0].amount
39+ let r = 100000
40+ let s = (r * l)
41+ let t = {
42+ let u = i.payments[0]
43+ if ($isInstanceOf(u, "AttachedPayment"))
44+ then {
45+ let v = u
46+ v
47+ }
48+ else throw("Send exactly 0.1 WAVES")
49+ }
50+ if ((p != true))
51+ then h("Платеж должен быть в WAVES")
52+ else if ((q != s))
53+ then h("Неправильная сумма платежа")
54+ else [ScriptTransfer(i.caller, l, o)]
55+ }
56+
4257
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 = " "
8+let c = "AssetID"
99
10-let d = "AssetID"
10+let d = "Token"
1111
12-func e () = makeString(["%s", "Переданное сообщение: "], c)
12+func e () = makeString(["%s", "assetID"], b)
1313
1414
15-func f () = makeString(["%s", "assetID"], c)
15+func f (g) = makeString([a, ":", g], "")
1616
1717
18-func g (h) = makeString([a, ":", h], "")
18+func h (g) = throw(f(g))
1919
2020
21-func i (h) = throw(g(h))
22-
23-
24-@Callable(j)
25-func message (h) = {
26- let k = split(h, c)
27- let l = size(k)
28- let m = getStringValue(b, d)
29- let n = toBytes(m)
30- let o = j.payments[0]
31- let p = j.payments[0].amount
32- if ((p != l))
33- then i("Кол-во слов != кол-ву токенов")
34- else if ((n == j.payments[0].assetId))
35- then i("Платеж должен быть равен количеству слов в переданном сообщении")
36- else [StringEntry(d, m), StringEntry(e(), h)]
21+@Callable(i)
22+func tokenIssuance () = {
23+ let j = "PRACTICE"
24+ let k = "1:10 waves"
25+ let l = 10000000
26+ let m = 3
27+ let n = Issue(j, k, l, m, true)
28+ let o = calculateAssetId(n)
29+[n, BinaryEntry(c, o), StringEntry(d, n.name)]
3730 }
3831
3932
40-@Verifier(q)
41-func r () = sigVerify(q.bodyBytes, q.proofs[0], q.senderPublicKey)
33+
34+@Callable(i)
35+func buyToken (l) = {
36+ let p = (i.payments[0].assetId == unit)
37+ let o = valueOrErrorMessage(getBinaryValue(this, c), "id токена не найден")
38+ let q = i.payments[0].amount
39+ let r = 100000
40+ let s = (r * l)
41+ let t = {
42+ let u = i.payments[0]
43+ if ($isInstanceOf(u, "AttachedPayment"))
44+ then {
45+ let v = u
46+ v
47+ }
48+ else throw("Send exactly 0.1 WAVES")
49+ }
50+ if ((p != true))
51+ then h("Платеж должен быть в WAVES")
52+ else if ((q != s))
53+ then h("Неправильная сумма платежа")
54+ else [ScriptTransfer(i.caller, l, o)]
55+ }
56+
4257

github/deemru/w8io/873ac7e 
29.79 ms