tx · 3xTRevU1XtqwSG3zMppN446xqgbwW1YVnW6VHxvWftsz

3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM:  +0.00000008 WBTC
3PCsLgj1VT1ppNCTGXbLcY6ftMBG8ibS88N:  +0.00008422 WBTC
———————————————————————————————————:  -1.03076373 VIRES
———————————————————————————————————:  -0.00500000 Waves
3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp:  +25.983721 XTN.
———————————————————————————————————:  -0.00008430 WBTC
3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu:  +0.052071 XTN.
———————————————————————————————————:  +0.00120663 Waves
———————————————————————————————————:  +0.00206152 VIRES
3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g:  +0.60211319 Waves
———————————————————————————————————:  -26.035792 XTN.
3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU:  +1.02870221 VIRES
———————————————————————————————————:  -0.60331982 Waves

2023.03.17 19:19 [3559829] transfer 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw > 3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM swap() 0.00000008 WBTC
2023.03.17 19:19 [3559829] transfer 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw > 3PCsLgj1VT1ppNCTGXbLcY6ftMBG8ibS88N swap() 0.00008422 WBTC
2023.03.17 19:19 [3559829] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp swap() 0.052071 XTN.
2023.03.17 19:19 [3559829] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu swap() 0.052071 XTN.
2023.03.17 19:19 [3559829] transfer 3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp > 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw calculateAmountOutForSwapAndSendTokens() 0.00008430 WBTC
2023.03.17 19:19 [3559829] invoke 3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapContractREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp calculateAmountOutForSwapAndSendTokens() 25.931650 XTN.
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolStatusREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolAddressFromLpAssetREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2023.03.17 19:19 [3559829] invoke 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw > 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 swap() 26.035792 XTN.
2023.03.17 19:19 [3559829] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g swap() 0.00120663 Waves
2023.03.17 19:19 [3559829] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu swap() 0.00120663 Waves
2023.03.17 19:19 [3559829] transfer 3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g > 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw calculateAmountOutForSwapAndSendTokens() 26.035792 XTN.
2023.03.17 19:19 [3559829] invoke 3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapContractREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g calculateAmountOutForSwapAndSendTokens() 0.60090656 Waves
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolStatusREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolAddressFromLpAssetREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2023.03.17 19:19 [3559829] invoke 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw > 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 swap() 0.60331982 Waves
2023.03.17 19:19 [3559829] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU swap() 0.00206152 VIRES
2023.03.17 19:19 [3559829] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu swap() 0.00206152 VIRES
2023.03.17 19:19 [3559829] transfer 3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU > 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw calculateAmountOutForSwapAndSendTokens() 0.60331982 Waves
2023.03.17 19:19 [3559829] invoke 3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapContractREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU calculateAmountOutForSwapAndSendTokens() 1.02664069 VIRES
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolStatusREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolAddressFromLpAssetREADONLY()
2023.03.17 19:19 [3559829] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2023.03.17 19:19 [3559829] invoke 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw > 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 swap() 1.03076373 VIRES
2023.03.17 19:19 [3559829] invoke 3PCsLgj1VT1ppNCTGXbLcY6ftMBG8ibS88N > 3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw swap() 1.03076373 VIRES

{ "type": 16, "id": "3xTRevU1XtqwSG3zMppN446xqgbwW1YVnW6VHxvWftsz", "fee": 500000, "feeAssetId": null, "timestamp": 1679070069822, "version": 2, "chainId": 87, "sender": "3PCsLgj1VT1ppNCTGXbLcY6ftMBG8ibS88N", "senderPublicKey": "D9Qht8LNsXxkHm9ehsMufz5pT1L6tVe619EuUXXZrCrA", "proofs": [ "fwzWH5etNia3HZV7rFPrTJudY4TMf58L5HBxRDj3qozoh5mmfy7H4c2UDSC8BoweCjJNN6iU21kokTu8TYaBCeZ" ], "dApp": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw", "payment": [ { "amount": 103076373, "assetId": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" } ], "call": { "function": "swap", "args": [ { "type": "list", "value": [ { "type": "integer", "value": 103076373 } ] }, { "type": "list", "value": [ { "type": "string", "value": "3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU_3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g_3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp" } ] }, { "type": "list", "value": [ { "type": "string", "value": "WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" } ] }, { "type": "list", "value": [ { "type": "string", "value": "0_0_0" } ] }, { "type": "integer", "value": 10 }, { "type": "integer", "value": 8313 }, { "type": "list", "value": [ { "type": "string", "value": "0" }, { "type": "string", "value": "" } ] } ] }, "height": 3559829, "applicationStatus": "succeeded", "spentComplexity": 4887, "stateChanges": { "data": [], "transfers": [ { "address": "3PCsLgj1VT1ppNCTGXbLcY6ftMBG8ibS88N", "asset": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS", "amount": 8422 }, { "address": "3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM", "asset": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS", "amount": 8 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93", "call": { "function": "swap", "args": [ { "type": "Int", "value": 1 }, { "type": "String", "value": "WAVES" }, { "type": "String", "value": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw" } ] }, "payment": [ { "assetId": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 103076373 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu", "asset": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 206152 }, { "address": "3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU", "asset": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 206152 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" }, { "type": "String", "value": "WAVES" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolAddressFromLpAssetREADONLY", "args": [ { "type": "String", "value": "E3YhURNsCmjUaYNigH6AayLxbh9u81uVGU3ZvHKznY5v" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolStatusREADONLY", "args": [ { "type": "String", "value": "3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3P7Z7X5kKXN4TpZ2SmqP2xyLGuotAqht1pU", "call": { "function": "calculateAmountOutForSwapAndSendTokens", "args": [ { "type": "Int", "value": 102664069 }, { "type": "Boolean", "value": false }, { "type": "Int", "value": 1 }, { "type": "String", "value": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw" }, { "type": "Int", "value": 206152 } ] }, "payment": [ { "assetId": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 102664069 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw", "asset": null, "amount": 60331982 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getSwapContractREADONLY", "args": [] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } }, { "dApp": "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93", "call": { "function": "swap", "args": [ { "type": "Int", "value": 1 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" }, { "type": "String", "value": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw" } ] }, "payment": [ { "assetId": null, "amount": 60331982 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu", "asset": null, "amount": 120663 }, { "address": "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g", "asset": null, "amount": 120663 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "WAVES" }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolAddressFromLpAssetREADONLY", "args": [ { "type": "String", "value": "7KZbJrVopwJhkdwbe1eFDBbex4dkY63MxjTNjqXtrzj1" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolStatusREADONLY", "args": [ { "type": "String", "value": "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g", "call": { "function": "calculateAmountOutForSwapAndSendTokens", "args": [ { "type": "Int", "value": 60090656 }, { "type": "Boolean", "value": false }, { "type": "Int", "value": 1 }, { "type": "String", "value": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw" }, { "type": "Int", "value": 120663 } ] }, "payment": [ { "assetId": null, "amount": 60090656 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 26035792 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getSwapContractREADONLY", "args": [] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } }, { "dApp": "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93", "call": { "function": "swap", "args": [ { "type": "Int", "value": 1 }, { "type": "String", "value": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" }, { "type": "String", "value": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw" } ] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 26035792 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 52071 }, { "address": "3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 52071 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" }, { "type": "String", "value": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolAddressFromLpAssetREADONLY", "args": [ { "type": "String", "value": "8WhH5CCJ6NakPvEvAJcizqqD7H6axhupdYHDFumSDwsy" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolStatusREADONLY", "args": [ { "type": "String", "value": "3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp", "call": { "function": "calculateAmountOutForSwapAndSendTokens", "args": [ { "type": "Int", "value": 25931650 }, { "type": "Boolean", "value": true }, { "type": "Int", "value": 1 }, { "type": "String", "value": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw" }, { "type": "Int", "value": 52071 } ] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 25931650 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3P5UKXpQbom7GB2WGdPG5yGQPeQQuM3hFmw", "asset": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS", "amount": 8430 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getSwapContractREADONLY", "args": [] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } } ] } }

github/deemru/w8io/3ef1775 
23.05 ms