tx · 5b2faHhg2p4rScSjFhiN3AR95F6wUQzdSchHigkBvcUm
3P5AWr9S3bQ6JkUquU7a5WSe8Aspmu9y5La: -0.01400000 Waves
2022.11.28 17:19 [3402541] smart account 3P5AWr9S3bQ6JkUquU7a5WSe8Aspmu9y5La > SELF 0.00000000 Waves
{
"type": 13,
"id": "5b2faHhg2p4rScSjFhiN3AR95F6wUQzdSchHigkBvcUm",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1669645237009,
"version": 2,
"chainId": 87,
"sender": "3P5AWr9S3bQ6JkUquU7a5WSe8Aspmu9y5La",
"senderPublicKey": "7Mv9iWobUqrV5LUQu9znbtWisdQYkX5gGkkShFFgkJ3T",
"proofs": [
"5BqKSrJ3t8y6cybHbentFL2xW9xiCDP73mXr8y9TxcVyG7kfdbPk16SpR9bSAcBveXY2tPCJp3LwLMaxUy8JuE1i"
],
"script": "base64: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",
"height": 3402541,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: Bk1cq28tkFnZArQwuNeVdijh1L8s74JiPRewMvn185Pp
Next: none
Diff:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' |
---|
| 5 | + | |
---|
4 | 6 | | let vires_vesting_addr = Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk') |
---|
5 | 7 | | |
---|
6 | 8 | | let addr = Address(base58'3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd') |
---|
| 9 | + | |
---|
| 10 | + | let adminAddr = Address(base58'3PMR45TPx3cSYiJeoiTYVTh1aX88Hixbr17') |
---|
7 | 11 | | |
---|
8 | 12 | | @Callable(i) |
---|
9 | 13 | | func w (l) = { |
---|
10 | 14 | | let admin = "3PMR45TPx3cSYiJeoiTYVTh1aX88Hixbr17" |
---|
11 | 15 | | if ((toString(i.caller) != admin)) |
---|
12 | | - | then throw("only admin can do") |
---|
| 16 | + | then throw("Denied") |
---|
13 | 17 | | else { |
---|
14 | 18 | | let pastH = ((height / 1440) * 1440) |
---|
15 | 19 | | let delta = (height - pastH) |
---|
|
36 | 40 | | else { |
---|
37 | 41 | | let res = invoke(vires_vesting_addr, "withdrawVestedAllUSDN", [false, true], nil) |
---|
38 | 42 | | if ((res == res)) |
---|
39 | | - | then nil |
---|
| 43 | + | then { |
---|
| 44 | + | let claimedUSDN = getIntegerValue(addr, kClaimedToday) |
---|
| 45 | + | let usdnBalance = assetBalance(this, usdnAssetId) |
---|
| 46 | + | [ScriptTransfer(adminAddr, usdnBalance, usdnAssetId)] |
---|
| 47 | + | } |
---|
40 | 48 | | else throw("Strict value is not equal to itself.") |
---|
41 | 49 | | } |
---|
42 | 50 | | } |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' |
---|
| 5 | + | |
---|
4 | 6 | | let vires_vesting_addr = Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk') |
---|
5 | 7 | | |
---|
6 | 8 | | let addr = Address(base58'3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd') |
---|
| 9 | + | |
---|
| 10 | + | let adminAddr = Address(base58'3PMR45TPx3cSYiJeoiTYVTh1aX88Hixbr17') |
---|
7 | 11 | | |
---|
8 | 12 | | @Callable(i) |
---|
9 | 13 | | func w (l) = { |
---|
10 | 14 | | let admin = "3PMR45TPx3cSYiJeoiTYVTh1aX88Hixbr17" |
---|
11 | 15 | | if ((toString(i.caller) != admin)) |
---|
12 | | - | then throw("only admin can do") |
---|
| 16 | + | then throw("Denied") |
---|
13 | 17 | | else { |
---|
14 | 18 | | let pastH = ((height / 1440) * 1440) |
---|
15 | 19 | | let delta = (height - pastH) |
---|
16 | 20 | | let kClaimedToday = (((toString(this) + "_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_") + toString(pastH)) + "_withdrawn_within_epoch") |
---|
17 | 21 | | let c = getInteger(addr, kClaimedToday) |
---|
18 | 22 | | let cv = match c { |
---|
19 | 23 | | case t: Int => |
---|
20 | 24 | | throw("gg1") |
---|
21 | 25 | | case _ => |
---|
22 | 26 | | 0 |
---|
23 | 27 | | } |
---|
24 | 28 | | if ((cv == cv)) |
---|
25 | 29 | | then { |
---|
26 | 30 | | let kStr = (("total_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(pastH)) + "_withdrawn_within_epoch") |
---|
27 | 31 | | let w = getInteger(addr, kStr) |
---|
28 | 32 | | let wi = match w { |
---|
29 | 33 | | case t: Int => |
---|
30 | 34 | | t |
---|
31 | 35 | | case _ => |
---|
32 | 36 | | 0 |
---|
33 | 37 | | } |
---|
34 | 38 | | if ((wi >= l)) |
---|
35 | 39 | | then throw("gg") |
---|
36 | 40 | | else { |
---|
37 | 41 | | let res = invoke(vires_vesting_addr, "withdrawVestedAllUSDN", [false, true], nil) |
---|
38 | 42 | | if ((res == res)) |
---|
39 | | - | then nil |
---|
| 43 | + | then { |
---|
| 44 | + | let claimedUSDN = getIntegerValue(addr, kClaimedToday) |
---|
| 45 | + | let usdnBalance = assetBalance(this, usdnAssetId) |
---|
| 46 | + | [ScriptTransfer(adminAddr, usdnBalance, usdnAssetId)] |
---|
| 47 | + | } |
---|
40 | 48 | | else throw("Strict value is not equal to itself.") |
---|
41 | 49 | | } |
---|
42 | 50 | | } |
---|
43 | 51 | | else throw("Strict value is not equal to itself.") |
---|
44 | 52 | | } |
---|
45 | 53 | | } |
---|
46 | 54 | | |
---|
47 | 55 | | |
---|
48 | 56 | | @Verifier(tx) |
---|
49 | 57 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
50 | 58 | | |
---|