@prosopo/env 2.1.8 → 2.1.10

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.
package/dist/env.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { Keyring } from "@polkadot/keyring";
2
+ import type { KeyringPair } from "@polkadot/keyring/types";
3
+ import { type Logger } from "@prosopo/common";
4
+ import { ProviderDatabase } from "@prosopo/database";
5
+ import type { AssetsResolver, EnvironmentTypes } from "@prosopo/types";
6
+ import type { ProsopoBasicConfigOutput } from "@prosopo/types";
7
+ import type { ProsopoEnvironment } from "@prosopo/types-env";
8
+ export declare class Environment implements ProsopoEnvironment {
9
+ config: ProsopoBasicConfigOutput;
10
+ db: ProviderDatabase | undefined;
11
+ defaultEnvironment: EnvironmentTypes;
12
+ logger: Logger;
13
+ assetsResolver: AssetsResolver | undefined;
14
+ keyring: Keyring;
15
+ pair: KeyringPair | undefined;
16
+ constructor(config: ProsopoBasicConfigOutput, pair?: KeyringPair);
17
+ getSigner(): Promise<KeyringPair>;
18
+ getDb(): ProviderDatabase;
19
+ getAssetsResolver(): AssetsResolver;
20
+ getPair(): KeyringPair;
21
+ isReady(): Promise<void>;
22
+ importDatabase(): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAA8B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,qBAAa,WAAY,YAAW,kBAAkB;IACrD,MAAM,EAAE,wBAAwB,CAAC;IACjC,EAAE,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACjC,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;gBAElB,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,WAAW;IAY1D,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IAkBvC,KAAK,IAAI,gBAAgB;IASzB,iBAAiB,IAAI,cAAc;IASnC,OAAO,IAAI,WAAW;IAShB,OAAO;IAyBP,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BrC"}
package/dist/env.js ADDED
@@ -0,0 +1,96 @@
1
+ import { Keyring } from "@polkadot/keyring";
2
+ import { ProsopoEnvError, getLogger } from "@prosopo/common";
3
+ import { ProviderDatabase } from "@prosopo/database";
4
+ export class Environment {
5
+ constructor(config, pair) {
6
+ this.config = config;
7
+ this.defaultEnvironment = this.config.defaultEnvironment;
8
+ this.pair = pair;
9
+ this.logger = getLogger(this.config.logLevel, "ProsopoEnvironment");
10
+ this.keyring = new Keyring({
11
+ type: "sr25519",
12
+ });
13
+ if (this.pair)
14
+ this.keyring.addPair(this.pair);
15
+ }
16
+ async getSigner() {
17
+ if (!this.pair) {
18
+ throw new ProsopoEnvError("CONTRACT.SIGNER_UNDEFINED", {
19
+ context: { failedFuncName: this.getSigner.name },
20
+ });
21
+ }
22
+ try {
23
+ this.pair = this.keyring.addPair(this.pair);
24
+ }
25
+ catch (error) {
26
+ throw new ProsopoEnvError("CONTRACT.SIGNER_UNDEFINED", {
27
+ context: { failedFuncName: this.getSigner.name, error },
28
+ });
29
+ }
30
+ return this.pair;
31
+ }
32
+ getDb() {
33
+ if (this.db === undefined) {
34
+ throw new ProsopoEnvError(new Error("db not setup! Please call isReady() first"));
35
+ }
36
+ return this.db;
37
+ }
38
+ getAssetsResolver() {
39
+ if (this.assetsResolver === undefined) {
40
+ throw new ProsopoEnvError(new Error("assetsResolver not setup! Please call isReady() first"));
41
+ }
42
+ return this.assetsResolver;
43
+ }
44
+ getPair() {
45
+ if (this.pair === undefined) {
46
+ throw new ProsopoEnvError(new Error("pair not setup! Please call isReady() first"));
47
+ }
48
+ return this.pair;
49
+ }
50
+ async isReady() {
51
+ try {
52
+ if (this.pair && this.config.account.password && this.pair.isLocked) {
53
+ this.pair.unlock(this.config.account.password);
54
+ }
55
+ await this.getSigner();
56
+ if (!this.db) {
57
+ await this.importDatabase();
58
+ }
59
+ if (this.db && !this.db.connected) {
60
+ this.logger.warn(`Database connection is not ready (state: ${this.db.connection?.readyState}), reconnecting...`);
61
+ await this.db.connect();
62
+ this.logger.info("Connected to db");
63
+ }
64
+ }
65
+ catch (err) {
66
+ throw new ProsopoEnvError("GENERAL.ENVIRONMENT_NOT_READY", {
67
+ context: { error: err },
68
+ logger: this.logger,
69
+ });
70
+ }
71
+ }
72
+ async importDatabase() {
73
+ try {
74
+ if (this.config.database) {
75
+ const dbConfig = this.config.database[this.defaultEnvironment];
76
+ if (dbConfig) {
77
+ this.db = new ProviderDatabase(dbConfig.endpoint, dbConfig.dbname, dbConfig.authSource, this.logger);
78
+ await this.db.connect();
79
+ }
80
+ }
81
+ }
82
+ catch (error) {
83
+ throw new ProsopoEnvError("DATABASE.DATABASE_IMPORT_FAILED", {
84
+ context: {
85
+ error,
86
+ environment: this.config.database
87
+ ? this.config.database[this.defaultEnvironment]
88
+ ? this.config.database[this.defaultEnvironment]?.type
89
+ : undefined
90
+ : undefined,
91
+ },
92
+ });
93
+ }
94
+ }
95
+ }
96
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAe,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOhE,MAAM,OAAO,WAAW;IASvB,YAAY,MAAgC,EAAE,IAAkB;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,IAAI,EAAE,SAAS;SACf,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;gBACtD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;aAChD,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;gBACtD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;aACvD,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CACxB,IAAI,KAAK,CAAC,2CAA2C,CAAC,CACtD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACxB,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAClE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,OAAO;QACN,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CACxB,IAAI,KAAK,CAAC,6CAA6C,CAAC,CACxD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC;YACJ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEvB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,4CAA4C,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,oBAAoB,CAC9F,CAAC;gBACF,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE;gBAC1D,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,IAAI,CAAC;YACJ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/D,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,EAAE,GAAG,IAAI,gBAAgB,CAC7B,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,EACnB,IAAI,CAAC,MAAM,CACX,CAAC;oBACF,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACzB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,iCAAiC,EAAE;gBAC5D,OAAO,EAAE;oBACR,KAAK;oBACL,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;wBAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;4BAC9C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI;4BACrD,CAAC,CAAC,SAAS;wBACZ,CAAC,CAAC,SAAS;iBACZ;aACD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,4 @@
1
+ export * from "./env.js";
2
+ export * from "./provider.js";
3
+ export * from "./mockenv.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { BN } from "@polkadot/util/bn";
2
+ import type { Dapp, Provider } from "@prosopo/types";
3
+ import { ProviderEnvironment } from "./provider.js";
4
+ export type TestAccount = {
5
+ mnemonic: string;
6
+ address: string;
7
+ contractAddress: string | undefined;
8
+ };
9
+ export interface ProviderTestAccount extends TestAccount {
10
+ contractValue: Provider;
11
+ }
12
+ export interface AppTestAccount extends TestAccount {
13
+ contractValue: Dapp;
14
+ }
15
+ export declare class MockEnvironment extends ProviderEnvironment {
16
+ createAccountAndAddToKeyring(): TestAccount;
17
+ }
18
+ export interface ViteTestContext {
19
+ env: MockEnvironment;
20
+ providerStakeThreshold: BN;
21
+ dappStakeThreshold: BN;
22
+ }
23
+ //# sourceMappingURL=mockenv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockenv.d.ts","sourceRoot":"","sources":["../src/mockenv.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,aAAa,EAAE,QAAQ,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,aAAa,EAAE,IAAI,CAAC;CACpB;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IAChD,4BAA4B,IAAI,WAAW;CAMlD;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,eAAe,CAAC;IACrB,sBAAsB,EAAE,EAAE,CAAC;IAC3B,kBAAkB,EAAE,EAAE,CAAC;CACvB"}
@@ -0,0 +1,11 @@
1
+ import { mnemonicGenerate } from "@polkadot/util-crypto/mnemonic";
2
+ import { ProviderEnvironment } from "./provider.js";
3
+ export class MockEnvironment extends ProviderEnvironment {
4
+ createAccountAndAddToKeyring() {
5
+ const mnemonic = mnemonicGenerate();
6
+ const account = this.keyring.addFromMnemonic(mnemonic);
7
+ const { address } = account;
8
+ return { address, mnemonic, contractAddress: undefined };
9
+ }
10
+ }
11
+ //# sourceMappingURL=mockenv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockenv.js","sourceRoot":"","sources":["../src/mockenv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAgBlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAgBpD,MAAM,OAAO,eAAgB,SAAQ,mBAAmB;IAChD,4BAA4B;QAClC,MAAM,QAAQ,GAAW,gBAAgB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;IAC1D,CAAC;CACD"}
@@ -0,0 +1,6 @@
1
+ import type { ProsopoConfigOutput } from "@prosopo/types";
2
+ import { Environment } from "./env.js";
3
+ export declare class ProviderEnvironment extends Environment {
4
+ config: ProsopoConfigOutput;
5
+ }
6
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,qBAAa,mBAAoB,SAAQ,WAAW;IAC3C,MAAM,EAAE,mBAAmB,CAAC;CACpC"}
@@ -0,0 +1,4 @@
1
+ import { Environment } from "./env.js";
2
+ export class ProviderEnvironment extends Environment {
3
+ }
4
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAEnD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/env",
3
- "version": "2.1.8",
3
+ "version": "2.1.10",
4
4
  "description": "Path env prosopo environment",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -24,18 +24,18 @@
24
24
  "@polkadot/keyring": "12.6.2",
25
25
  "@polkadot/util": "12.6.2",
26
26
  "@polkadot/util-crypto": "12.6.2",
27
- "@prosopo/common": "2.1.8",
28
- "@prosopo/database": "2.1.8",
29
- "@prosopo/types": "2.1.8",
30
- "@prosopo/types-database": "2.1.8",
31
- "@prosopo/types-env": "2.1.8",
32
- "@prosopo/util": "2.1.8"
27
+ "@prosopo/common": "2.1.10",
28
+ "@prosopo/database": "2.1.10",
29
+ "@prosopo/types": "2.1.10",
30
+ "@prosopo/types-database": "2.1.10",
31
+ "@prosopo/types-env": "2.1.10",
32
+ "@prosopo/util": "2.1.10"
33
33
  },
34
34
  "overrides": {
35
35
  "@polkadot/keyring": "12.6.2"
36
36
  },
37
37
  "devDependencies": {
38
- "@prosopo/config": "2.1.8",
38
+ "@prosopo/config": "2.1.10",
39
39
  "@vitest/coverage-v8": "2.1.1",
40
40
  "concurrently": "9.0.1",
41
41
  "npm-run-all": "4.1.5",