tx · 46N3aJoL2utUivzVQNgRAd7BGcf2rXDoubXPGJRYr1U4 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu: -0.04000000 Waves 2022.03.29 18:09 [1985380] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves
{ "type": 13, "id": "46N3aJoL2utUivzVQNgRAd7BGcf2rXDoubXPGJRYr1U4", "fee": 4000000, "feeAssetId": null, "timestamp": 1648566658072, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "4P2KuS9jKk63DEDKnjQEff6oZtz65uZ9yn3EG18BVYtSfv5VJnknV75MPjLPv5LyuMuSuukhqhGneKgNug27xU7F" ], "script": "base64:AAIFAAAAAAAAACMIAhIECgIICBIECgIICBIFCgMICAgSBgoECAgICBIECgIIAQAAABEAAAAABENPTFMAAAAAAAAABAAAAAAABFJPV1MAAAAAAAAABAAAAAAACW5mdERvbWFpbgIAAAAYaHR0cHM6Ly9uZnQuZ3JpZGdhbmcuaW8vAAAAABVhZGRPd25lckFuZEFtb3VudEZ1bmMCAAAAEWFkZE93bmVyQW5kQW1vdW50AAAAAAVERUJVRwYAAAAAEW1pbkZvclNhbGVXYXZsZXRzAAAAAAAF9eEAAAAAABBtaW5QdXJjaGFzZVByaWNlAAAAAAAAD0JAAAAAAARkYXBwAgAAACMzTjR2cVVYV3c4dGYyM0xEV0RiU0VwSlpINmRlbnQzRVRGdQAAAAALZGFwcEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAARkYXBwAAAAABFob2xkaW5nc1B1YmxpY0tleQIAAAAsR1VIdzFqa3N0TldUczlTWDFLTTNwTXRxOUhYanVwdnhpVGQxdXJOaE5veVkAAAAACGhvbGRpbmdzAgAAACMzTjlSN3U0NDlaMWI3NlFwSnA5dTNnelBqTVlRWW5wM1Y3cgAAAAAPaG9sZGluZ3NBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAIaG9sZGluZ3MBAAAADGdldEFzc2V0TmFtZQAAAAIAAAABeAAAAAF5BAAAAARuYW1lCQABLAAAAAIJAAEsAAAAAgUAAAABeAIAAAABLAUAAAABeQUAAAAEbmFtZQEAAAAQZ2V0RGF0YUtleVByZWZpeAAAAAMAAAABeAAAAAF5AAAAA2dlbgQAAAAEbmFtZQkBAAAADGdldEFzc2V0TmFtZQAAAAIFAAAAAXgFAAAAAXkEAAAABnByZWZpeAkAASwAAAACCQABLAAAAAIFAAAABG5hbWUCAAAAASwFAAAAA2dlbgUAAAAGcHJlZml4AQAAABBnZXRYWUdlbkZyb21OYW1lAAAAAQAAAARuYW1lBAAAAAVwYXJ0cwkABLUAAAACBQAAAARuYW1lAgAAAAEsBAAAAAV0dXBsZQkABRUAAAADCQABkQAAAAIFAAAABXBhcnRzAAAAAAAAAAAACQABkQAAAAIFAAAABXBhcnRzAAAAAAAAAAABCQABkQAAAAIFAAAABXBhcnRzAAAAAAAAAAACBQAAAAV0dXBsZQEAAAAdZ2V0RGF0YUtleVByZWZpeEZyb21Bc3NldE5hbWUAAAABAAAABG5hbWUEAAAACyR0MDEwMDExMDQxCQEAAAAQZ2V0WFlHZW5Gcm9tTmFtZQAAAAEFAAAABG5hbWUEAAAAAXgIBQAAAAskdDAxMDAxMTA0MQAAAAJfMQQAAAABeQgFAAAACyR0MDEwMDExMDQxAAAAAl8yBAAAAANnZW4IBQAAAAskdDAxMDAxMTA0MQAAAAJfMwQAAAAGcHJlZml4CQEAAAAQZ2V0RGF0YUtleVByZWZpeAAAAAMFAAAAAXgFAAAAAXkFAAAAA2dlbgUAAAAGcHJlZml4AQAAAAtjbGFpbVNxdWFyZQAAAAUAAAABeAAAAAF5AAAAA2dlbgAAAAdvd25lcklkAAAADXRyYW5zYWN0aW9uSWQEAAAADHJlc29sdmVkWFN0cgUAAAABeAQAAAAMcmVzb2x2ZWRZU3RyBQAAAAF5BAAAAA5yZXNvbHZlZEdlblN0cgUAAAADZ2VuBAAAAAlhc3NldE5hbWUJAQAAAAxnZXRBc3NldE5hbWUAAAACBQAAAAxyZXNvbHZlZFhTdHIFAAAADHJlc29sdmVkWVN0cgQAAAAIYXNzZXRVcmwJAAEsAAAAAgkAASwAAAACBQAAAAluZnREb21haW4FAAAADXRyYW5zYWN0aW9uSWQCAAAABC5wbmcEAAAABWFzc2V0CQAEQgAAAAUJAAEsAAAAAgkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAAASwFAAAADnJlc29sdmVkR2VuU3RyBQAAAAhhc3NldFVybAAAAAAAAAAAAQAAAAAAAAAAAAcEAAAAB2Fzc2V0SWQJAAQ4AAAAAQUAAAAFYXNzZXQEAAAADWRhdGFLZXlQcmVmaXgJAQAAABBnZXREYXRhS2V5UHJlZml4AAAAAwUAAAAMcmVzb2x2ZWRYU3RyBQAAAAxyZXNvbHZlZFlTdHIFAAAAA2dlbgkABRYAAAAEBQAAAAVhc3NldAUAAAAHYXNzZXRJZAUAAAAIYXNzZXRVcmwFAAAADWRhdGFLZXlQcmVmaXgAAAAFAAAAAWkBAAAACHB1cmNoYXNlAAAAAgAAAAF4AAAAAXkEAAAABnByZWZpeAkBAAAAEGdldERhdGFLZXlQcmVmaXgAAAADBQAAAAF4BQAAAAF5AgAAAAExBAAAAA1wYXltZW50QW1vdW50CQEAAAALdmFsdWVPckVsc2UAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAAAAAAEAAAAD2V4aXN0aW5nQXNzZXRJZAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABnByZWZpeAIAAAAIX2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQCAAAABXVuc2V0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAA2VycgUAAAAHJG1hdGNoMAkAAAIAAAABAgAAACZUaGlzIHNxdWFyZSBoYXMgYWxyZWFkeSBiZWVuIHB1cmNoYXNlZAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgMJAABmAAAAAgUAAAAQbWluUHVyY2hhc2VQcmljZQUAAAANcGF5bWVudEFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAaWW91IG5lZWQgdG8gc2VuZCBhdCBsZWFzdCAJAAGkAAAAAQUAAAAQbWluUHVyY2hhc2VQcmljZQIAAAAcV0FWTEVUUyB0byBwdXJjaGFzZSBhIHNxdWFyZQQAAAAHb3duZXJJZAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAACyR0MDIyMTUyMzEwCQEAAAALY2xhaW1TcXVhcmUAAAAFBQAAAAF4BQAAAAF5AgAAAAExBQAAAAdvd25lcklkBQAAAA10cmFuc2FjdGlvbklkBAAAAAVhc3NldAgFAAAACyR0MDIyMTUyMzEwAAAAAl8xBAAAAAdhc3NldElkCAUAAAALJHQwMjIxNTIzMTAAAAACXzIEAAAACGFzc2V0VXJsCAUAAAALJHQwMjIxNTIzMTAAAAACXzMEAAAADWRhdGFLZXlQcmVmaXgIBQAAAAskdDAyMjE1MjMxMAAAAAJfNAkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAADWRhdGFLZXlQcmVmaXgCAAAACF9hc3NldElkCQACWAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAA1kYXRhS2V5UHJlZml4AgAAAAZfYXNzZXQFAAAACGFzc2V0VXJsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAANZGF0YUtleVByZWZpeAIAAAAGX293bmVyBQAAAAdvd25lcklkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADXRyYW5zYWN0aW9uSWQFAAAADWRhdGFLZXlQcmVmaXgJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBQAAAAdhc3NldElkBQAAAANuaWwAAAABaQEAAAAHYXV0b0J1eQAAAAIAAAABeAAAAAF5BAAAAAhjYWxsZXJJZAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAIY2FsbGVySWQFAAAACGhvbGRpbmdzCQAAAgAAAAECAAAAJlRoaXMgY2FuIG9ubHkgYmUgdHJpZ2dlcmluZyBpbnRlcm5hbGx5BAAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAACyR0MDI4NjYyOTYyCQEAAAALY2xhaW1TcXVhcmUAAAAFBQAAAAF4BQAAAAF5AgAAAAExBQAAAAhob2xkaW5ncwUAAAANdHJhbnNhY3Rpb25JZAQAAAAFYXNzZXQIBQAAAAskdDAyODY2Mjk2MgAAAAJfMQQAAAAHYXNzZXRJZAgFAAAACyR0MDI4NjYyOTYyAAAAAl8yBAAAAAhhc3NldFVybAgFAAAACyR0MDI4NjYyOTYyAAAAAl8zBAAAAA1kYXRhS2V5UHJlZml4CAUAAAALJHQwMjg2NjI5NjIAAAACXzQEAAAACmFzc2V0SWRTdHIJAAJYAAAAAQUAAAAHYXNzZXRJZAQAAAADcmVzCQAD/AAAAAQFAAAAD2hvbGRpbmdzQWRkcmVzcwUAAAAVYWRkT3duZXJBbmRBbW91bnRGdW5jCQAETAAAAAIFAAAACGhvbGRpbmdzCQAETAAAAAIFAAAAB2Fzc2V0SWQJAARMAAAAAgAAAAAAAAAAAwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAR1bml0AAAAAAAAAAAABQAAAANuaWwDCQAAAAAAAAIFAAAAA3JlcwUAAAADcmVzCQAETAAAAAIFAAAABWFzc2V0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAANZGF0YUtleVByZWZpeAIAAAAIX2Fzc2V0SWQFAAAACmFzc2V0SWRTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAA1kYXRhS2V5UHJlZml4AgAAAAZfYXNzZXQFAAAACGFzc2V0VXJsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAANZGF0YUtleVByZWZpeAIAAAAGX293bmVyBQAAAAhob2xkaW5ncwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA10cmFuc2FjdGlvbklkBQAAAA1kYXRhS2V5UHJlZml4CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAD2hvbGRpbmdzQWRkcmVzcwAAAAAAAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABFwcm9tb3Rpb25QdXJjaGFzZQAAAAMAAAABeAAAAAF5AAAAEWRlc2luYXRpb25BZGRyZXNzBAAAAAhjYWxsZXJJZAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAIY2FsbGVySWQFAAAACGhvbGRpbmdzCQAAAgAAAAECAAAAJlRoaXMgY2FuIG9ubHkgYmUgdHJpZ2dlcmluZyBpbnRlcm5hbGx5BAAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAACyR0MDM3MTUzODIwCQEAAAALY2xhaW1TcXVhcmUAAAAFBQAAAAF4BQAAAAF5AgAAAAExBQAAABFkZXNpbmF0aW9uQWRkcmVzcwUAAAANdHJhbnNhY3Rpb25JZAQAAAAFYXNzZXQIBQAAAAskdDAzNzE1MzgyMAAAAAJfMQQAAAAHYXNzZXRJZAgFAAAACyR0MDM3MTUzODIwAAAAAl8yBAAAAAhhc3NldFVybAgFAAAACyR0MDM3MTUzODIwAAAAAl8zBAAAAA1kYXRhS2V5UHJlZml4CAUAAAALJHQwMzcxNTM4MjAAAAACXzQEAAAACmFzc2V0SWRTdHIJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAADWRhdGFLZXlQcmVmaXgCAAAACF9hc3NldElkBQAAAAphc3NldElkU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAANZGF0YUtleVByZWZpeAIAAAAGX2Fzc2V0BQAAAAhhc3NldFVybAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAADWRhdGFLZXlQcmVmaXgCAAAABl9vd25lcgUAAAARZGVzaW5hdGlvbkFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANdHJhbnNhY3Rpb25JZAUAAAANZGF0YUtleVByZWZpeAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAARZGVzaW5hdGlvbkFkZHJlc3MAAAAAAAAAAAEFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAFpAQAAAAZldm9sdmUAAAAEAAAAAXgAAAABeQAAAANnZW4AAAAHb3duZXJJZAQAAAAIY2FsbGVySWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAQAAAAIhPQAAAAIFAAAACGNhbGxlcklkBQAAAAhob2xkaW5ncwkAAAIAAAABAgAAACZUaGlzIGNhbiBvbmx5IGJlIHRyaWdnZXJpbmcgaW50ZXJuYWxseQQAAAANdHJhbnNhY3Rpb25JZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAskdDA0NDgzNDU3OAkBAAAAC2NsYWltU3F1YXJlAAAABQUAAAABeAUAAAABeQUAAAADZ2VuBQAAAAdvd25lcklkBQAAAA10cmFuc2FjdGlvbklkBAAAAAVhc3NldAgFAAAACyR0MDQ0ODM0NTc4AAAAAl8xBAAAAAdhc3NldElkCAUAAAALJHQwNDQ4MzQ1NzgAAAACXzIEAAAACGFzc2V0VXJsCAUAAAALJHQwNDQ4MzQ1NzgAAAACXzMEAAAADWRhdGFLZXlQcmVmaXgIBQAAAAskdDA0NDgzNDU3OAAAAAJfNAkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAADWRhdGFLZXlQcmVmaXgCAAAACF9hc3NldElkCQACWAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAA1kYXRhS2V5UHJlZml4AgAAAAZfYXNzZXQFAAAACGFzc2V0VXJsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAANZGF0YUtleVByZWZpeAIAAAAGX293bmVyBQAAAAdvd25lcklkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADXRyYW5zYWN0aW9uSWQFAAAADWRhdGFLZXlQcmVmaXgJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAB293bmVySWQAAAAAAAAAAAEFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAFpAQAAAApwdXRGb3JTYWxlAAAAAgAAAAdhc3NldElkAAAABmFtb3VudAQAAAAIY2FsbGVySWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAJYXNzZXREYXRhBAAAAAckbWF0Y2gwCQAD7AAAAAEJAAJZAAAAAQUAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFQXNzZXQEAAAAA2FzcwUAAAAHJG1hdGNoMAUAAAADYXNzCQAAAgAAAAECAAAAD0Fzc2V0IG5vdCBmb3VuZAQAAAAKZGF0YVByZWZpeAkBAAAAHWdldERhdGFLZXlQcmVmaXhGcm9tQXNzZXROYW1lAAAAAQgFAAAACWFzc2V0RGF0YQAAAARuYW1lBAAAAAdvd25lcklkBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAKZGF0YVByZWZpeAIAAAAGX293bmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAFAAAAAXMJAAACAAAAAQIAAAAXT3duZXIgbm90IGZvdW5kIGluIGRhdGEDCQAAZgAAAAIFAAAAEW1pbkZvclNhbGVXYXZsZXRzBQAAAAZhbW91bnQJAAACAAAAAQIAAAAjQW1vdW50IG5lZWRzIHRvIGJlIG1vcmUgdGhhbiAxIHdhdmUDAwkBAAAAAiE9AAAAAgUAAAAIY2FsbGVySWQFAAAAB293bmVySWQJAQAAAAIhPQAAAAIFAAAACGNhbGxlcklkBQAAAAhob2xkaW5ncwcJAAACAAAAAQIAAAAuWW91IGFyZSBub3QgYWJsZSB0byBwdXQgdGhpcyBhc3NldCB1cCBmb3Igc2FsZQQAAAADcmVzCQAD/AAAAAQFAAAAD2hvbGRpbmdzQWRkcmVzcwUAAAAVYWRkT3duZXJBbmRBbW91bnRGdW5jCQAETAAAAAIFAAAACGNhbGxlcklkCQAETAAAAAIFAAAAB2Fzc2V0SWQJAARMAAAAAgUAAAAGYW1vdW50BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAABHVuaXQAAAAAAAAAAAAFAAAAA25pbAMJAAAAAAAAAgUAAAADcmVzBQAAAANyZXMJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAPaG9sZGluZ3NBZGRyZXNzAAAAAAAAAAABCQACWQAAAAEFAAAAB2Fzc2V0SWQFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAAAwMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BgkAAAAAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BQAAAA9ob2xkaW5nc0FkZHJlc3MGCQAAAAAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkFAAAAC2RhcHBBZGRyZXNztBIVFA==", "height": 1985380, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2nzBJFAReKVrXCQtCQ4CswmwPDFHYphJVjTw6xrVj6ge Next: AMYLb8qdAPBVVfHhaDqcxzEBc6KtdornfmFTyVDzdWxr Diff:
Old | New | Differences | |
---|---|---|---|
15 | 15 | ||
16 | 16 | let g = 1000000 | |
17 | 17 | ||
18 | - | let h = " | |
18 | + | let h = "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu" | |
19 | 19 | ||
20 | - | let i = | |
20 | + | let i = Address(fromBase58String(h)) | |
21 | 21 | ||
22 | - | let j = | |
22 | + | let j = "GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY" | |
23 | 23 | ||
24 | - | func k (l,m) = { | |
25 | - | let n = ((l + ",") + m) | |
26 | - | n | |
24 | + | let k = "3N9R7u449Z1b76QpJp9u3gzPjMYQYnp3V7r" | |
25 | + | ||
26 | + | let l = Address(fromBase58String(k)) | |
27 | + | ||
28 | + | func m (n,o) = { | |
29 | + | let p = ((n + ",") + o) | |
30 | + | p | |
27 | 31 | } | |
28 | 32 | ||
29 | 33 | ||
30 | - | func | |
31 | - | let | |
32 | - | let | |
33 | - | | |
34 | + | func q (n,o,r) = { | |
35 | + | let p = m(n, o) | |
36 | + | let s = ((p + ",") + r) | |
37 | + | s | |
34 | 38 | } | |
35 | 39 | ||
36 | 40 | ||
37 | - | func | |
38 | - | let | |
39 | - | let | |
40 | - | | |
41 | + | func t (p) = { | |
42 | + | let u = split(p, ",") | |
43 | + | let v = $Tuple3(u[0], u[1], u[2]) | |
44 | + | v | |
41 | 45 | } | |
42 | 46 | ||
43 | 47 | ||
44 | - | func | |
45 | - | let | |
46 | - | let | |
47 | - | let | |
48 | - | let | |
49 | - | let | |
50 | - | | |
48 | + | func w (p) = { | |
49 | + | let x = t(p) | |
50 | + | let n = x._1 | |
51 | + | let o = x._2 | |
52 | + | let r = x._3 | |
53 | + | let s = q(n, o, r) | |
54 | + | s | |
51 | 55 | } | |
52 | 56 | ||
53 | 57 | ||
54 | - | func | |
55 | - | let | |
56 | - | let | |
57 | - | let | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | let | |
63 | - | $Tuple4( | |
58 | + | func y (n,o,r,z,A) = { | |
59 | + | let B = n | |
60 | + | let C = o | |
61 | + | let D = r | |
62 | + | let E = m(B, C) | |
63 | + | let F = ((c + A) + ".png") | |
64 | + | let G = Issue(((E + ",") + D), F, 1, 0, false) | |
65 | + | let H = calculateAssetId(G) | |
66 | + | let I = q(B, C, r) | |
67 | + | $Tuple4(G, H, F, I) | |
64 | 68 | } | |
65 | 69 | ||
66 | 70 | ||
67 | - | @Callable( | |
68 | - | func purchase ( | |
69 | - | let | |
70 | - | let | |
71 | - | let | |
72 | - | let | |
73 | - | if ($isInstanceOf( | |
71 | + | @Callable(J) | |
72 | + | func purchase (n,o) = { | |
73 | + | let s = q(n, o, "1") | |
74 | + | let K = valueOrElse(J.payments[0].amount, 0) | |
75 | + | let L = { | |
76 | + | let M = getString(this, (s + "_assetId")) | |
77 | + | if ($isInstanceOf(M, "Unit")) | |
74 | 78 | then "unset" | |
75 | - | else if ($isInstanceOf( | |
79 | + | else if ($isInstanceOf(M, "String")) | |
76 | 80 | then { | |
77 | - | let | |
81 | + | let N = M | |
78 | 82 | throw("This square has already been purchased") | |
79 | 83 | } | |
80 | 84 | else throw("Match error") | |
81 | 85 | } | |
82 | - | if ((g > | |
86 | + | if ((g > K)) | |
83 | 87 | then throw((("You need to send at least " + toString(g)) + "WAVLETS to purchase a square")) | |
84 | 88 | else { | |
85 | - | let | |
86 | - | let | |
87 | - | let | |
88 | - | let | |
89 | - | let | |
90 | - | let | |
91 | - | let | |
92 | - | [ | |
89 | + | let z = toBase58String(J.caller.bytes) | |
90 | + | let A = toBase58String(J.transactionId) | |
91 | + | let O = y(n, o, "1", z, A) | |
92 | + | let G = O._1 | |
93 | + | let H = O._2 | |
94 | + | let F = O._3 | |
95 | + | let I = O._4 | |
96 | + | [G, StringEntry((I + "_assetId"), toBase58String(H)), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), z), StringEntry(A, I), ScriptTransfer(J.caller, 1, H)] | |
93 | 97 | } | |
94 | 98 | } | |
95 | 99 | ||
96 | 100 | ||
97 | 101 | ||
98 | - | @Callable( | |
99 | - | func autoBuy ( | |
100 | - | let | |
101 | - | if (( | |
102 | + | @Callable(J) | |
103 | + | func autoBuy (n,o) = { | |
104 | + | let P = toBase58String(J.caller.bytes) | |
105 | + | if ((P != k)) | |
102 | 106 | then throw("This can only be triggering internally") | |
103 | 107 | else { | |
104 | - | let | |
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | let | |
109 | - | let | |
110 | - | let | |
111 | - | let | |
112 | - | if (( | |
113 | - | then [ | |
108 | + | let A = toBase58String(J.transactionId) | |
109 | + | let Q = y(n, o, "1", k, A) | |
110 | + | let G = Q._1 | |
111 | + | let H = Q._2 | |
112 | + | let F = Q._3 | |
113 | + | let I = Q._4 | |
114 | + | let R = toBase58String(H) | |
115 | + | let S = invoke(l, d, [k, H, 3], [AttachedPayment(unit, 0)]) | |
116 | + | if ((S == S)) | |
117 | + | then [G, StringEntry((I + "_assetId"), R), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), k), StringEntry(A, I), ScriptTransfer(l, 1, H)] | |
114 | 118 | else throw("Strict value is not equal to itself.") | |
115 | 119 | } | |
116 | 120 | } | |
117 | 121 | ||
118 | 122 | ||
119 | 123 | ||
120 | - | @Callable( | |
121 | - | func promotionPurchase ( | |
122 | - | let | |
123 | - | if (( | |
124 | + | @Callable(J) | |
125 | + | func promotionPurchase (n,o,T) = { | |
126 | + | let P = toBase58String(J.caller.bytes) | |
127 | + | if ((P != k)) | |
124 | 128 | then throw("This can only be triggering internally") | |
125 | 129 | else { | |
126 | - | let | |
127 | - | let | |
128 | - | let | |
129 | - | let | |
130 | - | let | |
131 | - | let | |
132 | - | let | |
133 | - | [ | |
130 | + | let A = toBase58String(J.transactionId) | |
131 | + | let U = y(n, o, "1", T, A) | |
132 | + | let G = U._1 | |
133 | + | let H = U._2 | |
134 | + | let F = U._3 | |
135 | + | let I = U._4 | |
136 | + | let R = toBase58String(H) | |
137 | + | [G, StringEntry((I + "_assetId"), R), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), T), StringEntry(A, I), ScriptTransfer(Address(fromBase58String(T)), 1, H)] | |
134 | 138 | } | |
135 | 139 | } | |
136 | 140 | ||
137 | 141 | ||
138 | 142 | ||
139 | - | @Callable( | |
140 | - | func evolve ( | |
141 | - | let | |
142 | - | if (( | |
143 | + | @Callable(J) | |
144 | + | func evolve (n,o,r,z) = { | |
145 | + | let P = toBase58String(J.caller.bytes) | |
146 | + | if ((P != k)) | |
143 | 147 | then throw("This can only be triggering internally") | |
144 | 148 | else { | |
145 | - | let | |
146 | - | let | |
147 | - | let | |
148 | - | let | |
149 | - | let | |
150 | - | let | |
151 | - | [ | |
149 | + | let A = toBase58String(J.transactionId) | |
150 | + | let V = y(n, o, r, z, A) | |
151 | + | let G = V._1 | |
152 | + | let H = V._2 | |
153 | + | let F = V._3 | |
154 | + | let I = V._4 | |
155 | + | [G, StringEntry((I + "_assetId"), toBase58String(H)), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), z), StringEntry(A, I), ScriptTransfer(Address(fromBase58String(z)), 1, H)] | |
152 | 156 | } | |
153 | 157 | } | |
154 | 158 | ||
155 | 159 | ||
156 | 160 | ||
157 | - | @Callable( | |
158 | - | func putForSale ( | |
159 | - | let | |
160 | - | let | |
161 | - | let | |
162 | - | if ($isInstanceOf( | |
161 | + | @Callable(J) | |
162 | + | func putForSale (H,W) = { | |
163 | + | let P = toBase58String(J.caller.bytes) | |
164 | + | let X = { | |
165 | + | let M = assetInfo(fromBase58String(H)) | |
166 | + | if ($isInstanceOf(M, "Asset")) | |
163 | 167 | then { | |
164 | - | let | |
165 | - | | |
168 | + | let Y = M | |
169 | + | Y | |
166 | 170 | } | |
167 | 171 | else throw("Asset not found") | |
168 | 172 | } | |
169 | - | let | |
170 | - | let | |
171 | - | let | |
172 | - | if ($isInstanceOf( | |
173 | + | let Z = w(X.name) | |
174 | + | let z = { | |
175 | + | let M = getString(this, (Z + "_owner")) | |
176 | + | if ($isInstanceOf(M, "String")) | |
173 | 177 | then { | |
174 | - | let | |
175 | - | | |
178 | + | let aa = M | |
179 | + | aa | |
176 | 180 | } | |
177 | 181 | else throw("Owner not found in data") | |
178 | 182 | } | |
179 | - | if ((f > | |
183 | + | if ((f > W)) | |
180 | 184 | then throw("Amount needs to be more than 1 wave") | |
181 | - | else if (if (( | |
182 | - | then ( | |
185 | + | else if (if ((P != z)) | |
186 | + | then (P != k) | |
183 | 187 | else false) | |
184 | 188 | then throw("You are not able to put this asset up for sale") | |
185 | 189 | else { | |
186 | - | let | |
187 | - | if (( | |
188 | - | then [ScriptTransfer( | |
190 | + | let S = invoke(l, d, [P, H, W], [AttachedPayment(unit, 0)]) | |
191 | + | if ((S == S)) | |
192 | + | then [ScriptTransfer(l, 1, fromBase58String(H))] | |
189 | 193 | else throw("Strict value is not equal to itself.") | |
190 | 194 | } | |
191 | 195 | } | |
192 | 196 | ||
193 | 197 | ||
194 | - | @Verifier( | |
195 | - | func | |
198 | + | @Verifier(ab) | |
199 | + | func ac () = if (if (sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)) | |
196 | 200 | then true | |
197 | - | else (addressFromPublicKey(Z.senderPublicKey) == j) | |
201 | + | else (addressFromPublicKey(ab.senderPublicKey) == l)) | |
202 | + | then true | |
203 | + | else (addressFromPublicKey(ab.senderPublicKey) == i) | |
198 | 204 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = 1024 | |
5 | 5 | ||
6 | 6 | let b = 1024 | |
7 | 7 | ||
8 | 8 | let c = "https://nft.gridgang.io/" | |
9 | 9 | ||
10 | 10 | let d = "addOwnerAndAmount" | |
11 | 11 | ||
12 | 12 | let e = true | |
13 | 13 | ||
14 | 14 | let f = 100000000 | |
15 | 15 | ||
16 | 16 | let g = 1000000 | |
17 | 17 | ||
18 | - | let h = " | |
18 | + | let h = "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu" | |
19 | 19 | ||
20 | - | let i = | |
20 | + | let i = Address(fromBase58String(h)) | |
21 | 21 | ||
22 | - | let j = | |
22 | + | let j = "GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY" | |
23 | 23 | ||
24 | - | func k (l,m) = { | |
25 | - | let n = ((l + ",") + m) | |
26 | - | n | |
24 | + | let k = "3N9R7u449Z1b76QpJp9u3gzPjMYQYnp3V7r" | |
25 | + | ||
26 | + | let l = Address(fromBase58String(k)) | |
27 | + | ||
28 | + | func m (n,o) = { | |
29 | + | let p = ((n + ",") + o) | |
30 | + | p | |
27 | 31 | } | |
28 | 32 | ||
29 | 33 | ||
30 | - | func | |
31 | - | let | |
32 | - | let | |
33 | - | | |
34 | + | func q (n,o,r) = { | |
35 | + | let p = m(n, o) | |
36 | + | let s = ((p + ",") + r) | |
37 | + | s | |
34 | 38 | } | |
35 | 39 | ||
36 | 40 | ||
37 | - | func | |
38 | - | let | |
39 | - | let | |
40 | - | | |
41 | + | func t (p) = { | |
42 | + | let u = split(p, ",") | |
43 | + | let v = $Tuple3(u[0], u[1], u[2]) | |
44 | + | v | |
41 | 45 | } | |
42 | 46 | ||
43 | 47 | ||
44 | - | func | |
45 | - | let | |
46 | - | let | |
47 | - | let | |
48 | - | let | |
49 | - | let | |
50 | - | | |
48 | + | func w (p) = { | |
49 | + | let x = t(p) | |
50 | + | let n = x._1 | |
51 | + | let o = x._2 | |
52 | + | let r = x._3 | |
53 | + | let s = q(n, o, r) | |
54 | + | s | |
51 | 55 | } | |
52 | 56 | ||
53 | 57 | ||
54 | - | func | |
55 | - | let | |
56 | - | let | |
57 | - | let | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | let | |
63 | - | $Tuple4( | |
58 | + | func y (n,o,r,z,A) = { | |
59 | + | let B = n | |
60 | + | let C = o | |
61 | + | let D = r | |
62 | + | let E = m(B, C) | |
63 | + | let F = ((c + A) + ".png") | |
64 | + | let G = Issue(((E + ",") + D), F, 1, 0, false) | |
65 | + | let H = calculateAssetId(G) | |
66 | + | let I = q(B, C, r) | |
67 | + | $Tuple4(G, H, F, I) | |
64 | 68 | } | |
65 | 69 | ||
66 | 70 | ||
67 | - | @Callable( | |
68 | - | func purchase ( | |
69 | - | let | |
70 | - | let | |
71 | - | let | |
72 | - | let | |
73 | - | if ($isInstanceOf( | |
71 | + | @Callable(J) | |
72 | + | func purchase (n,o) = { | |
73 | + | let s = q(n, o, "1") | |
74 | + | let K = valueOrElse(J.payments[0].amount, 0) | |
75 | + | let L = { | |
76 | + | let M = getString(this, (s + "_assetId")) | |
77 | + | if ($isInstanceOf(M, "Unit")) | |
74 | 78 | then "unset" | |
75 | - | else if ($isInstanceOf( | |
79 | + | else if ($isInstanceOf(M, "String")) | |
76 | 80 | then { | |
77 | - | let | |
81 | + | let N = M | |
78 | 82 | throw("This square has already been purchased") | |
79 | 83 | } | |
80 | 84 | else throw("Match error") | |
81 | 85 | } | |
82 | - | if ((g > | |
86 | + | if ((g > K)) | |
83 | 87 | then throw((("You need to send at least " + toString(g)) + "WAVLETS to purchase a square")) | |
84 | 88 | else { | |
85 | - | let | |
86 | - | let | |
87 | - | let | |
88 | - | let | |
89 | - | let | |
90 | - | let | |
91 | - | let | |
92 | - | [ | |
89 | + | let z = toBase58String(J.caller.bytes) | |
90 | + | let A = toBase58String(J.transactionId) | |
91 | + | let O = y(n, o, "1", z, A) | |
92 | + | let G = O._1 | |
93 | + | let H = O._2 | |
94 | + | let F = O._3 | |
95 | + | let I = O._4 | |
96 | + | [G, StringEntry((I + "_assetId"), toBase58String(H)), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), z), StringEntry(A, I), ScriptTransfer(J.caller, 1, H)] | |
93 | 97 | } | |
94 | 98 | } | |
95 | 99 | ||
96 | 100 | ||
97 | 101 | ||
98 | - | @Callable( | |
99 | - | func autoBuy ( | |
100 | - | let | |
101 | - | if (( | |
102 | + | @Callable(J) | |
103 | + | func autoBuy (n,o) = { | |
104 | + | let P = toBase58String(J.caller.bytes) | |
105 | + | if ((P != k)) | |
102 | 106 | then throw("This can only be triggering internally") | |
103 | 107 | else { | |
104 | - | let | |
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | let | |
109 | - | let | |
110 | - | let | |
111 | - | let | |
112 | - | if (( | |
113 | - | then [ | |
108 | + | let A = toBase58String(J.transactionId) | |
109 | + | let Q = y(n, o, "1", k, A) | |
110 | + | let G = Q._1 | |
111 | + | let H = Q._2 | |
112 | + | let F = Q._3 | |
113 | + | let I = Q._4 | |
114 | + | let R = toBase58String(H) | |
115 | + | let S = invoke(l, d, [k, H, 3], [AttachedPayment(unit, 0)]) | |
116 | + | if ((S == S)) | |
117 | + | then [G, StringEntry((I + "_assetId"), R), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), k), StringEntry(A, I), ScriptTransfer(l, 1, H)] | |
114 | 118 | else throw("Strict value is not equal to itself.") | |
115 | 119 | } | |
116 | 120 | } | |
117 | 121 | ||
118 | 122 | ||
119 | 123 | ||
120 | - | @Callable( | |
121 | - | func promotionPurchase ( | |
122 | - | let | |
123 | - | if (( | |
124 | + | @Callable(J) | |
125 | + | func promotionPurchase (n,o,T) = { | |
126 | + | let P = toBase58String(J.caller.bytes) | |
127 | + | if ((P != k)) | |
124 | 128 | then throw("This can only be triggering internally") | |
125 | 129 | else { | |
126 | - | let | |
127 | - | let | |
128 | - | let | |
129 | - | let | |
130 | - | let | |
131 | - | let | |
132 | - | let | |
133 | - | [ | |
130 | + | let A = toBase58String(J.transactionId) | |
131 | + | let U = y(n, o, "1", T, A) | |
132 | + | let G = U._1 | |
133 | + | let H = U._2 | |
134 | + | let F = U._3 | |
135 | + | let I = U._4 | |
136 | + | let R = toBase58String(H) | |
137 | + | [G, StringEntry((I + "_assetId"), R), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), T), StringEntry(A, I), ScriptTransfer(Address(fromBase58String(T)), 1, H)] | |
134 | 138 | } | |
135 | 139 | } | |
136 | 140 | ||
137 | 141 | ||
138 | 142 | ||
139 | - | @Callable( | |
140 | - | func evolve ( | |
141 | - | let | |
142 | - | if (( | |
143 | + | @Callable(J) | |
144 | + | func evolve (n,o,r,z) = { | |
145 | + | let P = toBase58String(J.caller.bytes) | |
146 | + | if ((P != k)) | |
143 | 147 | then throw("This can only be triggering internally") | |
144 | 148 | else { | |
145 | - | let | |
146 | - | let | |
147 | - | let | |
148 | - | let | |
149 | - | let | |
150 | - | let | |
151 | - | [ | |
149 | + | let A = toBase58String(J.transactionId) | |
150 | + | let V = y(n, o, r, z, A) | |
151 | + | let G = V._1 | |
152 | + | let H = V._2 | |
153 | + | let F = V._3 | |
154 | + | let I = V._4 | |
155 | + | [G, StringEntry((I + "_assetId"), toBase58String(H)), StringEntry((I + "_asset"), F), StringEntry((I + "_owner"), z), StringEntry(A, I), ScriptTransfer(Address(fromBase58String(z)), 1, H)] | |
152 | 156 | } | |
153 | 157 | } | |
154 | 158 | ||
155 | 159 | ||
156 | 160 | ||
157 | - | @Callable( | |
158 | - | func putForSale ( | |
159 | - | let | |
160 | - | let | |
161 | - | let | |
162 | - | if ($isInstanceOf( | |
161 | + | @Callable(J) | |
162 | + | func putForSale (H,W) = { | |
163 | + | let P = toBase58String(J.caller.bytes) | |
164 | + | let X = { | |
165 | + | let M = assetInfo(fromBase58String(H)) | |
166 | + | if ($isInstanceOf(M, "Asset")) | |
163 | 167 | then { | |
164 | - | let | |
165 | - | | |
168 | + | let Y = M | |
169 | + | Y | |
166 | 170 | } | |
167 | 171 | else throw("Asset not found") | |
168 | 172 | } | |
169 | - | let | |
170 | - | let | |
171 | - | let | |
172 | - | if ($isInstanceOf( | |
173 | + | let Z = w(X.name) | |
174 | + | let z = { | |
175 | + | let M = getString(this, (Z + "_owner")) | |
176 | + | if ($isInstanceOf(M, "String")) | |
173 | 177 | then { | |
174 | - | let | |
175 | - | | |
178 | + | let aa = M | |
179 | + | aa | |
176 | 180 | } | |
177 | 181 | else throw("Owner not found in data") | |
178 | 182 | } | |
179 | - | if ((f > | |
183 | + | if ((f > W)) | |
180 | 184 | then throw("Amount needs to be more than 1 wave") | |
181 | - | else if (if (( | |
182 | - | then ( | |
185 | + | else if (if ((P != z)) | |
186 | + | then (P != k) | |
183 | 187 | else false) | |
184 | 188 | then throw("You are not able to put this asset up for sale") | |
185 | 189 | else { | |
186 | - | let | |
187 | - | if (( | |
188 | - | then [ScriptTransfer( | |
190 | + | let S = invoke(l, d, [P, H, W], [AttachedPayment(unit, 0)]) | |
191 | + | if ((S == S)) | |
192 | + | then [ScriptTransfer(l, 1, fromBase58String(H))] | |
189 | 193 | else throw("Strict value is not equal to itself.") | |
190 | 194 | } | |
191 | 195 | } | |
192 | 196 | ||
193 | 197 | ||
194 | - | @Verifier( | |
195 | - | func | |
198 | + | @Verifier(ab) | |
199 | + | func ac () = if (if (sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)) | |
196 | 200 | then true | |
197 | - | else (addressFromPublicKey(Z.senderPublicKey) == j) | |
201 | + | else (addressFromPublicKey(ab.senderPublicKey) == l)) | |
202 | + | then true | |
203 | + | else (addressFromPublicKey(ab.senderPublicKey) == i) | |
198 | 204 |
github/deemru/w8io/169f3d6 89.82 ms ◑