secp256k1_context *        T_PTROBJ
Crypt::secp256k1           T_PTROBJ
secp256k1_seckey           T_BLOB32
secp256k1_pubkey           T_BLOB64
secp256k1_ecdsa_signature  T_BLOB64
secp256k1_random           T_BLOB32
secp256k1_tweak            T_BLOB32
secp256k1_hash             T_BLOB32
secp256k1_error_function   T_PTROBJ
secp256k1_illegal_function T_PTROBJ
const unsigned char *	   T_PV

INPUT

T_BLOB32
  STRLEN _${var}_len;
  memcpy(&$var, SvPV($arg, _${var}_len), 32);
  // TODO: Assert _${var}_len == 32?

T_BLOB64
  STRLEN _${var}_len;
  memcpy(&$var, SvPV($arg, _${var}_len), 64);
  // TODO: Assert _${var}_len == 64?

OUTPUT

T_BLOB32
  sv_setpvn($arg, (char *)&$var, 32);

T_BLOB64
  sv_setpvn($arg, (char *)&$var, 64);
