tx · 2mr6HVQywH5dSYEJPqidzVFYnJtkEKBCoVWm6Qawswxq 3N9N3ECXetDso4WeoYjVZXLx34zRdL8Auu7: -0.01000000 Waves 2024.03.19 14:09 [3024820] smart account 3N9N3ECXetDso4WeoYjVZXLx34zRdL8Auu7 > SELF 0.00000000 Waves
{ "type": 13, "id": "2mr6HVQywH5dSYEJPqidzVFYnJtkEKBCoVWm6Qawswxq", "fee": 1000000, "feeAssetId": null, "timestamp": 1710846610053, "version": 2, "chainId": 84, "sender": "3N9N3ECXetDso4WeoYjVZXLx34zRdL8Auu7", "senderPublicKey": "64gvReRz3B81LU7Lf5fVE1W4sboDGnT6hvDavhftjAzt", "proofs": [ "2SYA9yMSX9k33h6Xfq22aPckKn2TBa3bdh8yDuP576kFZjrS29CPVcuysAe2MHW2TN7ndeBxgneMbpkWBroAgMGg" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIICAAAAAIBAAAAH2dldEJpbmFyeVZhbHVlRnJvbVNjcmlwdEFjY291bnQAAAACAAAAA2FkcgAAAANrZXkEAAAABGRhdGEEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUyKQAAAAIFAAAAA2FkcgUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAAFAAAABGRhdGEBAAAACGF1dGhVc2VyAAAAAQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAE2NhbGxlclB1YmxpY0tleUhhc2gJAAH3AAAAAQUAAAAPY2FsbGVyUHVibGljS2V5BAAAABpzY3JpcHRBY2NvdW50UHVibGljS2V5SGFzaAkBAAAAH2dldEJpbmFyeVZhbHVlRnJvbVNjcmlwdEFjY291bnQAAAACBQAAAAR0aGlzAgAAABRjb25uZWN0aW9uLkVnZ2VyLnJlZgMJAAAAAAAAAgUAAAAac2NyaXB0QWNjb3VudFB1YmxpY0tleUhhc2gFAAAAE2NhbGxlclB1YmxpY0tleUhhc2gGBwAAAAEAAAABaQEAAAAbc2F2ZVNpbmdsZUtleVZhbHVlT25BY2NvdW50AAAAAgAAAANrZXkAAAAIa2V5VmFsdWUEAAAAEmV4Y2hhbmdlckFCQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVNVTFC8C5sPhGWifEZyxrg4VTrf2XPGs1gQAAAANYXV0aGVudGljYXRlZAkBAAAACGF1dGhVc2VyAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAZhc3NldEIBAAAAAAQAAAAFZGlmZkIAAAAAAAAAAAUEAAAAAnIxCQAD/AAAAAQFAAAAEmV4Y2hhbmdlckFCQWRkcmVzcwIAAAALcmVmdW5kV2F2ZXMFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAGYXNzZXRCBQAAAAVkaWZmQgUAAAADbmlsAwkAAAAAAAACBQAAAAJyMQUAAAACcjEEAAAAAnIyCQAD/AAAAAQFAAAAEmV4Y2hhbmdlckFCQWRkcmVzcwIAAAAIcGF5V2F2ZXMFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAGYXNzZXRCBQAAAAVkaWZmQgUAAAADbmlsAwkAAAAAAAACBQAAAAJyMgUAAAACcjIDBQAAAA1hdXRoZW50aWNhdGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAA2tleQUAAAAIa2V5VmFsdWUFAAAAA25pbAkAAAIAAAABAgAAAD1BY2NvdW50IGhhdCBuaWNodCBkaWUgbsO2dGlnZSBCZXJlY2h0aWd1bmcgZsO8ciBkaWVzZSBBa3Rpb24uCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleWt7U8Q=", "height": 3024820, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8YjYydSj412ekn7sJvr6DsaCLEyzG4K3f641APrBPNf2 Next: Cb1MgS7kC9YFy6zvzFEatyQSRm2HqEBN8bw3XkH6NzCq Diff:
Old | New | Differences | |
---|---|---|---|
29 | 29 | let diffB = 5 | |
30 | 30 | let r1 = invoke(exchangerABAddress, "refundWaves", nil, [AttachedPayment(assetB, diffB)]) | |
31 | 31 | if ((r1 == r1)) | |
32 | - | then if (authenticated) | |
33 | - | then [StringEntry(key, keyValue)] | |
34 | - | else throw("Account hat nicht die nötige Berechtigung für diese Aktion.") | |
32 | + | then { | |
33 | + | let r2 = invoke(exchangerABAddress, "payWaves", nil, [AttachedPayment(assetB, diffB)]) | |
34 | + | if ((r2 == r2)) | |
35 | + | then if (authenticated) | |
36 | + | then [StringEntry(key, keyValue)] | |
37 | + | else throw("Account hat nicht die nötige Berechtigung für diese Aktion.") | |
38 | + | else throw("Strict value is not equal to itself.") | |
39 | + | } | |
35 | 40 | else throw("Strict value is not equal to itself.") | |
36 | 41 | } | |
37 | 42 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func getBinaryValueFromScriptAccount (adr,key) = { | |
5 | 5 | let data = match getBinaryValue(adr, key) { | |
6 | 6 | case a: ByteVector => | |
7 | 7 | a | |
8 | 8 | case _ => | |
9 | 9 | "" | |
10 | 10 | } | |
11 | 11 | data | |
12 | 12 | } | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | func authUser (callerPublicKey) = { | |
16 | 16 | let callerPublicKeyHash = sha256(callerPublicKey) | |
17 | 17 | let scriptAccountPublicKeyHash = getBinaryValueFromScriptAccount(this, "connection.Egger.ref") | |
18 | 18 | if ((scriptAccountPublicKeyHash == callerPublicKeyHash)) | |
19 | 19 | then true | |
20 | 20 | else false | |
21 | 21 | } | |
22 | 22 | ||
23 | 23 | ||
24 | 24 | @Callable(i) | |
25 | 25 | func saveSingleKeyValueOnAccount (key,keyValue) = { | |
26 | 26 | let exchangerABAddress = Address(base58'3N9N3ECXetDso4WeoYjVZXLx34zRdL8Auu7') | |
27 | 27 | let authenticated = authUser(i.callerPublicKey) | |
28 | 28 | let assetB = base58'' | |
29 | 29 | let diffB = 5 | |
30 | 30 | let r1 = invoke(exchangerABAddress, "refundWaves", nil, [AttachedPayment(assetB, diffB)]) | |
31 | 31 | if ((r1 == r1)) | |
32 | - | then if (authenticated) | |
33 | - | then [StringEntry(key, keyValue)] | |
34 | - | else throw("Account hat nicht die nötige Berechtigung für diese Aktion.") | |
32 | + | then { | |
33 | + | let r2 = invoke(exchangerABAddress, "payWaves", nil, [AttachedPayment(assetB, diffB)]) | |
34 | + | if ((r2 == r2)) | |
35 | + | then if (authenticated) | |
36 | + | then [StringEntry(key, keyValue)] | |
37 | + | else throw("Account hat nicht die nötige Berechtigung für diese Aktion.") | |
38 | + | else throw("Strict value is not equal to itself.") | |
39 | + | } | |
35 | 40 | else throw("Strict value is not equal to itself.") | |
36 | 41 | } | |
37 | 42 | ||
38 | 43 | ||
39 | 44 | @Verifier(tx) | |
40 | 45 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
41 | 46 |
github/deemru/w8io/6500d08 16.10 ms ◑