tx · EQsk4kmittQy7Re7ZRkQgomcom7JZ6LGj5QAvDvA6xyp

3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6:  -0.01000000 Waves

2023.02.24 11:31 [2463516] smart account 3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6 > SELF 0.00000000 Waves

{ "type": 13, "id": "EQsk4kmittQy7Re7ZRkQgomcom7JZ6LGj5QAvDvA6xyp", "fee": 1000000, "feeAssetId": null, "timestamp": 1677227576450, "version": 2, "chainId": 84, "sender": "3N37eLdtWjhS31FGHvu2HpGLreF11i58Bv6", "senderPublicKey": "3pW4h7e3NAcqGkvc1AyziZLMPSsG2eXvCGU7vLxPXkaq", "proofs": [ "zKPYcAwjM9gKFSA6j8WAwThkdc1gCrYopMT7WBRZtKXqUmnvAvcm2U9MMjYUHbEbukjs97XYnLW9kWFJE7MHpAU" ], "script": "base64:BgIKCAISABIECgIBAQMAFmJzdFVzZHRBc3NldFN0b3JhZ2VLZXkCDmJzdFVzZHRBc3NldElkABZic3RTdXJmQXNzZXRTdG9yYWdlS2V5Ag5ic3RTdXJmQXNzZXRJZAEGdW53cmFwAQRkYXRhBAckbWF0Y2gwBQRkYXRhAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXYFByRtYXRjaDAFAXYJAAIBAiFFeHBlY3RlZCB0aGF0IGRhdGEgd2lsbCBiZSBzdHJpbmcCAWkBC2lzc3VlQXNzZXRzAAQHYnN0VXNkdAkAwwgHAgxic3RVc2R0VGVzdDECAACAreIEAAYGBQR1bml0AAAEDmJzdFVzZHRBc3NldElkCQC4CAEFB2JzdFVzZHQEB2JzdFN1cmYJAMMIBwIMYnN0U3VyZlRlc3QxAgAAgK3iBAAGBgUEdW5pdAABBA5ic3RTdXJmQXNzZXRJZAkAuAgBBQdic3RTdXJmCQDMCAIJAQtEZWxldGVFbnRyeQEFFmJzdFVzZHRBc3NldFN0b3JhZ2VLZXkJAMwIAgkBC0RlbGV0ZUVudHJ5AQUWYnN0U3VyZkFzc2V0U3RvcmFnZUtleQkAzAgCCQELQmluYXJ5RW50cnkCBRZic3RVc2R0QXNzZXRTdG9yYWdlS2V5BQ5ic3RVc2R0QXNzZXRJZAkAzAgCCQELQmluYXJ5RW50cnkCBRZic3RTdXJmQXNzZXRTdG9yYWdlS2V5BQ5ic3RTdXJmQXNzZXRJZAkAzAgCBQdic3RVc2R0CQDMCAIFB2JzdFN1cmYFA25pbAFpAR1zZW5kSW50ZXJuYWxBc3NldHNUb1RoZUNhbGxlcgICaWQGYW1vdW50BAdhc3NldElkAwkAAAIFAmlkAAAJAQZ1bndyYXABCQChCAEFFmJzdFVzZHRBc3NldFN0b3JhZ2VLZXkDCQAAAgUCaWQAAQkBBnVud3JhcAEJAKEIAQUWYnN0U3VyZkFzc2V0U3RvcmFnZUtleQkAAgECDldyb25nIEFzc2V0IElkBAdiYWxhbmNlCQDwBwIFBHRoaXMFB2Fzc2V0SWQDCQBnAgUHYmFsYW5jZQUGYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQdhc3NldElkBQNuaWwJAAIBAhJJbnN1ZmZpY2llbnQgZnVuZHMBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V58LU5Jg==", "height": 2463516, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9ipHkRPdWWm6MTNR77qg3gn8tcF2VW3mdGFFBRk5XGsg Next: oBAdq27BP79QYqV5tJoQQHvRwaBv5d3Q9QNvHK3Em7u Diff:
OldNewDifferences
55
66 let bstSurfAssetStorageKey = "bstSurfAssetId"
77
8-func convertToByteVector (data) = match data {
9- case str: String =>
10- toBytes(str)
8+func unwrap (data) = match data {
9+ case v: ByteVector =>
10+ v
1111 case _ =>
1212 throw("Expected that data will be string")
1313 }
1414
1515
1616 @Callable(i)
17-func call () = {
18- let asset = Issue("Asset", "", 100, 8, true, unit, 0)
19- let assetId = calculateAssetId(asset)
20-[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), asset]
21- }
22-
23-
24-
25-@Callable(i)
2617 func issueAssets () = {
27- let bstUsdt = Issue("bstUsdtTest1", "", 1000000, 6, true, unit, 0)
18+ let bstUsdt = Issue("bstUsdtTest1", "", 10000000, 6, true, unit, 0)
2819 let bstUsdtAssetId = calculateAssetId(bstUsdt)
29- let bstSurf = Issue("bstSurfTest1", "", 1000000, 6, true, unit, 1)
20+ let bstSurf = Issue("bstSurfTest1", "", 10000000, 6, true, unit, 1)
3021 let bstSurfAssetId = calculateAssetId(bstSurf)
31-[StringEntry(bstUsdtAssetStorageKey, toBase58String(bstUsdtAssetId)), StringEntry(bstSurfAssetStorageKey, toBase58String(bstSurfAssetId)), BinaryEntry("TestData", bstSurfAssetId), bstUsdt, bstSurf]
22+[DeleteEntry(bstUsdtAssetStorageKey), DeleteEntry(bstSurfAssetStorageKey), BinaryEntry(bstUsdtAssetStorageKey, bstUsdtAssetId), BinaryEntry(bstSurfAssetStorageKey, bstSurfAssetId), bstUsdt, bstSurf]
3223 }
3324
3425
3627 @Callable(i)
3728 func sendInternalAssetsToTheCaller (id,amount) = {
3829 let assetId = if ((id == 0))
39- then getString(bstUsdtAssetStorageKey)
30+ then unwrap(getBinary(bstUsdtAssetStorageKey))
4031 else if ((id == 1))
41- then getString(bstSurfAssetStorageKey)
32+ then unwrap(getBinary(bstSurfAssetStorageKey))
4233 else throw("Wrong Asset Id")
43- let balance = assetBalance(this, convertToByteVector(assetId))
34+ let balance = assetBalance(this, assetId)
4435 if ((balance >= amount))
45- then [ScriptTransfer(i.caller, amount, convertToByteVector(assetId))]
46- else [ScriptTransfer(i.caller, amount, convertToByteVector(assetId))]
36+ then [ScriptTransfer(i.caller, amount, assetId)]
37+ else throw("Insufficient funds")
4738 }
4839
4940
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let bstUsdtAssetStorageKey = "bstUsdtAssetId"
55
66 let bstSurfAssetStorageKey = "bstSurfAssetId"
77
8-func convertToByteVector (data) = match data {
9- case str: String =>
10- toBytes(str)
8+func unwrap (data) = match data {
9+ case v: ByteVector =>
10+ v
1111 case _ =>
1212 throw("Expected that data will be string")
1313 }
1414
1515
1616 @Callable(i)
17-func call () = {
18- let asset = Issue("Asset", "", 100, 8, true, unit, 0)
19- let assetId = calculateAssetId(asset)
20-[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), asset]
21- }
22-
23-
24-
25-@Callable(i)
2617 func issueAssets () = {
27- let bstUsdt = Issue("bstUsdtTest1", "", 1000000, 6, true, unit, 0)
18+ let bstUsdt = Issue("bstUsdtTest1", "", 10000000, 6, true, unit, 0)
2819 let bstUsdtAssetId = calculateAssetId(bstUsdt)
29- let bstSurf = Issue("bstSurfTest1", "", 1000000, 6, true, unit, 1)
20+ let bstSurf = Issue("bstSurfTest1", "", 10000000, 6, true, unit, 1)
3021 let bstSurfAssetId = calculateAssetId(bstSurf)
31-[StringEntry(bstUsdtAssetStorageKey, toBase58String(bstUsdtAssetId)), StringEntry(bstSurfAssetStorageKey, toBase58String(bstSurfAssetId)), BinaryEntry("TestData", bstSurfAssetId), bstUsdt, bstSurf]
22+[DeleteEntry(bstUsdtAssetStorageKey), DeleteEntry(bstSurfAssetStorageKey), BinaryEntry(bstUsdtAssetStorageKey, bstUsdtAssetId), BinaryEntry(bstSurfAssetStorageKey, bstSurfAssetId), bstUsdt, bstSurf]
3223 }
3324
3425
3526
3627 @Callable(i)
3728 func sendInternalAssetsToTheCaller (id,amount) = {
3829 let assetId = if ((id == 0))
39- then getString(bstUsdtAssetStorageKey)
30+ then unwrap(getBinary(bstUsdtAssetStorageKey))
4031 else if ((id == 1))
41- then getString(bstSurfAssetStorageKey)
32+ then unwrap(getBinary(bstSurfAssetStorageKey))
4233 else throw("Wrong Asset Id")
43- let balance = assetBalance(this, convertToByteVector(assetId))
34+ let balance = assetBalance(this, assetId)
4435 if ((balance >= amount))
45- then [ScriptTransfer(i.caller, amount, convertToByteVector(assetId))]
46- else [ScriptTransfer(i.caller, amount, convertToByteVector(assetId))]
36+ then [ScriptTransfer(i.caller, amount, assetId)]
37+ else throw("Insufficient funds")
4738 }
4839
4940
5041 @Verifier(tx)
5142 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5243

github/deemru/w8io/169f3d6 
48.97 ms