tx · 3vyX3smUzognaBdknxxrn4jNZr4PhXk3P1AG6tw5ihP9 3Mu3e7R5nEBrDEAzznC7h68ffzL5JouGszd: -0.01000000 Waves 2023.09.26 12:32 [2772205] smart account 3Mu3e7R5nEBrDEAzznC7h68ffzL5JouGszd > SELF 0.00000000 Waves
{ "type": 13, "id": "3vyX3smUzognaBdknxxrn4jNZr4PhXk3P1AG6tw5ihP9", "fee": 1000000, "feeAssetId": null, "timestamp": 1695720722000, "version": 2, "chainId": 84, "sender": "3Mu3e7R5nEBrDEAzznC7h68ffzL5JouGszd", "senderPublicKey": "B4bNSdbqghMi7FKwR3XuZzFQQS6wJABczdGZPWZe7Wj5", "proofs": [ "4q3cnBnVVLpD29xwKmH1ddLPkRx7TP6RbTWxzdmse4647bmNN8qnkWtg2iEcUVZuZLGUoEroRtrYTu5qDeWQF8PG" ], "script": "base64:BgIhCAISBAoCCAgSBAoCCAESBQoDAgECEgQKAgIBEgQKAggYBwAOZmFjdG9yeUFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwIQZmFjdG9yeVB1YmxpY0tleQAOc2VydmljZUFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUOZmFjdG9yeUFkZHJlc3MCEHNlcnZpY2VQdWJsaWNLZXkADG93bmVyQWRkcmVzcwkApwgBCQERQGV4dHJOYXRpdmUoMTA1MikCBQR0aGlzAg5vd25lclB1YmxpY0tleQELb25seUFkZHJlc3MCAWkHYWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFB2FkZHJlc3MGCQEFdGhyb3cAAQhvbmx5VGhpcwEBaQkBC29ubHlBZGRyZXNzAgUBaQUEdGhpcwELb25seVNlcnZpY2UBAWkJAQtvbmx5QWRkcmVzcwIFAWkFDnNlcnZpY2VBZGRyZXNzAQlvbmx5T3duZXIBAWkJAQtvbmx5QWRkcmVzcwIFAWkFDG93bmVyQWRkcmVzcwUBaQELc3RyaW5nRW50cnkCA2tleQN2YWwDCQELb25seVNlcnZpY2UBBQFpCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQCUCgIFA25pbAUEdW5pdAFpAQxpbnRlZ2VyRW50cnkCA2tleQN2YWwDCQELb25seVNlcnZpY2UBBQFpCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFA2tleQUDdmFsBQNuaWwFA2tleQkAlAoCBQNuaWwFBHVuaXQBaQENdHJhbnNmZXJBc3NldAMOcmVjaXBpZW50Qnl0ZXMGYW1vdW50B2Fzc2V0SWQDCQELb25seVNlcnZpY2UBBQFpCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwUGYW1vdW50BQdhc3NldElkBQNuaWwFBmFtb3VudAkAlAoCBQNuaWwFBHVuaXQBaQENdHJhbnNmZXJXYXZlcwIOcmVjaXBpZW50Qnl0ZXMGYW1vdW50AwkBC29ubHlTZXJ2aWNlAQUBaQkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjaXBpZW50Qnl0ZXMFBmFtb3VudAUEdW5pdAUDbmlsBQZhbW91bnQJAJQKAgUDbmlsBQR1bml0AWkBBGNhbGwCCGZ1bmN0aW9uBGFyZ3MDCQEJb25seU93bmVyAQUBaQQGcmVzdWx0CQD9BwQFDnNlcnZpY2VBZGRyZXNzBQhmdW5jdGlvbgkAzAgCBQRhcmdzBQNuaWwIBQFpCHBheW1lbnRzCQCUCgIFA25pbAUGcmVzdWx0CQCUCgIFA25pbAUEdW5pdAECdHgBBnZlcmlmeQAEDGJvdFB1YmxpY0tleQkBEUBleHRyTmF0aXZlKDEwNTIpAgUOZmFjdG9yeUFkZHJlc3MCDGJvdFB1YmxpY0tleQQHJG1hdGNoMAUCdHgDCQABAgUHJG1hdGNoMAIFT3JkZXIJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGJvdFB1YmxpY0tleQkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlebGO2dg=", "height": 2772205, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7cq1tzKCiHvbJbXcZjbv8A4zXnVvjLpxSunqHfS1FXsv Next: 69QZEWwvi8EN6A2fHsCMUChc3S4xo1TJHfUjithqk1M3 Diff:
Old | New | Differences | |
---|---|---|---|
52 | 52 | @Callable(i) | |
53 | 53 | func call (function,args) = if (onlyOwner(i)) | |
54 | 54 | then { | |
55 | - | let result = reentrantInvoke(serviceAddress, function, args, i.payments) | |
55 | + | let result = reentrantInvoke(serviceAddress, function, [args], i.payments) | |
56 | 56 | $Tuple2(nil, result) | |
57 | 57 | } | |
58 | 58 | else $Tuple2(nil, unit) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let factoryAddress = addressFromPublicKey(getBinaryValue(this, "factoryPublicKey")) | |
5 | 5 | ||
6 | 6 | let serviceAddress = addressFromPublicKey(getBinaryValue(factoryAddress, "servicePublicKey")) | |
7 | 7 | ||
8 | 8 | let ownerAddress = addressFromPublicKey(getBinaryValue(this, "ownerPublicKey")) | |
9 | 9 | ||
10 | 10 | func onlyAddress (i,address) = if ((i.caller == address)) | |
11 | 11 | then true | |
12 | 12 | else throw() | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | func onlyThis (i) = onlyAddress(i, this) | |
16 | 16 | ||
17 | 17 | ||
18 | 18 | func onlyService (i) = onlyAddress(i, serviceAddress) | |
19 | 19 | ||
20 | 20 | ||
21 | 21 | func onlyOwner (i) = onlyAddress(i, ownerAddress) | |
22 | 22 | ||
23 | 23 | ||
24 | 24 | @Callable(i) | |
25 | 25 | func stringEntry (key,val) = if (onlyService(i)) | |
26 | 26 | then $Tuple2([StringEntry(key, val)], key) | |
27 | 27 | else $Tuple2(nil, unit) | |
28 | 28 | ||
29 | 29 | ||
30 | 30 | ||
31 | 31 | @Callable(i) | |
32 | 32 | func integerEntry (key,val) = if (onlyService(i)) | |
33 | 33 | then $Tuple2([IntegerEntry(key, val)], key) | |
34 | 34 | else $Tuple2(nil, unit) | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | ||
38 | 38 | @Callable(i) | |
39 | 39 | func transferAsset (recipientBytes,amount,assetId) = if (onlyService(i)) | |
40 | 40 | then $Tuple2([ScriptTransfer(Address(recipientBytes), amount, assetId)], amount) | |
41 | 41 | else $Tuple2(nil, unit) | |
42 | 42 | ||
43 | 43 | ||
44 | 44 | ||
45 | 45 | @Callable(i) | |
46 | 46 | func transferWaves (recipientBytes,amount) = if (onlyService(i)) | |
47 | 47 | then $Tuple2([ScriptTransfer(Address(recipientBytes), amount, unit)], amount) | |
48 | 48 | else $Tuple2(nil, unit) | |
49 | 49 | ||
50 | 50 | ||
51 | 51 | ||
52 | 52 | @Callable(i) | |
53 | 53 | func call (function,args) = if (onlyOwner(i)) | |
54 | 54 | then { | |
55 | - | let result = reentrantInvoke(serviceAddress, function, args, i.payments) | |
55 | + | let result = reentrantInvoke(serviceAddress, function, [args], i.payments) | |
56 | 56 | $Tuple2(nil, result) | |
57 | 57 | } | |
58 | 58 | else $Tuple2(nil, unit) | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | @Verifier(tx) | |
62 | 62 | func verify () = { | |
63 | 63 | let botPublicKey = getBinaryValue(factoryAddress, "botPublicKey") | |
64 | 64 | match tx { | |
65 | 65 | case _: Order => | |
66 | 66 | sigVerify(tx.bodyBytes, tx.proofs[0], botPublicKey) | |
67 | 67 | case _ => | |
68 | 68 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
69 | 69 | } | |
70 | 70 | } | |
71 | 71 |
github/deemru/w8io/03bedc9 29.41 ms ◑![]()