MCPcopy Index your code
hub / github.com/petertodd/python-bitcoinlib / set_secretbytes

Method set_secretbytes

bitcoin/core/key.py:259–273  ·  view source on GitHub ↗
(self, secret)

Source from the content-addressed store, hash-verified

257 self.k = None
258
259 def set_secretbytes(self, secret):
260 if(len(secret) != 32):
261 raise ValueError("Secret bytes must be exactly 32 bytes")
262 priv_key = _ssl.BN_bin2bn(secret, 32, None)
263 group = _ssl.EC_KEY_get0_group(self.k)
264 pub_key = _ssl.EC_POINT_new(group)
265 ctx = _ssl.BN_CTX_new()
266 if not _ssl.EC_POINT_mul(group, pub_key, priv_key, None, None, ctx):
267 raise ValueError("Could not derive public key from the supplied secret.")
268 _ssl.EC_KEY_set_private_key(self.k, priv_key)
269 _ssl.EC_KEY_set_public_key(self.k, pub_key)
270 _ssl.EC_POINT_free(pub_key)
271 _ssl.BN_free(priv_key)
272 _ssl.BN_CTX_free(ctx)
273 return self.k
274
275 def set_privkey(self, key):
276 self.mb = ctypes.create_string_buffer(key)

Callers 1

__init__Method · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected