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:
Old | New | | Differences |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "p1" |
---|
5 | 5 | | |
---|
6 | | - | let b = Address(base58'3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD') |
---|
| 6 | + | let b = "_" |
---|
7 | 7 | | |
---|
8 | | - | let c = " " |
---|
| 8 | + | let c = "AssetID" |
---|
9 | 9 | | |
---|
10 | | - | let d = "AssetID" |
---|
| 10 | + | let d = "Token" |
---|
11 | 11 | | |
---|
12 | | - | func e () = makeString(["%s", "Переданное сообщение: "], c) |
---|
| 12 | + | func e () = makeString(["%s", "assetID"], b) |
---|
13 | 13 | | |
---|
14 | 14 | | |
---|
15 | | - | func f () = makeString(["%s", "assetID"], c) |
---|
| 15 | + | func f (g) = makeString([a, ":", g], "") |
---|
16 | 16 | | |
---|
17 | 17 | | |
---|
18 | | - | func g (h) = makeString([a, ":", h], "") |
---|
| 18 | + | func h (g) = throw(f(g)) |
---|
19 | 19 | | |
---|
20 | 20 | | |
---|
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)] |
---|
37 | 30 | | } |
---|
38 | 31 | | |
---|
39 | 32 | | |
---|
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 | + | |
---|
42 | 57 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "p1" |
---|
5 | 5 | | |
---|
6 | | - | let b = Address(base58'3MwPF8FWd4fYohy6CXXB6wtjbRRvqFpxmdD') |
---|
| 6 | + | let b = "_" |
---|
7 | 7 | | |
---|
8 | | - | let c = " " |
---|
| 8 | + | let c = "AssetID" |
---|
9 | 9 | | |
---|
10 | | - | let d = "AssetID" |
---|
| 10 | + | let d = "Token" |
---|
11 | 11 | | |
---|
12 | | - | func e () = makeString(["%s", "Переданное сообщение: "], c) |
---|
| 12 | + | func e () = makeString(["%s", "assetID"], b) |
---|
13 | 13 | | |
---|
14 | 14 | | |
---|
15 | | - | func f () = makeString(["%s", "assetID"], c) |
---|
| 15 | + | func f (g) = makeString([a, ":", g], "") |
---|
16 | 16 | | |
---|
17 | 17 | | |
---|
18 | | - | func g (h) = makeString([a, ":", h], "") |
---|
| 18 | + | func h (g) = throw(f(g)) |
---|
19 | 19 | | |
---|
20 | 20 | | |
---|
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)] |
---|
37 | 30 | | } |
---|
38 | 31 | | |
---|
39 | 32 | | |
---|
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 | + | |
---|
42 | 57 | | |
---|