@tari-project/metamask-signer 0.12.1 → 0.13.0

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/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { TariSigner } from "@tari-project/tari-signer";
2
2
  import { SubmitTransactionRequest, SubmitTransactionResponse, VaultBalances, TemplateDefinition, Substate, ListSubstatesResponse, AccountData, ListSubstatesRequest, GetTransactionResultResponse } from "@tari-project/tarijs-types";
3
3
  import { MetaMaskInpageProvider } from "@metamask/providers";
4
4
  import { Snap } from "./utils";
5
- import { ConfidentialViewVaultBalanceRequest, ListAccountNftRequest, ListAccountNftResponse } from "@tari-project/typescript-bindings";
5
+ import { AccountGetResponse, AccountsListRequest, AccountsListResponse, ConfidentialViewVaultBalanceRequest, ListAccountNftRequest, ListAccountNftResponse, WalletGetInfoResponse } from "@tari-project/typescript-bindings";
6
6
  export declare const MetamaskNotInstalled = "METAMASK_NOT_INSTALLED";
7
7
  export declare const MetamaskIsNotFlask = "METAMASK_IS_NOT_FLASK";
8
8
  export declare const TariSnapNotInstalled = "TARI_SNAP_NOT_INSTALLED";
@@ -17,7 +17,9 @@ export declare class MetamaskTariSigner implements TariSigner {
17
17
  connect(): Promise<void>;
18
18
  isConnected(): boolean;
19
19
  createFreeTestCoins(account_id: number): Promise<AccountData>;
20
+ accountsList(req: AccountsListRequest): Promise<AccountsListResponse>;
20
21
  getAccount(): Promise<AccountData>;
22
+ getAccountByAddress(address: string): Promise<AccountGetResponse>;
21
23
  getSubstate(substate_address: string): Promise<Substate>;
22
24
  listSubstates(req: ListSubstatesRequest): Promise<ListSubstatesResponse>;
23
25
  submitTransaction(req: SubmitTransactionRequest): Promise<SubmitTransactionResponse>;
@@ -27,4 +29,5 @@ export declare class MetamaskTariSigner implements TariSigner {
27
29
  getTemplateDefinition(template_address: string): Promise<TemplateDefinition>;
28
30
  private metamaskRequest;
29
31
  getNftsList(req: ListAccountNftRequest): Promise<ListAccountNftResponse>;
32
+ getWalletInfo(): Promise<WalletGetInfoResponse>;
30
33
  }
package/dist/index.js CHANGED
@@ -53,9 +53,15 @@ export class MetamaskTariSigner {
53
53
  vaults: [],
54
54
  };
55
55
  }
56
+ async accountsList(req) {
57
+ return await this.metamaskRequest("accountsList", req);
58
+ }
56
59
  async getAccount() {
57
60
  return (await this.metamaskRequest("getAccountData", { account_id: 0 }));
58
61
  }
62
+ async getAccountByAddress(address) {
63
+ return await this.metamaskRequest("accountsGet", { address });
64
+ }
59
65
  async getSubstate(substate_address) {
60
66
  const { substate, address: substate_id, version, } = await this.metamaskRequest("getSubstate", { substate_address });
61
67
  return { value: substate, address: { substate_id, version } };
@@ -143,6 +149,10 @@ export class MetamaskTariSigner {
143
149
  const resp = (await this.metamaskRequest("getNftsList", req));
144
150
  return resp;
145
151
  }
152
+ async getWalletInfo() {
153
+ const resp = (await this.metamaskRequest("getWalletInfo", {}));
154
+ return resp;
155
+ }
146
156
  }
147
157
  function convertToStatus(result) {
148
158
  // Ref: https://github.com/tari-project/tari-ootle/blob/bb0b31139b770aacd7bb49af865543aa4a9e2de4/dan_layer/wallet/sdk/src/apis/transaction.rs
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { MetaMaskInpageProvider } from '@metamask/providers';
1
+ import { MetaMaskInpageProvider } from "@metamask/providers";
2
2
  export type GetSnapsResponse = Record<string, Snap>;
3
3
  export type Snap = {
4
4
  permissionName: string;
@@ -29,6 +29,7 @@ export declare const connectSnap: (provider: MetaMaskInpageProvider, snaps: Reco
29
29
  * @returns The snap object returned by the extension.
30
30
  */
31
31
  export declare const getSnap: (provider: MetaMaskInpageProvider, snapId: string, version?: string) => Promise<Snap | undefined>;
32
+ /** @public */
32
33
  export declare const isLocalSnap: (snapId: string) => boolean;
33
34
  /**
34
35
  * Detect if the wallet injecting the ethereum object is MetaMask Flask.
package/dist/utils.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * @returns The snaps installed in MetaMask.
6
6
  */
7
7
  export const getSnaps = async (provider) => (await provider.request({
8
- method: 'wallet_getSnaps',
8
+ method: "wallet_getSnaps",
9
9
  }));
10
10
  /**
11
11
  * Connect a snap to MetaMask.
@@ -15,7 +15,7 @@ export const getSnaps = async (provider) => (await provider.request({
15
15
  */
16
16
  export const connectSnap = async (provider, snaps) => {
17
17
  await provider.request({
18
- method: 'wallet_requestSnaps',
18
+ method: "wallet_requestSnaps",
19
19
  params: snaps,
20
20
  });
21
21
  };
@@ -31,11 +31,12 @@ export const getSnap = async (provider, snapId, version) => {
31
31
  return Object.values(snaps).find((snap) => snap.id === snapId && (!version || snap.version === version));
32
32
  }
33
33
  catch (e) {
34
- console.log('Failed to obtain installed snap', e);
34
+ console.log("Failed to obtain installed snap", e);
35
35
  return undefined;
36
36
  }
37
37
  };
38
- export const isLocalSnap = (snapId) => snapId.startsWith('local:');
38
+ /** @public */
39
+ export const isLocalSnap = (snapId) => snapId.startsWith("local:");
39
40
  /**
40
41
  * Detect if the wallet injecting the ethereum object is MetaMask Flask.
41
42
  *
@@ -44,9 +45,9 @@ export const isLocalSnap = (snapId) => snapId.startsWith('local:');
44
45
  export const isFlask = async (provider) => {
45
46
  try {
46
47
  const clientVersion = await provider.request({
47
- method: 'web3_clientVersion',
48
+ method: "web3_clientVersion",
48
49
  });
49
- const isFlaskDetected = clientVersion?.includes('flask');
50
+ const isFlaskDetected = clientVersion?.includes("flask");
50
51
  return Boolean(provider && isFlaskDetected);
51
52
  }
52
53
  catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tari-project/metamask-signer",
3
- "version": "0.12.1",
3
+ "version": "0.13.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -11,9 +11,9 @@
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
13
  "@metamask/providers": "^18.2.0",
14
- "@tari-project/typescript-bindings": ">=1.14.0",
15
- "@tari-project/tarijs-types": "^0.12.1",
16
- "@tari-project/tari-signer": "^0.12.1"
14
+ "@tari-project/typescript-bindings": ">=1.15.0",
15
+ "@tari-project/tari-signer": "^0.13.0",
16
+ "@tari-project/tarijs-types": "^0.13.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/node": "^22.13.1",
@@ -25,6 +25,7 @@
25
25
  "main": "dist/index.js",
26
26
  "types": "dist/index.d.ts",
27
27
  "scripts": {
28
- "build": "tsc -b"
28
+ "build": "tsc -b",
29
+ "lint": "eslint src/"
29
30
  }
30
31
  }