@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.
- package/dist/esm/bearbyWallet/BearbyWallet.d.ts +5 -4
- package/dist/esm/bearbyWallet/BearbyWallet.d.ts.map +1 -1
- package/dist/esm/bearbyWallet/BearbyWallet.js +11 -10
- package/dist/esm/bearbyWallet/BearbyWallet.js.map +1 -1
- package/dist/esm/massaStation/MassaStationWallet.d.ts +3 -2
- package/dist/esm/massaStation/MassaStationWallet.d.ts.map +1 -1
- package/dist/esm/massaStation/MassaStationWallet.js +10 -3
- package/dist/esm/massaStation/MassaStationWallet.js.map +1 -1
- package/dist/esm/metamaskSnap/MetamaskAccount.d.ts +26 -0
- package/dist/esm/metamaskSnap/MetamaskAccount.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/MetamaskAccount.js +192 -0
- package/dist/esm/metamaskSnap/MetamaskAccount.js.map +1 -0
- package/dist/esm/metamaskSnap/MetamaskWallet.d.ts +57 -0
- package/dist/esm/metamaskSnap/MetamaskWallet.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/MetamaskWallet.js +129 -0
- package/dist/esm/metamaskSnap/MetamaskWallet.js.map +1 -0
- package/dist/esm/metamaskSnap/config/index.d.ts +2 -0
- package/dist/esm/metamaskSnap/config/index.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/config/index.js +2 -0
- package/dist/esm/metamaskSnap/config/index.js.map +1 -0
- package/dist/esm/metamaskSnap/config/snap.d.ts +2 -0
- package/dist/esm/metamaskSnap/config/snap.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/config/snap.js +3 -0
- package/dist/esm/metamaskSnap/config/snap.js.map +1 -0
- package/dist/esm/metamaskSnap/metamask.d.ts +21 -0
- package/dist/esm/metamaskSnap/metamask.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/metamask.js +70 -0
- package/dist/esm/metamaskSnap/metamask.js.map +1 -0
- package/dist/esm/metamaskSnap/services/buyRolls.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/buyRolls.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/buyRolls.js +14 -0
- package/dist/esm/metamaskSnap/services/buyRolls.js.map +1 -0
- package/dist/esm/metamaskSnap/services/callSC.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/callSC.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/callSC.js +14 -0
- package/dist/esm/metamaskSnap/services/callSC.js.map +1 -0
- package/dist/esm/metamaskSnap/services/deploySC.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/deploySC.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/deploySC.js +14 -0
- package/dist/esm/metamaskSnap/services/deploySC.js.map +1 -0
- package/dist/esm/metamaskSnap/services/getActiveAccount.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/getActiveAccount.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/getActiveAccount.js +13 -0
- package/dist/esm/metamaskSnap/services/getActiveAccount.js.map +1 -0
- package/dist/esm/metamaskSnap/services/getBalance.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/getBalance.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/getBalance.js +14 -0
- package/dist/esm/metamaskSnap/services/getBalance.js.map +1 -0
- package/dist/esm/metamaskSnap/services/getMinimalFees.d.ts +3 -0
- package/dist/esm/metamaskSnap/services/getMinimalFees.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/getMinimalFees.js +6 -0
- package/dist/esm/metamaskSnap/services/getMinimalFees.js.map +1 -0
- package/dist/esm/metamaskSnap/services/getNetwork.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/getNetwork.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/getNetwork.js +13 -0
- package/dist/esm/metamaskSnap/services/getNetwork.js.map +1 -0
- package/dist/esm/metamaskSnap/services/index.d.ts +11 -0
- package/dist/esm/metamaskSnap/services/index.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/index.js +12 -0
- package/dist/esm/metamaskSnap/services/index.js.map +1 -0
- package/dist/esm/metamaskSnap/services/sellRolls.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/sellRolls.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/sellRolls.js +14 -0
- package/dist/esm/metamaskSnap/services/sellRolls.js.map +1 -0
- package/dist/esm/metamaskSnap/services/setRpcUrl.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/setRpcUrl.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/setRpcUrl.js +14 -0
- package/dist/esm/metamaskSnap/services/setRpcUrl.js.map +1 -0
- package/dist/esm/metamaskSnap/services/signMessage.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/signMessage.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/signMessage.js +14 -0
- package/dist/esm/metamaskSnap/services/signMessage.js.map +1 -0
- package/dist/esm/metamaskSnap/services/transfer.d.ts +4 -0
- package/dist/esm/metamaskSnap/services/transfer.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/services/transfer.js +14 -0
- package/dist/esm/metamaskSnap/services/transfer.js.map +1 -0
- package/dist/esm/metamaskSnap/snap.d.ts +8 -0
- package/dist/esm/metamaskSnap/snap.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/snap.js +33 -0
- package/dist/esm/metamaskSnap/snap.js.map +1 -0
- package/dist/esm/metamaskSnap/types/index.d.ts +2 -0
- package/dist/esm/metamaskSnap/types/index.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/types/index.js +2 -0
- package/dist/esm/metamaskSnap/types/index.js.map +1 -0
- package/dist/esm/metamaskSnap/types/snap.d.ts +14 -0
- package/dist/esm/metamaskSnap/types/snap.d.ts.map +1 -0
- package/dist/esm/metamaskSnap/types/snap.js +2 -0
- package/dist/esm/metamaskSnap/types/snap.js.map +1 -0
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/wallet/interface.d.ts +2 -1
- package/dist/esm/wallet/interface.d.ts.map +1 -1
- package/dist/esm/wallet/interface.js.map +1 -1
- package/dist/esm/wallet/types.d.ts +2 -1
- package/dist/esm/wallet/types.d.ts.map +1 -1
- package/dist/esm/wallet/types.js +1 -0
- package/dist/esm/wallet/types.js.map +1 -1
- package/dist/esm/walletsManager/types.d.ts +2 -1
- package/dist/esm/walletsManager/types.d.ts.map +1 -1
- package/dist/esm/walletsManager/types.js.map +1 -1
- package/dist/esm/walletsManager/walletList.d.ts.map +1 -1
- package/dist/esm/walletsManager/walletList.js +3 -3
- package/dist/esm/walletsManager/walletList.js.map +1 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/metamaskSnap/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -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 @@
|
|
|
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 +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,
|
|
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;
|
|
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
|
|
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"]}
|
|
@@ -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;
|
|
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"}
|
package/dist/esm/wallet/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wallet/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,
|
|
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,
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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.
|
|
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",
|