@explorins/pers-sdk 1.3.3 → 1.3.5

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.
Files changed (44) hide show
  1. package/dist/business/index.d.ts +9 -9
  2. package/dist/campaign/index.d.ts +19 -19
  3. package/dist/donation/index.d.ts +1 -1
  4. package/dist/index.cjs +1 -5
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +2 -5
  7. package/dist/index.js.map +1 -1
  8. package/dist/package.json +148 -147
  9. package/dist/payment/index.d.ts +6 -6
  10. package/dist/redemption/index.d.ts +10 -10
  11. package/dist/tenant/index.d.ts +4 -4
  12. package/dist/transaction/index.d.ts +4 -4
  13. package/dist/web3/application/web3-application.service.d.ts +3 -3
  14. package/dist/web3/application/web3-application.service.d.ts.map +1 -1
  15. package/dist/web3/domain/models/index.d.ts.map +1 -1
  16. package/dist/web3/domain/services/contract-domain.service.d.ts +2 -4
  17. package/dist/web3/domain/services/contract-domain.service.d.ts.map +1 -1
  18. package/dist/web3/domain/services/token-domain.service.d.ts +5 -5
  19. package/dist/web3/domain/services/token-domain.service.d.ts.map +1 -1
  20. package/dist/web3/index.d.ts +5 -5
  21. package/dist/web3/index.d.ts.map +1 -1
  22. package/dist/web3/infrastructure/api/web3-api.d.ts +4 -4
  23. package/dist/web3/infrastructure/api/web3-api.d.ts.map +1 -1
  24. package/dist/web3-chain/index.d.ts +3 -5
  25. package/dist/web3-chain/index.d.ts.map +1 -1
  26. package/dist/web3-chain/services/ethers-provider.service.d.ts +11 -0
  27. package/dist/web3-chain/services/ethers-provider.service.d.ts.map +1 -0
  28. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +1 -1
  29. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
  30. package/dist/web3-chain/services/web3-chain-service.d.ts +7 -7
  31. package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -1
  32. package/dist/web3-chain/services/web3-provider.service.d.ts +1 -0
  33. package/dist/web3-chain/services/web3-provider.service.d.ts.map +1 -0
  34. package/dist/web3-chain.cjs +108 -228
  35. package/dist/web3-chain.cjs.map +1 -1
  36. package/dist/web3-chain.js +106 -225
  37. package/dist/web3-chain.js.map +1 -1
  38. package/dist/web3.cjs +19 -27
  39. package/dist/web3.cjs.map +1 -1
  40. package/dist/web3.js +17 -25
  41. package/dist/web3.js.map +1 -1
  42. package/package.json +148 -147
  43. package/dist/web3-chain/services/provider.service.d.ts +0 -13
  44. package/dist/web3-chain/services/provider.service.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { TokenBalance, TokenMetadata, TokenCollection } from '../models';
2
- import type { ContractAbi } from 'web3';
3
2
  import { Web3InfrastructureApi } from '../../infrastructure';
4
3
  import { MetadataDomainService } from './metadata-domain.service';
5
4
  import { ContractDomainService } from './contract-domain.service';
5
+ import { Interface } from 'ethers';
6
6
  /**
7
7
  * TokenDomainService - Domain service for token operations
8
8
  * Implements business logic for token balance, metadata, and collection operations
@@ -15,28 +15,28 @@ export declare class TokenDomainService {
15
15
  getTokenBalance(request: {
16
16
  accountAddress: string;
17
17
  contractAddress: string;
18
- abi: ContractAbi;
18
+ abi: Interface;
19
19
  tokenId: string;
20
20
  chainId: number;
21
21
  }): Promise<TokenBalance>;
22
22
  getTokenWithMetadata(params: {
23
23
  accountAddress: string;
24
24
  contractAddress: string;
25
- abi: ContractAbi;
25
+ abi: Interface;
26
26
  tokenId: string;
27
27
  chainId: number;
28
28
  }): Promise<TokenBalance>;
29
29
  getTokenCollection(params: {
30
30
  accountAddress: string;
31
31
  contractAddress: string;
32
- abi: ContractAbi;
32
+ abi: Interface;
33
33
  chainId: number;
34
34
  tokenIds?: string[];
35
35
  maxTokens?: number;
36
36
  }): Promise<TokenCollection>;
37
37
  getTokenMetadata(params: {
38
38
  contractAddress: string;
39
- abi: ContractAbi;
39
+ abi: Interface;
40
40
  tokenId: string;
41
41
  chainId: number;
42
42
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"token-domain.service.d.ts","sourceRoot":"","sources":["../../../../src/web3/domain/services/token-domain.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;GAGG;AACH,qBAAa,kBAAkB;IAG3B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,eAAe;gBAFf,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,qBAAqB,EACtC,eAAe,EAAE,qBAAqB;IAG1C,eAAe,CAAC,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,WAAW,CAAC;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;KAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAiB9J,oBAAoB,CAAC,MAAM,EAAE;QACjC,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,YAAY,CAAC;IAyCnB,kBAAkB,CAAC,MAAM,EAAE;QAC/B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,eAAe,CAAC;IA+ItB,gBAAgB,CAAC,MAAM,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;KAChC,CAAC;CA4BH"}
1
+ {"version":3,"file":"token-domain.service.d.ts","sourceRoot":"","sources":["../../../../src/web3/domain/services/token-domain.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,qBAAa,kBAAkB;IAG3B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,eAAe;gBAFf,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,qBAAqB,EACtC,eAAe,EAAE,qBAAqB;IAG1C,eAAe,CAAC,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBvJ,oBAAoB,CAAC,MAAM,EAAE;QACjC,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,YAAY,CAAC;IAyCnB,kBAAkB,CAAC,MAAM,EAAE;QAC/B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkJtB,gBAAgB,CAAC,MAAM,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;KAChC,CAAC;CA6BH"}
@@ -1,11 +1,11 @@
1
1
  import { PersApiClient } from '../core/pers-api-client';
2
- import { Web3ApplicationService, type TokenBalanceRequest, type TokenBalance, type TokenMetadata, type TokenCollection } from './application';
2
+ import { Web3ApplicationService, type TokenBalanceRequest } from './application';
3
3
  export declare function createWeb3SDK(apiClient: PersApiClient): {
4
- getTokenBalance: (request: TokenBalanceRequest) => Promise<TokenBalance>;
5
- getTokenMetadata: (request: TokenBalanceRequest) => Promise<TokenMetadata | null>;
6
- getTokenCollection: (request: TokenBalanceRequest) => Promise<TokenCollection>;
4
+ getTokenBalance: (request: TokenBalanceRequest) => Promise<import("./application").TokenBalance>;
5
+ getTokenMetadata: (request: TokenBalanceRequest) => Promise<import("./application").TokenMetadata | null>;
6
+ getTokenCollection: (request: TokenBalanceRequest) => Promise<import("./application").TokenCollection>;
7
7
  resolveIPFSUrl: (url: string, chainId: number) => Promise<string>;
8
- fetchAndProcessMetadata: (tokenUri: string, chainId: number) => Promise<TokenMetadata | null>;
8
+ fetchAndProcessMetadata: (tokenUri: string, chainId: number) => Promise<import("./application").TokenMetadata | null>;
9
9
  applicationService: Web3ApplicationService;
10
10
  };
11
11
  export type { TokenBalanceRequest, TokenBalance, TokenMetadata, TokenCollection } from './application/web3-application.service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAGvB,wBAAgB,aAAa,CAC3B,SAAS,EAAE,aAAa;+BAgBK,mBAAmB;gCAGlB,mBAAmB;kCAGjB,mBAAmB;0BAG3B,MAAM,WAAW,MAAM;wCAGT,MAAM,WAAW,MAAM;;EAK9D;AAGD,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,wCAAwC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EAIzB,MAAM,eAAe,CAAC;AAGvB,wBAAgB,aAAa,CAC3B,SAAS,EAAE,aAAa;+BAcK,mBAAmB;gCAGlB,mBAAmB;kCAGjB,mBAAmB;0BAG3B,MAAM,WAAW,MAAM;wCAGT,MAAM,WAAW,MAAM;;EAK9D;AAGD,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,wCAAwC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ContractAbi } from 'web3';
1
+ import { Interface } from 'ethers';
2
2
  import { Web3ChainService } from '../../../web3-chain/services/web3-chain-service';
3
3
  /**
4
4
  * Web3InfrastructureApi - Infrastructure implementation for blockchain operations
@@ -10,19 +10,19 @@ export declare class Web3InfrastructureApi {
10
10
  getTokenBalance(request: {
11
11
  accountAddress: string;
12
12
  contractAddress: string;
13
- abi: ContractAbi;
13
+ abi: Interface;
14
14
  tokenId: string | null;
15
15
  chainId: number;
16
16
  }): Promise<number>;
17
17
  getTokenUri(request: {
18
18
  contractAddress: string;
19
- abi: ContractAbi;
19
+ abi: Interface;
20
20
  tokenId: string;
21
21
  chainId: number;
22
22
  }): Promise<string>;
23
23
  getTokenOfOwnerByIndex(request: {
24
24
  contractAddress: string;
25
- abi: ContractAbi;
25
+ abi: Interface;
26
26
  accountAddress: string;
27
27
  tokenIndex: number;
28
28
  chainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"web3-api.d.ts","sourceRoot":"","sources":["../../../../src/web3/infrastructure/api/web3-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AASnF;;;GAGG;AACH,qBAAa,qBAAqB;IAEpB,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEhD,eAAe,CAAC,OAAO,EAAE;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAab,WAAW,CAAC,OAAO,EAAE;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAcb,sBAAsB,CAAC,OAAO,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,WAAW,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;CAYpB"}
1
+ {"version":3,"file":"web3-api.d.ts","sourceRoot":"","sources":["../../../../src/web3/infrastructure/api/web3-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAQnF;;;GAGG;AACH,qBAAa,qBAAqB;IAEpB,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEhD,eAAe,CAAC,OAAO,EAAE;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC;QACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAeb,WAAW,CAAC,OAAO,EAAE;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAeb,sBAAsB,CAAC,OAAO,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;CAapB"}
@@ -1,16 +1,14 @@
1
1
  import { PersApiClient } from '../core/pers-api-client';
2
2
  import { Web3ChainApi } from './api/web3-chain-api';
3
- import { Web3ProviderService } from './services/provider.service';
4
3
  import { Web3ChainService } from './services/web3-chain-service';
5
- export declare function createWeb3ChainSDK(apiClient: PersApiClient, providerService: Web3ProviderService): {
6
- getChainDataById: (chainId: number) => Promise<import("./models").ChainData | null>;
7
- getWeb3ByChainId: (chainId: number) => Promise<import("web3").default<import("web3-eth").RegisteredSubscription>>;
4
+ export declare function createWeb3ChainSDK(apiClient: PersApiClient): {
5
+ getEthersProviderByChainId: (chainId: number) => Promise<import("ethers").JsonRpcProvider>;
6
+ getChainDataById: (chainId: number) => Promise<import("./models").ChainData>;
8
7
  api: Web3ChainApi;
9
8
  service: Web3ChainService;
10
9
  };
11
10
  export { Web3ChainApi } from './api/web3-chain-api';
12
11
  export { Web3ChainService } from './services/web3-chain-service';
13
- export { Web3ProviderService } from './services/provider.service';
14
12
  export * from './models';
15
13
  export type { ChainData } from './models';
16
14
  export * from '../shared/interfaces/pers-shared-lib.interfaces';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3-chain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB;gCAMjE,MAAM;gCACN,MAAM;;;EAKrC;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,cAAc,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3-chain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa;0CAKjB,MAAM;gCAChB,MAAM;;;EAMrC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,cAAc,iDAAiD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ChainData, ChainType } from "@explorins/web3-ts";
2
+ import { JsonRpcProvider } from '@explorins/web3-ts/ethers';
3
+ export declare class EthersProviderService {
4
+ private _provider;
5
+ private _currentChainId;
6
+ private _creationPromise;
7
+ constructor();
8
+ getEthersProvider(chainId: number, chainType: ChainType, chainData: ChainData): Promise<JsonRpcProvider>;
9
+ private createEthersProvider;
10
+ }
11
+ //# sourceMappingURL=ethers-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethers-provider.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/ethers-provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,gBAAgB,CAAyC;;IAQpD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;YA4BvG,oBAAoB;CAarC"}
@@ -1,5 +1,5 @@
1
1
  import { ChainData } from "@explorins/web3-ts";
2
- import { JsonRpcProvider } from 'ethers/providers';
2
+ import { JsonRpcProvider } from '@explorins/web3-ts/ethers';
3
3
  export declare const getWeb3ProviderFromChainData: (chainData: ChainData, timeout?: number, customUserAgentName?: string, tokenRefresher?: () => Promise<string>) => {
4
4
  web3Provider: null;
5
5
  ethersProvider: JsonRpcProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"getWeb3FCD.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/getWeb3FCD.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,eAAO,MAAM,4BAA4B,GACvC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC;;;;CA4CvC,CAAC;AAGF,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC,EACtC;;;;CAAiE;;;;EAuClE,CAAC"}
1
+ {"version":3,"file":"getWeb3FCD.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/getWeb3FCD.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAgB,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,4BAA4B,GACvC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC;;;;CA2CvC,CAAC;AAGF,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,EACpB,gBAAe,EACf,4BAAwB,EACxB,iBAAiB,MAAM,OAAO,CAAC,MAAM,CAAC,EACtC;;;;CAAiE;;;;EAuClE,CAAC"}
@@ -1,17 +1,17 @@
1
1
  import { Web3ChainApi } from '../api/web3-chain-api';
2
2
  import { ChainData } from '../models';
3
- import type { Web3 } from 'web3';
4
- import { Web3ProviderService } from './provider.service';
3
+ import { JsonRpcProvider } from '@explorins/web3-ts/ethers';
5
4
  export declare class Web3ChainService {
6
5
  private web3ChainApi;
7
- private providerService;
8
6
  private web3InstanceCache;
9
- constructor(web3ChainApi: Web3ChainApi, providerService: Web3ProviderService);
10
- getWeb3ByChainId(chainId: number): Promise<Web3>;
7
+ private providerCache;
8
+ private ethersProviderService;
9
+ constructor(web3ChainApi: Web3ChainApi);
10
+ getEthersProviderByChainId(chainId: number): Promise<JsonRpcProvider>;
11
+ private createProviderInstance;
11
12
  getChainDataWithCache(chainId: number): Promise<ChainData>;
12
13
  private checkIsTokenExpired;
13
- private createWeb3Instance;
14
14
  private isAuthError;
15
- getChainDataById(chainId: number): Promise<ChainData | null>;
15
+ private getChainDataById;
16
16
  }
17
17
  //# sourceMappingURL=web3-chain-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web3-chain-service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/web3-chain-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAuB,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IAJzB,OAAO,CAAC,iBAAiB,CAA0C;gBAGzD,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,mBAAmB;IAGxC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBhE,OAAO,CAAC,mBAAmB;YAUb,kBAAkB;IAuBhC,OAAO,CAAC,WAAW;IAUb,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAQnE"}
1
+ {"version":3,"file":"web3-chain-service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/web3-chain-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAuB,MAAM,WAAW,CAAC;AAI3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,YAAY;IARtB,OAAO,CAAC,iBAAiB,CAA0C;IAEnE,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,qBAAqB,CAAsD;gBAGzE,YAAY,EAAE,YAAY;IAG9B,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YA4C7D,sBAAsB;IAgBvB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBvE,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,WAAW;YAUL,gBAAgB;CAmF/B"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=web3-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-provider.service.d.ts","sourceRoot":"","sources":["../../../src/web3-chain/services/web3-provider.service.ts"],"names":[],"mappings":""}
@@ -1,9 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var jwt_function = require('./chunks/jwt.function-BYiyl-z_.cjs');
4
- var Web3 = require('web3');
5
- var providers = require('ethers/providers');
6
- var utils = require('ethers/utils');
4
+ var ethers = require('@explorins/web3-ts/ethers');
7
5
  var persShared = require('@explorins/pers-shared');
8
6
  require('jwt-decode');
9
7
 
@@ -27,7 +25,7 @@ class Web3ChainApi {
27
25
  */
28
26
  async getChainData(chainId) {
29
27
  try {
30
- console.log('🔍 [Web3ChainApi] Fetching chain data for chainId:', chainId);
28
+ console.log('[Web3ChainApi] Fetching chain data for chainId:', chainId);
31
29
  const response = await this.apiClient.get(`${this.basePath}/${chainId}`);
32
30
  if (!response) {
33
31
  throw new Error(`No chain data received for chainId: ${chainId}`);
@@ -35,7 +33,7 @@ class Web3ChainApi {
35
33
  return response;
36
34
  }
37
35
  catch (error) {
38
- console.error('[Web3ChainApi] Failed to get chain data:', {
36
+ console.error('[Web3ChainApi] Failed to get chain data:', {
39
37
  chainId,
40
38
  error: error instanceof Error ? error.message : String(error)
41
39
  });
@@ -44,111 +42,12 @@ class Web3ChainApi {
44
42
  }
45
43
  }
46
44
 
47
- class Web3ChainService {
48
- constructor(web3ChainApi, providerService) {
49
- this.web3ChainApi = web3ChainApi;
50
- this.providerService = providerService;
51
- this.web3InstanceCache = new Map();
52
- }
53
- async getWeb3ByChainId(chainId) {
54
- const cached = this.web3InstanceCache.get(chainId);
55
- // ✅ SMART CACHE: Check if cache is valid based on token expiration
56
- if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
57
- // Using cached Web3 instance
58
- return cached.web3Instance;
59
- }
60
- // ✅ CREATE WITH ERROR RECOVERY: Handle auth errors gracefully
61
- try {
62
- // Creating new Web3 instance
63
- const { web3, chainData } = await this.createWeb3Instance(chainId);
64
- // ✅ CACHE NEW INSTANCE
65
- this.web3InstanceCache.set(chainId, {
66
- web3Instance: web3,
67
- chainData: chainData,
68
- createdAt: Date.now(),
69
- chainId
70
- });
71
- return web3;
72
- }
73
- catch (error) {
74
- // ✅ AUTH ERROR RECOVERY: Clear cache and retry once
75
- if (this.isAuthError(error)) {
76
- // Auth error detected, clearing cache and retrying
77
- this.web3InstanceCache.delete(chainId);
78
- // Retry once with fresh instance
79
- const { web3, chainData } = await this.createWeb3Instance(chainId);
80
- this.web3InstanceCache.set(chainId, {
81
- web3Instance: web3,
82
- chainData: chainData,
83
- createdAt: Date.now(),
84
- chainId
85
- });
86
- return web3;
87
- }
88
- throw error;
89
- }
90
- }
91
- async getChainDataWithCache(chainId) {
92
- const cached = this.web3InstanceCache.get(chainId);
93
- //const now = Date.now();
94
- if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
95
- // Using cached ChainData
96
- return cached.chainData;
97
- }
98
- // If not cached, fetch fresh data
99
- const chainData = await this.getChainDataById(chainId);
100
- if (!chainData) {
101
- throw new Error(`Chain data not found for chainId: ${chainId}`);
102
- }
103
- return chainData;
104
- }
105
- checkIsTokenExpired(authHeader) {
106
- // ✅ NULL CHECK: Handle undefined case
107
- if (!authHeader) {
108
- return false; // No token means no expiration (public chains)
109
- }
110
- // ✅ FUNCTION CALL: Use imported function, not method
111
- return jwt_function.isTokenExpired(authHeader);
112
- }
113
- async createWeb3Instance(chainId) {
114
- const chainData = await this.getChainDataById(chainId);
115
- if (!chainData) {
116
- throw new Error(`Chain data not found for chainId: ${chainId}`);
117
- }
118
- // ✅ CRITICAL CHECK: Ensure authHeader is present for private chains
119
- if (chainData.chainType === 'PRIVATE' && !chainData.authHeader) {
120
- console.error('❌ [Web3ChainService] CRITICAL: Private chain missing authHeader!');
121
- throw new Error(`Private chain ${chainId} missing authentication header`);
122
- }
123
- const web3 = await this.providerService.getWeb3(chainId, chainData.chainType || 'PUBLIC', chainData);
124
- return { web3, chainData };
125
- }
126
- // ✅ HELPER: Type-safe error checking
127
- isAuthError(error) {
128
- const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
129
- return (message.includes('unauthorized') ||
130
- message.includes('401') ||
131
- message.includes('token expired') ||
132
- message.includes('invalid token'));
133
- }
134
- async getChainDataById(chainId) {
135
- try {
136
- return await this.web3ChainApi.getChainData(chainId);
137
- }
138
- catch (error) {
139
- console.error('❌ [SDK Web3ChainService] Error getting chain data for chainId:', chainId, error);
140
- return null;
141
- }
142
- }
143
- }
144
-
145
45
  // ✅ REVERT: Función síncrona como el código comentado que funciona
146
46
  const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgentName = '', tokenRefresher) => {
147
- console.log(`🔧 [getWeb3FCD] Creating provider for chain ${chainData.chainId || 'unknown'}`);
148
47
  let ethersProvider;
149
48
  if (chainData.authHeader) {
150
49
  // ✅ AUTHENTICATED: For private chains
151
- const fetchRequest = new utils.FetchRequest(chainData.rpcUrl);
50
+ const fetchRequest = new ethers.FetchRequest(chainData.rpcUrl);
152
51
  fetchRequest.timeout = timeout;
153
52
  // ✅ IMPROVED AUTH HEADER: Better handling
154
53
  const authValue = chainData.authHeader.startsWith('Bearer ')
@@ -160,7 +59,7 @@ const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgen
160
59
  if (customUserAgentName) {
161
60
  fetchRequest.setHeader('User-Agent', customUserAgentName);
162
61
  }
163
- ethersProvider = new providers.JsonRpcProvider(fetchRequest, undefined, {
62
+ ethersProvider = new ethers.JsonRpcProvider(fetchRequest, undefined, {
164
63
  staticNetwork: false,
165
64
  polling: false,
166
65
  batchMaxCount: 1, // ✅ DISABLE BATCHING: Better for private chains
@@ -168,7 +67,7 @@ const getWeb3ProviderFromChainData = (chainData, timeout = 15000, customUserAgen
168
67
  }
169
68
  else {
170
69
  // ✅ PUBLIC: For public chains
171
- ethersProvider = new providers.JsonRpcProvider(chainData.rpcUrl, undefined, {
70
+ ethersProvider = new ethers.JsonRpcProvider(chainData.rpcUrl, undefined, {
172
71
  staticNetwork: false,
173
72
  polling: false,
174
73
  });
@@ -249,64 +148,18 @@ function isAuthError(error) {
249
148
  function sleep(ms) {
250
149
  return new Promise(resolve => setTimeout(resolve, ms));
251
150
  }
252
- /*
253
- //IMPORTANT//
254
- //This function is temporary so we install ethers just to make it work, once we delete this function we must uninstall Ethers
255
-
256
- import { ChainData } from "@explorins/web3-ts";
257
- import { FetchRequest, JsonRpcProvider } from "ethers";
258
-
259
- export const getWeb3ProviderFromChainData = (
260
- chainData: ChainData,
261
- timeout = 15000,
262
- customUserAgentName = '',
263
- tokenRefresher?: () => Promise<string>
264
- ) => {
265
151
 
266
- // Fixed ethers provider setup for authenticated requests
267
- let ethersProvider: JsonRpcProvider;
268
-
269
- if (chainData.authHeader) {
270
- // For authenticated requests, create a custom FetchRequest
271
- const fetchRequest = new FetchRequest(chainData.rpcUrl);
272
- fetchRequest.timeout = timeout;
273
- fetchRequest.setHeader('Authorization', chainData.authHeader);
274
- fetchRequest.setHeader('Content-Type', 'application/json');
275
-
276
- if (customUserAgentName) {
277
- fetchRequest.setHeader('User-Agent', customUserAgentName);
278
- }
279
-
280
- // Create provider with the configured FetchRequest
281
- ethersProvider = new JsonRpcProvider(fetchRequest, undefined, {
282
- staticNetwork: false,
283
- polling: false, // Disable polling for better Lambda performance
284
- });
285
- } else {
286
- // For public chains, use simple URL-based provider
287
- ethersProvider = new JsonRpcProvider(chainData.rpcUrl, undefined, {
288
- staticNetwork: false,
289
- polling: false,
290
- });
291
- }
292
-
293
- return {
294
- web3Provider: null,
295
- ethersProvider: ethersProvider,
296
- isAuthenticated: !!chainData.authHeader,
297
- };
298
- }; */
299
-
300
- class Web3ProviderService {
152
+ class EthersProviderService {
301
153
  constructor() {
302
- this._web3 = null;
154
+ this._provider = null;
303
155
  this._currentChainId = null;
304
156
  this._creationPromise = null;
157
+ console.log('[PERS SDK] EthersProviderService initialized with enhanced instanceof handling');
305
158
  }
306
- async getWeb3(chainId, chainType, chainData) {
159
+ async getEthersProvider(chainId, chainType, chainData) {
307
160
  // ✅ EARLY RETURN: Reuse existing provider
308
- if (this._web3 && this._currentChainId === chainId) {
309
- return this._web3;
161
+ if (this._provider && this._currentChainId === chainId) {
162
+ return this._provider;
310
163
  }
311
164
  // ✅ PREVENT RACE CONDITION: Wait for ongoing creation
312
165
  if (this._creationPromise) {
@@ -317,88 +170,116 @@ class Web3ProviderService {
317
170
  if (!chainData)
318
171
  throw new Error('ChainData not found');
319
172
  // ✅ CREATE AND CACHE: Single promise for concurrent calls
320
- this._creationPromise = this.createProvider(chainId, chainType, chainData);
173
+ const ethersPromise = this.createEthersProvider(chainId, chainType, chainData);
321
174
  try {
322
- const web3Instance = await this._creationPromise;
323
- this._web3 = web3Instance;
175
+ const { web3Provider, ethersProvider, isAuthenticated } = await ethersPromise;
176
+ this._provider = ethersProvider;
324
177
  this._currentChainId = chainId;
325
- return web3Instance;
178
+ return ethersProvider;
326
179
  }
327
180
  finally {
328
181
  // ✅ CLEANUP: Always reset promise after completion
329
182
  this._creationPromise = null;
330
183
  }
331
184
  }
332
- async createProvider(chainId, chainType, chainData) {
185
+ async createEthersProvider(chainId, chainType, chainData) {
186
+ console.log(`🔧 [createProvider] Creating provider for chain ${chainId}`);
333
187
  const provider = await getWeb3ProviderWithRetry(chainData);
334
- return this.convertToWeb3(provider);
188
+ return provider;
335
189
  }
336
- convertToWeb3(provider) {
337
- // Try instanceof first (works in most environments)
190
+ }
191
+
192
+ class Web3ChainService {
193
+ constructor(web3ChainApi) {
194
+ this.web3ChainApi = web3ChainApi;
195
+ this.web3InstanceCache = new Map();
196
+ // TODO: Fix any
197
+ this.providerCache = new Map();
198
+ // private providerService: Web3ProviderService = new Web3ProviderService();
199
+ this.ethersProviderService = new EthersProviderService();
200
+ }
201
+ async getEthersProviderByChainId(chainId) {
202
+ const cached = this.providerCache.get(chainId);
203
+ // ✅ SMART CACHE: Check if cache is valid based on token expiration
204
+ if (cached && !this.checkIsTokenExpired(cached.authHeader)) {
205
+ // Using cached provider
206
+ return cached.provider;
207
+ }
338
208
  try {
339
- if (provider instanceof Web3) {
340
- return provider;
341
- }
209
+ // Creating new Web3 instance
210
+ const { provider, chainData } = await this.createProviderInstance(chainId);
211
+ this.providerCache.set(chainId, {
212
+ provider,
213
+ chainData,
214
+ createdAt: Date.now(),
215
+ chainId
216
+ });
217
+ return provider;
342
218
  }
343
219
  catch (error) {
344
- // instanceof can fail in React Native, continue with fallback checks
345
- }
346
- // React Native safe checks - fallback when instanceof fails
347
- if (provider && typeof provider === 'object') {
348
- // Check constructor name
349
- if (provider.constructor && provider.constructor.name === 'Web3') {
350
- return provider;
351
- }
352
- // Check for Web3 instance properties
353
- if ('currentProvider' in provider && 'eth' in provider) {
220
+ // AUTH ERROR RECOVERY: Clear cache and retry once
221
+ if (this.isAuthError(error)) {
222
+ // Auth error detected, clearing cache and retrying
223
+ this.providerCache.delete(chainId);
224
+ // Retry once with fresh instance
225
+ const { provider, chainData } = await this.createProviderInstance(chainId);
226
+ this.providerCache.set(chainId, {
227
+ provider,
228
+ chainData,
229
+ createdAt: Date.now(),
230
+ chainId
231
+ });
354
232
  return provider;
355
233
  }
234
+ throw error;
356
235
  }
357
- if (provider && typeof provider === 'object' && 'web3Provider' in provider) {
358
- const providerObj = provider;
359
- // If we want to user the web3Provider directly:
360
- /*if (providerObj.web3Provider) {
361
- return new Web3(providerObj.web3Provider as never);
362
- }*/
363
- if (providerObj.ethersProvider) {
364
- const url = this.extractUrlFromEthersProvider(providerObj.ethersProvider);
365
- const headers = this.extractHeadersFromEthersProvider(providerObj.ethersProvider);
366
- const web3 = new Web3(url);
367
- const currentProvider = web3.currentProvider;
368
- if (currentProvider) {
369
- currentProvider['url'] = url;
370
- if (headers && Object.keys(headers).length > 0) {
371
- currentProvider['request'] = async (payload) => {
372
- const response = await fetch(url, {
373
- method: 'POST',
374
- headers: {
375
- 'Content-Type': 'application/json',
376
- ...headers
377
- },
378
- body: JSON.stringify(payload)
379
- });
380
- if (!response.ok) {
381
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
382
- }
383
- return await response.json();
384
- };
385
- }
386
- }
387
- return web3;
388
- }
236
+ }
237
+ async createProviderInstance(chainId) {
238
+ const chainData = await this.getChainDataById(chainId);
239
+ if (!chainData) {
240
+ throw new Error(`Chain data not found for chainId: ${chainId}`);
389
241
  }
390
- return new Web3(provider);
242
+ const provider = await this.ethersProviderService.getEthersProvider(chainId, chainData.chainType || 'PUBLIC', chainData);
243
+ return { provider, chainData };
391
244
  }
392
- extractUrlFromEthersProvider(ethersProvider) {
393
- return ethersProvider.connection?.url ||
394
- ethersProvider._getConnection?.()?.url ||
395
- ethersProvider.url ||
396
- '';
245
+ async getChainDataWithCache(chainId) {
246
+ const cached = this.web3InstanceCache.get(chainId);
247
+ //const now = Date.now();
248
+ if (cached && !this.checkIsTokenExpired(cached.chainData.authHeader)) {
249
+ // Using cached ChainData
250
+ return cached.chainData;
251
+ }
252
+ // If not cached, fetch fresh data
253
+ const chainData = await this.getChainDataById(chainId);
254
+ if (!chainData) {
255
+ throw new Error(`Chain data not found for chainId: ${chainId}`);
256
+ }
257
+ return chainData;
397
258
  }
398
- extractHeadersFromEthersProvider(ethersProvider) {
399
- return ethersProvider.connection?.headers ||
400
- ethersProvider._getConnection?.()?.headers ||
401
- {};
259
+ checkIsTokenExpired(authHeader) {
260
+ // NULL CHECK: Handle undefined case
261
+ if (!authHeader) {
262
+ return false; // No token means no expiration (public chains)
263
+ }
264
+ // ✅ FUNCTION CALL: Use imported function, not method
265
+ return jwt_function.isTokenExpired(authHeader);
266
+ }
267
+ // ✅ HELPER: Type-safe error checking
268
+ isAuthError(error) {
269
+ const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
270
+ return (message.includes('unauthorized') ||
271
+ message.includes('401') ||
272
+ message.includes('token expired') ||
273
+ message.includes('invalid token'));
274
+ }
275
+ async getChainDataById(chainId) {
276
+ try {
277
+ return await this.web3ChainApi.getChainData(chainId);
278
+ }
279
+ catch (error) {
280
+ console.error('❌ [SDK Web3ChainService] Error getting chain data for chainId:', chainId, error);
281
+ return null;
282
+ }
402
283
  }
403
284
  }
404
285
 
@@ -413,13 +294,13 @@ const ChainTypes = {
413
294
  PRIVATE: 'PRIVATE'
414
295
  };
415
296
 
416
- function createWeb3ChainSDK(apiClient, providerService) {
297
+ function createWeb3ChainSDK(apiClient) {
417
298
  const web3ChainApi = new Web3ChainApi(apiClient);
418
- const web3ChainService = new Web3ChainService(web3ChainApi, providerService); // ✅ DIRECT INJECTION
299
+ const web3ChainService = new Web3ChainService(web3ChainApi);
419
300
  return {
420
- // ✅ REPLICA: Same methods as framework
421
- getChainDataById: (chainId) => web3ChainService.getChainDataById(chainId),
422
- getWeb3ByChainId: (chainId) => web3ChainService.getWeb3ByChainId(chainId),
301
+ getEthersProviderByChainId: (chainId) => web3ChainService.getEthersProviderByChainId(chainId),
302
+ getChainDataById: (chainId) => web3ChainService.getChainDataWithCache(chainId),
303
+ // getWeb3ByChainId: (chainId: number) => web3ChainService.getWeb3ByChainId(chainId),
423
304
  api: web3ChainApi,
424
305
  service: web3ChainService
425
306
  };
@@ -432,6 +313,5 @@ Object.defineProperty(exports, "AccountOwnerType", {
432
313
  exports.ChainTypes = ChainTypes;
433
314
  exports.Web3ChainApi = Web3ChainApi;
434
315
  exports.Web3ChainService = Web3ChainService;
435
- exports.Web3ProviderService = Web3ProviderService;
436
316
  exports.createWeb3ChainSDK = createWeb3ChainSDK;
437
317
  //# sourceMappingURL=web3-chain.cjs.map