pragma ever-solidity >= 0.62.0; pragma AbiHeader time; pragma AbiHeader expire; pragma AbiHeader pubkey; import "@broxus/contracts/contracts/libraries/MsgFlag.tsol"; contract Platform { address static _root; uint8 static _platformType; TvmCell static _initialData; constructor( TvmCell code, TvmCell params, address remainingGasTo ) public { if (msg.sender == _root && _root.value != 0) { TvmCell input = abi.encode(_root, _initialData, params); tvm.setcode(code); tvm.setCurrentCode(code); onCodeUpgrade(input, false); } else { remainingGasTo.transfer({ value: 0, flag: MsgFlag.ALL_NOT_RESERVED + MsgFlag.DESTROY_IF_ZERO, bounce: false }); } } function onCodeUpgrade(TvmCell /*input*/, bool /*upgrade*/) private {} }