@massalabs/wallet-provider 3.0.1-dev.20241212144921 → 3.0.1-dev.20241219125941

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 +20 -0
  78. package/dist/esm/metamaskSnap/snap.d.ts.map +1 -0
  79. package/dist/esm/metamaskSnap/snap.js +45 -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,20 @@
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
+ /**
6
+ * Connect a snap to MetaMask.
7
+ *
8
+ * @param provider - The MetaMask inpage provider.
9
+ * @param snapId - The ID of the snap.
10
+ */
11
+ export declare const isConnected: (provider: MetaMaskInpageProvider) => Promise<boolean>;
12
+ /**
13
+ * Connect a snap to MetaMask.
14
+ *
15
+ * @param provider - The MetaMask inpage provider.
16
+ * @param params - The params to pass with the snap to connect.
17
+ */
18
+ export declare const connectSnap: (provider: MetaMaskInpageProvider, params?: Record<'version' | string, unknown>) => Promise<void>;
19
+ export declare const showPrivateKey: (provider: MetaMaskInpageProvider) => Promise<Partial<unknown>>;
20
+ //# 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;;;;;GAKG;AACH,eAAO,MAAM,WAAW,aACZ,sBAAsB,KAC/B,QAAQ,OAAO,CAGjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,aACZ,sBAAsB,WACxB,OAAO,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC,kBAQ5C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAoB,sBAAsB,8BAKpE,CAAC"}
@@ -0,0 +1,45 @@
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
+ /**
16
+ * Connect a snap to MetaMask.
17
+ *
18
+ * @param provider - The MetaMask inpage provider.
19
+ * @param snapId - The ID of the snap.
20
+ */
21
+ export const isConnected = async (provider) => {
22
+ const snap = await getMassaSnapInfo(provider);
23
+ return !!snap;
24
+ };
25
+ /**
26
+ * Connect a snap to MetaMask.
27
+ *
28
+ * @param provider - The MetaMask inpage provider.
29
+ * @param params - The params to pass with the snap to connect.
30
+ */
31
+ export const connectSnap = async (provider, params = {}) => {
32
+ provider.request({
33
+ method: 'wallet_requestSnaps',
34
+ params: {
35
+ [MASSA_SNAP_ID]: params,
36
+ },
37
+ });
38
+ };
39
+ export const showPrivateKey = async (provider) => {
40
+ return provider.request({
41
+ method: 'wallet_invokeSnap',
42
+ params: { snapId: MASSA_SNAP_ID, request: { method: 'showSecretKey' } },
43
+ });
44
+ };
45
+ //# 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;;;;;GAKG;AACH,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;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,QAAgC,EAChC,SAA8C,EAAE,EAChD,EAAE;IACF,QAAQ,CAAC,OAAO,CAAC;QACf,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\n/**\n * Connect a snap to MetaMask.\n *\n * @param provider - The MetaMask inpage provider.\n * @param snapId - The ID of the snap.\n */\nexport const isConnected = async (\n provider: MetaMaskInpageProvider,\n): Promise<boolean> => {\n const snap = await getMassaSnapInfo(provider);\n return !!snap;\n};\n\n/**\n * Connect a snap to MetaMask.\n *\n * @param provider - The MetaMask inpage provider.\n * @param params - The params to pass with the snap to connect.\n */\nexport const connectSnap = async (\n provider: MetaMaskInpageProvider,\n params: Record<'version' | string, unknown> = {},\n) => {\n 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.20241212144921",
3
+ "version": "3.0.1-dev.20241219125941",
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",