lunesjs 1.5.8 → 1.5.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. package/{dist → lib}/client/transactions/BaseTransaction.d.ts +0 -0
  2. package/{dist → lib}/client/transactions/BaseTransaction.js +0 -0
  3. package/{dist → lib}/client/transactions/transactions.types.d.ts +0 -0
  4. package/{dist → lib}/client/transactions/transactions.types.js +0 -0
  5. package/{dist → lib}/client/transactions/transfer/service.transfer.d.ts +0 -0
  6. package/{dist → lib}/client/transactions/transfer/service.transfer.js +0 -0
  7. package/{dist → lib}/client/transactions/transfer/transfer.types.d.ts +0 -0
  8. package/{dist → lib}/client/transactions/transfer/transfer.types.js +0 -0
  9. package/{dist → lib}/client/transactions/transfer/validator.d.ts +0 -0
  10. package/{dist → lib}/client/transactions/transfer/validator.js +0 -0
  11. package/{dist → lib}/client/wallet/constants.d.ts +0 -0
  12. package/{dist → lib}/client/wallet/constants.js +0 -0
  13. package/{dist → lib}/client/wallet/service.account.d.ts +0 -0
  14. package/{dist → lib}/client/wallet/service.account.js +0 -0
  15. package/{dist → lib}/client/wallet/wallet.types.d.ts +0 -0
  16. package/{dist → lib}/client/wallet/wallet.types.js +0 -0
  17. package/lib/index.d.ts +5 -0
  18. package/lib/index.js +12 -0
  19. package/{dist → lib}/utils/crypto.d.ts +0 -0
  20. package/{dist → lib}/utils/crypto.js +0 -0
  21. package/package.json +14 -8
  22. package/.devcontainer/devcontainer.json +0 -14
  23. package/.github/workflows/deploy.yml +0 -48
  24. package/.github/workflows/test.yml +0 -35
  25. package/.gitlab/.gitlab-ci.yml +0 -21
  26. package/.gitlab/issue_templates/bug.md +0 -13
  27. package/.gitlab/issue_templates/proposal.md +0 -5
  28. package/.gitlab/merge_request_templates/MR.md +0 -7
  29. package/.prettierignore +0 -1
  30. package/.prettierrc.yml +0 -3
  31. package/CHANGELOG.md +0 -3
  32. package/CONTRIBUTING.md +0 -51
  33. package/Dockerfile +0 -6
  34. package/jest.config.js +0 -11
  35. package/src/client/transactions/BaseTransaction.ts +0 -7
  36. package/src/client/transactions/transactions.types.ts +0 -11
  37. package/src/client/transactions/transfer/service.transfer.ts +0 -58
  38. package/src/client/transactions/transfer/transfer.types.ts +0 -12
  39. package/src/client/transactions/transfer/validator.ts +0 -92
  40. package/src/client/wallet/constants.ts +0 -2065
  41. package/src/client/wallet/service.account.ts +0 -74
  42. package/src/client/wallet/wallet.types.ts +0 -23
  43. package/src/utils/crypto.ts +0 -109
  44. package/static/img/jslogo.png +0 -0
  45. package/test/client/transactions/transfer/transfer.token.test.ts +0 -98
  46. package/test/client/wallet/service.account.test.ts +0 -330
  47. package/tsconfig.json +0 -15
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export { transferTokenFactory } from "./client/transactions/transfer/service.transfer";
2
+ export { accountFactory } from "./client/wallet/service.account";
3
+ export { IAccount } from "./client/wallet/wallet.types";
4
+ import cryptoUtils from "./utils/crypto";
5
+ export default cryptoUtils;
package/lib/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.accountFactory = exports.transferTokenFactory = void 0;
7
+ var service_transfer_1 = require("./client/transactions/transfer/service.transfer");
8
+ Object.defineProperty(exports, "transferTokenFactory", { enumerable: true, get: function () { return service_transfer_1.transferTokenFactory; } });
9
+ var service_account_1 = require("./client/wallet/service.account");
10
+ Object.defineProperty(exports, "accountFactory", { enumerable: true, get: function () { return service_account_1.accountFactory; } });
11
+ const crypto_1 = __importDefault(require("./utils/crypto"));
12
+ exports.default = crypto_1.default;
File without changes
File without changes
package/package.json CHANGED
@@ -1,9 +1,15 @@
1
1
  {
2
2
  "name": "lunesjs",
3
- "version": "1.5.8",
3
+ "version": "1.5.11",
4
4
  "description": "Library for communication with nodes in mainnet or testnet of the lunes-blockchain network",
5
- "main": "dist/**/*.js",
6
- "types": "dist/**/*/*.d.ts",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "files": [
8
+ "/lib",
9
+ "LICENSE",
10
+ "README.md",
11
+ "package.json"
12
+ ],
7
13
  "repository": "git@git.lunes.io:blockchain/labs/lunesjs.git",
8
14
  "keywords": [
9
15
  "blockchain",
@@ -13,10 +19,10 @@
13
19
  "author": "lunes-platform",
14
20
  "license": "Apache-2.0",
15
21
  "scripts": {
16
- "build": "tsc --declaration",
17
- "fmtc": "prettier -c",
18
22
  "fmt": "prettier -w .",
19
- "test": "yarn jest"
23
+ "fmtc": "prettier -c",
24
+ "test": "yarn jest",
25
+ "build": "tsc"
20
26
  },
21
27
  "devDependencies": {
22
28
  "@types/jest": "^27.0.3",
@@ -28,6 +34,6 @@
28
34
  },
29
35
  "dependencies": {
30
36
  "axios": "^0.26.1",
31
- "lunesrs": "1.8.1"
37
+ "lunesrs": "^1.8.2-web"
32
38
  }
33
- }
39
+ }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "Existing Dockerfile",
3
- "context": "..",
4
- "dockerFile": "../Dockerfile",
5
- "settings": {},
6
- "extensions": [
7
- "donjayamanne.githistory",
8
- "esbenp.prettier-vscode",
9
- "mhutchie.git-graph",
10
- "Tyriar.sort-lines",
11
- "eamodio.gitlens"
12
- ],
13
- "postCreateCommand": "yarn install && yarn upgrade --latest"
14
- }
@@ -1,48 +0,0 @@
1
- name: Deploy
2
-
3
- on:
4
- push:
5
- branches: [main]
6
-
7
- jobs:
8
- lint:
9
- runs-on: ubuntu-latest
10
-
11
- steps:
12
- - uses: actions/checkout@v2
13
- - uses: actions/setup-node@v3
14
-
15
- - name: Install dependencies
16
- run: yarn install -D
17
-
18
- - name: Format Checker
19
- run: yarn fmtc
20
-
21
- test:
22
- runs-on: ubuntu-latest
23
- needs: lint
24
-
25
- steps:
26
- - uses: actions/checkout@v2
27
- - uses: actions/setup-node@v3
28
-
29
- - name: Install dependencies
30
- run: yarn install -D
31
-
32
- - name: Format Checker
33
- run: yarn test
34
-
35
- deploy-npm:
36
- runs-on: ubuntu-latest
37
- needs: [lint, test]
38
-
39
- steps:
40
- - uses: actions/checkout@v1
41
- - uses: actions/setup-node@v1
42
- with:
43
- node-version: 14
44
- - run: yarn install
45
- - run: yarn build
46
- - uses: JS-DevTools/npm-publish@v1
47
- with:
48
- token: ${{ secrets.NPM_TOKEN }}
@@ -1,35 +0,0 @@
1
- name: Lint & Test
2
-
3
- on:
4
- push:
5
- branches-ignore: [main]
6
- pull_request:
7
- branches: [main]
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v2
15
- - uses: actions/setup-node@v3
16
-
17
- - name: Install dependencies
18
- run: yarn install -D
19
-
20
- - name: Format Checker
21
- run: yarn fmtc
22
-
23
- test:
24
- runs-on: ubuntu-latest
25
- needs: lint
26
-
27
- steps:
28
- - uses: actions/checkout@v2
29
- - uses: actions/setup-node@v3
30
-
31
- - name: Install dependencies
32
- run: yarn install -D
33
-
34
- - name: Format Checker
35
- run: yarn test
@@ -1,21 +0,0 @@
1
- image: node:14.18.2-alpine3.14
2
-
3
- stages:
4
- - test
5
-
6
- before_script:
7
- - yarn install
8
-
9
- CreateReportTests:
10
- stage: test
11
- script:
12
- - yarn test
13
- artifacts:
14
- when: always
15
- reports:
16
- junit: junit.xml
17
-
18
- LintChecker:
19
- stage: test
20
- script:
21
- - yarn fmt
@@ -1,13 +0,0 @@
1
- # Bug Issue _Error Name_
2
-
3
- ## Expected behavior
4
-
5
- ## Actual behavior
6
-
7
- ## Steps for do **Error Name**
8
-
9
- ## Your Setup
10
-
11
- - Version Application
12
- - OS Version
13
- - And more...
@@ -1,5 +0,0 @@
1
- # Proposal Issue _Name_
2
-
3
- ## _What_ should this issue solve?
4
-
5
- ## _How_ should this issue solve?
@@ -1,7 +0,0 @@
1
- ## MR template
2
-
3
- - [ ] CODE WITHOUT TEST WILL BE REJECTED
4
-
5
- - [ ] CODE WITHOUT DOCS WILL BE REJECTED
6
-
7
- - [ ] COMMITS OUTSIDE THE CONVENTIONAL WILL BE REJECTED
package/.prettierignore DELETED
@@ -1 +0,0 @@
1
- dist/*
package/.prettierrc.yml DELETED
@@ -1,3 +0,0 @@
1
- tabWidth: 4
2
- semi: false
3
- trailingComma: none
package/CHANGELOG.md DELETED
@@ -1,3 +0,0 @@
1
- # CHANGELOG
2
-
3
- # [v0.0.0]
package/CONTRIBUTING.md DELETED
@@ -1,51 +0,0 @@
1
- # CONTRIBUTING
2
-
3
- ## What is the workflow?
4
-
5
- 1. Create and describe your **proposal/bug** in an _issue_.
6
- 2. Create a new **branch** and **merge request** with the pattern `1-my-feature`.
7
- 3. Commit your code to the commit convention.
8
-
9
- ---
10
-
11
- ## Convention of Commits and Semantic Version
12
-
13
- ### **Commit Structure**
14
-
15
- ```
16
- type(escope): short description
17
-
18
- What does the modification do?
19
- why was it modified?
20
-
21
- #issue
22
- ```
23
-
24
- - **fix** Fix a bug
25
- - **add** Add a new feature
26
- - **remove** Remove a peace of code
27
- - **deprecate** compatibility break
28
- - **update** Update any thing. e.g. feature, piece, refact
29
-
30
- ### **Semantic Version**
31
-
32
- - **deprecate** -> _Major_
33
- - **add** -> _Minor_
34
- - **fix** -> _Patch_
35
-
36
- ---
37
-
38
- ## References
39
-
40
- - [Good Practices](https://bestpractices.coreinfrastructure.org/pt-BR)
41
- - [Semantic Versioning](https://semver.org/lang/pt-BR/)
42
- - [More about Versioning](http://www.modelcvs.org/versioning/)
43
- - [Versioning Automate](https://bhuwanupadhyay.github.io/2020/04/applying-semantic-versioning-with-git-repository/)
44
- - [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits)
45
- - [Default Angular Commit](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)
46
- - [Global hook for repositories](https://docs.gitlab.com/ce/administration/server_hooks.html#set-a-global-server-hook-for-all-repositories)
47
- - [More about Commits](https://chris.beams.io/posts/git-commit/)
48
- - [Quick Actions for Commits](https://docs.gitlab.com/ee/user/project/quick_actions.html)
49
- - [Commits examples](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#)
50
- - [Full Tutorial Add Convetional Commit as default](https://prahladyeri.com/blog/2019/06/how-to-enforce-conventional-commit-messages-using-git-hooks.html)
51
- - [Create a global git commit hook](https://coderwall.com/p/jp7d5q/create-a-global-git-commit-hook)
package/Dockerfile DELETED
@@ -1,6 +0,0 @@
1
- FROM node:16-alpine
2
-
3
- RUN apk --update --upgrade add git openssh curl zsh
4
- RUN sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
5
-
6
- RUN npm install -g npm@latest
package/jest.config.js DELETED
@@ -1,11 +0,0 @@
1
- /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
- const root = "./"
3
-
4
- module.exports = {
5
- reporters: ["default", "jest-junit"],
6
- rootDir: root,
7
- displayName: "based-tests",
8
- testMatch: ["<rootDir>/test/**/*.test.ts"],
9
- testEnvironment: "node",
10
- preset: "ts-jest"
11
- }
@@ -1,7 +0,0 @@
1
- import { WalletTypes } from "../wallet/wallet.types"
2
-
3
- export interface BaseTransaction {
4
- sign(privateKey: WalletTypes.PrivateKey): object
5
- transaction(): object
6
- send(): object
7
- }
@@ -1,11 +0,0 @@
1
- export namespace TransactionsTypes {
2
- export enum TransferToken {
3
- int = 4,
4
- fee = 1000000
5
- }
6
- export enum IssueToken {
7
- int = 5,
8
- fee = 1000000000
9
- }
10
- //...
11
- }
@@ -1,58 +0,0 @@
1
- import { TransactionsTypes } from "../transactions.types"
2
- import { WalletTypes } from "../../wallet/wallet.types"
3
- import { BaseTransaction } from "../BaseTransaction"
4
- import { ITransfer } from "./transfer.types"
5
- import validator from "./validator"
6
- import * as wasm from "lunesrs"
7
-
8
- class TransferToken implements BaseTransaction {
9
- private tx: ITransfer
10
- constructor(tx: ITransfer) {
11
- this.tx = tx
12
- }
13
-
14
- transaction(): ITransfer {
15
- return this.tx
16
- }
17
-
18
- sign(privateKey: WalletTypes.PrivateKey): ITransfer {
19
- this.tx.signature = validator.sign(privateKey, this.tx)
20
- return this.tx
21
- }
22
-
23
- async send() {
24
- validator.send(this.tx)
25
- }
26
- }
27
-
28
- export function transferTokenFactory(
29
- senderPublicKey: string,
30
- recipient: string,
31
- amount: number,
32
- assetId?: string,
33
- chain?: WalletTypes.Chain,
34
- timestamp?: number,
35
- feeAsset?: string,
36
- fee?: number
37
- ): TransferToken {
38
- const chain_id = chain != undefined ? chain : WalletTypes.Chain.Mainnet
39
- if (
40
- false == validator.ready(senderPublicKey, recipient, amount, chain_id)
41
- ) {
42
- throw new Error("dados invalidos")
43
- }
44
- return new TransferToken({
45
- senderPublicKey: senderPublicKey,
46
- recipient: recipient,
47
- amount: amount,
48
- sender: wasm.arrayToBase58(
49
- wasm.toAddress(1, chain_id, wasm.base58ToArray(senderPublicKey))
50
- ),
51
- timestamp: timestamp != undefined ? timestamp : new Date().getTime(),
52
- feeAsset: feeAsset != undefined ? feeAsset : "",
53
- assetId: assetId != undefined ? assetId : "",
54
- type: TransactionsTypes.TransferToken.int,
55
- fee: fee != undefined ? fee : TransactionsTypes.TransferToken.fee,
56
- signature: ""
57
- })
58
- }
@@ -1,12 +0,0 @@
1
- export interface ITransfer {
2
- senderPublicKey: string
3
- timestamp: number
4
- signature: string
5
- recipient: string
6
- feeAsset: string
7
- assetId: string
8
- amount: number
9
- sender: string
10
- type: number
11
- fee: number
12
- }
@@ -1,92 +0,0 @@
1
- import { WalletTypes } from "../../wallet/wallet.types"
2
- import { TransactionsTypes } from "../transactions.types"
3
- import cryptoUtils from "../../../utils/crypto"
4
- import { ITransfer } from "./transfer.types"
5
- import * as wasm from "lunesrs"
6
- import axios from "axios"
7
-
8
- const validator = {
9
- serialize: (
10
- senderPublicKey: string,
11
- assetId: string,
12
- feeAsset: string,
13
- timestamp: number,
14
- amount: number,
15
- fee: number,
16
- recipient: string
17
- ) => {
18
- const tokenId: Uint8Array =
19
- assetId != ""
20
- ? new Uint8Array([1, ...wasm.base58ToArray(assetId)])
21
- : new Uint8Array([0])
22
- const tokenFee: Uint8Array =
23
- feeAsset != ""
24
- ? new Uint8Array([1, ...wasm.base58ToArray(feeAsset)])
25
- : new Uint8Array([0])
26
-
27
- return new Uint8Array([
28
- ...[TransactionsTypes.TransferToken.int],
29
- ...wasm.base58ToArray(senderPublicKey),
30
- ...tokenId,
31
- ...tokenFee,
32
- ...wasm.serializeUInteger(BigInt(timestamp)),
33
- ...wasm.serializeUInteger(BigInt(amount)),
34
- ...wasm.serializeUInteger(BigInt(fee)),
35
- ...wasm.base58ToArray(recipient)
36
- ])
37
- },
38
- ready: (
39
- senderPublicKey: string,
40
- recipient: string,
41
- amount: number,
42
- chain: WalletTypes.Chain
43
- ): boolean => {
44
- const sender = wasm.arrayToBase58(
45
- wasm.toAddress(1, chain, wasm.base58ToArray(senderPublicKey))
46
- )
47
- if (amount <= 0) {
48
- return false
49
- } else if (
50
- !(
51
- cryptoUtils.validateAddress(sender, chain) === true &&
52
- cryptoUtils.validateAddress(recipient, chain) === true
53
- )
54
- ) {
55
- return false
56
- } else {
57
- return true
58
- }
59
- },
60
- sign: (privateKey: WalletTypes.PrivateKey, tx: ITransfer): string => {
61
- const message = validator.serialize(
62
- tx.senderPublicKey,
63
- tx.assetId,
64
- tx.feeAsset,
65
- tx.timestamp,
66
- tx.amount,
67
- tx.fee,
68
- tx.recipient
69
- )
70
-
71
- return cryptoUtils.fastSignature(
72
- privateKey,
73
- wasm.arrayToBase58(new Uint8Array(message))
74
- )
75
- },
76
- send: async (tx: ITransfer) => {
77
- await axios
78
- .request({
79
- url: "https://lunesnode.lunes.io/transactions/broadcast",
80
- method: "post",
81
- data: tx
82
- })
83
- .then((x) => {
84
- console.log(x)
85
- })
86
- .catch((error) => {
87
- console.error(error.response.data)
88
- })
89
- }
90
- }
91
-
92
- export default validator