Skip to content

Commit

Permalink
Merge pull request #1296 from near/dev
Browse files Browse the repository at this point in the history
v8.10.0 Release (dev → main)
  • Loading branch information
trechriron authored Feb 10, 2025
2 parents 9b8f6e0 + d7ef3e3 commit 9c25c38
Show file tree
Hide file tree
Showing 84 changed files with 2,254 additions and 83 deletions.
5 changes: 5 additions & 0 deletions examples/angular/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@
"input": "packages/here-wallet/assets/",
"output": "assets/"
},
{
"glob": "**/*",
"input": "packages/hot-wallet/assets/",
"output": "assets/"
},
{
"glob": "**/*",
"input": "packages/narwallets/assets/",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { setupMathWallet } from "@near-wallet-selector/math-wallet";
import { setupNightly } from "@near-wallet-selector/nightly";
import { setupMeteorWallet } from "@near-wallet-selector/meteor-wallet";
import { setupMeteorWalletApp } from "@near-wallet-selector/meteor-wallet-app";
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";
import { setupNarwallets } from "@near-wallet-selector/narwallets";
import { setupWelldoneWallet } from "@near-wallet-selector/welldone-wallet";
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
Expand Down Expand Up @@ -125,6 +126,7 @@ export class WalletSelectorComponent implements OnInit {
setupMeteorWallet(),
setupMeteorWalletApp({ contractId: CONTRACT_ID }),
setupOKXWallet(),
setupHotWallet(),
setupNarwallets(),
setupWelldoneWallet(),
setupHereWallet(),
Expand Down
9 changes: 9 additions & 0 deletions examples/react/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,16 @@
This React example shows how to integrate Near Wallet Selector into your React application for easy Near wallet integration.

# Usage
Make sure your node version is 18

Then perform the build:
```bash
yarn build:all
```
Need to add a separate dependency, otherwise a error `Module not found` will be reported.
```bash
yarn add @near-wallet-selector/modal-ui
```
Start the development server:
```bash
yarn nx serve react
Expand Down
5 changes: 5 additions & 0 deletions examples/react/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
"input": "packages/my-near-wallet/assets/",
"output": "assets/"
},
{
"glob": "**/*",
"input": "packages/hot-wallet/assets/",
"output": "assets/"
},
{
"glob": "**/*",
"input": "packages/sender/assets/",
Expand Down
3 changes: 2 additions & 1 deletion examples/vanillajs/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ import { setupWalletSelector } from "@near-wallet-selector/core";
import { setupModal } from "@near-wallet-selector/modal-ui-js";
import { setupMyNearWallet } from "@near-wallet-selector/my-near-wallet";
import { setupHereWallet } from "@near-wallet-selector/here-wallet";
import { setupHotWallet } from "@near-wallet-selector/hot-wallet";

const selector = await setupWalletSelector({
network: "testnet",
modules: [setupMyNearWallet(), setupHereWallet()],
modules: [setupMyNearWallet(), setupHereWallet(), setupHotWallet()],
});

const modal = setupModal(selector, {
Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "near-wallet-selector",
"version": "8.9.16",
"version": "8.10.0",
"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",
"keywords": [
"near",
Expand Down Expand Up @@ -66,6 +66,7 @@
"build:okx-wallet": "nx run-many --target=build --projects=okx-wallet --configuration=production",
"build:ethereum-wallets": "nx run-many --target=build --projects=ethereum-wallets --configuration=production",
"build:ramper-wallet": "nx run-many --target=build --projects=ramper-wallet --configuration=production",
"build:react-hook": "nx run-many --target=build --projects=react-hook --configuration=production",
"build:sender": "nx run-many --target=build --projects=sender --configuration=production",
"build:wallet-connect": "nx run-many --target=build --projects=wallet-connect --configuration=production",
"build:wallet-utils": "nx run-many --target=build --projects=wallet-utils --configuration=production",
Expand All @@ -92,7 +93,8 @@
"@angular/platform-browser": "16.1.9",
"@angular/platform-browser-dynamic": "16.1.9",
"@angular/router": "16.1.9",
"@here-wallet/core": "3.3.1",
"@here-wallet/core": "3.4.0",
"@hot-wallet/sdk": "1.0.8",
"@jscutlery/semver": "5.3.1",
"@ledgerhq/hw-transport": "6.30.3",
"@ledgerhq/hw-transport-webhid": "6.29.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/account-export/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@near-wallet-selector/account-export",
"version": "8.9.16",
"version": "8.10.0",
"description": "This is the Export Selector UI package for NEAR Wallet Selector.",
"keywords": [
"near",
Expand Down
2 changes: 1 addition & 1 deletion packages/arepa-wallet/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@near-wallet-selector/arepa-wallet",
"version": "8.9.16",
"version": "8.10.0",
"description": "Arepa Wallet package for NEAR Wallet Selector.",
"keywords": [
"near",
Expand Down
2 changes: 1 addition & 1 deletion packages/bitget-wallet/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@near-wallet-selector/bitget-wallet",
"version": "8.9.16",
"version": "8.10.0",
"description": "Bitget wallet package for NEAR Wallet Selector.",
"keywords": [
"near",
Expand Down
2 changes: 1 addition & 1 deletion packages/bitte-wallet/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@near-wallet-selector/bitte-wallet",
"version": "8.9.16",
"version": "8.10.0",
"description": "Bitte wallet package for NEAR Wallet Selector.",
"keywords": [
"near",
Expand Down
2 changes: 1 addition & 1 deletion packages/coin98-wallet/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@near-wallet-selector/coin98-wallet",
"version": "8.9.16",
"version": "8.10.0",
"description": "Coin 98 wallet package for NEAR Wallet Selector.",
"keywords": [
"near",
Expand Down
10 changes: 10 additions & 0 deletions packages/coin98-wallet/src/lib/coin98-wallet.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@ const mockCoin98WalletOnWindow = () => {
return "";
}),
disconnect: jest.fn(),
signMessage: jest.fn().mockReturnValue({
signature: Buffer.from([
86, 38, 222, 143, 115, 251, 107, 14, 115, 59, 92, 98, 66, 174, 173,
124, 209, 189, 191, 180, 89, 25, 125, 254, 97, 240, 178, 98, 65, 70,
238, 108, 105, 122, 165, 249, 193, 70, 118, 194, 126, 218, 117, 100,
250, 124, 202, 161, 173, 12, 232, 146, 105, 194, 138, 35, 207, 53, 84,
218, 45, 220, 10, 4,
]),
publicKey,
}),
},
};

Expand Down
29 changes: 29 additions & 0 deletions packages/coin98-wallet/src/lib/coin98-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import type {
Account,
Optional,
Transaction,
SignMessageParams,
SignedMessage,
} from "@near-wallet-selector/core";
import { getActiveAccount } from "@near-wallet-selector/core";
import type { InjectedCoin98 } from "./injected-coin98-wallet";
Expand Down Expand Up @@ -105,6 +107,33 @@ const Coin98Wallet: WalletBehaviourFactory<InjectedWallet> = async ({
return getAccounts();
},

async signMessage({
message,
nonce,
recipient,
state,
}: SignMessageParams): Promise<SignedMessage> {
if (!_state.wallet) {
throw new Error("Wallet is not installed");
}

logger.log("Coin98:signMessage", {
message,
nonce,
recipient,
state,
});

const signature = await _state.wallet.near.signMessage({
message,
nonce,
recipient,
state,
});

return signature;
},

async signOut() {
// Ignore if unsuccessful (returns false).
await _state.wallet.near.disconnect();
Expand Down
5 changes: 5 additions & 0 deletions packages/coin98-wallet/src/lib/injected-coin98-wallet.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
import type {
SignedMessage,
SignMessageParams,
} from "@near-wallet-selector/core";
import type { Signer } from "near-api-js/lib/signer";

interface IConnectParams {
Expand All @@ -10,6 +14,7 @@ interface ICoin98Near {
signer: Signer;
connect: (params: IConnectParams) => Promise<string>;
disconnect: () => Promise<void>;
signMessage: (params: SignMessageParams) => Promise<SignedMessage>;
}

export interface InjectedCoin98 {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@near-wallet-selector/core",
"version": "8.9.16",
"version": "8.10.0",
"description": "This is the core package for NEAR Wallet Selector.",
"keywords": [
"near",
Expand Down
62 changes: 62 additions & 0 deletions packages/core/src/lib/locale/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"modal": {
"wallet": {
"connectYourWallet": "Verbinde deine Wallet",
"whatIsAWallet": "Was ist eine Wallet?",
"secureAndManage": "Schütze und verwalte deine digitalen Vermögenswerte",
"safelyStore": "Speichere und übertrage deine Kryptowährungen und NFTs sicher",
"logInToAny": "Melde dich bei jeder NEAR-Anwendung an",
"noNeedToCreate": "Kein neues Konto oder Passwort erforderlich. Verbinde deine Wallet und beginne sofort!",
"getAWallet": "Hol dir eine Wallet",
"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",
"connectionFailed": "Verbindung fehlgeschlagen",
"connectionSuccessful": "Verbindung erfolgreich",
"rememberWallet": "Wallet-Auswahl merken",
"connected": "Verbunden",
"connectingTo": "Verbinde mit"
},
"ledger": {
"connectWithLedger": "Mit Ledger verbinden",
"makeSureYourLedger": "Stelle sicher, dass dein Ledger sicher verbunden ist und die NEAR-App auf deinem Gerät geöffnet ist",
"continue": "Fortfahren",
"specifyHDPath": "HD-Pfad angeben",
"enterYourPreferredHDPath": "Gib deinen bevorzugten HD-Pfad ein und scanne nach aktiven Konten",
"scan": "Scannen",
"retry": "Erneut versuchen",
"ledgerIsNotAvailable": "Ledger ist nicht verfügbar",
"accessDeniedToUseLedgerDevice": "Zugriff auf Ledger-Gerät verweigert",
"noAccountsFound": "Keine Konten gefunden",
"selectYourAccounts": "Wähle deine Konten",
"connecting1Account": "Verbinde 1 Konto",
"cantFindAnyAccount": "Kein Konto mit diesem Ledger gefunden. Bitte",
"orConnectAnAnotherLedger.": "oder verbinde einen anderen Ledger",
"connecting": "Verbindung",
"ofAccounts": "Konten",
"failedToAutomatically": "Konto-ID konnte nicht automatisch gefunden werden. Bitte manuell angeben:",
"overviewTheListOfAuthorized": "Überprüfe die Liste der autorisierten Konten und klicke auf die Schaltfläche unten, um die Anmeldung abzuschließen",
"finish": "Fertigstellen"
},
"install": {
"youllNeedToInstall": "Du musst installieren",
"toContinueAfterInstalling": "um fortzufahren. Nach der Installation",
"refreshThePage": "Bitte aktualisiere die Seite",
"open": "Öffnen"
},
"qr": {
"copiedToClipboard": "In die Zwischenablage kopiert",
"failedToCopy": "Kopieren in die Zwischenablage fehlgeschlagen",
"scanWithYourMobile": "Mit deinem Handy scannen",
"copyToClipboard": "In die Zwischenablage kopieren",
"preferTheOfficial": "Bevorzugen Sie das offizielle Dialogfeld in",
"open": "Öffnen"
},
"walletTypes": {
"hardware": "Hardware-Wallet",
"browser": "Browser-Wallet",
"injected": "Wallet-Erweiterung",
"bridge": "Brücken-Wallet",
"mobile": "Mobile Wallet",
"instant-link": "Instant Wallet"
}
}
}
115 changes: 115 additions & 0 deletions packages/core/src/lib/locale/el.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
{
"modal": {
"wallet": {
"connectYourWallet": "Συνδέστε το πορτοφόλι σας",
"whatIsAWallet": "Τι είναι ένα πορτοφόλι;",
"secureAndManage": "Προστατέψτε και διαχειριστείτε τα ψηφιακά σας περιουσιακά στοιχεία",
"safelyStore": "Αποθηκεύστε και μεταφέρετε τα κρυπτονομίσματά σας και τα NFT με ασφάλεια",
"logInToAny": "Συνδεθείτε σε οποιαδήποτε εφαρμογή NEAR",
"noNeedToCreate": "Δεν χρειάζεται να δημιουργήσετε νέους λογαριασμούς ή πιστοποιήσεις. Συνδέστε το πορτοφόλι σας και είστε έτοιμοι!",
"getAWallet": "Αποκτήστε ένα πορτοφόλι",
"useAWallet": "Χρησιμοποιήστε ένα πορτοφόλι για να προστατέψετε και να διαχειριστείτε τα περιουσιακά στοιχεία NEAR σας και να συνδεθείτε σε οποιαδήποτε εφαρμογή NEAR χωρίς τη χρήση ονόματος χρήστη και κωδικού πρόσβασης.",
"connectionFailed": "Η σύνδεση απέτυχε",
"connectionSuccessful": "Η σύνδεση ήταν επιτυχής",
"rememberWallet": "Απομνημόνευση πορτοφολιών",
"connected": "Συνδεδεμένο",
"connectingTo": "Σύνδεση σε",
"connectingMessage": {
"injected": "Επιβεβαιώστε τη σύνδεση στο παράθυρο της επέκτασης",
"browser": "Επιβεβαιώστε τη σύνδεση στο πορτοφόλι μετά την ανακατεύθυνση",
"hardware": "Επιβεβαιώστε τη σύνδεση στη συσκευή Ledger",
"bridge": "Επιβεβαιώστε τη σύνδεση στο πορτοφόλι"
}
},
"ledger": {
"connectWithLedger": "Συνδεθείτε με Ledger",
"makeSureYourLedger": "Βεβαιωθείτε ότι το Ledger είναι συνδεδεμένο με ασφάλεια και ότι η εφαρμογή NEAR είναι ανοιχτή στη συσκευή σας",
"continue": "Συνέχεια",
"specifyHDPath": "Καθορίστε τη διαδρομή HD",
"enterYourPreferredHDPath": "Εισαγάγετε την προτιμώμενη διαδρομή HD και στη συνέχεια σαρώνετε για οποιονδήποτε ενεργό λογαριασμό.",
"scan": "Σάρωση",
"retry": "Δοκιμάστε ξανά",
"ledgerIsNotAvailable": "Το Ledger δεν είναι διαθέσιμο",
"accessDeniedToUseLedgerDevice": "Η πρόσβαση στη χρήση της συσκευής Ledger απορρίφθηκε",
"noAccountsFound": "Δεν βρέθηκαν λογαριασμοί",
"selectYourAccounts": "Επιλέξτε τους λογαριασμούς σας",
"connecting1Account": "Σύνδεση 1 λογαριασμού",
"cantFindAnyAccount": "Δεν βρέθηκε κανένας λογαριασμός που να συνδέεται με αυτό το Ledger. Δημιουργήστε έναν νέο λογαριασμό NEAR",
"orConnectAnAnotherLedger": "ή συνδεθείτε με άλλο Ledger.",
"connecting": "Σύνδεση",
"ofAccounts": "από λογαριασμούς",
"failedToAutomatically": "Αποτυχία αυτόματης εύρεσης αναγνωριστικού λογαριασμού. Καταχωρίστε το χειροκίνητα:",
"overviewTheListOfAuthorized": "Επισκοπήστε τη λίστα των εξουσιοδοτημένων λογαριασμών και ολοκληρώστε την είσοδο κάνοντας κλικ στο παρακάτω κουμπί.",
"finish": "Ολοκλήρωση"
},
"install": {
"youllNeedToInstall": "Θα χρειαστεί να εγκαταστήσετε",
"toContinueAfterInstalling": "για να συνεχίσετε. Μετά την εγκατάσταση",
"refreshThePage": "ανανεώστε τη σελίδα.",
"open": "Άνοιγμα"
},
"qr": {
"copiedToClipboard": "Αντιγράφηκε στο πρόχειρο",
"failedToCopy": "Η αντιγραφή στο πρόχειρο απέτυχε",
"scanWithYourMobile": "Σαρώστε με την κινητή σας συσκευή",
"copyToClipboard": "Αντιγράψτε στο πρόχειρο",
"preferTheOfficial": "Προτιμήστε τον επίσημο διάλογο του",
"open": "Άνοιγμα"
},
"walletTypes": {
"hardware": "Πορτοφόλι υλικού",
"browser": "Πορτοφόλι περιηγητή",
"injected": "Επέκταση πορτοφολιού",
"bridge": "Γέφυρα πορτοφολιού",
"mobile": "Κινητό πορτοφόλι",
"instant-link": "Άμεσο πορτοφόλι"
},
"exportAccounts": {
"chooseAWallet": "Επιλέξτε ένα πορτοφόλι",
"transferYourAccounts": "Μεταφέρετε τους λογαριασμούς σας",
"selectAWallet": "Επιλέξτε ένα πορτοφόλι που ανταποκρίνεται στις ανάγκες σας και υποστηρίζει τους συνδεδεμένους λογαριασμούς σας.",
"selectYourAccounts": "Επιλέξτε τους λογαριασμούς σας",
"afterDecide": "Αφού αποφασίσετε για το πορτοφόλι, μπορείτε να επιλέξετε ποιοι λογαριασμοί θέλετε να μεταφέρετε.",
"disclaimer": "Δεν θα μπορείτε να μεταφέρετε λογαριασμούς που δεν έχουν χρηματοδοτηθεί ή χρησιμοποιηθεί ποτέ στο NEAR.",
"warning": "δεν υποστηρίζει εξαγωγή λογαριασμών αυτή τη στιγμή. Παρακαλούμε επιλέξτε άλλο πορτοφόλι.",
"walletTypes": {
"hardware": "Πορτοφόλι υλικού",
"browser": "Πορτοφόλι περιηγητή",
"injected": "Επέκταση πορτοφολιού",
"bridge": "Γέφυρα πορτοφολιού",
"mobile": "Κινητό πορτοφόλι"
},
"selectAccounts": {
"title": "Επιλέξτε λογαριασμούς για μεταφορά",
"button": "Συνέχεια",
"deselectAll": "Αποεπιλογή όλων",
"selectAll": "Επιλογή όλων",
"unavailable": "Μεταφορά μη διαθέσιμη",
"error": "Ο λογαριασμός δεν υπάρχει",
"warningLedger": "Απαιτείται υποστήριξη Ledger",
"noBalance": "Ο λογαριασμός δεν έχει χρηματοδοτηθεί"
},
"getPassphrase": {
"title": "Αντιγράψτε τον προσωρινό κωδικό",
"desc": "Θα χρειαστεί να εισάγετε αυτόν τον κωδικό όταν ξεκινήσετε τη μεταφορά των λογαριασμών σας σε διαφορετικό πορτοφόλι.",
"button": "Συνέχεια",
"transferButton": "Μεταφορά λογαριασμών",
"label": "Κλικ για αντιγραφή",
"checkLabel": "Αντέγραψα ή κατέγραψα τον κωδικό"
},
"complete": {
"title": "Ολοκλήρωση της μεταφοράς",
"descOne": "Θα ανακατευθυνθείτε τώρα στο πορτοφόλι που επιλέξατε για να ολοκληρώσετε τη μεταφορά.",
"descTwo": "Μόλις ολοκληρωθεί το μέρος της διαδικασίας εισαγωγής από το επιλεγμένο πορτοφόλι, πατήστε το κουμπί για να ολοκληρώσετε τη διαδικασία μεταφοράς.",
"startOverButton": "Ξεκινήστε από την αρχή",
"button": "Ολοκλήρωση"
}
}
},
"component": {
"clickToCopy": {
"label": "Αντιγράφηκε",
"tooltip": "Κλικ για αντιγραφή"
}
}
}
Loading

0 comments on commit 9c25c38

Please sign in to comment.