Skip to content

Commit 9d47e00

Browse files
authoredFeb 6, 2025··
Merge pull request #1286 from AZbang/hot-wallet
feat: hot-wallet
2 parents cc4d5dd + b921688 commit 9d47e00

22 files changed

+680
-41
lines changed
 

‎README.md

+4
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ yarn add \
6161
@near-wallet-selector/my-near-wallet \
6262
@near-wallet-selector/sender \
6363
@near-wallet-selector/nearfi \
64+
@near-wallet-selector/hot-wallet \
6465
@near-wallet-selector/here-wallet \
6566
@near-wallet-selector/math-wallet \
6667
@near-wallet-selector/nightly \
@@ -89,6 +90,7 @@ npm install \
8990
@near-wallet-selector/my-near-wallet \
9091
@near-wallet-selector/sender \
9192
@near-wallet-selector/nearfi \
93+
@near-wallet-selector/hot-wallet \
9294
@near-wallet-selector/here-wallet \
9395
@near-wallet-selector/math-wallet \
9496
@near-wallet-selector/nightly \
@@ -129,6 +131,7 @@ import { setupModal } from "@near-wallet-selector/modal-ui";
129131
import { setupBitgetWallet } from "@near-wallet-selector/bitget-wallet";
130132
import { setupMyNearWallet } from "@near-wallet-selector/my-near-wallet";
131133
import { setupSender } from "@near-wallet-selector/sender";
134+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
132135
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
133136
import { setupNearSnap } from "@near-wallet-selector/near-snap";
134137
import { setupMathWallet } from "@near-wallet-selector/math-wallet";
@@ -156,6 +159,7 @@ const selector = await setupWalletSelector({
156159
setupBitgetWallet(),
157160
setupMyNearWallet(),
158161
setupSender(),
162+
setupHotWallet(),
159163
setupHereWallet(),
160164
setupMathWallet(),
161165
setupNightly(),

‎examples/angular/project.json

+5
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@
7979
"input": "packages/here-wallet/assets/",
8080
"output": "assets/"
8181
},
82+
{
83+
"glob": "**/*",
84+
"input": "packages/hot-wallet/assets/",
85+
"output": "assets/"
86+
},
8287
{
8388
"glob": "**/*",
8489
"input": "packages/narwallets/assets/",

‎examples/angular/src/app/pages/wallet-selector/wallet-selector.component.ts

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { setupMeteorWalletApp } from "@near-wallet-selector/meteor-wallet-app";
1313
import { setupNarwallets } from "@near-wallet-selector/narwallets";
1414
import { setupWelldoneWallet } from "@near-wallet-selector/welldone-wallet";
1515
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
16+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
1617
import { setupCoin98Wallet } from "@near-wallet-selector/coin98-wallet";
1718
import { setupNearFi } from "@near-wallet-selector/nearfi";
1819
import { setupNearSnap } from "@near-wallet-selector/near-snap";
@@ -128,6 +129,7 @@ export class WalletSelectorComponent implements OnInit {
128129
setupNarwallets(),
129130
setupWelldoneWallet(),
130131
setupHereWallet(),
132+
setupHotWallet(),
131133
setupCoin98Wallet(),
132134
setupNearFi(),
133135
setupNearSnap(),

‎examples/react/contexts/WalletSelectorContext.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type {
55
WalletSelector,
66
} from "@near-wallet-selector/core";
77
import { setupWalletSelector } from "@near-wallet-selector/core";
8+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
89
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
910
import { setupMathWallet } from "@near-wallet-selector/math-wallet";
1011
import { setupMeteorWallet } from "@near-wallet-selector/meteor-wallet";
@@ -168,6 +169,7 @@ export const WalletSelectorContextProvider: React.FC<{
168169
setupOKXWallet(),
169170
setupNarwallets(),
170171
setupWelldoneWallet(),
172+
setupHotWallet(),
171173
setupHereWallet(),
172174
setupCoin98Wallet(),
173175
setupNearFi(),

‎examples/react/project.json

+5
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@
7272
"input": "packages/here-wallet/assets/",
7373
"output": "assets/"
7474
},
75+
{
76+
"glob": "**/*",
77+
"input": "packages/hot-wallet/assets/",
78+
"output": "assets/"
79+
},
7580
{
7681
"glob": "**/*",
7782
"input": "packages/narwallets/assets/",

‎examples/vanillajs/main.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ import { setupWalletSelector } from "@near-wallet-selector/core";
22
import { setupModal } from "@near-wallet-selector/modal-ui-js";
33
import { setupMyNearWallet } from "@near-wallet-selector/my-near-wallet";
44
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
5+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
56

67
const selector = await setupWalletSelector({
78
network: "testnet",
8-
modules: [setupMyNearWallet(), setupHereWallet()],
9+
modules: [setupMyNearWallet(), setupHotWallet(), setupHereWallet()],
910
});
1011

1112
const modal = setupModal(selector, {

‎package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@
9292
"@angular/platform-browser": "16.1.9",
9393
"@angular/platform-browser-dynamic": "16.1.9",
9494
"@angular/router": "16.1.9",
95-
"@here-wallet/core": "3.3.1",
95+
"@here-wallet/core": "3.4.0",
96+
"@hot-wallet/sdk": "1.0.7",
9697
"@jscutlery/semver": "5.3.1",
9798
"@ledgerhq/hw-transport": "6.30.3",
9899
"@ledgerhq/hw-transport-webhid": "6.29.4",

‎packages/hot-wallet/.babelrc

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"presets": [
3+
[
4+
"@nrwl/js/babel",
5+
{
6+
"useBuiltIns": "usage"
7+
}
8+
]
9+
]
10+
}

‎packages/hot-wallet/.eslintrc.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"extends": ["../../.eslintrc.json"],
3+
"ignorePatterns": ["!**/*"],
4+
"overrides": [
5+
{
6+
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
7+
"rules": {}
8+
},
9+
{
10+
"files": ["*.ts", "*.tsx"],
11+
"rules": {}
12+
},
13+
{
14+
"files": ["*.js", "*.jsx"],
15+
"rules": {}
16+
}
17+
]
18+
}

‎packages/hot-wallet/README.md

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# @near-wallet-selector/hot-wallet
2+
3+
This is the [HOT Wallet](https://hot-labs.org/wallet) package for NEAR Wallet Selector.
4+
5+
## Installation and Usage
6+
7+
The easiest way to use this package is to install it from the NPM registry, this package requires `near-api-js` v1.0.0 or above:
8+
9+
```bash
10+
# Using Yarn
11+
yarn add near-api-js
12+
13+
# Using NPM.
14+
npm install near-api-js
15+
```
16+
17+
```bash
18+
# Using Yarn
19+
yarn add @near-wallet-selector/hot-wallet
20+
21+
# Using NPM.
22+
npm install @near-wallet-selector/hot-wallet
23+
```
24+
25+
Then use it in your dApp:
26+
27+
```ts
28+
import { setupWalletSelector } from "@near-wallet-selector/core";
29+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
30+
31+
// HOT Wallet for Wallet Selector can be setup without any params or it can take few optional params, see options below.
32+
const hotWallet = setupHereWallet({
33+
iconUrl: "https://<Wallet Icon URL Here>" // optional
34+
});
35+
36+
const selector = await setupWalletSelector({
37+
network: "mainnet",
38+
modules: [hotWallet],
39+
});
40+
```
41+
42+
## Options
43+
44+
- `iconUrl`: (`string?`): Icon is optional. Default image point to Here Wallet Logo in base64 format.
45+
- `deprecated`: (`boolean?`): Deprecated is optional. Default is `false`.
46+
47+
## Assets
48+
49+
Assets such as icons can be found in the `/assets` directory of the package. Below is an example using Webpack:
50+
51+
```ts
52+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
53+
import HereWalletIconUrl from "@near-wallet-selector/hot-wallet/assets/hot-wallet-icon.png";
54+
55+
const hereWallet = setupHotWallet({
56+
iconUrl: HereWalletIconUrl
57+
});
58+
59+
```
60+
61+
## License
62+
63+
This repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
126 KB
Loading

‎packages/hot-wallet/jest.config.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module.exports = {
2+
displayName: "hot-wallet",
3+
preset: "../../jest.preset.js",
4+
globals: {
5+
"ts-jest": {
6+
tsconfig: "<rootDir>/tsconfig.spec.json",
7+
},
8+
},
9+
transform: {
10+
"^.+\\.[tj]sx?$": "ts-jest",
11+
},
12+
moduleFileExtensions: ["ts", "tsx", "js", "jsx"],
13+
coverageDirectory: "../../coverage/packages/hot-wallet",
14+
};

‎packages/hot-wallet/jest.config.ts

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/* eslint-disable */
2+
export default {
3+
displayName: "hot-wallet",
4+
preset: "../../jest.preset.js",
5+
globals: {},
6+
transform: {
7+
"^.+\\.[tj]s$": [
8+
"ts-jest",
9+
{
10+
tsconfig: "<rootDir>/tsconfig.spec.json",
11+
},
12+
],
13+
},
14+
moduleFileExtensions: ["ts", "tsx", "js", "jsx"],
15+
coverageDirectory: "../../coverage/packages/hot-wallet",
16+
};

‎packages/hot-wallet/package.json

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"name": "@near-wallet-selector/hot-wallet",
3+
"version": "8.9.16",
4+
"description": "HOT Wallet package for NEAR Wallet Selector.",
5+
"keywords": [
6+
"near",
7+
"blockchain",
8+
"wallets",
9+
"dapps",
10+
"near-protocol",
11+
"near-blockchain",
12+
"wallet selector",
13+
"injected wallet",
14+
"hot wallet"
15+
],
16+
"repository": {
17+
"type": "git",
18+
"url": "https://github.com/near/wallet-selector.git"
19+
},
20+
"bugs": {
21+
"url": "https://github.com/near/wallet-selector/issues"
22+
},
23+
"homepage": "https://github.com/near/wallet-selector/tree/main/packages/hot-wallet"
24+
}

‎packages/hot-wallet/project.json

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"name": "hot-wallet",
3+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
4+
"sourceRoot": "packages/hot-wallet/src",
5+
"projectType": "library",
6+
"targets": {
7+
"build": {
8+
"executor": "@nrwl/rollup:rollup",
9+
"outputs": ["{options.outputPath}"],
10+
"options": {
11+
"outputPath": "dist/packages/hot-wallet",
12+
"tsConfig": "packages/hot-wallet/tsconfig.lib.json",
13+
"project": "packages/hot-wallet/package.json",
14+
"entryFile": "packages/hot-wallet/src/index.ts",
15+
"buildableProjectDepsInPackageJsonType": "dependencies",
16+
"compiler": "babel",
17+
"format": ["esm", "cjs"],
18+
"assets": [
19+
{
20+
"glob": "packages/hot-wallet/README.md",
21+
"input": ".",
22+
"output": "."
23+
},
24+
{
25+
"glob": "packages/hot-wallet/assets/*",
26+
"input": ".",
27+
"output": "assets"
28+
}
29+
]
30+
}
31+
},
32+
"lint": {
33+
"executor": "@nx/linter:eslint",
34+
"outputs": ["{options.outputFile}"],
35+
"options": {
36+
"lintFilePatterns": ["packages/hot-wallet/**/*.ts"]
37+
}
38+
},
39+
"test": {
40+
"executor": "@nx/jest:jest",
41+
"outputs": ["{workspaceRoot}/coverage/packages/hot-wallet"],
42+
"options": {
43+
"jestConfig": "packages/hot-wallet/jest.config.ts",
44+
"passWithNoTests": true
45+
}
46+
},
47+
"deploy": {
48+
"executor": "ngx-deploy-npm:deploy",
49+
"options": {
50+
"access": "public"
51+
},
52+
"dependsOn": ["^deploy"]
53+
}
54+
},
55+
"tags": ["browser-wallet"]
56+
}

‎packages/hot-wallet/src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { setupHotWallet } from "./lib";

0 commit comments

Comments
 (0)
Please sign in to comment.