| 485 | #define LIGHTNING_PROPRIETARY_PREFIX "lightning" |
| 486 | |
| 487 | u8 *psbt_make_key(const tal_t *ctx, u8 key_subtype, const u8 *key_data) |
| 488 | { |
| 489 | /** |
| 490 | * BIP174: |
| 491 | * Type: Proprietary Use Type <tt>PSBT_GLOBAL_PROPRIETARY = 0xFC</tt> |
| 492 | ** Key: Variable length identifier prefix, followed |
| 493 | * by a subtype, followed by the key data itself. |
| 494 | *** <tt>{0xFC}|<prefix>|{subtype}|{key data}</tt> |
| 495 | ** Value: Any value data as defined by the proprietary type user. |
| 496 | *** <tt><data></tt> |
| 497 | */ |
| 498 | u8 *key = tal_arr(ctx, u8, 0); |
| 499 | add_type(&key, PSBT_PROPRIETARY_TYPE); |
| 500 | add_varint(&key, strlen(LIGHTNING_PROPRIETARY_PREFIX)); |
| 501 | add(&key, LIGHTNING_PROPRIETARY_PREFIX, |
| 502 | strlen(LIGHTNING_PROPRIETARY_PREFIX)); |
| 503 | add_type(&key, key_subtype); |
| 504 | if (key_data) |
| 505 | add(&key, key_data, tal_bytelen(key_data)); |
| 506 | return key; |
| 507 | } |
| 508 | |
| 509 | static bool wally_map_set_unknown(const tal_t *ctx, |
| 510 | struct wally_map *map, |