@n1xyz/wallet-widget 0.0.33-alpha.2 → 0.0.33-alpha.3
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/animations/N1Loader.js +14 -8
- package/dist/animations/N1Loader.js.map +1 -1
- package/dist/animations/Processing.js +14 -8
- package/dist/animations/Processing.js.map +1 -1
- package/dist/components/LoadingFallback.js +6 -2
- package/dist/components/LoadingFallback.js.map +1 -1
- package/dist/components/Logo.js +25 -22
- package/dist/components/Logo.js.map +1 -1
- package/dist/components/N1ConnectButton.js +18 -12
- package/dist/components/N1ConnectButton.js.map +1 -1
- package/dist/components/logos/ArbitrumLogo.js +7 -3
- package/dist/components/logos/ArbitrumLogo.js.map +1 -1
- package/dist/components/logos/BaseLogo.js +7 -3
- package/dist/components/logos/BaseLogo.js.map +1 -1
- package/dist/components/logos/BeraLogo.js +7 -3
- package/dist/components/logos/BeraLogo.js.map +1 -1
- package/dist/components/logos/BitcoinLogo.js +7 -3
- package/dist/components/logos/BitcoinLogo.js.map +1 -1
- package/dist/components/logos/EthereumLogo.js +7 -3
- package/dist/components/logos/EthereumLogo.js.map +1 -1
- package/dist/components/logos/HyperliquidLogo.js +7 -3
- package/dist/components/logos/HyperliquidLogo.js.map +1 -1
- package/dist/components/logos/OptimismLogo.js +7 -3
- package/dist/components/logos/OptimismLogo.js.map +1 -1
- package/dist/components/logos/SolanaLogo.js +7 -3
- package/dist/components/logos/SolanaLogo.js.map +1 -1
- package/dist/components/logos/ZeroOneLogo.js +7 -3
- package/dist/components/logos/ZeroOneLogo.js.map +1 -1
- package/dist/components/logos/index.js +25 -9
- package/dist/components/logos/index.js.map +1 -1
- package/dist/config/solana.js +7 -3
- package/dist/config/solana.js.map +1 -1
- package/dist/config.js +5 -2
- package/dist/config.js.map +1 -1
- package/dist/context/n1-wallet-context.js +8 -4
- package/dist/context/n1-wallet-context.js.map +1 -1
- package/dist/errors/types.js +6 -3
- package/dist/errors/types.js.map +1 -1
- package/dist/features/onboarding-flow/N1WalletModal.js +59 -23
- package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -1
- package/dist/features/onboarding-flow/OnboardingFlow.js +50 -46
- package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -1
- package/dist/features/onboarding-flow/components/ChainButton.js +7 -4
- package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -1
- package/dist/features/onboarding-flow/components/Header.js +15 -11
- package/dist/features/onboarding-flow/components/Header.js.map +1 -1
- package/dist/features/onboarding-flow/components/ImageWithFallback.js +10 -6
- package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -1
- package/dist/features/onboarding-flow/components/TransactionTable.js +13 -10
- package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -1
- package/dist/features/onboarding-flow/components/WaitingMessage.js +14 -8
- package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -1
- package/dist/features/onboarding-flow/components/index.js +21 -5
- package/dist/features/onboarding-flow/components/index.js.map +1 -1
- package/dist/features/onboarding-flow/index.js +5 -1
- package/dist/features/onboarding-flow/index.js.map +1 -1
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +60 -55
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +48 -43
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/StateProvider.js +11 -7
- package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +74 -69
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/debug.js +21 -18
- package/dist/features/onboarding-flow/providers/debug.js.map +1 -1
- package/dist/features/onboarding-flow/providers/index.js +16 -5
- package/dist/features/onboarding-flow/providers/index.js.map +1 -1
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +20 -15
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -1
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js +11 -8
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +38 -34
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +51 -47
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +12 -8
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js +28 -25
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +13 -10
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +10 -7
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/index.js +23 -7
- package/dist/features/onboarding-flow/screens/index.js.map +1 -1
- package/dist/features/onboarding-flow/types.js +6 -3
- package/dist/features/onboarding-flow/types.js.map +1 -1
- package/dist/features/onboarding-flow/utils/depositStorage.js +8 -3
- package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -1
- package/dist/features/onboarding-flow/utils/imageUtils.js +9 -3
- package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -1
- package/dist/features/onboarding-flow/utils/nordUser.js +38 -2
- package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -1
- package/dist/features/onboarding-flow/utils/nordUtils.js +12 -5
- package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -1
- package/dist/features/onboarding-flow/utils/session.js +17 -14
- package/dist/features/onboarding-flow/utils/session.js.map +1 -1
- package/dist/features/onboarding-flow/utils/transaction.js +4 -1
- package/dist/features/onboarding-flow/utils/transaction.js.map +1 -1
- package/dist/features/onboarding-flow/utils/utils.js +16 -8
- package/dist/features/onboarding-flow/utils/utils.js.map +1 -1
- package/dist/features/onboarding-flow/utils/withImageFallback.js +15 -9
- package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -1
- package/dist/hooks/index.js +18 -2
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useN1Wallet.js +10 -6
- package/dist/hooks/useN1Wallet.js.map +1 -1
- package/dist/hooks/useNordUserInitialization.js +34 -31
- package/dist/hooks/useNordUserInitialization.js.map +1 -1
- package/dist/index.js +21 -7
- package/dist/index.js.map +1 -1
- package/dist/polyfills/windowEthereumGuard.js +2 -1
- package/dist/polyfills/windowEthereumGuard.js.map +1 -1
- package/dist/providers/LazyWalletProvider.js +74 -38
- package/dist/providers/LazyWalletProvider.js.map +1 -1
- package/dist/providers/N1WalletProvider.js +109 -70
- package/dist/providers/N1WalletProvider.js.map +1 -1
- package/dist/providers/ShadowRootWrapper.js +10 -4
- package/dist/providers/ShadowRootWrapper.js.map +1 -1
- package/dist/providers/WalletErrorBoundary.js +11 -6
- package/dist/providers/WalletErrorBoundary.js.map +1 -1
- package/dist/styles/embedded-main-css.js +3 -1
- package/dist/styles/embedded-main-css.js.map +1 -1
- package/dist/types/wallet.js +7 -4
- package/dist/types/wallet.js.map +1 -1
- package/dist/utils/ed25519.js +20 -14
- package/dist/utils/ed25519.js.map +1 -1
- package/dist/utils/getPseudoName.js +10 -7
- package/dist/utils/getPseudoName.js.map +1 -1
- package/dist/utils/logger.js +5 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/shortenString.js +6 -2
- package/dist/utils/shortenString.js.map +1 -1
- package/dist/utils/words.js +4 -1
- package/dist/utils/words.js.map +1 -1
- package/package.json +1 -1
package/dist/types/wallet.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.N1SessionMode = exports.N1ModalViewMode = void 0;
|
|
4
|
+
var N1ModalViewMode;
|
|
2
5
|
(function (N1ModalViewMode) {
|
|
3
6
|
N1ModalViewMode[N1ModalViewMode["Connect"] = 0] = "Connect";
|
|
4
7
|
N1ModalViewMode[N1ModalViewMode["CreateSession"] = 1] = "CreateSession";
|
|
@@ -13,9 +16,9 @@ export var N1ModalViewMode;
|
|
|
13
16
|
N1ModalViewMode[N1ModalViewMode["AuthLoading"] = 1] = "AuthLoading";
|
|
14
17
|
N1ModalViewMode[N1ModalViewMode["FinalSuccess"] = 4] = "FinalSuccess";
|
|
15
18
|
N1ModalViewMode[N1ModalViewMode["Automatic"] = 99] = "Automatic";
|
|
16
|
-
})(N1ModalViewMode || (N1ModalViewMode = {}));
|
|
17
|
-
|
|
19
|
+
})(N1ModalViewMode || (exports.N1ModalViewMode = N1ModalViewMode = {}));
|
|
20
|
+
var N1SessionMode;
|
|
18
21
|
(function (N1SessionMode) {
|
|
19
22
|
N1SessionMode[N1SessionMode["Nord"] = 0] = "Nord";
|
|
20
|
-
})(N1SessionMode || (N1SessionMode = {}));
|
|
23
|
+
})(N1SessionMode || (exports.N1SessionMode = N1SessionMode = {}));
|
|
21
24
|
//# sourceMappingURL=wallet.js.map
|
package/dist/types/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":";;;AAGA,IAAY,eAcX;AAdD,WAAY,eAAe;IACzB,2DAAW,CAAA;IACX,uEAAiB,CAAA;IACjB,2DAAW,CAAA;IACX,qEAAgB,CAAA;IAChB,2DAAW,CAAA;IACX,yEAAkB,CAAA;IAClB,yEAAkB,CAAA;IAClB,uDAAS,CAAA;IACT,mEAA0B,CAAA;IAC1B,2EAAyB,CAAA;IACzB,mEAA2B,CAAA;IAC3B,qEAAsB,CAAA;IACtB,gEAAc,CAAA;AAChB,CAAC,EAdW,eAAe,+BAAf,eAAe,QAc1B;AAED,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,iDAAI,CAAA;AACN,CAAC,EAFW,aAAa,6BAAb,aAAa,QAExB","sourcesContent":["import type { WalletError } from '../errors/types';\nimport type { Nord } from '@n1xyz/nord-ts';\n\nexport enum N1ModalViewMode {\n Connect = 0,\n CreateSession = 1,\n Signing = 2,\n CreatingUser = 3,\n Success = 4,\n ChainSelection = 6,\n DepositSuccess = 7,\n Error = 8,\n AmountInput = CreatingUser,\n DepositProgress = Signing,\n AuthLoading = CreateSession,\n FinalSuccess = Success,\n Automatic = 99,\n}\n\nexport enum N1SessionMode {\n Nord,\n}\n\nexport interface CssColorOverride {\n color: string; // Color to find in CSS (e.g. '#3b82f6')\n replacement: string; // Replacement color (e.g. '#afafaf')\n}\n\nexport interface N1WalletProviderProps {\n children: React.ReactNode;\n providedSessionMode: N1SessionMode;\n onError?: (error: WalletError) => void;\n nord?: Nord | null;\n /**\n * Optional array of color overrides: [{color: '#original', replacement: '#new'}]\n */\n colorOverrides?: CssColorOverride[];\n /**\n * If true, skip the final success screen and immediately call onDone\n */\n skipFinalScreen?: boolean;\n}\n\nexport interface Balance {\n mint: string;\n balance: bigint;\n appType: string;\n}\n\nexport interface N1NordFunctions {\n // Market information functions\n getMarkets: () => Promise<any[]>;\n getOrderbook: (symbol: string) => Promise<any>;\n getTrades: (params: any) => Promise<any>;\n getMarketsStats: () => Promise<any>;\n\n // Trading functions\n placeOrder: (params: {\n sessionId: bigint | string;\n marketId: number;\n side: 'BUY' | 'SELL';\n fillMode: 'GTC' | 'IOC' | 'FOK' | 'POST_ONLY';\n isReduceOnly: boolean;\n size?: number | string;\n price?: number | string;\n quoteSize?: number | string;\n clientOrderId?: bigint | string;\n }) => Promise<bigint | undefined>;\n\n cancelOrder: (params: {\n sessionId: bigint | string;\n orderId: bigint | string;\n }) => Promise<bigint>;\n\n // Account management\n createSession: (params: {\n userPubkey: Uint8Array;\n sessionPubkey: Uint8Array;\n expiryTimestamp?: bigint;\n }) => Promise<bigint>;\n\n revokeSession: (params: { sessionId: bigint | string }) => Promise<void>;\n\n withdraw: (params: {\n sessionId: bigint | string;\n tokenId: number;\n amount: number;\n }) => Promise<void>;\n\n transfer: (params: {\n sessionId: bigint | string;\n fromAccountId: number;\n toAccountId?: number;\n tokenId: number;\n tokenDecimals: number;\n amount: number | string;\n }) => Promise<number | undefined>;\n\n // Blockchain information\n getTimestamp: () => Promise<bigint>;\n getActionNonce: () => Promise<number>;\n\n // Block and action queries\n queryBlock: (query: any) => Promise<any>;\n queryLastNBlocks: () => Promise<any>;\n queryRecentBlocks: (last_n: number) => Promise<any>;\n queryAction: (query: any) => Promise<any>;\n queryRecentActions: (last_n: number) => Promise<any>;\n getActions: (fromActionId: number, toActionId: number) => Promise<any>;\n}\n\nexport interface N1WalletState {\n address: string;\n balances: Balance[];\n chain: string;\n isConnected: boolean;\n sessionMode: N1SessionMode;\n sessionPubKey: Uint8Array | null;\n setShowLogin: (show: boolean) => void;\n startDepositFlow: () => boolean;\n setViewMode: (mode: N1ModalViewMode) => void;\n showLogin: boolean;\n signMessageWithSessionKey: ((message: any) => Promise<any>) | null;\n signMessageWithWalletKey: ((message: any) => Promise<any>) | null;\n signTransactionWithWalletKey: ((transaction: any) => Promise<any>) | null;\n userChain: string | null;\n username: string;\n viewMode: N1ModalViewMode;\n walletPubKey: Uint8Array | null;\n throwTestError: () => Promise<void>;\n nord?: Nord | null;\n nordUser?: any;\n disconnectWallet: () => void;\n}\n\nexport interface N1InternalWalletState {\n dynamicHandleLogOut: any;\n dynamicWallet: any;\n loading: boolean;\n dynamicSdkHasLoaded: any;\n handleError: (error: WalletError) => void;\n setDynamicSdkHasLoaded: (loaded: any) => void;\n setAddress: (address: string) => void;\n setBalances: (balances: Balance[]) => void;\n setChain: (chain: string) => void;\n setDynamicHandleLogOut: (handler: any) => void;\n setDynamicWallet: (wallet: any) => void;\n setIsConnected: (connected: boolean) => void;\n setLoading: (loading: boolean) => void;\n blockModalReopen: (duration?: number) => void;\n setSessionPubKey: (key: Uint8Array | null) => void;\n setSignMessageWithSessionKey: React.Dispatch<\n React.SetStateAction<((message: any) => Promise<any>) | null>\n >;\n setSignMessageWithWalletKey: React.Dispatch<\n React.SetStateAction<((message: any) => Promise<any>) | null>\n >;\n setSignTransactionWithWalletKey: React.Dispatch<\n React.SetStateAction<((transaction: any) => Promise<any>) | null>\n >;\n setStartClosingLogin: (closing: boolean) => void;\n setUsername: (username: string) => void;\n setUserChain: (chain: string | null) => void;\n setViewMode: (mode: N1ModalViewMode) => void;\n setWalletPubKey: (key: Uint8Array | null) => void;\n setNordUser: (user: any) => void;\n setDisconnectWalletHandler: (handler: () => void) => void;\n startClosingLogin: boolean;\n showDynamicWidget: any;\n setShowDynamicWidget: (show: any) => void;\n sessionMode: N1SessionMode;\n skipFinalScreen?: boolean;\n depositFlowRequestId: number;\n}\n"]}
|
package/dist/utils/ed25519.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -34,23 +35,28 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
36
|
}
|
|
36
37
|
};
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.generateEd25519KeyPair = generateEd25519KeyPair;
|
|
40
|
+
exports.signEd25519Message = signEd25519Message;
|
|
41
|
+
exports.getEd25519PublicKeyFromPrivate = getEd25519PublicKeyFromPrivate;
|
|
42
|
+
exports.generateRandomUint8Array = generateRandomUint8Array;
|
|
43
|
+
var ed25519_1 = require("@noble/ed25519");
|
|
44
|
+
var sha2_1 = require("@noble/hashes/sha2");
|
|
39
45
|
// Configure hashing dependency for @noble/ed25519 v3
|
|
40
|
-
if (!hashes.sha512) {
|
|
41
|
-
hashes.sha512 = sha512;
|
|
46
|
+
if (!ed25519_1.hashes.sha512) {
|
|
47
|
+
ed25519_1.hashes.sha512 = sha2_1.sha512;
|
|
42
48
|
}
|
|
43
|
-
if (!utils.sha512) {
|
|
44
|
-
utils.sha512 = sha512;
|
|
49
|
+
if (!ed25519_1.utils.sha512) {
|
|
50
|
+
ed25519_1.utils.sha512 = sha2_1.sha512;
|
|
45
51
|
}
|
|
46
|
-
|
|
52
|
+
function generateEd25519KeyPair() {
|
|
47
53
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
54
|
var privateKey, publicKey;
|
|
49
55
|
return __generator(this, function (_a) {
|
|
50
56
|
switch (_a.label) {
|
|
51
57
|
case 0:
|
|
52
|
-
privateKey = utils.randomSecretKey();
|
|
53
|
-
return [4 /*yield*/, getPublicKey(privateKey)];
|
|
58
|
+
privateKey = ed25519_1.utils.randomSecretKey();
|
|
59
|
+
return [4 /*yield*/, (0, ed25519_1.getPublicKey)(privateKey)];
|
|
54
60
|
case 1:
|
|
55
61
|
publicKey = _a.sent();
|
|
56
62
|
return [2 /*return*/, { privateKey: privateKey, publicKey: publicKey }];
|
|
@@ -58,21 +64,21 @@ export function generateEd25519KeyPair() {
|
|
|
58
64
|
});
|
|
59
65
|
});
|
|
60
66
|
}
|
|
61
|
-
|
|
67
|
+
function signEd25519Message(message, privateKey) {
|
|
62
68
|
return __awaiter(this, void 0, void 0, function () {
|
|
63
69
|
return __generator(this, function (_a) {
|
|
64
|
-
return [2 /*return*/, sign(message, privateKey)];
|
|
70
|
+
return [2 /*return*/, (0, ed25519_1.sign)(message, privateKey)];
|
|
65
71
|
});
|
|
66
72
|
});
|
|
67
73
|
}
|
|
68
|
-
|
|
74
|
+
function getEd25519PublicKeyFromPrivate(privateKey) {
|
|
69
75
|
return __awaiter(this, void 0, void 0, function () {
|
|
70
76
|
return __generator(this, function (_a) {
|
|
71
|
-
return [2 /*return*/, getPublicKey(privateKey)];
|
|
77
|
+
return [2 /*return*/, (0, ed25519_1.getPublicKey)(privateKey)];
|
|
72
78
|
});
|
|
73
79
|
});
|
|
74
80
|
}
|
|
75
|
-
|
|
81
|
+
function generateRandomUint8Array(length) {
|
|
76
82
|
var buffer = new Uint8Array(length);
|
|
77
83
|
if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {
|
|
78
84
|
crypto.getRandomValues(buffer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/utils/ed25519.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/utils/ed25519.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,wDAIC;AAED,gDAKC;AAED,wEAIC;AAED,4DAYC;AA/CD,0CAAmE;AACnE,2CAA4C;AAE5C,qDAAqD;AACrD,IAAI,CAAC,gBAAM,CAAC,MAAM,EAAE,CAAC;IACnB,gBAAM,CAAC,MAAM,GAAG,aAAM,CAAC;AACzB,CAAC;AACD,IAAI,CAAE,eAAa,CAAC,MAAM,EAAE,CAAC;IAC1B,eAAa,CAAC,MAAM,GAAG,aAAM,CAAC;AACjC,CAAC;AAOD,SAAsB,sBAAsB;;;;;;oBACpC,UAAU,GAAG,eAAK,CAAC,eAAe,EAAE,CAAC;oBACzB,qBAAM,IAAA,sBAAY,EAAC,UAAU,CAAC,EAAA;;oBAA1C,SAAS,GAAG,SAA8B;oBAChD,sBAAO,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,EAAC;;;;CAClC;AAED,SAAsB,kBAAkB,CACtC,OAAmB,EACnB,UAAsB;;;YAEtB,sBAAO,IAAA,cAAI,EAAC,OAAO,EAAE,UAAU,CAAC,EAAC;;;CAClC;AAED,SAAsB,8BAA8B,CAClD,UAAsB;;;YAEtB,sBAAO,IAAA,sBAAY,EAAC,UAAU,CAAC,EAAC;;;CACjC;AAED,SAAgB,wBAAwB,CAAC,MAAc;IACrD,IAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAClF,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+CAA+C;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { getPublicKey, sign, utils, hashes } from '@noble/ed25519';\nimport { sha512 } from '@noble/hashes/sha2';\n\n// Configure hashing dependency for @noble/ed25519 v3\nif (!hashes.sha512) {\n hashes.sha512 = sha512;\n}\nif (!(utils as any).sha512) {\n (utils as any).sha512 = sha512;\n}\n\nexport interface Ed25519KeyPair {\n privateKey: Uint8Array;\n publicKey: Uint8Array;\n}\n\nexport async function generateEd25519KeyPair(): Promise<Ed25519KeyPair> {\n const privateKey = utils.randomSecretKey();\n const publicKey = await getPublicKey(privateKey);\n return { privateKey, publicKey };\n}\n\nexport async function signEd25519Message(\n message: Uint8Array,\n privateKey: Uint8Array\n): Promise<Uint8Array> {\n return sign(message, privateKey);\n}\n\nexport async function getEd25519PublicKeyFromPrivate(\n privateKey: Uint8Array\n): Promise<Uint8Array> {\n return getPublicKey(privateKey);\n}\n\nexport function generateRandomUint8Array(length: number): Uint8Array {\n const buffer = new Uint8Array(length);\n if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {\n crypto.getRandomValues(buffer);\n return buffer;\n }\n\n // Fallback for environments without Web Crypto\n for (let i = 0; i < length; i++) {\n buffer[i] = Math.floor(Math.random() * 256);\n }\n return buffer;\n}\n"]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPseudoName = getPseudoName;
|
|
4
|
+
var words_1 = require("./words");
|
|
2
5
|
function capitalizeFirst(str) {
|
|
3
6
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
4
7
|
}
|
|
5
|
-
|
|
6
|
-
var maxNouns = words.N.length - 1; // 47004
|
|
7
|
-
var maxAdj = words.A.length - 1; // 14903
|
|
8
|
+
function getPseudoName(pk) {
|
|
9
|
+
var maxNouns = words_1.words.N.length - 1; // 47004
|
|
10
|
+
var maxAdj = words_1.words.A.length - 1; // 14903
|
|
8
11
|
// split pubkey into 3 parts
|
|
9
12
|
var _a = [
|
|
10
13
|
pk.slice(1, 12),
|
|
@@ -17,16 +20,16 @@ export function getPseudoName(pk) {
|
|
|
17
20
|
Math.abs(getHash(third)) % maxNouns,
|
|
18
21
|
];
|
|
19
22
|
// generate random number from the 3 parts, in the ranges of the english dictionary
|
|
20
|
-
var wordList = [words.A[hashes[0]], words.A[hashes[1]], words.N[hashes[2]]];
|
|
23
|
+
var wordList = [words_1.words.A[hashes[0]], words_1.words.A[hashes[1]], words_1.words.N[hashes[2]]];
|
|
21
24
|
var _loop_1 = function (i) {
|
|
22
25
|
var word = wordList[i];
|
|
23
26
|
while (CENSORED_WORDS.some(function (v) { return word.startsWith(v.toLowerCase()); })) {
|
|
24
27
|
hashes[i] += 1;
|
|
25
28
|
if (parseInt(i) != 2) {
|
|
26
|
-
wordList[i] = words.A[hashes[i] % maxAdj];
|
|
29
|
+
wordList[i] = words_1.words.A[hashes[i] % maxAdj];
|
|
27
30
|
}
|
|
28
31
|
else {
|
|
29
|
-
wordList[i] = words.N[hashes[i] % maxNouns];
|
|
32
|
+
wordList[i] = words_1.words.N[hashes[i] % maxNouns];
|
|
30
33
|
}
|
|
31
34
|
word = wordList[i];
|
|
32
35
|
}
|