tx · 5zAhKYNUEakFsXsg6B3yB8sTCjoow2iPSrnigs8fJeTH

3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp:  +0.32390201 TurtleNetwork
———————————————————————————————————:  +0.075867 XTN.
3PPVyyFr9icFAteYoR7wCivHcnx8vHKb5W2:  +103.95495730 TurtleNetwork
———————————————————————————————————:  -46.72003098 Waves.Exchange
———————————————————————————————————:  -0.00500000 Waves
3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj:  -104.34167159 TurtleNetwork
3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg:  +0.06281228 TurtleNetwork
———————————————————————————————————:  +0.021676 XTN.
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ:  -0.097543 XTN.
3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R:  +46.72003098 Waves.Exchange

2023.04.12 05:12 [3596353] transfer 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp routingTrade() 0.10405902 TurtleNetwork
2023.04.12 05:12 [3596353] transfer 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3PPVyyFr9icFAteYoR7wCivHcnx8vHKb5W2 routingTrade() 103.95495730 TurtleNetwork
2023.04.12 05:12 [3596353] transfer 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg callFunction() 0.06281228 TurtleNetwork
2023.04.12 05:12 [3596353] transfer 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp callFunction() 0.21984299 TurtleNetwork
2023.04.12 05:12 [3596353] transfer 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj > 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj callFunction() 104.05901632 TurtleNetwork
2023.04.12 05:12 [3596353] invoke 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj > 3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ lockNeutrino() 35.910790 XTN.
2023.04.12 05:12 [3596353] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj stakeUnstake()
2023.04.12 05:12 [3596353] invoke 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange()
2023.04.12 05:12 [3596353] invoke 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj callFunction() 35.910790 XTN.
2023.04.12 05:12 [3596353] transfer 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg callFunction() 0.021676 XTN.
2023.04.12 05:12 [3596353] transfer 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp callFunction() 0.075867 XTN.
2023.04.12 05:12 [3596353] transfer 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R > 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj callFunction() 35.910790 XTN.
2023.04.12 05:12 [3596353] transfer 3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ > 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R unlockNeutrino() 36.008333 XTN.
2023.04.12 05:12 [3596353] invoke 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R > 3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ unlockNeutrino()
2023.04.12 05:12 [3596353] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R stakeUnstake()
2023.04.12 05:12 [3596353] invoke 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange()
2023.04.12 05:12 [3596353] invoke 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R callFunction() 46.72003098 Waves.Exchange
2023.04.12 05:12 [3596353] invoke 3PPVyyFr9icFAteYoR7wCivHcnx8vHKb5W2 > 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj routingTrade() 46.72003098 Waves.Exchange

3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj: B_asset_balance: 53345687251 -> 53381598041
3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj: A_asset_balance: 15561804078908 -> 15551369911749
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 102990341034213 -> 102990376945003
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeTotalLocked: 102990341034213 -> 102990376945003
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeUsersCount: 4342 == 4342
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__locksCount: 378390 -> 378391
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj: 53345687251 -> 53381598041
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__start: 3356246 == 3356246
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__amount: 53345687251 -> 53381598041
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__userRwdFromDepNum__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj: 1 == 1
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__rwd__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 0 == 0
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s%s__history__stake__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__5zAhKYNUEakFsXsg6B3yB8sTCjoow2iPSrnigs8fJeTH: "%s%d%d%d%d__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__3596353__1681265578467__53345687251__53381598041"
3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R: B_asset_balance: 163254096190 -> 163218087857
3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R: A_asset_balance: 21107291230758 -> 21111963233856
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 102990377042546 -> 102990341034213
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeTotalLocked: 102990377042546 -> 102990341034213
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeUsersCount: 4342 == 4342
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__locksCount: 378390 == 378390
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R: 163254096190 -> 163218087857
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__start: 3356249 == 3356249
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__amount: 163254096190 -> 163218087857
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__userRwdFromDepNum__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R: 1 == 1
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__rwd__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 0 == 0
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s%s__history__unstake__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__5zAhKYNUEakFsXsg6B3yB8sTCjoow2iPSrnigs8fJeTH: "%s%d%d%d%d__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__3596353__1681265578467__163254096190__163218087857"

{ "type": 16, "id": "5zAhKYNUEakFsXsg6B3yB8sTCjoow2iPSrnigs8fJeTH", "fee": 500000, "feeAssetId": null, "timestamp": 1681265685979, "version": 2, "chainId": 87, "sender": "3PPVyyFr9icFAteYoR7wCivHcnx8vHKb5W2", "senderPublicKey": "BiY93coff5dgJ53jDYcFpjbCe8QwVLWK34D5AZrBLbC4", "proofs": [ "35HSFeGuTWdVssPkKpRGNduTZvotvz99X9zPS4AjJQ5uyvpC35NNmjDf9EatLyGkyQJz9KVzEbrMnKV2X1o2eDyE" ], "dApp": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj", "payment": [ { "amount": 4672003098, "assetId": "Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on" } ], "call": { "function": "routingTrade", "args": [ { "type": "list", "value": [ { "type": "string", "value": "3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R" }, { "type": "string", "value": "3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj" } ] }, { "type": "list", "value": [ { "type": "string", "value": "cpmm" }, { "type": "string", "value": "cpmm" } ] }, { "type": "list", "value": [ { "type": "integer", "value": 1 }, { "type": "integer", "value": 10301842615 } ] }, { "type": "list", "value": [ { "type": "integer", "value": 0 }, { "type": "integer", "value": 0 } ] }, { "type": "list", "value": [ { "type": "string", "value": "A_asset_balance" }, { "type": "string", "value": "B_asset_balance" }, { "type": "string", "value": "B_asset_balance" }, { "type": "string", "value": "A_asset_balance" } ] }, { "type": "integer", "value": 10291540772 } ] }, "height": 3596353, "applicationStatus": "succeeded", "spentComplexity": 3251, "stateChanges": { "data": [], "transfers": [ { "address": "3PPVyyFr9icFAteYoR7wCivHcnx8vHKb5W2", "asset": "bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD", "amount": 10395495730 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD", "amount": 10405902 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R", "call": { "function": "callFunction", "args": [ { "type": "String", "value": "exchange" }, { "type": "Array", "value": [ { "type": "String", "value": "1" } ] } ] }, "payment": [ { "assetId": "Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on", "amount": 4672003098 } ], "stateChanges": { "data": [ { "key": "A_asset_balance", "type": "integer", "value": 21111963233856 }, { "key": "B_asset_balance", "type": "integer", "value": 163218087857 } ], "transfers": [ { "address": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 35910790 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 75867 }, { "address": "3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 21676 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE", "call": { "function": "exchange", "args": [ { "type": "ByteVector", "value": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj" }, { "type": "Array", "value": [ { "type": "String", "value": "1" } ] }, { "type": "Array", "value": [ { "type": "Int", "value": 4672003098 } ] }, { "type": "Array", "value": [ { "type": "ByteVector", "value": "Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on" } ] } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R", "call": { "function": "stakeUnstake", "args": [ { "type": "Boolean", "value": false }, { "type": "Int", "value": 36008333 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ", "call": { "function": "unlockNeutrino", "args": [ { "type": "Int", "value": 36008333 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [ { "key": "%s%s%s%s__history__unstake__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__5zAhKYNUEakFsXsg6B3yB8sTCjoow2iPSrnigs8fJeTH", "type": "string", "value": "%s%d%d%d%d__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__3596353__1681265578467__163254096190__163218087857" }, { "key": "%s%s%s__rwd__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 0 }, { "key": "%s%s%s__userRwdFromDepNum__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R", "type": "integer", "value": 1 }, { "key": "%s%s%s__paramByUser__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__amount", "type": "integer", "value": 163218087857 }, { "key": "%s%s%s__paramByUser__3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R__start", "type": "integer", "value": 3356249 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R", "type": "integer", "value": 163218087857 }, { "key": "%s%s__stats__locksCount", "type": "integer", "value": 378390 }, { "key": "%s%s__stats__activeUsersCount", "type": "integer", "value": 4342 }, { "key": "%s%s__stats__activeTotalLocked", "type": "integer", "value": 102990341034213 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 102990341034213 } ], "transfers": [ { "address": "3PKi4G3VX2k42ZSmNNrmvgdDH7JzRaUhY7R", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 36008333 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } } ] } }, { "dApp": "3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj", "call": { "function": "callFunction", "args": [ { "type": "String", "value": "exchange" }, { "type": "Array", "value": [ { "type": "String", "value": "10301842615" } ] } ] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 35910790 } ], "stateChanges": { "data": [ { "key": "A_asset_balance", "type": "integer", "value": 15551369911749 }, { "key": "B_asset_balance", "type": "integer", "value": 53381598041 } ], "transfers": [ { "address": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj", "asset": "bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD", "amount": 10405901632 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD", "amount": 21984299 }, { "address": "3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg", "asset": "bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD", "amount": 6281228 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE", "call": { "function": "exchange", "args": [ { "type": "ByteVector", "value": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj" }, { "type": "Array", "value": [ { "type": "String", "value": "10301842615" } ] }, { "type": "Array", "value": [ { "type": "Int", "value": 35910790 } ] }, { "type": "Array", "value": [ { "type": "ByteVector", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj", "call": { "function": "stakeUnstake", "args": [ { "type": "Boolean", "value": true }, { "type": "Int", "value": 35910790 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ", "call": { "function": "lockNeutrino", "args": [] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 35910790 } ], "stateChanges": { "data": [ { "key": "%s%s%s%s__history__stake__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__5zAhKYNUEakFsXsg6B3yB8sTCjoow2iPSrnigs8fJeTH", "type": "string", "value": "%s%d%d%d%d__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__3596353__1681265578467__53345687251__53381598041" }, { "key": "%s%s%s__rwd__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 0 }, { "key": "%s%s%s__userRwdFromDepNum__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj", "type": "integer", "value": 1 }, { "key": "%s%s%s__paramByUser__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__amount", "type": "integer", "value": 53381598041 }, { "key": "%s%s%s__paramByUser__3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj__start", "type": "integer", "value": 3356246 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PCdNCULgjM9ZMLEt61M45qxV26ro6o48Jj", "type": "integer", "value": 53381598041 }, { "key": "%s%s__stats__locksCount", "type": "integer", "value": 378391 }, { "key": "%s%s__stats__activeUsersCount", "type": "integer", "value": 4342 }, { "key": "%s%s__stats__activeTotalLocked", "type": "integer", "value": 102990376945003 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 102990376945003 } ], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } } ] } } ] } }

github/deemru/w8io/3ef1775 
23.58 ms