forked from cerc-io/laconic-sdk
Compare commits
14
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f2c7468ba8 | ||
|
|
94920171ae | ||
|
|
2a9223fdd3 | ||
|
|
7ecd3eefa8 | ||
|
|
ee0443b5fa | ||
|
|
3a890ab46c | ||
|
|
b9cb479381 | ||
|
|
fa0a4150bd | ||
|
|
733e4a6cc6 | ||
|
|
8e852ad2ce | ||
|
|
62d47f0c4b | ||
|
|
faf7c18e5c | ||
|
|
fb3edfabd3 | ||
|
|
5f1f3fa9e6 |
@@ -1 +1,2 @@
|
||||
PRIVATE_KEY=75f719e613d05efab06a3f1dde5250b497723b13d4afa4f8ed80145764e40cf7
|
||||
COSMOS_CHAIN_ID=laconic_9000-1
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
name: Publish npm package to gitea
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
jobs:
|
||||
npm_publish:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [ 16.x ]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: yarn
|
||||
- name: Run yarn build
|
||||
run: |
|
||||
yarn build
|
||||
- name: Configure git.vdb.to npm registry
|
||||
run: |
|
||||
npm config set registry https://git.vdb.to/api/packages/cerc-io/npm/
|
||||
- name: Authenticate to git.vdb.to registry
|
||||
run: |
|
||||
npm config set -- '//git.vdb.to/api/packages/cerc-io/npm/:_authToken' "${{ secrets.GITEA_PUBLISH_TOKEN }}"
|
||||
- name: npm publish
|
||||
run: |
|
||||
npm publish
|
||||
@@ -1,4 +1,4 @@
|
||||
# laconic-client
|
||||
# laconic-sdk
|
||||
|
||||
## Tests
|
||||
|
||||
@@ -24,7 +24,7 @@ Follow these steps to run the tests:
|
||||
|
||||
- Copy the private key and assign it to variable `PRIVATE_KEY` in the `.env` file.
|
||||
|
||||
- Run the tests in laconic-client repo:
|
||||
- Run the tests in laconic-sdk repo:
|
||||
|
||||
```bash
|
||||
yarn test
|
||||
|
||||
+19
-11
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "laconic-client",
|
||||
"version": "0.1.0",
|
||||
"name": "@cerc-io/laconic-sdk",
|
||||
"version": "0.1.2",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"repository": "git@github.com:cerc-io/laconic-client.git",
|
||||
"repository": "git@github.com:cerc-io/laconic-sdk.git",
|
||||
"author": "",
|
||||
"license": "UNLICENSED",
|
||||
"devDependencies": {
|
||||
@@ -11,10 +11,12 @@
|
||||
"@types/jest": "^27.4.1",
|
||||
"@types/lodash": "^4.14.181",
|
||||
"@types/semver": "^7.3.9",
|
||||
"@types/tiny-secp256k1": "1.0.0",
|
||||
"dotenv": "^16.0.0",
|
||||
"jest": "^27.5.1",
|
||||
"protoc-gen-ts": "^0.8.2",
|
||||
"ts-jest": "^27.1.3",
|
||||
"google-protobuf": "^3.21.0",
|
||||
"jest": "29.0.0",
|
||||
"protoc-gen-ts": "^0.8.5",
|
||||
"ts-jest": "^29.0.2",
|
||||
"typescript": "^4.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -24,8 +26,13 @@
|
||||
"@ipld/dag-cbor": "^7.0.1",
|
||||
"@ipld/dag-json": "^8.0.9",
|
||||
"@metamask/eth-sig-util": "^4.0.0",
|
||||
"@tharsis/address-converter": "^0.1.7",
|
||||
"@tharsis/eip712": "^0.2.1",
|
||||
"@tharsis/proto": "^0.1.16",
|
||||
"@tharsis/provider": "^0.2.4",
|
||||
"@tharsis/transactions": "^0.2.2",
|
||||
"axios": "^0.26.1",
|
||||
"bip32": "^3.0.1",
|
||||
"bip32": "3.0.1",
|
||||
"bip39": "^3.0.4",
|
||||
"canonical-json": "^0.0.4",
|
||||
"ethers": "^5.6.2",
|
||||
@@ -33,18 +40,19 @@
|
||||
"graphql.js": "^0.6.8",
|
||||
"is-url": "^1.2.4",
|
||||
"js-sha256": "^0.9.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"js-yaml": "^3.14.1",
|
||||
"jsonschema": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"multiformats": "^9.5.4",
|
||||
"node-yaml": "^4.0.1",
|
||||
"secp256k1": "^4.0.1",
|
||||
"semver": "^7.3.5",
|
||||
"tiny-secp256k1": "^2.2.1"
|
||||
"tiny-secp256k1": "^1.1.6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest --runInBand --verbose",
|
||||
"test:auctions": "TEST_AUCTIONS_ENABLED=1 jest --runInBand --verbose src/auction.test.ts",
|
||||
"test:nameservice-expiry": "TEST_NAMESERVICE_EXPIRY=1 jest --runInBand --verbose src/nameservice-expiry.test.ts",
|
||||
"build": "tsc",
|
||||
"postinstall": "tsc --outDir ./dist"
|
||||
"build": "tsc"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ const auctionTests = (numBidders = 3) => {
|
||||
beforeAll(async () => {
|
||||
console.log('Running auction tests with num bidders', numBidders);
|
||||
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
});
|
||||
|
||||
test('Setup bidder accounts', async () => {
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ const bondTests = () => {
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
});
|
||||
|
||||
test('Create bond.', async () => {
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ const registryTests = () => {
|
||||
let registry: Registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
|
||||
});
|
||||
|
||||
@@ -32,14 +32,14 @@ const registryTests = () => {
|
||||
test('Get account balance.', async() => {
|
||||
const mnenonic1 = Account.generateMnemonic();
|
||||
const otherAccount = await Account.generateFromMnemonic(mnenonic1);
|
||||
await registry.sendCoins({ denom: 'aphoton', amount: '10000000000000000000000000', destinationAddress: otherAccount.formattedCosmosAddress }, privateKey, fee);
|
||||
await registry.sendCoins({ denom: 'aphoton', amount: '100000000', destinationAddress: otherAccount.formattedCosmosAddress }, privateKey, fee);
|
||||
|
||||
const [accountObj] = await registry.getAccounts([otherAccount.formattedCosmosAddress]);
|
||||
expect(accountObj).toBeDefined();
|
||||
expect(accountObj.address).toBe(otherAccount.formattedCosmosAddress);
|
||||
const [{ type, quantity }] = accountObj.balance
|
||||
expect(type).toBe('aphoton');
|
||||
expect(quantity).toBe('10000000000000000000000000');
|
||||
expect(quantity).toBe('100000000');
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
+8
-6
@@ -53,6 +53,8 @@ import {
|
||||
MessageMsgRevealBid
|
||||
} from './messages/auction';
|
||||
|
||||
export const DEFAULT_CHAIN_ID = 'laconic_9000-1';
|
||||
|
||||
const DEFAULT_WRITE_ERROR = 'Unable to write to laconicd.';
|
||||
|
||||
// Parse Tx response from cosmos-sdk.
|
||||
@@ -119,21 +121,21 @@ export class Registry {
|
||||
return errorMessage || DEFAULT_WRITE_ERROR;
|
||||
}
|
||||
|
||||
constructor(restUrl: string, gqlUrl: string, chainId: string) {
|
||||
if (!isUrl(restUrl)) {
|
||||
throw new Error('Path to a REST endpoint should be provided.');
|
||||
}
|
||||
|
||||
constructor(gqlUrl: string, restUrl: string = "", chainId: string = DEFAULT_CHAIN_ID) {
|
||||
if (!isUrl(gqlUrl)) {
|
||||
throw new Error('Path to a GQL endpoint should be provided.');
|
||||
}
|
||||
|
||||
if (restUrl && !isUrl(restUrl)) {
|
||||
throw new Error('REST endpoint is not a URL string.');
|
||||
}
|
||||
|
||||
this._endpoints = {
|
||||
rest: restUrl,
|
||||
gql: gqlUrl
|
||||
};
|
||||
|
||||
this._client = new RegistryClient(restUrl, gqlUrl);
|
||||
this._client = new RegistryClient(gqlUrl, restUrl);
|
||||
this._chainID = chainId;
|
||||
|
||||
this._chain = {
|
||||
|
||||
@@ -20,7 +20,7 @@ const nameserviceExpiryTests = () => {
|
||||
let recordExpiryTime: Date;
|
||||
|
||||
beforeAll(async () => {
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
|
||||
// Create bond.
|
||||
bondId = await registry.getNextBondId(privateKey);
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ const namingTests = () => {
|
||||
let crn: string;
|
||||
|
||||
beforeAll(async () => {
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
|
||||
// Create bond.
|
||||
bondId = await registry.getNextBondId(privateKey);
|
||||
|
||||
@@ -122,15 +122,14 @@ export class RegistryClient {
|
||||
/**
|
||||
* New Client.
|
||||
*/
|
||||
constructor(restEndpoint: string, gqlEndpoint: string) {
|
||||
assert(restEndpoint);
|
||||
|
||||
this._restEndpoint = restEndpoint;
|
||||
|
||||
constructor(gqlEndpoint: string, restEndpoint: string) {
|
||||
assert(gqlEndpoint);
|
||||
this._graph = graphqlClient(gqlEndpoint, {
|
||||
method: 'POST',
|
||||
asJSON: true
|
||||
});
|
||||
|
||||
this._restEndpoint = restEndpoint;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ describe('Querying', () => {
|
||||
let bondId: string;
|
||||
|
||||
beforeAll(async () => {
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
bondId = await provisionBondId(registry, privateKey, fee);
|
||||
|
||||
const publishNewWatcherVersion = async () => {
|
||||
|
||||
@@ -3,7 +3,7 @@ import yaml from 'node-yaml';
|
||||
import semver from 'semver';
|
||||
import { Fee } from '@tharsis/transactions';
|
||||
|
||||
import { Registry } from '../index';
|
||||
import { DEFAULT_CHAIN_ID, Registry } from '../index';
|
||||
|
||||
export const ensureUpdatedConfig = async (path: string) => {
|
||||
const conf = await yaml.read(path);
|
||||
@@ -37,14 +37,14 @@ export const getConfig = () => {
|
||||
assert(process.env.PRIVATE_KEY);
|
||||
|
||||
return {
|
||||
chainId: process.env.COSMOS_CHAIN_ID || 'laconic_9000-1',
|
||||
chainId: process.env.COSMOS_CHAIN_ID || DEFAULT_CHAIN_ID,
|
||||
privateKey: process.env.PRIVATE_KEY,
|
||||
restEndpoint: process.env.LACONICD_REST_ENDPOINT || 'http://localhost:1317',
|
||||
gqlEndpoint: process.env.LACONICD_GQL_ENDPOINT || 'http://localhost:9473/api',
|
||||
fee: {
|
||||
amount: '20',
|
||||
amount: '30',
|
||||
denom: 'aphoton',
|
||||
gas: '200000',
|
||||
gas: '300000',
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ const utilTests = () => {
|
||||
let watcherId: string;
|
||||
|
||||
beforeAll(async () => {
|
||||
registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
|
||||
// Create bond.
|
||||
bondId = await registry.getNextBondId(privateKey);
|
||||
|
||||
Reference in New Issue
Block a user