Methods that are not supported will throw a
NotSupported exception. A case of this would be if a coin doesn’t have a the concept of voting which means we won’t be able to support that feature.
Methods that will be supported in the future but are not implemented yet will throw a
NotImplemented exception. A case of this would be a coin that supports voting but we have no plans yet of supporting this functionality in our applications.
The majority of methods are
async with a few exceptions. This is due to the fact that some coins require a network connection or perform computations in an async manner.
To avoid an inconsistent public API where some things are instantiated and called with
await and others aren’t you’ll have to call most things with
await and use the static
construct method to create an instance of a service. This will allow you to swap out adapters without having to think about how they are instantiated.