public async Task NaclSignDetached()
        {
            ResultOfNaclSignDetached result = await _tonClient.Crypto.NaclSignDetached(new ParamsOfNaclSign
            {
                Unsigned = "Test Message".ToBase64(),
                Secret   =
                    "56b6a77093d6fdf14e593f36275d872d75de5b341942376b2a08759f3cbae78f1869b7ef29d58026217e9cf163cbfbd0de889bdf1bf4daebf5433a312f5b8d6e"
            });

            result.Signature.Should()
            .Be("fb0cfe40eea5d6c960652e6ceb904da8a72ee2fcf6e05089cf835203179ff65bb48c57ecf31dcfcd26510bea67e64f3e6898b7c58300dc14338254268cade103");
        }
        public static async Task <string> SignDetached(this ITonClient tonClient, KeyPair pair, string data)
        {
            KeyPair keys = await tonClient.Crypto.NaclSignKeypairFromSecretKey(new ParamsOfNaclSignKeyPairFromSecret
            {
                Secret = pair.Secret
            });

            ResultOfNaclSignDetached result = await tonClient.Crypto.NaclSignDetached(new ParamsOfNaclSign
            {
                Secret   = keys.Secret,
                Unsigned = data
            });

            return(result.Signature);
        }