tx · DQXGBkeZ6AAPVNei6XKABde14saaAGJ3Tz55YxsWw4LT 3Mx8raFsQfjh2JBeT8MN1Jv5sTvGkx5PDDS: -0.01000000 Waves 2023.08.28 15:18 [2730511] smart account 3Mx8raFsQfjh2JBeT8MN1Jv5sTvGkx5PDDS > SELF 0.00000000 Waves
{ "type": 13, "id": "DQXGBkeZ6AAPVNei6XKABde14saaAGJ3Tz55YxsWw4LT", "fee": 1000000, "feeAssetId": null, "timestamp": 1693225104805, "version": 2, "chainId": 84, "sender": "3Mx8raFsQfjh2JBeT8MN1Jv5sTvGkx5PDDS", "senderPublicKey": "HmWR8GbhBF4LAodJ9xNgR7PpWF79RuCrhPWJWxqdB1KL", "proofs": [ "RaB8EfJbMiNTxts6iQHU5v2Wi2S2DqHFPw6rKwKFaAHR9Nu6De6exShDe7YLwMKum6ow5JrxjWEr4pdYdiV3y5H" ], "script": "base64:AAIFAAAAAAAAAAkIAhIAEgMKAQEAAAAEAAAAABFscF9hZGRyZXNzX3B1YmtleQEAAAAg+SHOoR+6ay5qXj57vjRzml+/6VMYqCQMV4ukn2GjgTcAAAAAIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABFscF9hZGRyZXNzX3B1YmtleQAAAAAUbHBfZGVwb3NpdG9yX2FkZHJlc3MBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAAAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAUbHBfZGVwb3NpdG9yX2FkZHJlc3MAAAACAAAAAWkBAAAAEEFkZFBvb2xMaXF1aWRpdHkAAAAABAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAAElObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIG9ubHkgV2hpdGVsaXN0ZWQgVG9rZW5zIGluIHBheW1lbnRbMV0uBAAAACFQcmV2aW91c0Z1bmRzQWRkZWRUb1Bvb2xieUNvbXBhbnkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAOVG90YWxfTFBfQWRkZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAeVG90YWxGdW5kc0FkZGVkVG9Qb29sYnlDb21wYW55CQAAZAAAAAIFAAAAIVByZXZpb3VzRnVuZHNBZGRlZFRvUG9vbGJ5Q29tcGFueQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFVByZXZpb3VzUG9vbExpcXVpZGl0eQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABJUb3RhbFBvb2xMaXF1aWRpdHkJAABkAAAAAgUAAAAVUHJldmlvdXNQb29sTGlxdWlkaXR5CAUAAAADcG10AAAABmFtb3VudAQAAAAYUHJldmlvdXNMUERlcG9zaXRDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAEkxQX0RlcG9zaXRfQ291bnRlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVUb3RhbExQRGVwb3NpdENvdW50ZXIJAABkAAAAAgUAAAAYUHJldmlvdXNMUERlcG9zaXRDb3VudGVyAAAAAAAAAAABAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAuT25seSBXQVZFUyBpcyBhbGxvd2VkIHRvIGRlcG9zaXQgYXQgdGhlIG1vbWVudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkFAAAAElRvdGFsUG9vbExpcXVpZGl0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTFBfRGVwb3NpdF9Db3VudGVyBQAAABVUb3RhbExQRGVwb3NpdENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADlRvdGFsX0xQX0FkZGVkBQAAAB5Ub3RhbEZ1bmRzQWRkZWRUb1Bvb2xieUNvbXBhbnkFAAAAA25pbAAAAAFpAQAAAA9VcGRhdGVMUEJhbGFuY2UAAAABAAAAFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQEAAAAGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQIAAAAkTm8gSW5pdGlhbCBQb29sIExpcXVpZGl0eSB3YXMgRm91bmQuBAAAABR1cGRhdGVkX3Bvb2xfYmFsYW5jZQkAAGUAAAACBQAAABlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BQAAABZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BAAAABtQcmV2aW91c01hc3NUcmFuc2ZlckNvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAVTWFzc19UcmFuc2Zlcl9Db3VudGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgkAAGQAAAACBQAAABtQcmV2aW91c01hc3NUcmFuc2ZlckNvdW50ZXIAAAAAAAAAAAEEAAAAGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABhUb3RhbF9NYXNzX1RyYW5zZmVyX1NlbmQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxNYXNzVHJhbnNmZXJTZW5kCQAAZAAAAAIFAAAAGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAUAAAAWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAAgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX1Bvb2xfTGlxdWlkaXR5BQAAABR1cGRhdGVkX3Bvb2xfYmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYVG90YWxfTWFzc19UcmFuc2Zlcl9TZW5kBQAAABVUb3RhbE1hc3NUcmFuc2ZlclNlbmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABhUb3RhbE1hc3NUcmFuc2ZlckNvdW50ZXICAAAAE19NYXNzX1RyYW5zZmVyX1NlbmQFAAAAFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFT3JkZXIGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmeasmF", "height": 2730511, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ENEhhdZUpyu5AVBNzMY9L3KbT1MWSJzgfiGRQTGWq88e Next: 7F9Sgwj9XH5WWYviHVsfPJNme6QFUbJgAdcYfc67PdqH Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let lp_address_pubkey = base58'HmWR8GbhBF4LAodJ9xNgR7PpWF79RuCrhPWJWxqdB1KL' | |
5 | 5 | ||
6 | - | let whitelist_address = addressFromPublicKey(lp_address_pubkey) | |
6 | + | let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey) | |
7 | + | ||
8 | + | let lp_depositor_address = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
9 | + | ||
10 | + | let lp_whitelist_address = addressFromPublicKey(lp_depositor_address) | |
7 | 11 | ||
8 | 12 | @Callable(i) | |
9 | 13 | func AddPoolLiquidity () = { | |
32 | 36 | 0 | |
33 | 37 | } | |
34 | 38 | let TotalLPDepositCounter = (PreviousLPDepositCounter + 1) | |
35 | - | if ((i.caller != whitelist_address)) | |
36 | - | then throw((("This Address is not Authorized. Only " + toString(whitelist_address)) + " is Authorized Address to Sign it.")) | |
39 | + | if ((i.caller != lp_whitelist_address)) | |
40 | + | then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it.")) | |
37 | 41 | else if (isDefined(pmt.assetId)) | |
38 | 42 | then throw("Only WAVES is allowed to deposit at the moment") | |
39 | 43 | else [IntegerEntry("Total_Pool_Liquidity", TotalPoolLiquidity), IntegerEntry("LP_Deposit_Counter", TotalLPDepositCounter), IntegerEntry("Total_LP_Added", TotalFundsAddedToPoolbyCompany)] | |
59 | 63 | 0 | |
60 | 64 | } | |
61 | 65 | let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount) | |
62 | - | if ((i.caller != | |
63 | - | then throw((("This Address is not Authorized. Only " + toString( | |
66 | + | if ((i.caller != masstransfer_whitelisted_address)) | |
67 | + | then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it.")) | |
64 | 68 | else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("Total_Mass_Transfer_Send", TotalMassTransferSend), IntegerEntry((toString(TotalMassTransferCounter) + "_Mass_Transfer_Send"), PaidMassTransferAmount)] | |
65 | 69 | } | |
66 | 70 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let lp_address_pubkey = base58'HmWR8GbhBF4LAodJ9xNgR7PpWF79RuCrhPWJWxqdB1KL' | |
5 | 5 | ||
6 | - | let whitelist_address = addressFromPublicKey(lp_address_pubkey) | |
6 | + | let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey) | |
7 | + | ||
8 | + | let lp_depositor_address = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
9 | + | ||
10 | + | let lp_whitelist_address = addressFromPublicKey(lp_depositor_address) | |
7 | 11 | ||
8 | 12 | @Callable(i) | |
9 | 13 | func AddPoolLiquidity () = { | |
10 | 14 | let calleraddress = toBase58String(i.caller.bytes) | |
11 | 15 | let pmt = if ((size(i.payments) == 1)) | |
12 | 16 | then i.payments[0] | |
13 | 17 | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") | |
14 | 18 | let PreviousFundsAddedToPoolbyCompany = match getInteger(this, "Total_LP_Added") { | |
15 | 19 | case a: Int => | |
16 | 20 | a | |
17 | 21 | case _ => | |
18 | 22 | 0 | |
19 | 23 | } | |
20 | 24 | let TotalFundsAddedToPoolbyCompany = (PreviousFundsAddedToPoolbyCompany + pmt.amount) | |
21 | 25 | let PreviousPoolLiquidity = match getInteger(this, "Total_Pool_Liquidity") { | |
22 | 26 | case a: Int => | |
23 | 27 | a | |
24 | 28 | case _ => | |
25 | 29 | 0 | |
26 | 30 | } | |
27 | 31 | let TotalPoolLiquidity = (PreviousPoolLiquidity + pmt.amount) | |
28 | 32 | let PreviousLPDepositCounter = match getInteger(this, "LP_Deposit_Counter") { | |
29 | 33 | case a: Int => | |
30 | 34 | a | |
31 | 35 | case _ => | |
32 | 36 | 0 | |
33 | 37 | } | |
34 | 38 | let TotalLPDepositCounter = (PreviousLPDepositCounter + 1) | |
35 | - | if ((i.caller != whitelist_address)) | |
36 | - | then throw((("This Address is not Authorized. Only " + toString(whitelist_address)) + " is Authorized Address to Sign it.")) | |
39 | + | if ((i.caller != lp_whitelist_address)) | |
40 | + | then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it.")) | |
37 | 41 | else if (isDefined(pmt.assetId)) | |
38 | 42 | then throw("Only WAVES is allowed to deposit at the moment") | |
39 | 43 | else [IntegerEntry("Total_Pool_Liquidity", TotalPoolLiquidity), IntegerEntry("LP_Deposit_Counter", TotalLPDepositCounter), IntegerEntry("Total_LP_Added", TotalFundsAddedToPoolbyCompany)] | |
40 | 44 | } | |
41 | 45 | ||
42 | 46 | ||
43 | 47 | ||
44 | 48 | @Callable(i) | |
45 | 49 | func UpdateLPBalance (PaidMassTransferAmount) = { | |
46 | 50 | let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.") | |
47 | 51 | let updated_pool_balance = (read_total_pool_liquidity - PaidMassTransferAmount) | |
48 | 52 | let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") { | |
49 | 53 | case a: Int => | |
50 | 54 | a | |
51 | 55 | case _ => | |
52 | 56 | 0 | |
53 | 57 | } | |
54 | 58 | let TotalMassTransferCounter = (PreviousMassTransferCounter + 1) | |
55 | 59 | let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") { | |
56 | 60 | case a: Int => | |
57 | 61 | a | |
58 | 62 | case _ => | |
59 | 63 | 0 | |
60 | 64 | } | |
61 | 65 | let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount) | |
62 | - | if ((i.caller != | |
63 | - | then throw((("This Address is not Authorized. Only " + toString( | |
66 | + | if ((i.caller != masstransfer_whitelisted_address)) | |
67 | + | then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it.")) | |
64 | 68 | else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("Total_Mass_Transfer_Send", TotalMassTransferSend), IntegerEntry((toString(TotalMassTransferCounter) + "_Mass_Transfer_Send"), PaidMassTransferAmount)] | |
65 | 69 | } | |
66 | 70 | ||
67 | 71 | ||
68 | 72 | @Verifier(tx) | |
69 | 73 | func verify () = match tx { | |
70 | 74 | case t: Order|ExchangeTransaction|TransferTransaction => | |
71 | 75 | false | |
72 | 76 | case _ => | |
73 | 77 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
74 | 78 | } | |
75 | 79 |
github/deemru/w8io/026f985 26.71 ms ◑