tx · 8o6v9uqmt7smas4cxj2bpK6B3WLUVjDPb6Jw16DheMHa 3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6: -0.01000000 Waves 2023.09.07 12:58 [2744818] smart account 3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6 > SELF 0.00000000 Waves
{ "type": 13, "id": "8o6v9uqmt7smas4cxj2bpK6B3WLUVjDPb6Jw16DheMHa", "fee": 1000000, "feeAssetId": null, "timestamp": 1694080711600, "version": 2, "chainId": 84, "sender": "3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6", "senderPublicKey": "3pW4h7e3NAcqGkvc1AyziZLMPSsG2eXvCGU7vLxPXkaq", "proofs": [ "5ZxFCgKwc2UKcr19V9ZT8wmusmqa1VmcKm3BhZhpKwiPMTdrpPUKwsreTjvoT9VDWRfPh814Ud1kGcQrDw9KvfkE" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAAAQAAAAAJcmVjZXBpZW50AQAAABoBVIxhil+sdwu2jS1p0aM0qMpq9rr6QP5z7QAAAAEAAAABaQEAAAAFaXNzdWUAAAAABAAAAAVhc3NldAkABEMAAAAHAgAAAAdUaW1Ub20yAgAAAAAAAWNFeF2KAAAAAAAAAAAAAAgHBQAAAAR1bml0AAAAAAAAAAAABAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWFzc2V0CQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQUAAAAJcmVjZXBpZW50AAAjhvJvwQAABQAAAAdhc3NldElkBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleZkAQvg=", "height": 2744818, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EMBkHzEG1vyJKDjwbE514rtd61CJEMAVm4168Ktrm1Yv Next: none Diff:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let bstUsdtAssetStorageKey = "bstUsdtAssetId" | |
5 | - | ||
6 | - | let bstSurfAssetStorageKey = "bstSurfAssetId" | |
7 | - | ||
8 | - | let surfMockKey = "surfMock" | |
9 | - | ||
10 | - | let wxMockKey = "wxMock" | |
11 | - | ||
12 | - | let xtnMockKey = "xtnMock" | |
13 | - | ||
14 | - | func unwrap (data) = match data { | |
15 | - | case v: ByteVector => | |
16 | - | v | |
17 | - | case _ => | |
18 | - | throw("Expected that data will be string") | |
19 | - | } | |
20 | - | ||
4 | + | let recepient = base58'3N2iME1bcpy9zdFi2S1rmQDjPvvN5X8t3qW' | |
21 | 5 | ||
22 | 6 | @Callable(i) | |
23 | - | func issueAssets () = { | |
24 | - | let surfMock = Issue("SURF_Mock", "", 10000000, 6, true, unit, 0) | |
25 | - | let surfMockAssetId = calculateAssetId(surfMock) | |
26 | - | let wxMock = Issue("WX_Mock", "", 10000000, 6, true, unit, 0) | |
27 | - | let wxMockAssetId = calculateAssetId(wxMock) | |
28 | - | let xtnMock = Issue("XTN_Mock", "", 10000000, 6, true, unit, 0) | |
29 | - | let xtnMockAssetId = calculateAssetId(xtnMock) | |
30 | - | [DeleteEntry(bstUsdtAssetStorageKey), DeleteEntry(bstSurfAssetStorageKey), StringEntry(surfMockKey, toBase58String(surfMockAssetId)), StringEntry(wxMockKey, toBase58String(wxMockAssetId)), StringEntry(xtnMockKey, toBase58String(xtnMockAssetId)), surfMock, wxMock, xtnMock] | |
31 | - | } | |
32 | - | ||
33 | - | ||
34 | - | ||
35 | - | @Callable(i) | |
36 | - | func sendSurf (amount) = { | |
37 | - | let assetId = fromBase58String(getStringValue(surfMockKey)) | |
38 | - | let balance = assetBalance(this, assetId) | |
39 | - | [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)] | |
40 | - | } | |
41 | - | ||
42 | - | ||
43 | - | ||
44 | - | @Callable(i) | |
45 | - | func sendWx (amount) = { | |
46 | - | let assetId = fromBase58String(getStringValue(wxMockKey)) | |
47 | - | let balance = assetBalance(this, assetId) | |
48 | - | [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)] | |
49 | - | } | |
50 | - | ||
51 | - | ||
52 | - | ||
53 | - | @Callable(i) | |
54 | - | func sendXtn (amount) = { | |
55 | - | let assetId = fromBase58String(getStringValue(xtnMockKey)) | |
56 | - | let balance = assetBalance(this, assetId) | |
57 | - | [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)] | |
7 | + | func issue () = { | |
8 | + | let asset = Issue("TimTom2", "", 100000000000000000, 8, false, unit, 0) | |
9 | + | let assetId = calculateAssetId(asset) | |
10 | + | [asset, ScriptTransfer(Address(recepient), 10000000000000000, assetId)] | |
58 | 11 | } | |
59 | 12 | ||
60 | 13 |
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let bstUsdtAssetStorageKey = "bstUsdtAssetId" | |
5 | - | ||
6 | - | let bstSurfAssetStorageKey = "bstSurfAssetId" | |
7 | - | ||
8 | - | let surfMockKey = "surfMock" | |
9 | - | ||
10 | - | let wxMockKey = "wxMock" | |
11 | - | ||
12 | - | let xtnMockKey = "xtnMock" | |
13 | - | ||
14 | - | func unwrap (data) = match data { | |
15 | - | case v: ByteVector => | |
16 | - | v | |
17 | - | case _ => | |
18 | - | throw("Expected that data will be string") | |
19 | - | } | |
20 | - | ||
4 | + | let recepient = base58'3N2iME1bcpy9zdFi2S1rmQDjPvvN5X8t3qW' | |
21 | 5 | ||
22 | 6 | @Callable(i) | |
23 | - | func issueAssets () = { | |
24 | - | let surfMock = Issue("SURF_Mock", "", 10000000, 6, true, unit, 0) | |
25 | - | let surfMockAssetId = calculateAssetId(surfMock) | |
26 | - | let wxMock = Issue("WX_Mock", "", 10000000, 6, true, unit, 0) | |
27 | - | let wxMockAssetId = calculateAssetId(wxMock) | |
28 | - | let xtnMock = Issue("XTN_Mock", "", 10000000, 6, true, unit, 0) | |
29 | - | let xtnMockAssetId = calculateAssetId(xtnMock) | |
30 | - | [DeleteEntry(bstUsdtAssetStorageKey), DeleteEntry(bstSurfAssetStorageKey), StringEntry(surfMockKey, toBase58String(surfMockAssetId)), StringEntry(wxMockKey, toBase58String(wxMockAssetId)), StringEntry(xtnMockKey, toBase58String(xtnMockAssetId)), surfMock, wxMock, xtnMock] | |
31 | - | } | |
32 | - | ||
33 | - | ||
34 | - | ||
35 | - | @Callable(i) | |
36 | - | func sendSurf (amount) = { | |
37 | - | let assetId = fromBase58String(getStringValue(surfMockKey)) | |
38 | - | let balance = assetBalance(this, assetId) | |
39 | - | [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)] | |
40 | - | } | |
41 | - | ||
42 | - | ||
43 | - | ||
44 | - | @Callable(i) | |
45 | - | func sendWx (amount) = { | |
46 | - | let assetId = fromBase58String(getStringValue(wxMockKey)) | |
47 | - | let balance = assetBalance(this, assetId) | |
48 | - | [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)] | |
49 | - | } | |
50 | - | ||
51 | - | ||
52 | - | ||
53 | - | @Callable(i) | |
54 | - | func sendXtn (amount) = { | |
55 | - | let assetId = fromBase58String(getStringValue(xtnMockKey)) | |
56 | - | let balance = assetBalance(this, assetId) | |
57 | - | [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)] | |
7 | + | func issue () = { | |
8 | + | let asset = Issue("TimTom2", "", 100000000000000000, 8, false, unit, 0) | |
9 | + | let assetId = calculateAssetId(asset) | |
10 | + | [asset, ScriptTransfer(Address(recepient), 10000000000000000, assetId)] | |
58 | 11 | } | |
59 | 12 | ||
60 | 13 | ||
61 | 14 | @Verifier(tx) | |
62 | 15 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
63 | 16 |
github/deemru/w8io/169f3d6 24.66 ms ◑![]()