{"id":24510694,"url":"https://github.com/rhdeck/metamask-ts","last_synced_at":"2025-03-15T09:41:26.298Z","repository":{"id":44374948,"uuid":"512319461","full_name":"rhdeck/metamask-ts","owner":"rhdeck","description":"Easy Typescript implementation of metamask methods and event listeners","archived":false,"fork":false,"pushed_at":"2022-07-10T14:10:51.000Z","size":38,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T00:47:15.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhdeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-10T01:27:04.000Z","updated_at":"2023-05-30T05:49:38.000Z","dependencies_parsed_at":"2022-07-13T00:50:52.807Z","dependency_job_id":null,"html_url":"https://github.com/rhdeck/metamask-ts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"rhdeck/ts-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhdeck%2Fmetamask-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhdeck%2Fmetamask-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhdeck%2Fmetamask-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhdeck%2Fmetamask-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhdeck","download_url":"https://codeload.github.com/rhdeck/metamask-ts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713393,"owners_count":20335566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-22T00:30:24.590Z","updated_at":"2025-03-15T09:41:26.272Z","avatar_url":"https://github.com/rhdeck.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ca name=\"readmemd\"\u003e\u003c/a\u003e\n\n# metamask-ts\nLibrary to make it easy to work with metamask in typescript\n\n\u003ca name=\"_librarymd\"\u003e\u003c/a\u003e\n\n@raydeck/metamask-ts - v1.0.2\n\n# @raydeck/metamask-ts - v1.0.2\n\n## Table of contents\n\n### Interfaces\n\n- [AddEthereumChainParameter](#interfacesaddethereumchainparametermd)\n- [ConnectInfo](#interfacesconnectinfomd)\n- [ProviderMessage](#interfacesprovidermessagemd)\n- [ProviderRpcError](#interfacesproviderrpcerrormd)\n- [RequestedPermissions](#interfacesrequestedpermissionsmd)\n- [SwitchEthereumChainParameter](#interfacesswitchethereumchainparametermd)\n- [WatchAssetParams](#interfaceswatchassetparamsmd)\n- [Web3WalletPermission](#interfacesweb3walletpermissionmd)\n\n### Type aliases\n\n- [MetamaskEvents](#metamaskevents)\n\n### Variables\n\n- [isEthereum](#isethereum)\n\n### Functions\n\n- [eth_accounts](#eth_accounts)\n- [eth_chainId](#eth_chainid)\n- [eth_decrypt](#eth_decrypt)\n- [eth_getEncryptionPublicKey](#eth_getencryptionpublickey)\n- [eth_requestAccounts](#eth_requestaccounts)\n- [isConnected](#isconnected)\n- [listen](#listen)\n- [onAccountsChanged](#onaccountschanged)\n- [onChainChanged](#onchainchanged)\n- [onConnect](#onconnect)\n- [onDisconnect](#ondisconnect)\n- [onMessage](#onmessage)\n- [wallet_addEthereumChain](#wallet_addethereumchain)\n- [wallet_getPermissions](#wallet_getpermissions)\n- [wallet_registerOnboardingCompleted](#wallet_registeronboardingcompleted)\n- [wallet_requestPermissions](#wallet_requestpermissions)\n- [wallet_scanQRCode](#wallet_scanqrcode)\n- [wallet_switchEthereumChain](#wallet_switchethereumchain)\n- [wallet_watchAsset](#wallet_watchasset)\n\n## Type aliases\n\n### MetamaskEvents\n\nƬ **MetamaskEvents**: ``\"accountsChanged\"`` \\| ``\"chainChanged\"`` \\| ``\"connect\"`` \\| ``\"disconnect\"`` \\| ``\"message\"``\n\n#### Defined in\n\n[src/index.ts:117](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L117)\n\n## Variables\n\n### isEthereum\n\n• **isEthereum**: ``true``\n\n#### Defined in\n\n[src/index.ts:163](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L163)\n\n## Functions\n\n### eth\\_accounts\n\n▸ `Const` **eth_accounts**(): `Promise`\u003c`string`[]\\\u003e\n\n#### Returns\n\n`Promise`\u003c`string`[]\\\u003e\n\n#### Defined in\n\n[src/index.ts:168](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L168)\n\n___\n\n### eth\\_chainId\n\n▸ `Const` **eth_chainId**(): `Promise`\u003c`string`\\\u003e\n\n#### Returns\n\n`Promise`\u003c`string`\\\u003e\n\n#### Defined in\n\n[src/index.ts:93](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L93)\n\n___\n\n### eth\\_decrypt\n\n▸ `Const` **eth_decrypt**(`message`, `accountId?`): `Promise`\u003c`string`\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `message` | `string` |\n| `accountId?` | `string` |\n\n#### Returns\n\n`Promise`\u003c`string`\\\u003e\n\n#### Defined in\n\n[src/index.ts:28](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L28)\n\n___\n\n### eth\\_getEncryptionPublicKey\n\n▸ `Const` **eth_getEncryptionPublicKey**(`accountId`): `Promise`\u003c`string`\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `accountId` | `string` |\n\n#### Returns\n\n`Promise`\u003c`string`\\\u003e\n\n#### Defined in\n\n[src/index.ts:39](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L39)\n\n___\n\n### eth\\_requestAccounts\n\n▸ `Const` **eth_requestAccounts**(): `Promise`\u003c`string`[]\\\u003e\n\n#### Returns\n\n`Promise`\u003c`string`[]\\\u003e\n\n#### Defined in\n\n[src/index.ts:34](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L34)\n\n___\n\n### isConnected\n\n▸ `Const` **isConnected**(): `boolean`\n\n#### Returns\n\n`boolean`\n\n#### Defined in\n\n[src/index.ts:165](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L165)\n\n___\n\n### listen\n\n▸ `Const` **listen**\u003c`T`\\\u003e(`event`, `handler`): () =\u003e `void`\n\n#### Type parameters\n\n| Name |\n| :------ |\n| `T` |\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `event` | [`MetamaskEvents`](#metamaskevents) |\n| `handler` | (`args`: `T`) =\u003e `void` |\n\n#### Returns\n\n`fn`\n\n▸ (): `void`\n\n##### Returns\n\n`void`\n\n#### Defined in\n\n[src/index.ts:123](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L123)\n\n___\n\n### onAccountsChanged\n\n▸ `Const` **onAccountsChanged**(`handler`): () =\u003e `void`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `handler` | (`accounts`: `string`[]) =\u003e `void` |\n\n#### Returns\n\n`fn`\n\n▸ (): `void`\n\n##### Returns\n\n`void`\n\n#### Defined in\n\n[src/index.ts:135](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L135)\n\n___\n\n### onChainChanged\n\n▸ `Const` **onChainChanged**(`handler`): () =\u003e `void`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `handler` | (`chain`: `string`) =\u003e `void` |\n\n#### Returns\n\n`fn`\n\n▸ (): `void`\n\n##### Returns\n\n`void`\n\n#### Defined in\n\n[src/index.ts:138](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L138)\n\n___\n\n### onConnect\n\n▸ `Const` **onConnect**(`handler`): () =\u003e `void`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `handler` | (`connectInfo`: [`ConnectInfo`](#interfacesconnectinfomd)) =\u003e `void` |\n\n#### Returns\n\n`fn`\n\n▸ (): `void`\n\n##### Returns\n\n`void`\n\n#### Defined in\n\n[src/index.ts:144](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L144)\n\n___\n\n### onDisconnect\n\n▸ `Const` **onDisconnect**(`handler`): () =\u003e `void`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `handler` | (`error`: [`ProviderRpcError`](#interfacesproviderrpcerrormd)) =\u003e `void` |\n\n#### Returns\n\n`fn`\n\n▸ (): `void`\n\n##### Returns\n\n`void`\n\n#### Defined in\n\n[src/index.ts:147](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L147)\n\n___\n\n### onMessage\n\n▸ `Const` **onMessage**(`handler`): () =\u003e `void`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `handler` | (`message`: [`ProviderMessage`](#interfacesprovidermessagemd)) =\u003e `void` |\n\n#### Returns\n\n`fn`\n\n▸ (): `void`\n\n##### Returns\n\n`void`\n\n#### Defined in\n\n[src/index.ts:154](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L154)\n\n___\n\n### wallet\\_addEthereumChain\n\n▸ `Const` **wallet_addEthereumChain**(`chainParameter`): `Promise`\u003c``null``\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `chainParameter` | [`AddEthereumChainParameter`](#interfacesaddethereumchainparametermd) |\n\n#### Returns\n\n`Promise`\u003c``null``\\\u003e\n\n#### Defined in\n\n[src/index.ts:70](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L70)\n\n___\n\n### wallet\\_getPermissions\n\n▸ `Const` **wallet_getPermissions**(): `Promise`\u003c[`Web3WalletPermission`](#interfacesweb3walletpermissionmd)[]\\\u003e\n\n#### Returns\n\n`Promise`\u003c[`Web3WalletPermission`](#interfacesweb3walletpermissionmd)[]\\\u003e\n\n#### Defined in\n\n[src/index.ts:45](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L45)\n\n___\n\n### wallet\\_registerOnboardingCompleted\n\n▸ `Const` **wallet_registerOnboardingCompleted**(): `Promise`\u003c`boolean`\\\u003e\n\n#### Returns\n\n`Promise`\u003c`boolean`\\\u003e\n\n#### Defined in\n\n[src/index.ts:87](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L87)\n\n___\n\n### wallet\\_requestPermissions\n\n▸ `Const` **wallet_requestPermissions**(`permissions`): `Promise`\u003c[`Web3WalletPermission`](#interfacesweb3walletpermissionmd)[]\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `permissions` | [`RequestedPermissions`](#interfacesrequestedpermissionsmd) |\n\n#### Returns\n\n`Promise`\u003c[`Web3WalletPermission`](#interfacesweb3walletpermissionmd)[]\\\u003e\n\n#### Defined in\n\n[src/index.ts:50](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L50)\n\n___\n\n### wallet\\_scanQRCode\n\n▸ `Const` **wallet_scanQRCode**(`regex?`): `Promise`\u003c`string`\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `regex?` | `string` |\n\n#### Returns\n\n`Promise`\u003c`string`\\\u003e\n\n#### Defined in\n\n[src/index.ts:111](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L111)\n\n___\n\n### wallet\\_switchEthereumChain\n\n▸ `Const` **wallet_switchEthereumChain**(`chainId`): `Promise`\u003c``null``\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `chainId` | `string` |\n\n#### Returns\n\n`Promise`\u003c``null``\\\u003e\n\n#### Defined in\n\n[src/index.ts:81](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L81)\n\n___\n\n### wallet\\_watchAsset\n\n▸ `Const` **wallet_watchAsset**(`params`): `Promise`\u003c`boolean`\\\u003e\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `params` | [`WatchAssetParams`](#interfaceswatchassetparamsmd) |\n\n#### Returns\n\n`Promise`\u003c`boolean`\\\u003e\n\n#### Defined in\n\n[src/index.ts:105](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L105)\n\n\n\u003ca name=\"interfacesaddethereumchainparametermd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / AddEthereumChainParameter\n\n# Interface: AddEthereumChainParameter\n\n## Table of contents\n\n### Properties\n\n- [blockExplorerUrls](#blockexplorerurls)\n- [chainId](#chainid)\n- [chainName](#chainname)\n- [iconUrls](#iconurls)\n- [nativeCurrency](#nativecurrency)\n- [rpcUrls](#rpcurls)\n\n## Properties\n\n### blockExplorerUrls\n\n• `Optional` **blockExplorerUrls**: `string`[]\n\n#### Defined in\n\n[src/index.ts:67](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L67)\n\n___\n\n### chainId\n\n• **chainId**: `string`\n\n#### Defined in\n\n[src/index.ts:59](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L59)\n\n___\n\n### chainName\n\n• **chainName**: `string`\n\n#### Defined in\n\n[src/index.ts:60](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L60)\n\n___\n\n### iconUrls\n\n• `Optional` **iconUrls**: `string`[]\n\n#### Defined in\n\n[src/index.ts:68](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L68)\n\n___\n\n### nativeCurrency\n\n• **nativeCurrency**: `Object`\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `decimals` | ``18`` |\n| `name` | `string` |\n| `symbol` | `string` |\n\n#### Defined in\n\n[src/index.ts:61](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L61)\n\n___\n\n### rpcUrls\n\n• **rpcUrls**: `string`[]\n\n#### Defined in\n\n[src/index.ts:66](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L66)\n\n\n\u003ca name=\"interfacesconnectinfomd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / ConnectInfo\n\n# Interface: ConnectInfo\n\n## Table of contents\n\n### Properties\n\n- [chainId](#chainid)\n\n## Properties\n\n### chainId\n\n• **chainId**: `string`\n\n#### Defined in\n\n[src/index.ts:142](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L142)\n\n\n\u003ca name=\"interfacesprovidermessagemd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / ProviderMessage\n\n# Interface: ProviderMessage\n\n## Table of contents\n\n### Properties\n\n- [data](#data)\n- [type](#type)\n\n## Properties\n\n### data\n\n• **data**: `unknown`\n\n#### Defined in\n\n[src/index.ts:152](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L152)\n\n___\n\n### type\n\n• **type**: `string`\n\n#### Defined in\n\n[src/index.ts:151](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L151)\n\n\n\u003ca name=\"interfacesproviderrpcerrormd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / ProviderRpcError\n\n# Interface: ProviderRpcError\n\n## Hierarchy\n\n- `Error`\n\n  ↳ **`ProviderRpcError`**\n\n## Table of contents\n\n### Properties\n\n- [code](#code)\n- [data](#data)\n- [message](#message)\n- [name](#name)\n- [stack](#stack)\n\n## Properties\n\n### code\n\n• **code**: `number`\n\n#### Defined in\n\n[src/index.ts:159](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L159)\n\n___\n\n### data\n\n• `Optional` **data**: `unknown`\n\n#### Defined in\n\n[src/index.ts:160](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L160)\n\n___\n\n### message\n\n• **message**: `string`\n\n#### Overrides\n\nError.message\n\n#### Defined in\n\n[src/index.ts:158](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L158)\n\n___\n\n### name\n\n• **name**: `string`\n\n#### Inherited from\n\nError.name\n\n#### Defined in\n\nnode_modules/typescript/lib/lib.es5.d.ts:973\n\n___\n\n### stack\n\n• `Optional` **stack**: `string`\n\n#### Inherited from\n\nError.stack\n\n#### Defined in\n\nnode_modules/typescript/lib/lib.es5.d.ts:975\n\n\n\u003ca name=\"interfacesrequestedpermissionsmd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / RequestedPermissions\n\n# Interface: RequestedPermissions\n\n## Indexable\n\n▪ [methodName: `string`]: {}\n\n\n\u003ca name=\"interfacesswitchethereumchainparametermd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / SwitchEthereumChainParameter\n\n# Interface: SwitchEthereumChainParameter\n\n## Table of contents\n\n### Properties\n\n- [chainId](#chainid)\n\n## Properties\n\n### chainId\n\n• **chainId**: `string`\n\n#### Defined in\n\n[src/index.ts:79](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L79)\n\n\n\u003ca name=\"interfaceswatchassetparamsmd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / WatchAssetParams\n\n# Interface: WatchAssetParams\n\n## Table of contents\n\n### Properties\n\n- [options](#options)\n- [type](#type)\n\n## Properties\n\n### options\n\n• **options**: `Object`\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `address` | `string` |\n| `decimals` | `number` |\n| `image` | `string` |\n| `symbol` | `string` |\n\n#### Defined in\n\n[src/index.ts:98](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L98)\n\n___\n\n### type\n\n• **type**: ``\"ERC20\"``\n\n#### Defined in\n\n[src/index.ts:97](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L97)\n\n\n\u003ca name=\"interfacesweb3walletpermissionmd\"\u003e\u003c/a\u003e\n\n[@raydeck/metamask-ts - v1.0.2](#readmemd) / Web3WalletPermission\n\n# Interface: Web3WalletPermission\n\n## Table of contents\n\n### Properties\n\n- [date](#date)\n- [parentCapability](#parentcapability)\n\n## Properties\n\n### date\n\n• `Optional` **date**: `number`\n\n#### Defined in\n\n[src/index.ts:21](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L21)\n\n___\n\n### parentCapability\n\n• **parentCapability**: `string`\n\n#### Defined in\n\n[src/index.ts:18](https://github.com/rhdeck/metamask-ts/blob/71eaf97/src/index.ts#L18)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhdeck%2Fmetamask-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhdeck%2Fmetamask-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhdeck%2Fmetamask-ts/lists"}