tx · EMBkHzEG1vyJKDjwbE514rtd61CJEMAVm4168Ktrm1Yv

3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6:  -0.01000000 Waves

2023.03.31 10:42 [2513835] smart account 3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6 > SELF 0.00000000 Waves

{ "type": 13, "id": "EMBkHzEG1vyJKDjwbE514rtd61CJEMAVm4168Ktrm1Yv", "fee": 1000000, "feeAssetId": null, "timestamp": 1680248560100, "version": 2, "chainId": 84, "sender": "3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6", "senderPublicKey": "3pW4h7e3NAcqGkvc1AyziZLMPSsG2eXvCGU7vLxPXkaq", "proofs": [ "5A9LQm3LcoP4qMCqDnC5t5HurcU4cirRf9kD4yd4HdDJGWW59mFnRRcDMgSzDnpRD6YXU73BTpoiyM5nYG5nud2H" ], "script": "base64:BgITCAISABIDCgEBEgMKAQESAwoBAQYAFmJzdFVzZHRBc3NldFN0b3JhZ2VLZXkCDmJzdFVzZHRBc3NldElkABZic3RTdXJmQXNzZXRTdG9yYWdlS2V5Ag5ic3RTdXJmQXNzZXRJZAALc3VyZk1vY2tLZXkCCHN1cmZNb2NrAAl3eE1vY2tLZXkCBnd4TW9jawAKeHRuTW9ja0tleQIHeHRuTW9jawEGdW53cmFwAQRkYXRhBAckbWF0Y2gwBQRkYXRhAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXYFByRtYXRjaDAFAXYJAAIBAiFFeHBlY3RlZCB0aGF0IGRhdGEgd2lsbCBiZSBzdHJpbmcEAWkBC2lzc3VlQXNzZXRzAAQIc3VyZk1vY2sJAMMIBwIJU1VSRl9Nb2NrAgAAgK3iBAAGBgUEdW5pdAAABA9zdXJmTW9ja0Fzc2V0SWQJALgIAQUIc3VyZk1vY2sEBnd4TW9jawkAwwgHAgdXWF9Nb2NrAgAAgK3iBAAGBgUEdW5pdAAABA13eE1vY2tBc3NldElkCQC4CAEFBnd4TW9jawQHeHRuTW9jawkAwwgHAghYVE5fTW9jawIAAICt4gQABgYFBHVuaXQAAAQOeHRuTW9ja0Fzc2V0SWQJALgIAQUHeHRuTW9jawkAzAgCCQELRGVsZXRlRW50cnkBBRZic3RVc2R0QXNzZXRTdG9yYWdlS2V5CQDMCAIJAQtEZWxldGVFbnRyeQEFFmJzdFN1cmZBc3NldFN0b3JhZ2VLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgULc3VyZk1vY2tLZXkJANgEAQUPc3VyZk1vY2tBc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIFCXd4TW9ja0tleQkA2AQBBQ13eE1vY2tBc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIFCnh0bk1vY2tLZXkJANgEAQUOeHRuTW9ja0Fzc2V0SWQJAMwIAgUIc3VyZk1vY2sJAMwIAgUGd3hNb2NrCQDMCAIFB3h0bk1vY2sFA25pbAFpAQhzZW5kU3VyZgEGYW1vdW50BAdhc3NldElkCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFC3N1cmZNb2NrS2V5BAdiYWxhbmNlCQDwBwIFBHRoaXMFB2Fzc2V0SWQJAMwIAgkBB1JlaXNzdWUDBQdhc3NldElkBQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQdhc3NldElkBQNuaWwBaQEGc2VuZFd4AQZhbW91bnQEB2Fzc2V0SWQJANkEAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUJd3hNb2NrS2V5BAdiYWxhbmNlCQDwBwIFBHRoaXMFB2Fzc2V0SWQJAMwIAgkBB1JlaXNzdWUDBQdhc3NldElkBQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQdhc3NldElkBQNuaWwBaQEHc2VuZFh0bgEGYW1vdW50BAdhc3NldElkCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFCnh0bk1vY2tLZXkEB2JhbGFuY2UJAPAHAgUEdGhpcwUHYXNzZXRJZAkAzAgCCQEHUmVpc3N1ZQMFB2Fzc2V0SWQFBmFtb3VudAYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFB2Fzc2V0SWQFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmvGb92", "height": 2513835, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8gZfH6eH8SCFnXwCTwxk1HrzH8ZxVh1E69oykQHe33e9 Next: 8o6v9uqmt7smas4cxj2bpK6B3WLUVjDPb6Jw16DheMHa Diff:
OldNewDifferences
3333
3434
3535 @Callable(i)
36-func sendInternalAssetsToTheCaller (id,amount) = {
37- let assetId = if ((id == 0))
38- then unwrap(getBinary(bstUsdtAssetStorageKey))
39- else if ((id == 1))
40- then unwrap(getBinary(bstSurfAssetStorageKey))
41- else throw("Wrong Asset Id")
36+func sendSurf (amount) = {
37+ let assetId = fromBase58String(getStringValue(surfMockKey))
4238 let balance = assetBalance(this, assetId)
43- if ((balance >= amount))
44- then [ScriptTransfer(i.caller, amount, assetId)]
45- else [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, 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)]
4658 }
4759
4860
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let bstUsdtAssetStorageKey = "bstUsdtAssetId"
55
66 let bstSurfAssetStorageKey = "bstSurfAssetId"
77
88 let surfMockKey = "surfMock"
99
1010 let wxMockKey = "wxMock"
1111
1212 let xtnMockKey = "xtnMock"
1313
1414 func unwrap (data) = match data {
1515 case v: ByteVector =>
1616 v
1717 case _ =>
1818 throw("Expected that data will be string")
1919 }
2020
2121
2222 @Callable(i)
2323 func issueAssets () = {
2424 let surfMock = Issue("SURF_Mock", "", 10000000, 6, true, unit, 0)
2525 let surfMockAssetId = calculateAssetId(surfMock)
2626 let wxMock = Issue("WX_Mock", "", 10000000, 6, true, unit, 0)
2727 let wxMockAssetId = calculateAssetId(wxMock)
2828 let xtnMock = Issue("XTN_Mock", "", 10000000, 6, true, unit, 0)
2929 let xtnMockAssetId = calculateAssetId(xtnMock)
3030 [DeleteEntry(bstUsdtAssetStorageKey), DeleteEntry(bstSurfAssetStorageKey), StringEntry(surfMockKey, toBase58String(surfMockAssetId)), StringEntry(wxMockKey, toBase58String(wxMockAssetId)), StringEntry(xtnMockKey, toBase58String(xtnMockAssetId)), surfMock, wxMock, xtnMock]
3131 }
3232
3333
3434
3535 @Callable(i)
36-func sendInternalAssetsToTheCaller (id,amount) = {
37- let assetId = if ((id == 0))
38- then unwrap(getBinary(bstUsdtAssetStorageKey))
39- else if ((id == 1))
40- then unwrap(getBinary(bstSurfAssetStorageKey))
41- else throw("Wrong Asset Id")
36+func sendSurf (amount) = {
37+ let assetId = fromBase58String(getStringValue(surfMockKey))
4238 let balance = assetBalance(this, assetId)
43- if ((balance >= amount))
44- then [ScriptTransfer(i.caller, amount, assetId)]
45- else [Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, 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)]
4658 }
4759
4860
4961 @Verifier(tx)
5062 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5163

github/deemru/w8io/169f3d6 
23.50 ms