2022.07.11 12:06 [3200459] smart account 3PH9oV2vraW7z7BxbMjHjcCMg3dmBKmUyhh > SELF 0.00000000 Waves
{ "type": 13, "id": "6KpyzTMosfbv6kD2qTx375LCKhNY2pqEyDxoqFAghGTP", "fee": 1000000, "feeAssetId": null, "timestamp": 1657530522673, "version": 1, "sender": "3PH9oV2vraW7z7BxbMjHjcCMg3dmBKmUyhh", "senderPublicKey": "8tRVr2kuPGSmrPFKsWvmLpwFnhp9s9R4wNsubgY3REiF", "proofs": [ "Eee1dmJwiaLD1hSVhWGRxjpq7hnqvsxsHyQZQr3kRZ4usRRTpbzbyAozNb4WQjw2zcWVrQDkouUBapjUUb8f5om" ], "script": "base64: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", "chainId": 87, "height": 3200459, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: s4jJrapF6VeBdVdqU5wdbowxwFGDtG1jHcrqW2CTm5n Next: none Diff:
Old | New | Differences | |
---|---|---|---|
53 | 53 | ||
54 | 54 | ||
55 | 55 | @Callable(i) | |
56 | - | func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("%s%s%s__stakingBalance__" + eurnId) + "_") + toString(this))), 0)) | |
56 | + | func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("%s%s%s__stakingBalance__" + eurnId) + "__") + toString(this))), 0)) | |
57 | 57 | ||
58 | 58 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func writeConstString (key,value) = if (!(isDefined(getString(this, key)))) | |
5 | 5 | then StringEntry(key, value) | |
6 | 6 | else throw(("already initialized: " + key)) | |
7 | 7 | ||
8 | 8 | ||
9 | 9 | let reserve = valueOrErrorMessage(getString(this, "reserve"), "no reserve") | |
10 | 10 | ||
11 | 11 | let node = valueOrErrorMessage(getString(this, "node"), "no node") | |
12 | 12 | ||
13 | 13 | let nodeAddress = valueOrErrorMessage(addressFromString(node), "bad node address") | |
14 | 14 | ||
15 | 15 | let eurnId = valueOrErrorMessage(getString(this, "eurnId"), "no eurn id") | |
16 | 16 | ||
17 | 17 | let sp = valueOrErrorMessage(getString(this, "sp"), "no sp") | |
18 | 18 | ||
19 | 19 | @Callable(i) | |
20 | 20 | func initialize (admin,reserve,node,eurnId,sp) = [writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("eurnId", eurnId), writeConstString("sp", sp)] | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | ||
24 | 24 | @Callable(i) | |
25 | 25 | func put () = if ((toString(i.caller) != reserve)) | |
26 | 26 | then throw("reserve only") | |
27 | 27 | else { | |
28 | 28 | let attachedAssetId = toBase58String(value(i.payments[0].assetId)) | |
29 | 29 | if ((attachedAssetId != eurnId)) | |
30 | 30 | then throw(((("eurn only: " + eurnId) + ", but got ") + attachedAssetId)) | |
31 | 31 | else { | |
32 | 32 | let action = invoke(nodeAddress, "startStakingSP", [sp, 100], [AttachedPayment(fromBase58String(eurnId), i.payments[0].amount)]) | |
33 | 33 | if ((action == action)) | |
34 | 34 | then nil | |
35 | 35 | else throw("Strict value is not equal to itself.") | |
36 | 36 | } | |
37 | 37 | } | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | ||
41 | 41 | @Callable(i) | |
42 | 42 | func get (removedAmount) = if ((toString(i.caller) != reserve)) | |
43 | 43 | then throw("reserve only") | |
44 | 44 | else if ((0 > removedAmount)) | |
45 | 45 | then throw("pulling negative amount") | |
46 | 46 | else { | |
47 | 47 | let action = invoke(nodeAddress, "stopStaking", [removedAmount, eurnId], nil) | |
48 | 48 | if ((action == action)) | |
49 | 49 | then [ScriptTransfer(i.caller, removedAmount, fromBase58String(eurnId))] | |
50 | 50 | else throw("Strict value is not equal to itself.") | |
51 | 51 | } | |
52 | 52 | ||
53 | 53 | ||
54 | 54 | ||
55 | 55 | @Callable(i) | |
56 | - | func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("%s%s%s__stakingBalance__" + eurnId) + "_") + toString(this))), 0)) | |
56 | + | func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("%s%s%s__stakingBalance__" + eurnId) + "__") + toString(this))), 0)) | |
57 | 57 | ||
58 | 58 |
github/deemru/w8io/786bc32 30.91 ms ◑