Skip to content

Commit 9c25c38

Browse files
authored
Merge pull request #1296 from near/dev
v8.10.0 Release (dev → main)
2 parents 9b8f6e0 + d7ef3e3 commit 9c25c38

File tree

84 files changed

+2254
-83
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+2254
-83
lines changed

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
@@ -10,6 +10,7 @@ import { setupMathWallet } from "@near-wallet-selector/math-wallet";
1010
import { setupNightly } from "@near-wallet-selector/nightly";
1111
import { setupMeteorWallet } from "@near-wallet-selector/meteor-wallet";
1212
import { setupMeteorWalletApp } from "@near-wallet-selector/meteor-wallet-app";
13+
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
1314
import { setupNarwallets } from "@near-wallet-selector/narwallets";
1415
import { setupWelldoneWallet } from "@near-wallet-selector/welldone-wallet";
1516
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
@@ -125,6 +126,7 @@ export class WalletSelectorComponent implements OnInit {
125126
setupMeteorWallet(),
126127
setupMeteorWalletApp({ contractId: CONTRACT_ID }),
127128
setupOKXWallet(),
129+
setupHotWallet(),
128130
setupNarwallets(),
129131
setupWelldoneWallet(),
130132
setupHereWallet(),

examples/react/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,16 @@
33
This React example shows how to integrate Near Wallet Selector into your React application for easy Near wallet integration.
44

55
# Usage
6+
Make sure your node version is 18
67

8+
Then perform the build:
9+
```bash
10+
yarn build:all
11+
```
12+
Need to add a separate dependency, otherwise a error `Module not found` will be reported.
13+
```bash
14+
yarn add @near-wallet-selector/modal-ui
15+
```
716
Start the development server:
817
```bash
918
yarn nx serve react

examples/react/project.json

+5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
"input": "packages/my-near-wallet/assets/",
1818
"output": "assets/"
1919
},
20+
{
21+
"glob": "**/*",
22+
"input": "packages/hot-wallet/assets/",
23+
"output": "assets/"
24+
},
2025
{
2126
"glob": "**/*",
2227
"input": "packages/sender/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(), setupHereWallet(), setupHotWallet()],
910
});
1011

1112
const modal = setupModal(selector, {

package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "near-wallet-selector",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "NEAR Wallet Selector makes it easy for users to interact with your dApp by providing an abstraction over various wallets within the NEAR ecosystem",
55
"keywords": [
66
"near",
@@ -66,6 +66,7 @@
6666
"build:okx-wallet": "nx run-many --target=build --projects=okx-wallet --configuration=production",
6767
"build:ethereum-wallets": "nx run-many --target=build --projects=ethereum-wallets --configuration=production",
6868
"build:ramper-wallet": "nx run-many --target=build --projects=ramper-wallet --configuration=production",
69+
"build:react-hook": "nx run-many --target=build --projects=react-hook --configuration=production",
6970
"build:sender": "nx run-many --target=build --projects=sender --configuration=production",
7071
"build:wallet-connect": "nx run-many --target=build --projects=wallet-connect --configuration=production",
7172
"build:wallet-utils": "nx run-many --target=build --projects=wallet-utils --configuration=production",
@@ -92,7 +93,8 @@
9293
"@angular/platform-browser": "16.1.9",
9394
"@angular/platform-browser-dynamic": "16.1.9",
9495
"@angular/router": "16.1.9",
95-
"@here-wallet/core": "3.3.1",
96+
"@here-wallet/core": "3.4.0",
97+
"@hot-wallet/sdk": "1.0.8",
9698
"@jscutlery/semver": "5.3.1",
9799
"@ledgerhq/hw-transport": "6.30.3",
98100
"@ledgerhq/hw-transport-webhid": "6.29.4",

packages/account-export/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@near-wallet-selector/account-export",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "This is the Export Selector UI package for NEAR Wallet Selector.",
55
"keywords": [
66
"near",

packages/arepa-wallet/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@near-wallet-selector/arepa-wallet",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "Arepa Wallet package for NEAR Wallet Selector.",
55
"keywords": [
66
"near",

packages/bitget-wallet/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@near-wallet-selector/bitget-wallet",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "Bitget wallet package for NEAR Wallet Selector.",
55
"keywords": [
66
"near",

packages/bitte-wallet/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@near-wallet-selector/bitte-wallet",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "Bitte wallet package for NEAR Wallet Selector.",
55
"keywords": [
66
"near",

packages/coin98-wallet/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@near-wallet-selector/coin98-wallet",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "Coin 98 wallet package for NEAR Wallet Selector.",
55
"keywords": [
66
"near",

packages/coin98-wallet/src/lib/coin98-wallet.spec.ts

+10
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ const mockCoin98WalletOnWindow = () => {
3333
return "";
3434
}),
3535
disconnect: jest.fn(),
36+
signMessage: jest.fn().mockReturnValue({
37+
signature: Buffer.from([
38+
86, 38, 222, 143, 115, 251, 107, 14, 115, 59, 92, 98, 66, 174, 173,
39+
124, 209, 189, 191, 180, 89, 25, 125, 254, 97, 240, 178, 98, 65, 70,
40+
238, 108, 105, 122, 165, 249, 193, 70, 118, 194, 126, 218, 117, 100,
41+
250, 124, 202, 161, 173, 12, 232, 146, 105, 194, 138, 35, 207, 53, 84,
42+
218, 45, 220, 10, 4,
43+
]),
44+
publicKey,
45+
}),
3646
},
3747
};
3848

packages/coin98-wallet/src/lib/coin98-wallet.ts

+29
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import type {
66
Account,
77
Optional,
88
Transaction,
9+
SignMessageParams,
10+
SignedMessage,
911
} from "@near-wallet-selector/core";
1012
import { getActiveAccount } from "@near-wallet-selector/core";
1113
import type { InjectedCoin98 } from "./injected-coin98-wallet";
@@ -105,6 +107,33 @@ const Coin98Wallet: WalletBehaviourFactory<InjectedWallet> = async ({
105107
return getAccounts();
106108
},
107109

110+
async signMessage({
111+
message,
112+
nonce,
113+
recipient,
114+
state,
115+
}: SignMessageParams): Promise<SignedMessage> {
116+
if (!_state.wallet) {
117+
throw new Error("Wallet is not installed");
118+
}
119+
120+
logger.log("Coin98:signMessage", {
121+
message,
122+
nonce,
123+
recipient,
124+
state,
125+
});
126+
127+
const signature = await _state.wallet.near.signMessage({
128+
message,
129+
nonce,
130+
recipient,
131+
state,
132+
});
133+
134+
return signature;
135+
},
136+
108137
async signOut() {
109138
// Ignore if unsuccessful (returns false).
110139
await _state.wallet.near.disconnect();

packages/coin98-wallet/src/lib/injected-coin98-wallet.ts

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import type {
2+
SignedMessage,
3+
SignMessageParams,
4+
} from "@near-wallet-selector/core";
15
import type { Signer } from "near-api-js/lib/signer";
26

37
interface IConnectParams {
@@ -10,6 +14,7 @@ interface ICoin98Near {
1014
signer: Signer;
1115
connect: (params: IConnectParams) => Promise<string>;
1216
disconnect: () => Promise<void>;
17+
signMessage: (params: SignMessageParams) => Promise<SignedMessage>;
1318
}
1419

1520
export interface InjectedCoin98 {

packages/core/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@near-wallet-selector/core",
3-
"version": "8.9.16",
3+
"version": "8.10.0",
44
"description": "This is the core package for NEAR Wallet Selector.",
55
"keywords": [
66
"near",

packages/core/src/lib/locale/de.json

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"modal": {
3+
"wallet": {
4+
"connectYourWallet": "Verbinde deine Wallet",
5+
"whatIsAWallet": "Was ist eine Wallet?",
6+
"secureAndManage": "Schütze und verwalte deine digitalen Vermögenswerte",
7+
"safelyStore": "Speichere und übertrage deine Kryptowährungen und NFTs sicher",
8+
"logInToAny": "Melde dich bei jeder NEAR-Anwendung an",
9+
"noNeedToCreate": "Kein neues Konto oder Passwort erforderlich. Verbinde deine Wallet und beginne sofort!",
10+
"getAWallet": "Hol dir eine Wallet",
11+
"useAWallet": "Nutze eine Wallet, um deine NEAR-Vermögenswerte zu schützen und zu verwalten. Keine Benutzernamen oder Passwörter nötig, um dich bei jeder NEAR-Anwendung anzumelden",
12+
"connectionFailed": "Verbindung fehlgeschlagen",
13+
"connectionSuccessful": "Verbindung erfolgreich",
14+
"rememberWallet": "Wallet-Auswahl merken",
15+
"connected": "Verbunden",
16+
"connectingTo": "Verbinde mit"
17+
},
18+
"ledger": {
19+
"connectWithLedger": "Mit Ledger verbinden",
20+
"makeSureYourLedger": "Stelle sicher, dass dein Ledger sicher verbunden ist und die NEAR-App auf deinem Gerät geöffnet ist",
21+
"continue": "Fortfahren",
22+
"specifyHDPath": "HD-Pfad angeben",
23+
"enterYourPreferredHDPath": "Gib deinen bevorzugten HD-Pfad ein und scanne nach aktiven Konten",
24+
"scan": "Scannen",
25+
"retry": "Erneut versuchen",
26+
"ledgerIsNotAvailable": "Ledger ist nicht verfügbar",
27+
"accessDeniedToUseLedgerDevice": "Zugriff auf Ledger-Gerät verweigert",
28+
"noAccountsFound": "Keine Konten gefunden",
29+
"selectYourAccounts": "Wähle deine Konten",
30+
"connecting1Account": "Verbinde 1 Konto",
31+
"cantFindAnyAccount": "Kein Konto mit diesem Ledger gefunden. Bitte",
32+
"orConnectAnAnotherLedger.": "oder verbinde einen anderen Ledger",
33+
"connecting": "Verbindung",
34+
"ofAccounts": "Konten",
35+
"failedToAutomatically": "Konto-ID konnte nicht automatisch gefunden werden. Bitte manuell angeben:",
36+
"overviewTheListOfAuthorized": "Überprüfe die Liste der autorisierten Konten und klicke auf die Schaltfläche unten, um die Anmeldung abzuschließen",
37+
"finish": "Fertigstellen"
38+
},
39+
"install": {
40+
"youllNeedToInstall": "Du musst installieren",
41+
"toContinueAfterInstalling": "um fortzufahren. Nach der Installation",
42+
"refreshThePage": "Bitte aktualisiere die Seite",
43+
"open": "Öffnen"
44+
},
45+
"qr": {
46+
"copiedToClipboard": "In die Zwischenablage kopiert",
47+
"failedToCopy": "Kopieren in die Zwischenablage fehlgeschlagen",
48+
"scanWithYourMobile": "Mit deinem Handy scannen",
49+
"copyToClipboard": "In die Zwischenablage kopieren",
50+
"preferTheOfficial": "Bevorzugen Sie das offizielle Dialogfeld in",
51+
"open": "Öffnen"
52+
},
53+
"walletTypes": {
54+
"hardware": "Hardware-Wallet",
55+
"browser": "Browser-Wallet",
56+
"injected": "Wallet-Erweiterung",
57+
"bridge": "Brücken-Wallet",
58+
"mobile": "Mobile Wallet",
59+
"instant-link": "Instant Wallet"
60+
}
61+
}
62+
}

packages/core/src/lib/locale/el.json

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
{
2+
"modal": {
3+
"wallet": {
4+
"connectYourWallet": "Συνδέστε το πορτοφόλι σας",
5+
"whatIsAWallet": "Τι είναι ένα πορτοφόλι;",
6+
"secureAndManage": "Προστατέψτε και διαχειριστείτε τα ψηφιακά σας περιουσιακά στοιχεία",
7+
"safelyStore": "Αποθηκεύστε και μεταφέρετε τα κρυπτονομίσματά σας και τα NFT με ασφάλεια",
8+
"logInToAny": "Συνδεθείτε σε οποιαδήποτε εφαρμογή NEAR",
9+
"noNeedToCreate": "Δεν χρειάζεται να δημιουργήσετε νέους λογαριασμούς ή πιστοποιήσεις. Συνδέστε το πορτοφόλι σας και είστε έτοιμοι!",
10+
"getAWallet": "Αποκτήστε ένα πορτοφόλι",
11+
"useAWallet": "Χρησιμοποιήστε ένα πορτοφόλι για να προστατέψετε και να διαχειριστείτε τα περιουσιακά στοιχεία NEAR σας και να συνδεθείτε σε οποιαδήποτε εφαρμογή NEAR χωρίς τη χρήση ονόματος χρήστη και κωδικού πρόσβασης.",
12+
"connectionFailed": "Η σύνδεση απέτυχε",
13+
"connectionSuccessful": "Η σύνδεση ήταν επιτυχής",
14+
"rememberWallet": "Απομνημόνευση πορτοφολιών",
15+
"connected": "Συνδεδεμένο",
16+
"connectingTo": "Σύνδεση σε",
17+
"connectingMessage": {
18+
"injected": "Επιβεβαιώστε τη σύνδεση στο παράθυρο της επέκτασης",
19+
"browser": "Επιβεβαιώστε τη σύνδεση στο πορτοφόλι μετά την ανακατεύθυνση",
20+
"hardware": "Επιβεβαιώστε τη σύνδεση στη συσκευή Ledger",
21+
"bridge": "Επιβεβαιώστε τη σύνδεση στο πορτοφόλι"
22+
}
23+
},
24+
"ledger": {
25+
"connectWithLedger": "Συνδεθείτε με Ledger",
26+
"makeSureYourLedger": "Βεβαιωθείτε ότι το Ledger είναι συνδεδεμένο με ασφάλεια και ότι η εφαρμογή NEAR είναι ανοιχτή στη συσκευή σας",
27+
"continue": "Συνέχεια",
28+
"specifyHDPath": "Καθορίστε τη διαδρομή HD",
29+
"enterYourPreferredHDPath": "Εισαγάγετε την προτιμώμενη διαδρομή HD και στη συνέχεια σαρώνετε για οποιονδήποτε ενεργό λογαριασμό.",
30+
"scan": "Σάρωση",
31+
"retry": "Δοκιμάστε ξανά",
32+
"ledgerIsNotAvailable": "Το Ledger δεν είναι διαθέσιμο",
33+
"accessDeniedToUseLedgerDevice": "Η πρόσβαση στη χρήση της συσκευής Ledger απορρίφθηκε",
34+
"noAccountsFound": "Δεν βρέθηκαν λογαριασμοί",
35+
"selectYourAccounts": "Επιλέξτε τους λογαριασμούς σας",
36+
"connecting1Account": "Σύνδεση 1 λογαριασμού",
37+
"cantFindAnyAccount": "Δεν βρέθηκε κανένας λογαριασμός που να συνδέεται με αυτό το Ledger. Δημιουργήστε έναν νέο λογαριασμό NEAR",
38+
"orConnectAnAnotherLedger": "ή συνδεθείτε με άλλο Ledger.",
39+
"connecting": "Σύνδεση",
40+
"ofAccounts": "από λογαριασμούς",
41+
"failedToAutomatically": "Αποτυχία αυτόματης εύρεσης αναγνωριστικού λογαριασμού. Καταχωρίστε το χειροκίνητα:",
42+
"overviewTheListOfAuthorized": "Επισκοπήστε τη λίστα των εξουσιοδοτημένων λογαριασμών και ολοκληρώστε την είσοδο κάνοντας κλικ στο παρακάτω κουμπί.",
43+
"finish": "Ολοκλήρωση"
44+
},
45+
"install": {
46+
"youllNeedToInstall": "Θα χρειαστεί να εγκαταστήσετε",
47+
"toContinueAfterInstalling": "για να συνεχίσετε. Μετά την εγκατάσταση",
48+
"refreshThePage": "ανανεώστε τη σελίδα.",
49+
"open": "Άνοιγμα"
50+
},
51+
"qr": {
52+
"copiedToClipboard": "Αντιγράφηκε στο πρόχειρο",
53+
"failedToCopy": "Η αντιγραφή στο πρόχειρο απέτυχε",
54+
"scanWithYourMobile": "Σαρώστε με την κινητή σας συσκευή",
55+
"copyToClipboard": "Αντιγράψτε στο πρόχειρο",
56+
"preferTheOfficial": "Προτιμήστε τον επίσημο διάλογο του",
57+
"open": "Άνοιγμα"
58+
},
59+
"walletTypes": {
60+
"hardware": "Πορτοφόλι υλικού",
61+
"browser": "Πορτοφόλι περιηγητή",
62+
"injected": "Επέκταση πορτοφολιού",
63+
"bridge": "Γέφυρα πορτοφολιού",
64+
"mobile": "Κινητό πορτοφόλι",
65+
"instant-link": "Άμεσο πορτοφόλι"
66+
},
67+
"exportAccounts": {
68+
"chooseAWallet": "Επιλέξτε ένα πορτοφόλι",
69+
"transferYourAccounts": "Μεταφέρετε τους λογαριασμούς σας",
70+
"selectAWallet": "Επιλέξτε ένα πορτοφόλι που ανταποκρίνεται στις ανάγκες σας και υποστηρίζει τους συνδεδεμένους λογαριασμούς σας.",
71+
"selectYourAccounts": "Επιλέξτε τους λογαριασμούς σας",
72+
"afterDecide": "Αφού αποφασίσετε για το πορτοφόλι, μπορείτε να επιλέξετε ποιοι λογαριασμοί θέλετε να μεταφέρετε.",
73+
"disclaimer": "Δεν θα μπορείτε να μεταφέρετε λογαριασμούς που δεν έχουν χρηματοδοτηθεί ή χρησιμοποιηθεί ποτέ στο NEAR.",
74+
"warning": "δεν υποστηρίζει εξαγωγή λογαριασμών αυτή τη στιγμή. Παρακαλούμε επιλέξτε άλλο πορτοφόλι.",
75+
"walletTypes": {
76+
"hardware": "Πορτοφόλι υλικού",
77+
"browser": "Πορτοφόλι περιηγητή",
78+
"injected": "Επέκταση πορτοφολιού",
79+
"bridge": "Γέφυρα πορτοφολιού",
80+
"mobile": "Κινητό πορτοφόλι"
81+
},
82+
"selectAccounts": {
83+
"title": "Επιλέξτε λογαριασμούς για μεταφορά",
84+
"button": "Συνέχεια",
85+
"deselectAll": "Αποεπιλογή όλων",
86+
"selectAll": "Επιλογή όλων",
87+
"unavailable": "Μεταφορά μη διαθέσιμη",
88+
"error": "Ο λογαριασμός δεν υπάρχει",
89+
"warningLedger": "Απαιτείται υποστήριξη Ledger",
90+
"noBalance": "Ο λογαριασμός δεν έχει χρηματοδοτηθεί"
91+
},
92+
"getPassphrase": {
93+
"title": "Αντιγράψτε τον προσωρινό κωδικό",
94+
"desc": "Θα χρειαστεί να εισάγετε αυτόν τον κωδικό όταν ξεκινήσετε τη μεταφορά των λογαριασμών σας σε διαφορετικό πορτοφόλι.",
95+
"button": "Συνέχεια",
96+
"transferButton": "Μεταφορά λογαριασμών",
97+
"label": "Κλικ για αντιγραφή",
98+
"checkLabel": "Αντέγραψα ή κατέγραψα τον κωδικό"
99+
},
100+
"complete": {
101+
"title": "Ολοκλήρωση της μεταφοράς",
102+
"descOne": "Θα ανακατευθυνθείτε τώρα στο πορτοφόλι που επιλέξατε για να ολοκληρώσετε τη μεταφορά.",
103+
"descTwo": "Μόλις ολοκληρωθεί το μέρος της διαδικασίας εισαγωγής από το επιλεγμένο πορτοφόλι, πατήστε το κουμπί για να ολοκληρώσετε τη διαδικασία μεταφοράς.",
104+
"startOverButton": "Ξεκινήστε από την αρχή",
105+
"button": "Ολοκλήρωση"
106+
}
107+
}
108+
},
109+
"component": {
110+
"clickToCopy": {
111+
"label": "Αντιγράφηκε",
112+
"tooltip": "Κλικ για αντιγραφή"
113+
}
114+
}
115+
}

0 commit comments

Comments
 (0)