NAME
Bitcoin::Crypto::PSBT::Map - Single map of a PSBT
SYNOPSIS
use Bitcoin::Crypto qw(btc_psbt);
my $maps = btc_psbt->from_serialized([base64 => $psbt_string])->maps;
DESCRIPTION
This is a helper class which holds a number of PSBT fields in a single namespace.
INTERFACE
Attributes
type
Required in the constructor. The type of the map. Must be one of the psbt_*_map constants defined in Bitcoin::Crypto::Constants.
index
Available in the constructor. This is the index of this map. It is required for input and output maps and will be ignored for global maps.
fields
An array reference holding the fields for this map, instances of Bitcoin::Crypto::PSBT::Field.
Methods
new
$map = $class->new(%args)
This is a standard Moo constructor, which can be used to create the object. It takes arguments specified in "Attributes".
Returns class instance.
name
$name = $map->name()
Returns a human-readabable name of this map.
need_index
$bool = $map->need_index;
Whether this map requires an index.
add
$map = $map->add($field);
Same as "add_field" in Bitcoin::Crypto::PSBT, but only accepts a constructed field. There is also no need to specify the index, since the map knows its own index.
find
@fields = $map->find($field_type, $key = undef);
Similar to "get_all_fields" in Bitcoin::Crypto::PSBT. Instead of index, accepts raw $key data as second argument.
to_serialized
$serialized = $object->to_serialized()
Serializes a map into a bytestring.
from_serialized
$object = $class->from_serialized($data, %params)
Deserializes the bytestring $data into a map.
%params can be any of:
map_typeA constant for map type - required.
indexAn index of the map. Required if the map is for input or for output.
posPosition for partial string decoding. Optional. If passed, must be a scalar reference to an integer value.
This integer will mark the starting position of
$bytestringfrom which to start decoding. It will be set to the next byte after end of input stream.
dump
$text = $object->dump()
Returns a readable description of all the fields in the map.
EXCEPTIONS
This module throws an instance of Bitcoin::Crypto::Exception if it encounters an error. It can produce the following error types from the Bitcoin::Crypto::Exception namespace:
PSBT - general error with the PSBT