# API Reference


## Classes


Main classes provided by the package


[Ledger](Ledger.md#gdtest_type_aliases.Ledger)  
An append-only record of contract state changes.


## Functions


Utility functions


[sign()](sign.md#gdtest_type_aliases.sign)  
Sign a contract with the named scheme.

[summarize()](summarize.md#gdtest_type_aliases.summarize)  
Group contracts by name for one jurisdiction.


## Constants


Module-level constants and data


[Signature()](Signature.md#gdtest_type_aliases.Signature)  
Special typing form to define literal types (a.k.a. value types).


## Type Aliases


Type alias definitions


[Clause](Clause.md#gdtest_type_aliases.Clause)  
A contract clause, possibly nested

[ContractId](ContractId.md#gdtest_type_aliases.ContractId)  
An opaque identifier for a single contract

[Jurisdiction](Jurisdiction.md#gdtest_type_aliases.Jurisdiction)  
A supported governing jurisdiction, as an ISO-ish region code

[Key](Key.md#gdtest_type_aliases.Key)  
A lookup keyed by either `str` or `bytes`, but not a mix of the two

[Named](Named.md#gdtest_type_aliases.Named)  
Contracts keyed by name, where the key type is bounded by `str`

[Pair](Pair.md#gdtest_type_aliases.Pair)  
Two values of the same type, e.g. a counterparty pair

[Row](Row.md#gdtest_type_aliases.Row)  
A heterogeneous ledger row: a leading column plus any number of others

[Validator](Validator.md#gdtest_type_aliases.Validator)  
Any predicate, however it is called
