2022-10-10 22:13:24 +00:00
# laconic-sdk
2022-03-24 06:40:03 +00:00
2023-01-03 14:20:35 +00:00
Client library used by TS/JS applications to communicate with laconicd.
2022-04-05 14:11:06 +00:00
## Tests
2022-03-24 06:40:03 +00:00
Follow these steps to run the tests:
- After cloning this repo run:
```bash
yarn
```
2022-04-05 14:11:06 +00:00
- Copy [.env.example ](./.env.example ) file and create a `.env` file.
2022-03-24 06:40:03 +00:00
2022-09-28 19:20:15 +00:00
- Clone the [laconicd repo ](https://github.com/cerc-io/laconicd ) and change to repo directory.
2022-03-24 06:40:03 +00:00
2022-04-04 11:14:04 +00:00
- Run the chain using `./init.sh` .
2022-04-12 10:54:26 +00:00
- Export the private key using:
2022-03-24 06:40:03 +00:00
```bash
2022-09-28 19:22:57 +00:00
laconicd keys export mykey --unarmored-hex --unsafe
2022-03-24 06:40:03 +00:00
```
2022-04-05 14:11:06 +00:00
- Copy the private key and assign it to variable `PRIVATE_KEY` in the `.env` file.
2022-03-30 05:21:03 +00:00
2022-10-10 22:13:24 +00:00
- Run the tests in laconic-sdk repo:
2022-03-24 06:40:03 +00:00
```bash
yarn test
```
2022-04-05 14:11:06 +00:00
2022-04-12 10:54:26 +00:00
- Run the tests with auctions enabled
2022-09-28 19:20:15 +00:00
- In laconicd repo run:
2022-04-12 10:54:26 +00:00
```bash
2022-04-18 11:27:37 +00:00
TEST_AUCTION_ENABLED=true ./init.sh
2022-04-12 10:54:26 +00:00
```
- Export the private key and change it in `.env` file again using:
```bash
2022-09-28 19:22:57 +00:00
laconicd keys export mykey --unarmored-hex --unsafe
2022-04-12 10:54:26 +00:00
```
- Run tests:
```bash
yarn test:auctions
```
2022-04-19 10:24:41 +00:00
- Run the tests for record and authority expiry
2022-09-28 19:20:15 +00:00
- In laconicd repo run:
2022-04-19 10:24:41 +00:00
```bash
TEST_NAMESERVICE_EXPIRY=true ./init.sh
```
- Export the private key and change it in `.env` file again using:
```bash
2022-09-28 19:22:57 +00:00
laconicd keys export mykey --unarmored-hex --unsafe
2022-04-19 10:24:41 +00:00
```
- Run tests:
```bash
2022-04-22 10:15:47 +00:00
yarn test:nameservice-expiry
2022-04-19 10:24:41 +00:00
```
2022-04-05 14:11:06 +00:00
## Development
[README ](./DEVELOPMENT.md )
2022-04-20 11:54:37 +00:00
## Known Issues
2022-04-22 10:15:47 +00:00
- Passing a float type value in [watcher attributes ](./src/testing/data/watcher.yml ) throws error when sending `setRecord` message.
2022-04-20 11:54:37 +00:00
```
failed to execute message; message index: 0: Invalid signature.: unauthorized
```
2022-09-28 19:20:15 +00:00
- When sending `setRecord` message, an integer value passed in watcher attributes is parsed as float type in laconicd while [unmarshalling json ](https://pkg.go.dev/encoding/json#Unmarshal ).
2022-04-22 10:15:47 +00:00
- `setRecord` message throws error when fileds in [Record ](./src/types.ts ) message are not assigned.
```
failed to pack and hash typedData primary type: provided data '< nil > ' doesn't match type 'string' [tharsis/ethermint/ethereum/eip712/eip712.go:33]
```
Passing dummy values to work around issue.