Go to file
Prathamesh Musale 73bef00dd3 Handle record attributes with null values (#56)
Part of cerc-io/laconicd#144

Reviewed-on: cerc-io/laconic-sdk#56
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-08 05:39:31 +00:00
.gitea/workflows Run tests only from src folder (#55) 2024-01-23 12:10:56 +00:00
.github/workflows Tests cleanup (#53) 2024-01-22 08:30:35 +00:00
proto Remove hard-coded record types (#52) 2024-01-15 04:58:55 +00:00
scripts Tests cleanup (#53) 2024-01-22 08:30:35 +00:00
src Handle record attributes with null values (#56) 2024-02-08 05:39:31 +00:00
.dockerignore Tests cleanup (#53) 2024-01-22 08:30:35 +00:00
.env.example Changes to use laconic-sdk with console-app (#10) 2022-12-09 14:25:13 +05:30
.gitignore Auction nameservice tests (#28) 2023-02-10 14:44:23 -05:00
.npmignore Add .npmignore file to make publish work 2022-12-01 20:24:58 -07:00
DEVELOPMENT.md Remove hard-coded record types (#52) 2024-01-15 04:58:55 +00:00
Dockerfile Tests cleanup (#53) 2024-01-22 08:30:35 +00:00
entrypoint.sh Auction nameservice tests (#28) 2023-02-10 14:44:23 -05:00
jest.config.js Changes from review 2022-04-21 09:44:24 +05:30
package.json Handle record attributes with null values (#56) 2024-02-08 05:39:31 +00:00
README.md Remove hard-coded record types (#52) 2024-01-15 04:58:55 +00:00
tsconfig.json Implement setRecord and add test for setAutorityBond 2022-04-21 09:44:24 +05:30
yarn.lock Remove hard-coded record types (#52) 2024-01-15 04:58:55 +00:00

laconic-sdk

Client library used by TS/JS applications to communicate with laconicd.

Tests

Follow these steps to run the tests:

  • After cloning this repo run:

    yarn
    
  • Copy .env.example file and create a .env file.

  • Clone the laconicd repo and change to repo directory.

  • Run the chain using ./init.sh.

  • Export the private key using:

    laconicd keys export mykey --unarmored-hex --unsafe
    
  • Copy the private key and assign it to variable PRIVATE_KEY in the .env file.

  • Run the tests in laconic-sdk repo:

    yarn test
    
  • Run the tests with auctions enabled

    • Remove laconicd data from previous run

      rm -rf ~/.laconicd
      
    • In laconicd repo run:

      TEST_AUCTION_ENABLED=true ./init.sh
      
    • Export the private key and change it in .env file again using:

      laconicd keys export mykey --unarmored-hex --unsafe
      
    • Run tests:

      yarn test:auctions
      
  • Run the tests for record and authority expiry

    • Remove laconicd data from previous run

      rm -rf ~/.laconicd
      
    • In laconicd repo run:

      TEST_REGISTRY_EXPIRY=true ./init.sh
      
    • Export the private key and change it in .env file again using:

      laconicd keys export mykey --unarmored-hex --unsafe
      
    • Run tests:

      yarn test:nameservice-expiry
      

Development

README

Known Issues

  • Passing a float type value in watcher attributes throws error when sending setRecord message.

    failed to execute message; message index: 0: Invalid signature.: unauthorized
    
  • When sending setRecord message, an integer value passed in watcher attributes is parsed as float type in laconicd while unmarshalling json.

  • setRecord message throws error when fileds in Record 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.