* added upper and lower case TA resolution testing
* added more detailed error reporting to the ValidateSignature method.
* extended test cases to test and verify these errs and their differences
* fixed CID attestation issue. CIDs are send in web compatible encoding that is not hex encoded and can be utilized without any further decoding on the server side.
* added checks and error handling for the Ta store object storage/loading
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
Up to know we just use the Bitcoin mainnet parameters
`chaincfg.MainNetParams` for Liquid. That's okay, because we use them
for creating and verifying extended private and public keys. Those only
depend on `HDPrivateKeyID` and `HDPublicKeyID`, which are the same for
Bitcoin and Liquid networks.
The only real difference is the `HDCoinType` used for key derivation,
which we want to use in the future. So it is a good idea to introduce
this value now.
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* Fix package and domain name
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* Add extended public key as `IssuerPlanetmint`
This patch introduces parts of the `chaincfg` for Planetmint and
especially the magic bytes that produces extended keys with the prefix
`pmpr` for a Planetmint extended private key and `pmpb` for a Planetmint
extended public key.
// Closes https://github.com/rddl-network/issues/issues/30
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* Validate Planetmint extended public key during machine attestation
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* [lint] Fix error return value is not checked
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
---------
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* added OSC response listener with logging
added Machine NFT issuance for each machine attestation process
added CID and Planetmint Issuer extPublicKey to the issuance process
removed type inconsistency
* added machine NFT creation criteria
* [toml] Parsing does not allow sub-structs
* made OSC listener port configurable
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
Co-authored-by: Julian Strobl <jmastr@mailbox.org>
This patch extends `app.toml` and adds the following section with these
default values:
```
[planetmint]
watchmen-endpoint = "localhost"
watchmen-port = 7401
```
A global singleton `plmntConfig` is introduced to save and access the
values similar to how cosmos does it (see
vendor/github.com/cosmos/cosmos-sdk/types/config.go).
Different environments can be managed by changing the values in
`app.toml` and restarting the daemon.
// Closes#53
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* adjusted the default derivation path for the test cases to planetmint cointype
* [test] Update sample.PubKey
Changed due to updated derivation path.
* [test] Set comment for DefaultDerivationPath
---------
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
Co-authored-by: Julian Strobl <jmastr@mailbox.org>