@massalabs/wallet-provider 3.0.1-dev.20241212185156 → 3.0.1-dev.20241220142101

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 (106) hide show
  1. package/dist/esm/bearbyWallet/BearbyWallet.d.ts +5 -4
  2. package/dist/esm/bearbyWallet/BearbyWallet.d.ts.map +1 -1
  3. package/dist/esm/bearbyWallet/BearbyWallet.js +11 -10
  4. package/dist/esm/bearbyWallet/BearbyWallet.js.map +1 -1
  5. package/dist/esm/massaStation/MassaStationWallet.d.ts +3 -2
  6. package/dist/esm/massaStation/MassaStationWallet.d.ts.map +1 -1
  7. package/dist/esm/massaStation/MassaStationWallet.js +10 -3
  8. package/dist/esm/massaStation/MassaStationWallet.js.map +1 -1
  9. package/dist/esm/metamaskSnap/MetamaskAccount.d.ts +26 -0
  10. package/dist/esm/metamaskSnap/MetamaskAccount.d.ts.map +1 -0
  11. package/dist/esm/metamaskSnap/MetamaskAccount.js +192 -0
  12. package/dist/esm/metamaskSnap/MetamaskAccount.js.map +1 -0
  13. package/dist/esm/metamaskSnap/MetamaskWallet.d.ts +57 -0
  14. package/dist/esm/metamaskSnap/MetamaskWallet.d.ts.map +1 -0
  15. package/dist/esm/metamaskSnap/MetamaskWallet.js +129 -0
  16. package/dist/esm/metamaskSnap/MetamaskWallet.js.map +1 -0
  17. package/dist/esm/metamaskSnap/config/index.d.ts +2 -0
  18. package/dist/esm/metamaskSnap/config/index.d.ts.map +1 -0
  19. package/dist/esm/metamaskSnap/config/index.js +2 -0
  20. package/dist/esm/metamaskSnap/config/index.js.map +1 -0
  21. package/dist/esm/metamaskSnap/config/snap.d.ts +2 -0
  22. package/dist/esm/metamaskSnap/config/snap.d.ts.map +1 -0
  23. package/dist/esm/metamaskSnap/config/snap.js +3 -0
  24. package/dist/esm/metamaskSnap/config/snap.js.map +1 -0
  25. package/dist/esm/metamaskSnap/metamask.d.ts +21 -0
  26. package/dist/esm/metamaskSnap/metamask.d.ts.map +1 -0
  27. package/dist/esm/metamaskSnap/metamask.js +70 -0
  28. package/dist/esm/metamaskSnap/metamask.js.map +1 -0
  29. package/dist/esm/metamaskSnap/services/buyRolls.d.ts +4 -0
  30. package/dist/esm/metamaskSnap/services/buyRolls.d.ts.map +1 -0
  31. package/dist/esm/metamaskSnap/services/buyRolls.js +14 -0
  32. package/dist/esm/metamaskSnap/services/buyRolls.js.map +1 -0
  33. package/dist/esm/metamaskSnap/services/callSC.d.ts +4 -0
  34. package/dist/esm/metamaskSnap/services/callSC.d.ts.map +1 -0
  35. package/dist/esm/metamaskSnap/services/callSC.js +14 -0
  36. package/dist/esm/metamaskSnap/services/callSC.js.map +1 -0
  37. package/dist/esm/metamaskSnap/services/deploySC.d.ts +4 -0
  38. package/dist/esm/metamaskSnap/services/deploySC.d.ts.map +1 -0
  39. package/dist/esm/metamaskSnap/services/deploySC.js +14 -0
  40. package/dist/esm/metamaskSnap/services/deploySC.js.map +1 -0
  41. package/dist/esm/metamaskSnap/services/getActiveAccount.d.ts +4 -0
  42. package/dist/esm/metamaskSnap/services/getActiveAccount.d.ts.map +1 -0
  43. package/dist/esm/metamaskSnap/services/getActiveAccount.js +13 -0
  44. package/dist/esm/metamaskSnap/services/getActiveAccount.js.map +1 -0
  45. package/dist/esm/metamaskSnap/services/getBalance.d.ts +4 -0
  46. package/dist/esm/metamaskSnap/services/getBalance.d.ts.map +1 -0
  47. package/dist/esm/metamaskSnap/services/getBalance.js +14 -0
  48. package/dist/esm/metamaskSnap/services/getBalance.js.map +1 -0
  49. package/dist/esm/metamaskSnap/services/getMinimalFees.d.ts +3 -0
  50. package/dist/esm/metamaskSnap/services/getMinimalFees.d.ts.map +1 -0
  51. package/dist/esm/metamaskSnap/services/getMinimalFees.js +6 -0
  52. package/dist/esm/metamaskSnap/services/getMinimalFees.js.map +1 -0
  53. package/dist/esm/metamaskSnap/services/getNetwork.d.ts +4 -0
  54. package/dist/esm/metamaskSnap/services/getNetwork.d.ts.map +1 -0
  55. package/dist/esm/metamaskSnap/services/getNetwork.js +13 -0
  56. package/dist/esm/metamaskSnap/services/getNetwork.js.map +1 -0
  57. package/dist/esm/metamaskSnap/services/index.d.ts +11 -0
  58. package/dist/esm/metamaskSnap/services/index.d.ts.map +1 -0
  59. package/dist/esm/metamaskSnap/services/index.js +12 -0
  60. package/dist/esm/metamaskSnap/services/index.js.map +1 -0
  61. package/dist/esm/metamaskSnap/services/sellRolls.d.ts +4 -0
  62. package/dist/esm/metamaskSnap/services/sellRolls.d.ts.map +1 -0
  63. package/dist/esm/metamaskSnap/services/sellRolls.js +14 -0
  64. package/dist/esm/metamaskSnap/services/sellRolls.js.map +1 -0
  65. package/dist/esm/metamaskSnap/services/setRpcUrl.d.ts +4 -0
  66. package/dist/esm/metamaskSnap/services/setRpcUrl.d.ts.map +1 -0
  67. package/dist/esm/metamaskSnap/services/setRpcUrl.js +14 -0
  68. package/dist/esm/metamaskSnap/services/setRpcUrl.js.map +1 -0
  69. package/dist/esm/metamaskSnap/services/signMessage.d.ts +4 -0
  70. package/dist/esm/metamaskSnap/services/signMessage.d.ts.map +1 -0
  71. package/dist/esm/metamaskSnap/services/signMessage.js +14 -0
  72. package/dist/esm/metamaskSnap/services/signMessage.js.map +1 -0
  73. package/dist/esm/metamaskSnap/services/transfer.d.ts +4 -0
  74. package/dist/esm/metamaskSnap/services/transfer.d.ts.map +1 -0
  75. package/dist/esm/metamaskSnap/services/transfer.js +14 -0
  76. package/dist/esm/metamaskSnap/services/transfer.js.map +1 -0
  77. package/dist/esm/metamaskSnap/snap.d.ts +8 -0
  78. package/dist/esm/metamaskSnap/snap.d.ts.map +1 -0
  79. package/dist/esm/metamaskSnap/snap.js +33 -0
  80. package/dist/esm/metamaskSnap/snap.js.map +1 -0
  81. package/dist/esm/metamaskSnap/types/index.d.ts +2 -0
  82. package/dist/esm/metamaskSnap/types/index.d.ts.map +1 -0
  83. package/dist/esm/metamaskSnap/types/index.js +2 -0
  84. package/dist/esm/metamaskSnap/types/index.js.map +1 -0
  85. package/dist/esm/metamaskSnap/types/snap.d.ts +14 -0
  86. package/dist/esm/metamaskSnap/types/snap.d.ts.map +1 -0
  87. package/dist/esm/metamaskSnap/types/snap.js +2 -0
  88. package/dist/esm/metamaskSnap/types/snap.js.map +1 -0
  89. package/dist/esm/utils/constants.d.ts +1 -0
  90. package/dist/esm/utils/constants.d.ts.map +1 -1
  91. package/dist/esm/utils/constants.js +1 -0
  92. package/dist/esm/utils/constants.js.map +1 -1
  93. package/dist/esm/wallet/interface.d.ts +2 -1
  94. package/dist/esm/wallet/interface.d.ts.map +1 -1
  95. package/dist/esm/wallet/interface.js.map +1 -1
  96. package/dist/esm/wallet/types.d.ts +2 -1
  97. package/dist/esm/wallet/types.d.ts.map +1 -1
  98. package/dist/esm/wallet/types.js +1 -0
  99. package/dist/esm/wallet/types.js.map +1 -1
  100. package/dist/esm/walletsManager/types.d.ts +2 -1
  101. package/dist/esm/walletsManager/types.d.ts.map +1 -1
  102. package/dist/esm/walletsManager/types.js.map +1 -1
  103. package/dist/esm/walletsManager/walletList.d.ts.map +1 -1
  104. package/dist/esm/walletsManager/walletList.js +3 -3
  105. package/dist/esm/walletsManager/walletList.js.map +1 -1
  106. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../src/metamaskSnap/services/signMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM1C,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,QAAgC,EAChC,MAAyB,EACK,EAAE;IAChC,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;gBACtB,MAAM;aACP;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { MetaMaskInpageProvider } from '@metamask/providers';\nimport { MASSA_SNAP_ID } from '../config';\nimport type {\n SignMessageParams,\n SignMessageResponse,\n} from '@massalabs/metamask-snap';\n\nexport const signMessage = async (\n provider: MetaMaskInpageProvider,\n params: SignMessageParams,\n): Promise<SignMessageResponse> => {\n return provider.request({\n method: 'wallet_invokeSnap',\n params: {\n snapId: MASSA_SNAP_ID,\n request: {\n method: 'account.sign',\n params,\n },\n },\n });\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import type { MetaMaskInpageProvider } from '@metamask/providers';
2
+ import type { TransferResponse } from '@massalabs/metamask-snap';
3
+ export declare const transfer: (provider: MetaMaskInpageProvider, params: TransferParams) => Promise<TransferResponse>;
4
+ //# sourceMappingURL=transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../../src/metamaskSnap/services/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,QAAQ,aACT,sBAAsB,6BAE/B,QAAQ,gBAAgB,CAW1B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { MASSA_SNAP_ID } from '../config';
2
+ export const transfer = async (provider, params) => {
3
+ return provider.request({
4
+ method: 'wallet_invokeSnap',
5
+ params: {
6
+ snapId: MASSA_SNAP_ID,
7
+ request: {
8
+ method: 'account.sendTransaction',
9
+ params,
10
+ },
11
+ },
12
+ });
13
+ };
14
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../src/metamaskSnap/services/transfer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM1C,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,QAAgC,EAChC,MAAsB,EACK,EAAE;IAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,yBAAyB;gBACjC,MAAM;aACP;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { MetaMaskInpageProvider } from '@metamask/providers';\nimport { MASSA_SNAP_ID } from '../config';\nimport type {\n TransferParams,\n TransferResponse,\n} from '@massalabs/metamask-snap';\n\nexport const transfer = async (\n provider: MetaMaskInpageProvider,\n params: TransferParams,\n): Promise<TransferResponse> => {\n return provider.request({\n method: 'wallet_invokeSnap',\n params: {\n snapId: MASSA_SNAP_ID,\n request: {\n method: 'account.sendTransaction',\n params,\n },\n },\n });\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import type { MetaMaskInpageProvider } from '@metamask/providers';
2
+ import { type GetSnapsResponse, Snap } from './types';
3
+ export declare const getInstalledSnaps: (provider: MetaMaskInpageProvider) => Promise<GetSnapsResponse>;
4
+ export declare const getMassaSnapInfo: (provider: MetaMaskInpageProvider, version?: string) => Promise<Snap | undefined>;
5
+ export declare const isConnected: (provider: MetaMaskInpageProvider) => Promise<boolean>;
6
+ export declare const connectSnap: (provider: MetaMaskInpageProvider, params?: Record<'version' | string, unknown>) => Promise<Partial<unknown>>;
7
+ export declare const showPrivateKey: (provider: MetaMaskInpageProvider) => Promise<Partial<unknown>>;
8
+ //# sourceMappingURL=snap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap.d.ts","sourceRoot":"","sources":["../../../src/metamaskSnap/snap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,KAAK,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,iBAAiB,aAClB,sBAAsB,KAC/B,QAAQ,gBAAgB,CAGvB,CAAC;AAEL,eAAO,MAAM,gBAAgB,aACjB,sBAAsB,YACtB,MAAM,KACf,QAAQ,IAAI,GAAG,SAAS,CAY1B,CAAC;AAEF,eAAO,MAAM,WAAW,aACZ,sBAAsB,KAC/B,QAAQ,OAAO,CAGjB,CAAC;AAEF,eAAO,MAAM,WAAW,aACZ,sBAAsB,WACxB,OAAO,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC,8BAQ5C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAoB,sBAAsB,8BAKpE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { MASSA_SNAP_ID } from './config';
2
+ export const getInstalledSnaps = async (provider) => provider.request({
3
+ method: 'wallet_getSnaps',
4
+ });
5
+ export const getMassaSnapInfo = async (provider, version) => {
6
+ try {
7
+ const snaps = await getInstalledSnaps(provider);
8
+ return Object.values(snaps).find((snap) => snap.id === MASSA_SNAP_ID && (!version || snap.version === version));
9
+ }
10
+ catch (error) {
11
+ console.error('Failed to obtain installed snap', error);
12
+ return undefined;
13
+ }
14
+ };
15
+ export const isConnected = async (provider) => {
16
+ const snap = await getMassaSnapInfo(provider);
17
+ return !!snap;
18
+ };
19
+ export const connectSnap = async (provider, params = {}) => {
20
+ return provider.request({
21
+ method: 'wallet_requestSnaps',
22
+ params: {
23
+ [MASSA_SNAP_ID]: params,
24
+ },
25
+ });
26
+ };
27
+ export const showPrivateKey = async (provider) => {
28
+ return provider.request({
29
+ method: 'wallet_invokeSnap',
30
+ params: { snapId: MASSA_SNAP_ID, request: { method: 'showSecretKey' } },
31
+ });
32
+ };
33
+ //# sourceMappingURL=snap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap.js","sourceRoot":"","sources":["../../../src/metamaskSnap/snap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,QAAgC,EACL,EAAE,CAC7B,QAAQ,CAAC,OAAO,CAAC;IACf,MAAM,EAAE,iBAAiB;CAC1B,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgC,EAChC,OAAgB,EACW,EAAE;IAC7B,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CACtE,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,QAAgC,EACd,EAAE;IACpB,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,QAAgC,EAChC,SAA8C,EAAE,EAChD,EAAE;IACF,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE;YACN,CAAC,aAAa,CAAC,EAAE,MAAM;SACxB;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgC,EAAE,EAAE;IACvE,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE;KACxE,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { MetaMaskInpageProvider } from '@metamask/providers';\n\nimport { MASSA_SNAP_ID } from './config';\nimport { type GetSnapsResponse, Snap } from './types';\n\nexport const getInstalledSnaps = async (\n provider: MetaMaskInpageProvider,\n): Promise<GetSnapsResponse> =>\n provider.request({\n method: 'wallet_getSnaps',\n });\n\nexport const getMassaSnapInfo = async (\n provider: MetaMaskInpageProvider,\n version?: string,\n): Promise<Snap | undefined> => {\n try {\n const snaps = await getInstalledSnaps(provider);\n\n return Object.values(snaps).find(\n (snap) =>\n snap.id === MASSA_SNAP_ID && (!version || snap.version === version),\n );\n } catch (error) {\n console.error('Failed to obtain installed snap', error);\n return undefined;\n }\n};\n\nexport const isConnected = async (\n provider: MetaMaskInpageProvider,\n): Promise<boolean> => {\n const snap = await getMassaSnapInfo(provider);\n return !!snap;\n};\n\nexport const connectSnap = async (\n provider: MetaMaskInpageProvider,\n params: Record<'version' | string, unknown> = {},\n) => {\n return provider.request({\n method: 'wallet_requestSnaps',\n params: {\n [MASSA_SNAP_ID]: params,\n },\n });\n};\n\nexport const showPrivateKey = async (provider: MetaMaskInpageProvider) => {\n return provider.request({\n method: 'wallet_invokeSnap',\n params: { snapId: MASSA_SNAP_ID, request: { method: 'showSecretKey' } },\n });\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './snap';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/metamaskSnap/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './snap';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/metamaskSnap/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC","sourcesContent":["export * from './snap';\n"]}
@@ -0,0 +1,14 @@
1
+ export type GetSnapsResponse = Record<string, Snap>;
2
+ export type Snap = {
3
+ permissionName: string;
4
+ id: string;
5
+ version: string;
6
+ initialPermissions: Record<string, unknown>;
7
+ };
8
+ export interface MetaMaskProvider {
9
+ isMetaMask: boolean;
10
+ request(options: {
11
+ method: string;
12
+ }): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=snap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap.d.ts","sourceRoot":"","sources":["../../../../src/metamaskSnap/types/snap.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEpD,MAAM,MAAM,IAAI,GAAG;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=snap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap.js","sourceRoot":"","sources":["../../../../src/metamaskSnap/types/snap.ts"],"names":[],"mappings":"","sourcesContent":["export type GetSnapsResponse = Record<string, Snap>;\n\nexport type Snap = {\n permissionName: string;\n id: string;\n version: string;\n initialPermissions: Record<string, unknown>;\n};\n\nexport interface MetaMaskProvider {\n isMetaMask: boolean;\n request(options: { method: string }): Promise<void>;\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  export declare enum operationType {
2
2
  CallSC = "callSC",
3
+ DeploySC = "deploySC",
3
4
  SendTransaction = "sendTransaction",
4
5
  SellRolls = "sellRolls",
5
6
  BuyRolls = "buyRolls",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd"}
@@ -1,6 +1,7 @@
1
1
  export var operationType;
2
2
  (function (operationType) {
3
3
  operationType["CallSC"] = "callSC";
4
+ operationType["DeploySC"] = "deploySC";
4
5
  operationType["SendTransaction"] = "sendTransaction";
5
6
  operationType["SellRolls"] = "sellRolls";
6
7
  operationType["BuyRolls"] = "buyRolls";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,oDAAmC,CAAA;IACnC,wCAAuB,CAAA;IACvB,sCAAqB,CAAA;IACrB,8BAAa,CAAA;AACf,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB","sourcesContent":["export enum operationType {\n CallSC = 'callSC',\n SendTransaction = 'sendTransaction',\n SellRolls = 'sellRolls',\n BuyRolls = 'buyRolls',\n Sign = 'sign',\n}\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;IACrB,oDAAmC,CAAA;IACnC,wCAAuB,CAAA;IACvB,sCAAqB,CAAA;IACrB,8BAAa,CAAA;AACf,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB","sourcesContent":["export enum operationType {\n CallSC = 'callSC',\n DeploySC = 'deploySC',\n SendTransaction = 'sendTransaction',\n SellRolls = 'sellRolls',\n BuyRolls = 'buyRolls',\n Sign = 'sign',\n}\n"]}
@@ -6,10 +6,11 @@ export interface Wallet {
6
6
  importAccount(publicKey: string, privateKey: string): Promise<void>;
7
7
  deleteAccount(address: string): Promise<void>;
8
8
  networkInfos(): Promise<Network>;
9
+ setRpcUrl(url: string): Promise<void>;
9
10
  generateNewAccount(name: string): Promise<Provider>;
10
11
  connect(): Promise<boolean>;
11
12
  disconnect(): Promise<boolean>;
12
- connected(): boolean;
13
+ connected(): Promise<boolean>;
13
14
  enabled(): boolean;
14
15
  listenAccountChanges(callback: (address: string) => void): ListenerCtrl | undefined;
15
16
  listenNetworkChanges(callback: (network: Network) => void): ListenerCtrl | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/wallet/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,MAAM;IACrB,IAAI,IAAI,UAAU,CAAC;IACnB,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,IAAI,OAAO,CAAC;IACnB,oBAAoB,CAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,YAAY,GAAG,SAAS,CAAC;IAC5B,oBAAoB,CAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,YAAY,GAAG,SAAS,CAAC;CAC7B"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/wallet/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,MAAM;IACrB,IAAI,IAAI,UAAU,CAAC;IACnB,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC;IACnB,oBAAoB,CAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,YAAY,GAAG,SAAS,CAAC;IAC5B,oBAAoB,CAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,YAAY,GAAG,SAAS,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/wallet/interface.ts"],"names":[],"mappings":"","sourcesContent":["import { Network, Provider } from '@massalabs/massa-web3';\nimport { ListenerCtrl, WalletName } from './types';\n\nexport interface Wallet {\n name(): WalletName;\n accounts(): Promise<Provider[]>;\n importAccount(publicKey: string, privateKey: string): Promise<void>;\n deleteAccount(address: string): Promise<void>;\n networkInfos(): Promise<Network>;\n generateNewAccount(name: string): Promise<Provider>;\n connect(): Promise<boolean>;\n disconnect(): Promise<boolean>;\n connected(): boolean;\n enabled(): boolean;\n listenAccountChanges(\n callback: (address: string) => void,\n ): ListenerCtrl | undefined;\n listenNetworkChanges(\n callback: (network: Network) => void,\n ): ListenerCtrl | undefined;\n}\n"]}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/wallet/interface.ts"],"names":[],"mappings":"","sourcesContent":["import { Network, Provider } from '@massalabs/massa-web3';\nimport { ListenerCtrl, WalletName } from './types';\n\nexport interface Wallet {\n name(): WalletName;\n accounts(): Promise<Provider[]>;\n importAccount(publicKey: string, privateKey: string): Promise<void>;\n deleteAccount(address: string): Promise<void>;\n networkInfos(): Promise<Network>;\n setRpcUrl(url: string): Promise<void>;\n generateNewAccount(name: string): Promise<Provider>;\n connect(): Promise<boolean>;\n disconnect(): Promise<boolean>;\n connected(): Promise<boolean>;\n enabled(): boolean;\n listenAccountChanges(\n callback: (address: string) => void,\n ): ListenerCtrl | undefined;\n listenNetworkChanges(\n callback: (network: Network) => void,\n ): ListenerCtrl | undefined;\n}\n"]}
@@ -3,6 +3,7 @@ export type ListenerCtrl = {
3
3
  };
4
4
  export declare enum WalletName {
5
5
  Bearby = "BEARBY",
6
- MassaStation = "MASSASTATION"
6
+ MassaStation = "MASSASTATION",
7
+ Metamask = "METAMASK"
7
8
  }
8
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallet/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,YAAY,iBAAiB;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallet/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;CACtB"}
@@ -2,5 +2,6 @@ export var WalletName;
2
2
  (function (WalletName) {
3
3
  WalletName["Bearby"] = "BEARBY";
4
4
  WalletName["MassaStation"] = "MASSASTATION";
5
+ WalletName["Metamask"] = "METAMASK";
5
6
  })(WalletName || (WalletName = {}));
6
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wallet/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,2CAA6B,CAAA;AAC/B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB","sourcesContent":["export type ListenerCtrl = {\n unsubscribe: () => void;\n};\n\nexport enum WalletName {\n Bearby = 'BEARBY',\n MassaStation = 'MASSASTATION',\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wallet/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,2CAA6B,CAAA;IAC7B,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB","sourcesContent":["export type ListenerCtrl = {\n unsubscribe: () => void;\n};\n\nexport enum WalletName {\n Bearby = 'BEARBY',\n MassaStation = 'MASSASTATION',\n Metamask = 'METAMASK',\n}\n"]}
@@ -1,4 +1,5 @@
1
+ import { MetamaskWallet } from '../metamaskSnap/MetamaskWallet';
1
2
  import { BearbyWallet } from '../bearbyWallet/BearbyWallet';
2
3
  import { MassaStationWallet } from '../massaStation/MassaStationWallet';
3
- export type WalletInterfaces = (typeof BearbyWallet | typeof MassaStationWallet)[];
4
+ export type WalletInterfaces = (typeof BearbyWallet | typeof MassaStationWallet | typeof MetamaskWallet)[];
4
5
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/walletsManager/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG,CAC3B,OAAO,YAAY,GACnB,OAAO,kBAAkB,CAC5B,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/walletsManager/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG,CAC3B,OAAO,YAAY,GACnB,OAAO,kBAAkB,GACzB,OAAO,cAAc,CACxB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/walletsManager/types.ts"],"names":[],"mappings":"","sourcesContent":["import { BearbyWallet } from '../bearbyWallet/BearbyWallet';\nimport { MassaStationWallet } from '../massaStation/MassaStationWallet';\n\nexport type WalletInterfaces = (\n | typeof BearbyWallet\n | typeof MassaStationWallet\n)[];\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/walletsManager/types.ts"],"names":[],"mappings":"","sourcesContent":["import { MetamaskWallet } from '../metamaskSnap/MetamaskWallet';\nimport { BearbyWallet } from '../bearbyWallet/BearbyWallet';\nimport { MassaStationWallet } from '../massaStation/MassaStationWallet';\n\nexport type WalletInterfaces = (\n | typeof BearbyWallet\n | typeof MassaStationWallet\n | typeof MetamaskWallet\n)[];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"walletList.d.ts","sourceRoot":"","sources":["../../../src/walletsManager/walletList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,eAAO,MAAM,gBAAgB,EAAE,gBAG9B,CAAC;AAEF,wBAAsB,UAAU,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgB/D;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B"}
1
+ {"version":3,"file":"walletList.d.ts","sourceRoot":"","sources":["../../../src/walletsManager/walletList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,eAAO,MAAM,gBAAgB,EAAE,gBAI9B,CAAC;AAEF,wBAAsB,UAAU,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAc/D;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B"}
@@ -1,17 +1,17 @@
1
1
  import { BearbyWallet } from '../bearbyWallet/BearbyWallet';
2
2
  import { wait } from '../utils/time';
3
3
  import { MassaStationWallet } from '../massaStation/MassaStationWallet';
4
+ import { MetamaskWallet } from '../metamaskSnap/MetamaskWallet';
4
5
  export const supportedWallets = [
5
6
  BearbyWallet,
6
7
  MassaStationWallet,
8
+ MetamaskWallet,
7
9
  ];
8
10
  export async function getWallets(delay = 200) {
9
11
  await wait(delay);
10
12
  const walletPromises = supportedWallets.map(async (WalletClass) => {
11
13
  try {
12
- if (await WalletClass.checkInstalled()) {
13
- return new WalletClass();
14
- }
14
+ return await WalletClass.createIfInstalled();
15
15
  }
16
16
  catch (error) {
17
17
  console.error(`Error initializing wallet ${WalletClass.name}:`, error);
@@ -1 +1 @@
1
- {"version":3,"file":"walletList.js","sourceRoot":"","sources":["../../../src/walletsManager/walletList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,YAAY;IACZ,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAK,GAAG,GAAG;IAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAElB,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAChE,IAAI;YACF,IAAI,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE;gBACtC,OAAO,IAAI,WAAW,EAAE,CAAC;aAC1B;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,WAAW,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;SACxE;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAgB,EAChB,KAAK,GAAG,GAAG;IAEX,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC","sourcesContent":["import { BearbyWallet } from '../bearbyWallet/BearbyWallet';\nimport { WalletInterfaces } from './types';\nimport { Wallet } from '../wallet/interface';\nimport { wait } from '../utils/time';\nimport { MassaStationWallet } from '../massaStation/MassaStationWallet';\nimport { WalletName } from '../wallet/types';\n\nexport const supportedWallets: WalletInterfaces = [\n BearbyWallet,\n MassaStationWallet,\n];\n\nexport async function getWallets(delay = 200): Promise<Wallet[]> {\n await wait(delay);\n\n const walletPromises = supportedWallets.map(async (WalletClass) => {\n try {\n if (await WalletClass.checkInstalled()) {\n return new WalletClass();\n }\n } catch (error) {\n console.error(`Error initializing wallet ${WalletClass.name}:`, error);\n }\n return null;\n });\n\n const resolvedWallets = await Promise.all(walletPromises);\n return resolvedWallets.filter((wallet) => !!wallet);\n}\n\nexport async function getWallet(\n name: WalletName,\n delay = 200,\n): Promise<Wallet | undefined> {\n const wallets = await getWallets(delay);\n return wallets.find((p) => p.name() === name);\n}\n"]}
1
+ {"version":3,"file":"walletList.js","sourceRoot":"","sources":["../../../src/walletsManager/walletList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,YAAY;IACZ,kBAAkB;IAClB,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAK,GAAG,GAAG;IAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAElB,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAChE,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,WAAW,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;SACxE;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAgB,EAChB,KAAK,GAAG,GAAG;IAEX,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC","sourcesContent":["import { BearbyWallet } from '../bearbyWallet/BearbyWallet';\nimport { WalletInterfaces } from './types';\nimport { Wallet } from '../wallet/interface';\nimport { wait } from '../utils/time';\nimport { MassaStationWallet } from '../massaStation/MassaStationWallet';\nimport { WalletName } from '../wallet/types';\nimport { MetamaskWallet } from '../metamaskSnap/MetamaskWallet';\n\nexport const supportedWallets: WalletInterfaces = [\n BearbyWallet,\n MassaStationWallet,\n MetamaskWallet,\n];\n\nexport async function getWallets(delay = 200): Promise<Wallet[]> {\n await wait(delay);\n\n const walletPromises = supportedWallets.map(async (WalletClass) => {\n try {\n return await WalletClass.createIfInstalled();\n } catch (error) {\n console.error(`Error initializing wallet ${WalletClass.name}:`, error);\n }\n return null;\n });\n\n const resolvedWallets = await Promise.all(walletPromises);\n return resolvedWallets.filter((wallet) => !!wallet);\n}\n\nexport async function getWallet(\n name: WalletName,\n delay = 200,\n): Promise<Wallet | undefined> {\n const wallets = await getWallets(delay);\n return wallets.find((p) => p.name() === name);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massalabs/wallet-provider",
3
- "version": "3.0.1-dev.20241212185156",
3
+ "version": "3.0.1-dev.20241220142101",
4
4
  "description": "massa's wallet provider",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -12,6 +12,7 @@
12
12
  "upgrade": "npm run up && npm run check && npm run build",
13
13
  "clean": "rimraf dist/*",
14
14
  "build": "npm-run-all clean build:esm",
15
+ "build:watch": "tsc --project tsconfig.esm.json --watch",
15
16
  "build:esm": "tsc --project tsconfig.esm.json",
16
17
  "test": "jest",
17
18
  "test:serve-dapp": "cd test-extension/dapp-vite && npm run preview",
@@ -54,6 +55,7 @@
54
55
  "dependencies": {
55
56
  "@hicaru/bearby.js": "^0.5.9",
56
57
  "@massalabs/massa-web3": "^5.0.1-dev",
58
+ "@metamask/providers": "^18.1.1",
57
59
  "axios": "^0.28.0",
58
60
  "bs58check": "^4.0.0",
59
61
  "buffer": "^6.0.3",
@@ -61,6 +63,7 @@
61
63
  "lodash.isequal": "^4.5.0"
62
64
  },
63
65
  "devDependencies": {
66
+ "@massalabs/metamask-snap": "^1.1.0",
64
67
  "@babel/preset-env": "^7.22.14",
65
68
  "@massalabs/eslint-config": "^0.0.9",
66
69
  "@playwright/test": "^1.36.2",