@spacesops/wdk-react-native-provider 1.0.0-beta.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.
Files changed (89) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +841 -0
  3. package/lib/module/contexts/constants.js +20 -0
  4. package/lib/module/contexts/constants.js.map +1 -0
  5. package/lib/module/contexts/reducer.js +87 -0
  6. package/lib/module/contexts/reducer.js.map +1 -0
  7. package/lib/module/contexts/types.js +4 -0
  8. package/lib/module/contexts/types.js.map +1 -0
  9. package/lib/module/contexts/wallet-context.js +409 -0
  10. package/lib/module/contexts/wallet-context.js.map +1 -0
  11. package/lib/module/index.js +15 -0
  12. package/lib/module/index.js.map +1 -0
  13. package/lib/module/package.json +1 -0
  14. package/lib/module/polyfills.js +34 -0
  15. package/lib/module/polyfills.js.map +1 -0
  16. package/lib/module/services/wdk-service/bare-api.js +69 -0
  17. package/lib/module/services/wdk-service/bare-api.js.map +1 -0
  18. package/lib/module/services/wdk-service/index.js +506 -0
  19. package/lib/module/services/wdk-service/index.js.map +1 -0
  20. package/lib/module/services/wdk-service/types.js +48 -0
  21. package/lib/module/services/wdk-service/types.js.map +1 -0
  22. package/lib/module/services/wdk-service/wdk-encryption-salt.js +29 -0
  23. package/lib/module/services/wdk-service/wdk-encryption-salt.js.map +1 -0
  24. package/lib/module/services/wdk-service/wdk-secret-manager-storage.js +64 -0
  25. package/lib/module/services/wdk-service/wdk-secret-manager-storage.js.map +1 -0
  26. package/lib/module/services/wdk-service/wdk-secret-manager-worklet.bundle.js +1 -0
  27. package/lib/module/services/wdk-service/wdk-worklet.mobile.bundle.js +1 -0
  28. package/lib/module/spec/hrpc/hrpc.json +66 -0
  29. package/lib/module/spec/hrpc/index.js +121 -0
  30. package/lib/module/spec/hrpc/index.js.map +1 -0
  31. package/lib/module/spec/hrpc/messages.js +291 -0
  32. package/lib/module/spec/hrpc/messages.js.map +1 -0
  33. package/lib/module/spec/schema/index.js +291 -0
  34. package/lib/module/spec/schema/index.js.map +1 -0
  35. package/lib/module/spec/schema/schema.json +186 -0
  36. package/lib/module/utils/get-balances-from-balance-map.js +18 -0
  37. package/lib/module/utils/get-balances-from-balance-map.js.map +1 -0
  38. package/lib/module/utils/get-transactions-from-transaction-map.js +10 -0
  39. package/lib/module/utils/get-transactions-from-transaction-map.js.map +1 -0
  40. package/lib/module/worklet/wdk-secret-manager-worklet.js +106 -0
  41. package/lib/module/worklet/wdk-secret-manager-worklet.js.map +1 -0
  42. package/lib/typescript/package.json +1 -0
  43. package/lib/typescript/src/contexts/constants.d.ts +3 -0
  44. package/lib/typescript/src/contexts/constants.d.ts.map +1 -0
  45. package/lib/typescript/src/contexts/reducer.d.ts +38 -0
  46. package/lib/typescript/src/contexts/reducer.d.ts.map +1 -0
  47. package/lib/typescript/src/contexts/types.d.ts +40 -0
  48. package/lib/typescript/src/contexts/types.d.ts.map +1 -0
  49. package/lib/typescript/src/contexts/wallet-context.d.ts +10 -0
  50. package/lib/typescript/src/contexts/wallet-context.d.ts.map +1 -0
  51. package/lib/typescript/src/index.d.ts +7 -0
  52. package/lib/typescript/src/index.d.ts.map +1 -0
  53. package/lib/typescript/src/polyfills.d.ts +7 -0
  54. package/lib/typescript/src/polyfills.d.ts.map +1 -0
  55. package/lib/typescript/src/services/wdk-service/bare-api.d.ts +32 -0
  56. package/lib/typescript/src/services/wdk-service/bare-api.d.ts.map +1 -0
  57. package/lib/typescript/src/services/wdk-service/index.d.ts +68 -0
  58. package/lib/typescript/src/services/wdk-service/index.d.ts.map +1 -0
  59. package/lib/typescript/src/services/wdk-service/types.d.ts +125 -0
  60. package/lib/typescript/src/services/wdk-service/types.d.ts.map +1 -0
  61. package/lib/typescript/src/services/wdk-service/wdk-encryption-salt.d.ts +6 -0
  62. package/lib/typescript/src/services/wdk-service/wdk-encryption-salt.d.ts.map +1 -0
  63. package/lib/typescript/src/services/wdk-service/wdk-secret-manager-storage.d.ts +13 -0
  64. package/lib/typescript/src/services/wdk-service/wdk-secret-manager-storage.d.ts.map +1 -0
  65. package/lib/typescript/src/utils/get-balances-from-balance-map.d.ts +4 -0
  66. package/lib/typescript/src/utils/get-balances-from-balance-map.d.ts.map +1 -0
  67. package/lib/typescript/src/utils/get-transactions-from-transaction-map.d.ts +4 -0
  68. package/lib/typescript/src/utils/get-transactions-from-transaction-map.d.ts.map +1 -0
  69. package/metro-polyfills.js +89 -0
  70. package/package.json +152 -0
  71. package/src/contexts/constants.ts +19 -0
  72. package/src/contexts/reducer.ts +103 -0
  73. package/src/contexts/types.ts +51 -0
  74. package/src/contexts/wallet-context.tsx +411 -0
  75. package/src/index.tsx +28 -0
  76. package/src/polyfills.ts +31 -0
  77. package/src/services/wdk-service/bare-api.ts +88 -0
  78. package/src/services/wdk-service/index.ts +765 -0
  79. package/src/services/wdk-service/types.ts +137 -0
  80. package/src/services/wdk-service/wdk-encryption-salt.ts +30 -0
  81. package/src/services/wdk-service/wdk-secret-manager-storage.ts +102 -0
  82. package/src/spec/hrpc/hrpc.json +66 -0
  83. package/src/spec/hrpc/index.js +228 -0
  84. package/src/spec/hrpc/messages.js +328 -0
  85. package/src/spec/schema/index.js +328 -0
  86. package/src/spec/schema/schema.json +186 -0
  87. package/src/utils/get-balances-from-balance-map.ts +22 -0
  88. package/src/utils/get-transactions-from-transaction-map.ts +18 -0
  89. package/src/worklet/wdk-secret-manager-worklet.js +118 -0
@@ -0,0 +1,38 @@
1
+ import type { AddressMap, BalanceMap, TransactionMap, Wallet } from '../services/wdk-service/types';
2
+ import type { WalletContextState } from './types';
3
+ type WalletAction = {
4
+ type: 'SET_LOADING';
5
+ payload: boolean;
6
+ } | {
7
+ type: 'SET_ERROR';
8
+ payload: string | null;
9
+ } | {
10
+ type: 'SET_WALLET';
11
+ payload: Wallet;
12
+ } | {
13
+ type: 'SET_ADDRESSES';
14
+ payload: AddressMap;
15
+ } | {
16
+ type: 'SET_INITIALIZED';
17
+ payload: boolean;
18
+ } | {
19
+ type: 'SET_UNLOCKED';
20
+ payload: boolean;
21
+ } | {
22
+ type: 'SET_BALANCES';
23
+ payload: BalanceMap;
24
+ } | {
25
+ type: 'SET_TRANSACTIONS';
26
+ payload: TransactionMap;
27
+ } | {
28
+ type: 'SET_LOADING_BALANCES';
29
+ payload: boolean;
30
+ } | {
31
+ type: 'SET_LOADING_TRANSACTIONS';
32
+ payload: boolean;
33
+ } | {
34
+ type: 'CLEAR_WALLET';
35
+ };
36
+ declare function reducer(state: WalletContextState, action: WalletAction): WalletContextState;
37
+ export default reducer;
38
+ //# sourceMappingURL=reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../../src/contexts/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACP,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAG7B,iBAAS,OAAO,CACd,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,YAAY,GACnB,kBAAkB,CAwEpB;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { AddressMap, Amount, BalanceMap, ChainsConfig, Transaction, TransactionMap, Wallet } from '../services/wdk-service/types';
2
+ export interface WalletContextState {
3
+ wallet?: Wallet | null;
4
+ addresses?: AddressMap;
5
+ balances: {
6
+ list: Amount[];
7
+ map: BalanceMap;
8
+ isLoading: boolean;
9
+ };
10
+ transactions: {
11
+ list: Transaction[];
12
+ map: TransactionMap;
13
+ isLoading: boolean;
14
+ };
15
+ isLoading: boolean;
16
+ error: string | null;
17
+ isInitialized: boolean;
18
+ isUnlocked: boolean;
19
+ }
20
+ export interface WalletContextType extends WalletContextState {
21
+ createWallet: (params: {
22
+ name: string;
23
+ mnemonic?: string;
24
+ }) => Promise<WalletContextState['wallet']>;
25
+ clearWallet: () => Promise<void>;
26
+ clearError: () => void;
27
+ refreshWalletBalance: () => Promise<void>;
28
+ refreshTransactions: () => Promise<void>;
29
+ unlockWallet: () => Promise<boolean | undefined>;
30
+ }
31
+ export interface WalletProviderConfig {
32
+ indexer: {
33
+ apiKey: string;
34
+ url: string;
35
+ version?: string;
36
+ };
37
+ chains: ChainsConfig;
38
+ enableCaching?: boolean;
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/contexts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,MAAM,EACP,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,UAAU,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,YAAY,EAAE;QACZ,IAAI,EAAE,WAAW,EAAE,CAAC;QACpB,GAAG,EAAE,cAAc,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,YAAY,EAAE,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAClD;AAGD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { WalletContextType, WalletProviderConfig } from './types';
3
+ declare const WalletContext: import("react").Context<WalletContextType | undefined>;
4
+ export declare function WalletProvider({ children, config, }: {
5
+ children: ReactNode;
6
+ config: WalletProviderConfig;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export declare function useWallet(): WalletContextType;
9
+ export default WalletContext;
10
+ //# sourceMappingURL=wallet-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/wallet-context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC,OAAO,KAAK,EAEV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAWjB,QAAA,MAAM,aAAa,wDAA0D,CAAC;AAG9E,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;CAC9B,2CA6WA;AAGD,wBAAgB,SAAS,sBAMxB;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import './polyfills';
2
+ export { useWallet, default as WalletContext, WalletProvider, } from './contexts/wallet-context';
3
+ export type { WalletProviderConfig } from './contexts/types';
4
+ export { WDKService, wdkService, SMART_CONTRACT_BALANCE_ADDRESSES, } from './services/wdk-service';
5
+ export type { Amount, Transaction, Wallet } from './services/wdk-service/types';
6
+ export { AssetAddressMap, AssetBalanceMap, AssetTicker, NetworkType, } from './services/wdk-service/types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,aAAa,CAAC;AAGrB,OAAO,EACL,SAAS,EACT,OAAO,IAAI,aAAa,EACxB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EACL,UAAU,EACV,UAAU,EACV,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Polyfills for React Native environment
3
+ * This file sets up necessary polyfills for cryptographic and stream operations
4
+ * that are required by the WDK library and related crypto packages.
5
+ */
6
+ import 'react-native-get-random-values';
7
+ //# sourceMappingURL=polyfills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../../../src/polyfills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,gCAAgC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { HRPC as wdkManagerHRPC } from '@spacesops/pear-wrk-wdk';
2
+ import { Worklet } from 'react-native-bare-kit';
3
+ import HRPC from '../../spec/hrpc';
4
+ export declare enum InstanceEnum {
5
+ wdkSecretManager = "wdkSecretManager",
6
+ wdkManager = "wdkManager"
7
+ }
8
+ export type BareInstanceTypes = Partial<{
9
+ [K in InstanceEnum]: Worklet;
10
+ }>;
11
+ export type HRPCInstanceTypes = Partial<{
12
+ [K in InstanceEnum]: HRPC | wdkManagerHRPC;
13
+ }>;
14
+ export declare class BareWorkletApi {
15
+ static bareInstances: BareInstanceTypes;
16
+ static hrpcInstances: HRPCInstanceTypes;
17
+ /**
18
+ * Start bare worklet and assign HRPC instance.
19
+ * @param {InstanceEnum} instance
20
+ * @param {string} fileName
21
+ * @param {string} source
22
+ * @return Worklet
23
+ */
24
+ static startWorklet(instance: InstanceEnum, fileName: string, source: string): Worklet | undefined;
25
+ static registerHRPCLog(instance: any): void;
26
+ /**
27
+ * Terminate worklet
28
+ * @param {InstanceEnum} instance
29
+ */
30
+ static terminateWorklet(instance: InstanceEnum): void;
31
+ }
32
+ //# sourceMappingURL=bare-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bare-api.d.ts","sourceRoot":"","sources":["../../../../../src/services/wdk-service/bare-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAGnC,oBAAY,YAAY;IACtB,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;KACrC,CAAC,IAAI,YAAY,GAAG,OAAO;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;KACrC,CAAC,IAAI,YAAY,GAAG,IAAI,GAAG,cAAc;CAC3C,CAAC,CAAC;AAEH,qBAAa,cAAc;IACzB,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAGrC;IACF,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAGrC;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,GAAG,SAAS;IA4BtB,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAS3C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;CAMtD"}
@@ -0,0 +1,68 @@
1
+ import type { ChainsConfig, Transaction, Wallet } from './types';
2
+ import { AssetTicker, NetworkType } from './types';
3
+ export declare const SMART_CONTRACT_BALANCE_ADDRESSES: {
4
+ usdt: {
5
+ ethereum: string;
6
+ polygon: string;
7
+ arbitrum: string;
8
+ ton: string;
9
+ };
10
+ xaut: {
11
+ ethereum: string;
12
+ polygon: string;
13
+ arbitrum: string;
14
+ ton: string;
15
+ };
16
+ };
17
+ interface WDKServiceConfig {
18
+ indexer: {
19
+ apiKey: string;
20
+ url: string;
21
+ version: string;
22
+ };
23
+ chains: ChainsConfig;
24
+ }
25
+ declare class WDKService {
26
+ private static instance;
27
+ private walletManagerCache;
28
+ private isInitialized;
29
+ private wdkManager;
30
+ private secretManager;
31
+ private config;
32
+ private constructor();
33
+ static getInstance(): WDKService;
34
+ setConfig(config: WDKServiceConfig): void;
35
+ private getIndexerUrl;
36
+ private getIndexerVersion;
37
+ private getIndexerApiKey;
38
+ private getChainsConfig;
39
+ initialize(): Promise<void>;
40
+ clearWallet(): Promise<void>;
41
+ createSeed(params: {
42
+ prf: Buffer | ArrayBuffer | string;
43
+ }): Promise<string>;
44
+ importSeedPhrase(params: {
45
+ prf: Buffer | ArrayBuffer | string;
46
+ seedPhrase: string;
47
+ }): Promise<boolean>;
48
+ retrieveSeed(passkey: Buffer | ArrayBuffer | string): Promise<string | null>;
49
+ getAssetAddress(network: NetworkType, index: number): Promise<{
50
+ address: string;
51
+ }>;
52
+ resolveWalletAddresses(enabledAssets: AssetTicker[], index?: number): Promise<Partial<Record<NetworkType, string>>>;
53
+ quoteSendByNetwork(network: NetworkType, index: number, amount: number, recipientAddress: string, asset: AssetTicker): Promise<number>;
54
+ sendByNetwork(network: NetworkType, index: number, amount: number, recipientAddress: string, asset: AssetTicker): Promise<any>;
55
+ getDenominationValue(asset: AssetTicker): number;
56
+ createWallet(params: {
57
+ walletName: string;
58
+ prf: Buffer | string;
59
+ }): Promise<Wallet>;
60
+ resolveWalletTransactions(enabledAssets: AssetTicker[], networkAddresses: Partial<Record<NetworkType, string>>): Promise<Record<string, Transaction[]>>;
61
+ resolveWalletBalances(enabledAssets: AssetTicker[], networkAddresses: Partial<Record<NetworkType, string>>): Promise<Record<string, {
62
+ balance: number;
63
+ asset: AssetTicker;
64
+ }>>;
65
+ }
66
+ export declare const wdkService: WDKService;
67
+ export { wdkService as WDKService };
68
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/wdk-service/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ export declare enum AssetTicker {
2
+ BTC = "btc",
3
+ USDT = "usdt",
4
+ XAUT = "xaut"
5
+ }
6
+ export declare enum NetworkType {
7
+ SEGWIT = "bitcoin",
8
+ LIGHTNING = "lightning",
9
+ ETHEREUM = "ethereum",
10
+ SOLANA = "solana",
11
+ TRON = "tron",
12
+ TON = "ton",
13
+ POLYGON = "polygon",
14
+ ARBITRUM = "arbitrum"
15
+ }
16
+ export declare const AssetAddressMap: {
17
+ btc: {
18
+ bitcoin: string;
19
+ };
20
+ usdt: {
21
+ ethereum: string;
22
+ polygon: string;
23
+ arbitrum: string;
24
+ ton: string;
25
+ };
26
+ xaut: {
27
+ ethereum: string;
28
+ };
29
+ };
30
+ export declare const AssetBalanceMap: {
31
+ btc: {
32
+ bitcoin: string;
33
+ };
34
+ usdt: {
35
+ ethereum: string;
36
+ polygon: string;
37
+ arbitrum: string;
38
+ ton: string;
39
+ };
40
+ xaut: {
41
+ ethereum: string;
42
+ };
43
+ };
44
+ export interface Amount {
45
+ denomination: AssetTicker;
46
+ value: string;
47
+ networkType: NetworkType;
48
+ }
49
+ export interface Wallet {
50
+ id: string;
51
+ name: string;
52
+ enabledAssets: AssetTicker[];
53
+ }
54
+ export type AddressMap = Partial<Record<NetworkType, string>>;
55
+ export type BalanceMap = Record<string, {
56
+ balance: number;
57
+ asset: AssetTicker;
58
+ }>;
59
+ export type TransactionMap = Partial<Record<NetworkType, Transaction[]>>;
60
+ export interface Transaction {
61
+ blockchain: string;
62
+ blockNumber: number;
63
+ transactionHash: string;
64
+ transferIndex: number;
65
+ token: string;
66
+ amount: string;
67
+ timestamp: number;
68
+ transactionIndex: number;
69
+ logIndex: number;
70
+ from: string;
71
+ to: string;
72
+ }
73
+ export interface PaymasterToken {
74
+ address: string;
75
+ }
76
+ export interface EVMChainConfig {
77
+ chainId: number;
78
+ blockchain: string;
79
+ provider: string;
80
+ bundlerUrl: string;
81
+ paymasterUrl: string;
82
+ paymasterAddress: string;
83
+ entrypointAddress: string;
84
+ transferMaxFee: number;
85
+ swapMaxFee: number;
86
+ bridgeMaxFee: number;
87
+ paymasterToken: PaymasterToken;
88
+ safeModulesVersion?: string;
89
+ }
90
+ export interface TONChainConfig {
91
+ tonApiClient: {
92
+ url: string;
93
+ };
94
+ tonClient: {
95
+ url: string;
96
+ };
97
+ paymasterToken: PaymasterToken;
98
+ transferMaxFee: number;
99
+ }
100
+ export interface BitcoinChainConfig {
101
+ host: string;
102
+ port: number;
103
+ }
104
+ export interface TronChainConfig {
105
+ chainId: number;
106
+ provider: string;
107
+ gasFreeProvider: string;
108
+ apiKey: string;
109
+ apiSecret: string;
110
+ serviceProvider: string;
111
+ verifyingContract: string;
112
+ transferMaxFee: number;
113
+ swapMaxFee: number;
114
+ bridgeMaxFee: number;
115
+ paymasterToken: PaymasterToken;
116
+ }
117
+ export interface ChainsConfig {
118
+ ethereum?: EVMChainConfig;
119
+ arbitrum?: EVMChainConfig;
120
+ polygon?: EVMChainConfig;
121
+ ton?: TONChainConfig;
122
+ bitcoin?: BitcoinChainConfig;
123
+ tron?: TronChainConfig;
124
+ }
125
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/wdk-service/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare function generateWdkSalt(email: any): Buffer;
2
+ export declare const wdkEncryptionSalt: {
3
+ generateWdkSalt: typeof generateWdkSalt;
4
+ };
5
+ export {};
6
+ //# sourceMappingURL=wdk-encryption-salt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdk-encryption-salt.d.ts","sourceRoot":"","sources":["../../../../../src/services/wdk-service/wdk-encryption-salt.ts"],"names":[],"mappings":"AAEA,iBAAS,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAuB3C;AAED,eAAO,MAAM,iBAAiB;;CAE7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const WDK_STORAGE_SEED: "seed";
2
+ export declare const WDK_STORAGE_ENTROPY: "entropy";
3
+ export declare const WDK_STORAGE_SALT: "salt";
4
+ export declare class WdkSecretManagerStorage {
5
+ static BASE_SERVICE_NAME: string;
6
+ static saveData(key: typeof WDK_STORAGE_SEED | typeof WDK_STORAGE_ENTROPY | typeof WDK_STORAGE_SALT, value: Buffer | string): Promise<void>;
7
+ static retrieveData(key: typeof WDK_STORAGE_SEED | typeof WDK_STORAGE_ENTROPY | typeof WDK_STORAGE_SALT): Promise<false | Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike>>;
8
+ static hasKey(key: typeof WDK_STORAGE_SEED | typeof WDK_STORAGE_ENTROPY | typeof WDK_STORAGE_SALT): Promise<boolean>;
9
+ static resetData(key: typeof WDK_STORAGE_SEED | typeof WDK_STORAGE_ENTROPY | typeof WDK_STORAGE_SALT): Promise<boolean>;
10
+ static resetAllData(): Promise<void>;
11
+ static getServiceForItem(key: typeof WDK_STORAGE_SEED | typeof WDK_STORAGE_ENTROPY | typeof WDK_STORAGE_SALT): string;
12
+ }
13
+ //# sourceMappingURL=wdk-secret-manager-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdk-secret-manager-storage.d.ts","sourceRoot":"","sources":["../../../../../src/services/wdk-service/wdk-secret-manager-storage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,EAAG,MAAe,CAAC;AAChD,eAAO,MAAM,mBAAmB,EAAG,SAAkB,CAAC;AACtD,eAAO,MAAM,gBAAgB,EAAG,MAAe,CAAC;AAEhD,qBAAa,uBAAuB;IAClC,MAAM,CAAC,iBAAiB,SAAuB;WAElC,QAAQ,CACnB,GAAG,EACC,OAAO,gBAAgB,GACvB,OAAO,mBAAmB,GAC1B,OAAO,gBAAgB,EAC3B,KAAK,EAAE,MAAM,GAAG,MAAM;WAcX,YAAY,CACvB,GAAG,EACC,OAAO,gBAAgB,GACvB,OAAO,mBAAmB,GAC1B,OAAO,gBAAgB;WAuBhB,MAAM,CACjB,GAAG,EACC,OAAO,gBAAgB,GACvB,OAAO,mBAAmB,GAC1B,OAAO,gBAAgB;WAMhB,SAAS,CACpB,GAAG,EACC,OAAO,gBAAgB,GACvB,OAAO,mBAAmB,GAC1B,OAAO,gBAAgB;WAiBhB,YAAY;IAMzB,MAAM,CAAC,iBAAiB,CACtB,GAAG,EACC,OAAO,gBAAgB,GACvB,OAAO,mBAAmB,GAC1B,OAAO,gBAAgB;CAI9B"}
@@ -0,0 +1,4 @@
1
+ import type { Amount, BalanceMap } from '../services/wdk-service/types';
2
+ declare const getBalancesFromBalanceMap: (balanceMap: BalanceMap) => Amount[];
3
+ export default getBalancesFromBalanceMap;
4
+ //# sourceMappingURL=get-balances-from-balance-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-balances-from-balance-map.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-balances-from-balance-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EAEX,MAAM,+BAA+B,CAAC;AAEvC,QAAA,MAAM,yBAAyB,GAAI,YAAY,UAAU,KAAG,MAAM,EAajE,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Transaction, TransactionMap } from '../services/wdk-service/types';
2
+ declare const getTransactionsFromTransactionMap: (transactionMap: TransactionMap) => Transaction[];
3
+ export default getTransactionsFromTransactionMap;
4
+ //# sourceMappingURL=get-transactions-from-transaction-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-transactions-from-transaction-map.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-transactions-from-transaction-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACf,MAAM,+BAA+B,CAAC;AAEvC,QAAA,MAAM,iCAAiC,GACrC,gBAAgB,cAAc,KAC7B,WAAW,EAQb,CAAC;AAEF,eAAe,iCAAiC,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Metro bundler polyfills configuration for React Native
3
+ *
4
+ * This module provides polyfills for Node.js core modules that don't exist
5
+ * in React Native environments. These are necessary for WDK and crypto operations.
6
+ */
7
+
8
+ /**
9
+ * Returns polyfill mappings for Node.js core modules
10
+ * @returns {object} Configuration object for Metro's extraNodeModules
11
+ */
12
+ function getMetroPolyfills() {
13
+ return {
14
+ 'stream': require.resolve('stream-browserify'),
15
+ 'buffer': require.resolve('@craftzdog/react-native-buffer'),
16
+ 'crypto': require.resolve('react-native-crypto'),
17
+ 'net': require.resolve('react-native-tcp-socket'),
18
+ 'tls': require.resolve('react-native-tcp-socket'),
19
+ 'url': require.resolve('react-native-url-polyfill'),
20
+ 'http': require.resolve('stream-http'),
21
+ 'https': require.resolve('https-browserify'),
22
+ 'http2': require.resolve('http2-wrapper'),
23
+ 'zlib': require.resolve('browserify-zlib'),
24
+ 'path': require.resolve('path-browserify'),
25
+ 'querystring': require.resolve('querystring-es3'),
26
+ 'events': require.resolve('events'),
27
+ 'nice-grpc': require.resolve('nice-grpc-web'),
28
+ 'sodium-universal': require.resolve('sodium-javascript'),
29
+ };
30
+ }
31
+
32
+ /**
33
+ * Configures Metro resolver with WDK polyfills and resolveRequest handler
34
+ * This is the recommended way to configure Metro for apps using wdk-react-native-provider
35
+ *
36
+ * @param {object} config - Base Metro config (from getDefaultConfig)
37
+ * @returns {object} Modified Metro config with WDK polyfills
38
+ *
39
+ * @example
40
+ * const { getDefaultConfig } = require('expo/metro-config');
41
+ * const { configureMetroForWDK } = require('@tetherto/wdk-react-native-provider/metro-polyfills');
42
+ *
43
+ * const config = getDefaultConfig(__dirname);
44
+ * module.exports = configureMetroForWDK(config);
45
+ */
46
+ function configureMetroForWDK(config) {
47
+ const polyfills = getMetroPolyfills();
48
+
49
+ // Save the existing resolveRequest BEFORE replacing config.resolver
50
+ const existingResolveRequest = config.resolver.resolveRequest;
51
+
52
+ config.resolver = {
53
+ ...config.resolver,
54
+ extraNodeModules: {
55
+ ...config.resolver.extraNodeModules,
56
+ ...polyfills,
57
+ },
58
+ resolveRequest: (context, moduleName, platform) => {
59
+ // Handle polyfills that need special resolution
60
+ if (moduleName === 'stream') {
61
+ return {
62
+ filePath: require.resolve('stream-browserify'),
63
+ type: 'sourceFile',
64
+ };
65
+ } else if (moduleName === 'url') {
66
+ return {
67
+ filePath: require.resolve('react-native-url-polyfill'),
68
+ type: 'sourceFile',
69
+ };
70
+ }
71
+
72
+ // Use existing resolveRequest if available, otherwise use default
73
+ if (
74
+ existingResolveRequest &&
75
+ existingResolveRequest !== arguments.callee
76
+ ) {
77
+ return existingResolveRequest(context, moduleName, platform);
78
+ }
79
+
80
+ return context.resolveRequest(context, moduleName, platform);
81
+ },
82
+ };
83
+
84
+ return config;
85
+ }
86
+
87
+ module.exports = getMetroPolyfills;
88
+ module.exports.getMetroPolyfills = getMetroPolyfills;
89
+ module.exports.configureMetroForWDK = configureMetroForWDK;