tx · 2i1xvAVHfoXvDeW4H6PuezcT68Z8992qubdWcdg66Fvo
3MpNDxa2QpcAzbaLaV6qacbuASgtH7wcric: -0.14000000 Waves
2022.12.14 09:30 [2359623] smart account 3MpNDxa2QpcAzbaLaV6qacbuASgtH7wcric > SELF 0.00000000 Waves
{
"type": 13,
"id": "2i1xvAVHfoXvDeW4H6PuezcT68Z8992qubdWcdg66Fvo",
"fee": 14000000,
"feeAssetId": null,
"timestamp": 1670999478694,
"version": 2,
"chainId": 84,
"sender": "3MpNDxa2QpcAzbaLaV6qacbuASgtH7wcric",
"senderPublicKey": "DLs8YD3NUQMaSkR7EAP4cQYQVzLLAhfLtfM11v5zQ7sW",
"proofs": [
"4LkAbEpJUZTvpqgqCxd1CMogZP832NyzxM8TVF5dh4B4KqRwqp1ANdAk4pWBEWKug6dBiFAogqnNGVX8qKCifXGC",
"5NPrnS1B4E5ro1uKxqCRkqNzqfs5wvS2h8Xj9xbK7gMgM1upXHPHSE7ewMeB8RddNm2wyvqqpFnGqphJTquk87XN"
],
"script": "base64:BgIECAISAAoADWtBZG1pblB1YktleTECC2FkbWluX3B1Yl8xAA1rQWRtaW5QdWJLZXkyAgthZG1pbl9wdWJfMgANa0FkbWluUHViS2V5MwILYWRtaW5fcHViXzMADGtGYXJtaW5nQWRkcgIPZmFybWluZ19hZGRyZXNzAAZvcmFjbGUJAQdBZGRyZXNzAQEaAVRIE5cMwNMzzCUygLYp96dkaICr48x7S5kBE2dldEJhc2U1OEZyb21PcmFjbGUBA2tleQQHJG1hdGNoMAkAnQgCBQZvcmFjbGUFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnN0cmluZwUHJG1hdGNoMAkA2QQBBQZzdHJpbmcEB25vdGhpbmcFByRtYXRjaDAJAAIBCQCsAgIFA2tleQIIaXMgZW1wdHkADGFkbWluUHViS2V5MQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkxAAxhZG1pblB1YktleTIJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MgAMYWRtaW5QdWJLZXkzCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTMAC2Zhcm1pbmdBZGRyCQEHQWRkcmVzcwEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUMa0Zhcm1pbmdBZGRyAQFpAQZ1bmxvY2sABANpbnYJAPwHBAULZmFybWluZ0FkZHICEHVubG9ja1N0YWJsZUxvY2sJAMwIAgkApQgBCAUBaQZjYWxsZXIFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAQSYWRtaW5QdWJLZXkxU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUMYWRtaW5QdWJLZXkxAAEAAAQSYWRtaW5QdWJLZXkyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUMYWRtaW5QdWJLZXkyAAEAAAQSYWRtaW5QdWJLZXkzU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUMYWRtaW5QdWJLZXkzAAEAAAkAZwIJAGQCCQBkAgUSYWRtaW5QdWJLZXkxU2lnbmVkBRJhZG1pblB1YktleTJTaWduZWQFEmFkbWluUHViS2V5M1NpZ25lZAACBiNrqw==",
"height": 2359623,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 2CgczLX1eS4wTcDvQP9SxD6CPgct3NhdvmDvgzQG6vTW
Next: none
Diff:
Old | New | | Differences |
---|
29 | 29 | | |
---|
30 | 30 | | @Callable(i) |
---|
31 | 31 | | func unlock () = { |
---|
32 | | - | let inv = invoke(farmingAddr, "unlockStableLock", nil, nil) |
---|
| 32 | + | let inv = invoke(farmingAddr, "unlockStableLock", [toString(i.caller)], nil) |
---|
33 | 33 | | if ((inv == inv)) |
---|
34 | 34 | | then nil |
---|
35 | 35 | | else throw("Strict value is not equal to itself.") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let kAdminPubKey1 = "admin_pub_1" |
---|
5 | 5 | | |
---|
6 | 6 | | let kAdminPubKey2 = "admin_pub_2" |
---|
7 | 7 | | |
---|
8 | 8 | | let kAdminPubKey3 = "admin_pub_3" |
---|
9 | 9 | | |
---|
10 | 10 | | let kFarmingAddr = "farming_address" |
---|
11 | 11 | | |
---|
12 | 12 | | let oracle = Address(base58'3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz') |
---|
13 | 13 | | |
---|
14 | 14 | | func getBase58FromOracle (key) = match getString(oracle, key) { |
---|
15 | 15 | | case string: String => |
---|
16 | 16 | | fromBase58String(string) |
---|
17 | 17 | | case nothing => |
---|
18 | 18 | | throw((key + "is empty")) |
---|
19 | 19 | | } |
---|
20 | 20 | | |
---|
21 | 21 | | |
---|
22 | 22 | | let adminPubKey1 = getBase58FromOracle(kAdminPubKey1) |
---|
23 | 23 | | |
---|
24 | 24 | | let adminPubKey2 = getBase58FromOracle(kAdminPubKey2) |
---|
25 | 25 | | |
---|
26 | 26 | | let adminPubKey3 = getBase58FromOracle(kAdminPubKey3) |
---|
27 | 27 | | |
---|
28 | 28 | | let farmingAddr = Address(getBase58FromOracle(kFarmingAddr)) |
---|
29 | 29 | | |
---|
30 | 30 | | @Callable(i) |
---|
31 | 31 | | func unlock () = { |
---|
32 | | - | let inv = invoke(farmingAddr, "unlockStableLock", nil, nil) |
---|
| 32 | + | let inv = invoke(farmingAddr, "unlockStableLock", [toString(i.caller)], nil) |
---|
33 | 33 | | if ((inv == inv)) |
---|
34 | 34 | | then nil |
---|
35 | 35 | | else throw("Strict value is not equal to itself.") |
---|
36 | 36 | | } |
---|
37 | 37 | | |
---|
38 | 38 | | |
---|
39 | 39 | | @Verifier(tx) |
---|
40 | 40 | | func verify () = match tx { |
---|
41 | 41 | | case _ => |
---|
42 | 42 | | let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1)) |
---|
43 | 43 | | then 1 |
---|
44 | 44 | | else 0 |
---|
45 | 45 | | let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2)) |
---|
46 | 46 | | then 1 |
---|
47 | 47 | | else 0 |
---|
48 | 48 | | let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3)) |
---|
49 | 49 | | then 1 |
---|
50 | 50 | | else 0 |
---|
51 | 51 | | (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2) |
---|
52 | 52 | | } |
---|
53 | 53 | | |
---|