Проблемы с формированием сигнатуры MetaMask c#

Я разрабатываю клиента на C# для dydX. В заголовках приватных запросов используется сигнатура по протоколу EIP-712 Ethereum. Для создания запроса я использую следующий код.

var data= new Dictionary<string, object>()
            {
                { "action", "DYDX-ONBOARDING" },
                { "onlySignOn", "https://trade.dydx.exchange" }
            };
var js = JsonConvert.SerializeObject(data);
var key = new EthECKey(privateKey);
var signature = signer.EncodeUTF8AndSign(js, key);
client = new RestClient("https://api.dydx.exchange");
var req = new RestRequest("v3/onboarding", Method.POST);
req.AddHeader("dydx-ethereum-address", ethereumAdress);
req.AddHeader("dydx-signature", signature);
var result = client.Execute(req)?.Content;

Использую библиотеку:

using Nethereum.Signer;

Прилетает такое сообщение:

msg: "signature must be a valid hex string in headers of hex length 132"

Пробовал сделать сигнатуру с использованием библиотеки Nethereum.Web3, но тоже получаю неверную сигатуру. Может, сталкивался кто с подобной проблемой?


Ответы (1 шт):

Автор решения: Nightfire

Вопрос закрыт в связи с использованием их клиентов на py и ts. Если вы наткнулись на этот вопрос, даже не пытайтесь связываться с этим. Библиотеки эфириума и веб3 криво работают.

→ Ссылка