@mento-protocol/mento-sdk 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,17 @@
1
- import { BigNumber, Signer, providers } from 'ethers';
1
+ import { BigNumber, providers, Signer } from 'ethers';
2
2
  import { Address } from './types';
3
+ /**
4
+ * Ensures that given signer is truly a a connected signer
5
+ * @param signer an ethers signer
6
+ * @throws if signer is invalid or not connected
7
+ */
8
+ export declare function validateSigner(signer: Signer): void;
9
+ /**
10
+ * Ensures that given signerOrProvider is truly a provider or a connected signer
11
+ * @param signerOrProvider an ethers provider or signer
12
+ * @throws if signerOrProvider is invalid or not connected
13
+ */
14
+ export declare function validateSignerOrProvider(signerOrProvider: Signer | providers.Provider): void;
3
15
  /**
4
16
  * Returns the broker address from the Celo registry
5
17
  * @param signerOrProvider an ethers provider or signer
package/dist/esm/utils.js CHANGED
@@ -7,8 +7,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- // SPDX-License-Identifier: GPL-3.0-or-later
11
- import { Contract, constants } from 'ethers';
10
+ import { constants, Contract, providers, Signer } from 'ethers';
11
+ /**
12
+ * Ensures that given signer is truly a a connected signer
13
+ * @param signer an ethers signer
14
+ * @throws if signer is invalid or not connected
15
+ */
16
+ export function validateSigner(signer) {
17
+ if (!Signer.isSigner(signer)) {
18
+ throw new Error('A valid signer must be provided');
19
+ }
20
+ if (!providers.Provider.isProvider(signer.provider)) {
21
+ throw new Error('Signer must be connected to a provider');
22
+ }
23
+ }
24
+ /**
25
+ * Ensures that given signerOrProvider is truly a provider or a connected signer
26
+ * @param signerOrProvider an ethers provider or signer
27
+ * @throws if signerOrProvider is invalid or not connected
28
+ */
29
+ export function validateSignerOrProvider(signerOrProvider) {
30
+ const isSigner = Signer.isSigner(signerOrProvider);
31
+ const isProvider = providers.Provider.isProvider(signerOrProvider);
32
+ if (!isSigner && !isProvider) {
33
+ throw new Error('A valid signer or provider must be provided');
34
+ }
35
+ if (isSigner && !providers.Provider.isProvider(signerOrProvider.provider)) {
36
+ throw new Error('Signer must be connected to a provider');
37
+ }
38
+ }
12
39
  /**
13
40
  * Returns the broker address from the Celo registry
14
41
  * @param signerOrProvider an ethers provider or signer
package/package.json CHANGED
@@ -1,26 +1,32 @@
1
1
  {
2
2
  "name": "@mento-protocol/mento-sdk",
3
3
  "description": "Official SDK for interacting with the Mento Protocol",
4
- "version": "0.1.1",
5
- "license": "GPL-3.0-or-later",
4
+ "version": "0.1.3",
5
+ "license": "MIT",
6
6
  "author": "Mento Labs",
7
7
  "keywords": [
8
8
  "mento",
9
9
  "celo",
10
10
  "solidity"
11
11
  ],
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/mento-protocol/mento-sdk.git"
15
+ },
12
16
  "main": "dist/cjs/index.js",
13
17
  "module": "dist/esm/index.js",
14
18
  "typings": "dist/esm/index.d.ts",
15
19
  "files": [
16
- "dist"
20
+ "dist",
21
+ "!dist/**/*.test.*"
17
22
  ],
18
23
  "scripts": {
19
24
  "analyze": "size-limit --why",
20
25
  "build": "yarn build:cjs && yarn build:esm",
21
26
  "build:cjs": "tsc --project ./tsconfig.json",
22
27
  "build:esm": "tsc --project ./tsconfig.esm.json",
23
- "lint": "eslint --config ./.eslintrc.json **/*.{json,ts}",
28
+ "clean": "rm -rf ./dist",
29
+ "lint": "eslint --config ./.eslintrc.json src/**/*.ts",
24
30
  "prettier": "prettier --config ./.prettierrc.json --write **/*.{json,md,js,ts,yml}",
25
31
  "size": "size-limit",
26
32
  "test": "jest --runInBand --verbose",
@@ -57,15 +63,17 @@
57
63
  "@tsconfig/recommended": "^1.0.1",
58
64
  "@types/jest": "^29.4.0",
59
65
  "@types/node": "^18.13.0",
60
- "@typescript-eslint/eslint-plugin": "^5.51.0",
61
- "@typescript-eslint/parser": "^5.51.0",
62
- "eslint": "^8.33.0",
66
+ "@typescript-eslint/eslint-plugin": "^5.53.0",
67
+ "@typescript-eslint/parser": "^5.53.0",
68
+ "eslint": "^8.34.0",
69
+ "eslint-config-prettier": "^8.6.0",
63
70
  "ethers": "^5.7.2",
64
71
  "husky": "^8.0.2",
65
72
  "jest": "^29.4.2",
66
73
  "prettier": "^2.8.4",
67
74
  "size-limit": "^8.1.0",
68
75
  "ts-jest": "^29.0.5",
76
+ "ts-node": "^10.9.1",
69
77
  "typescript": "^4.9.5"
70
78
  },
71
79
  "dependencies": {
@@ -73,5 +81,6 @@
73
81
  },
74
82
  "peerDependencies": {
75
83
  "ethers": "^5.7.2"
76
- }
84
+ },
85
+ "packageManager": "yarn@3.3.1"
77
86
  }