@fastnear/api 0.9.7 → 0.9.9
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/cjs/index.cjs +2 -2
- package/dist/cjs/index.d.cts +45 -23
- package/dist/cjs/near.cjs +59 -112
- package/dist/cjs/near.cjs.map +1 -1
- package/dist/cjs/state.cjs +13 -37
- package/dist/cjs/state.cjs.map +1 -1
- package/dist/esm/index.d.ts +45 -23
- package/dist/esm/index.js +2 -2
- package/dist/esm/near.js +59 -115
- package/dist/esm/near.js.map +1 -1
- package/dist/esm/state.js +11 -33
- package/dist/esm/state.js.map +1 -1
- package/dist/umd/browser.global.js +81 -316
- package/dist/umd/browser.global.js.map +1 -1
- package/package.json +3 -4
package/dist/esm/state.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* ⋈ 🏃🏻💨
|
|
2
|
-
/* https://www.npmjs.com/package/@fastnear/api/v/0.9.
|
|
1
|
+
/* ⋈ 🏃🏻💨 FastNear API - ESM (@fastnear/api version 0.9.8) */
|
|
2
|
+
/* https://www.npmjs.com/package/@fastnear/api/v/0.9.8 */
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
5
|
import {
|
|
@@ -7,8 +7,6 @@ import {
|
|
|
7
7
|
lsGet,
|
|
8
8
|
publicKeyFromPrivate
|
|
9
9
|
} from "@fastnear/utils";
|
|
10
|
-
import { WalletAdapter } from "@fastnear/wallet-adapter";
|
|
11
|
-
const WIDGET_URL = "https://js.cdn.fastnear.com";
|
|
12
10
|
const DEFAULT_NETWORK_ID = "mainnet";
|
|
13
11
|
const NETWORKS = {
|
|
14
12
|
testnet: {
|
|
@@ -24,28 +22,13 @@ let _config = lsGet("config") || {
|
|
|
24
22
|
...NETWORKS[DEFAULT_NETWORK_ID]
|
|
25
23
|
};
|
|
26
24
|
let _state = lsGet("state") || {};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
}, "onAdapterStateUpdate");
|
|
36
|
-
const getWalletAdapterState = /* @__PURE__ */ __name(() => {
|
|
37
|
-
return {
|
|
38
|
-
publicKey: _state.publicKey,
|
|
39
|
-
accountId: _state.accountId,
|
|
40
|
-
lastWalletId: _state.lastWalletId,
|
|
41
|
-
networkId: _config.networkId
|
|
42
|
-
};
|
|
43
|
-
}, "getWalletAdapterState");
|
|
44
|
-
let _adapter = new WalletAdapter({
|
|
45
|
-
onStateUpdate: onAdapterStateUpdate,
|
|
46
|
-
lastState: getWalletAdapterState(),
|
|
47
|
-
widgetUrl: WIDGET_URL
|
|
48
|
-
});
|
|
25
|
+
let _walletProvider = null;
|
|
26
|
+
const setWalletProvider = /* @__PURE__ */ __name((provider) => {
|
|
27
|
+
_walletProvider = provider;
|
|
28
|
+
}, "setWalletProvider");
|
|
29
|
+
const getWalletProvider = /* @__PURE__ */ __name(() => {
|
|
30
|
+
return _walletProvider;
|
|
31
|
+
}, "getWalletProvider");
|
|
49
32
|
try {
|
|
50
33
|
_state.publicKey = _state.privateKey ? publicKeyFromPrivate(_state.privateKey) : null;
|
|
51
34
|
} catch (e) {
|
|
@@ -122,9 +105,6 @@ const update = /* @__PURE__ */ __name((newState) => {
|
|
|
122
105
|
if (newState.accountId !== oldState.accountId) {
|
|
123
106
|
events.notifyAccountListeners(newState.accountId);
|
|
124
107
|
}
|
|
125
|
-
if (newState.hasOwnProperty("lastWalletId") && newState.lastWalletId !== oldState.lastWalletId || newState.hasOwnProperty("accountId") && newState.accountId !== oldState.accountId || newState.hasOwnProperty("privateKey") && newState.privateKey !== oldState.privateKey) {
|
|
126
|
-
_adapter.setState(getWalletAdapterState());
|
|
127
|
-
}
|
|
128
108
|
}, "update");
|
|
129
109
|
const updateTxHistory = /* @__PURE__ */ __name((txStatus) => {
|
|
130
110
|
const txId = txStatus.txId;
|
|
@@ -153,8 +133,6 @@ const resetTxHistory = /* @__PURE__ */ __name(() => {
|
|
|
153
133
|
export {
|
|
154
134
|
DEFAULT_NETWORK_ID,
|
|
155
135
|
NETWORKS,
|
|
156
|
-
WIDGET_URL,
|
|
157
|
-
_adapter,
|
|
158
136
|
_config,
|
|
159
137
|
_state,
|
|
160
138
|
_txHistory,
|
|
@@ -162,10 +140,10 @@ export {
|
|
|
162
140
|
events,
|
|
163
141
|
getConfig,
|
|
164
142
|
getTxHistory,
|
|
165
|
-
|
|
166
|
-
onAdapterStateUpdate,
|
|
143
|
+
getWalletProvider,
|
|
167
144
|
resetTxHistory,
|
|
168
145
|
setConfig,
|
|
146
|
+
setWalletProvider,
|
|
169
147
|
update,
|
|
170
148
|
updateTxHistory
|
|
171
149
|
};
|
package/dist/esm/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state.ts"],"sourcesContent":["import {\n lsSet,\n lsGet,\n publicKeyFromPrivate,\n} from \"@fastnear/utils\";\
|
|
1
|
+
{"version":3,"sources":["../../src/state.ts"],"sourcesContent":["import {\n lsSet,\n lsGet,\n publicKeyFromPrivate,\n} from \"@fastnear/utils\";\n\nexport const DEFAULT_NETWORK_ID = \"mainnet\";\nexport const NETWORKS = {\n testnet: {\n networkId: \"testnet\",\n nodeUrl: \"https://rpc.testnet.fastnear.com/\",\n },\n mainnet: {\n networkId: \"mainnet\",\n nodeUrl: \"https://rpc.mainnet.fastnear.com/\",\n },\n};\n\nexport interface NetworkConfig {\n networkId: string;\n nodeUrl?: string;\n walletUrl?: string;\n helperUrl?: string;\n explorerUrl?: string;\n\n [key: string]: any;\n}\n\nexport interface AppState {\n accountId?: string | null;\n privateKey?: string | null;\n lastWalletId?: string | null;\n publicKey?: string | null;\n accessKeyContractId?: string | null;\n\n [key: string]: any;\n}\n\nexport interface TxStatus {\n txId: string;\n updateTimestamp?: number;\n\n [key: string]: any;\n}\n\nexport type TxHistory = Record<string, TxStatus>;\n\nexport interface EventListeners {\n account: Set<(accountId: string) => void>;\n tx: Set<(tx: TxStatus) => void>;\n}\n\nexport interface UnbroadcastedEvents {\n account: string[];\n tx: TxStatus[];\n}\n\n// Load config from localStorage or default to the network's config\nexport let _config: NetworkConfig = lsGet(\"config\") || {\n ...NETWORKS[DEFAULT_NETWORK_ID]\n};\n\n// Load application state from localStorage\nexport let _state: AppState = lsGet(\"state\") || {};\n\nexport interface WalletProvider {\n connect(options?: { contractId?: string; network?: string; excludedWallets?: string[]; features?: Record<string, boolean> }): Promise<{ accountId: string } | null>;\n restore?(options?: { contractId?: string; network?: string }): Promise<{ accountId: string } | null>;\n disconnect(): Promise<void>;\n sendTransaction(params: { receiverId: string; actions: any[]; signerId?: string }): Promise<any>;\n signMessage?(params: { message: string; recipient: string; nonce: Uint8Array }): Promise<any>;\n accountId(): string | null;\n isConnected(): boolean;\n}\n\nlet _walletProvider: WalletProvider | null = null;\n\nexport const setWalletProvider = (provider: WalletProvider): void => {\n _walletProvider = provider;\n};\n\nexport const getWalletProvider = (): WalletProvider | null => {\n return _walletProvider;\n};\n\n// Attempt to set publicKey if we have a privateKey\ntry {\n _state.publicKey = _state.privateKey\n ? publicKeyFromPrivate(_state.privateKey)\n : null;\n} catch (e) {\n console.error(\"Error parsing private key:\", e);\n _state.privateKey = null;\n lsSet(\"nonce\", null);\n}\n\n// Transaction history\nexport let _txHistory: TxHistory = lsGet(\"txHistory\") || {};\n\n\nexport const _unbroadcastedEvents: UnbroadcastedEvents = {\n account: [],\n tx: [],\n};\n\n// events / listeners\nexport const events = {\n _eventListeners: {\n account: new Set(),\n tx: new Set(),\n },\n\n notifyAccountListeners: (accountId: string) => {\n if (events._eventListeners.account.size === 0) {\n _unbroadcastedEvents.account.push(accountId);\n return;\n }\n events._eventListeners.account.forEach((callback: any) => {\n try {\n callback(accountId);\n } catch (e) {\n console.error(e);\n }\n });\n },\n\n notifyTxListeners: (tx: TxStatus) => {\n if (events._eventListeners.tx.size === 0) {\n _unbroadcastedEvents.tx.push(tx);\n return;\n }\n events._eventListeners.tx.forEach((callback: any) => {\n try {\n callback(tx);\n } catch (e) {\n console.error(e);\n }\n });\n },\n\n onAccount: (callback: (accountId: string) => void) => {\n events._eventListeners.account.add(callback);\n if (_unbroadcastedEvents.account.length > 0) {\n const accountEvent = _unbroadcastedEvents.account;\n _unbroadcastedEvents.account = [];\n accountEvent.forEach(events.notifyAccountListeners);\n }\n },\n\n onTx: (callback: (tx: TxStatus) => void): void => {\n events._eventListeners.tx.add(callback);\n if (_unbroadcastedEvents.tx.length > 0) {\n const txEvent = _unbroadcastedEvents.tx;\n _unbroadcastedEvents.tx = [];\n txEvent.forEach(events.notifyTxListeners);\n }\n }\n}\n\n// Mutators\nexport const update = (newState: Partial<AppState>) => {\n const oldState = _state;\n _state = {..._state, ...newState};\n\n lsSet(\"state\", {\n accountId: _state.accountId,\n privateKey: _state.privateKey,\n lastWalletId: _state.lastWalletId,\n accessKeyContractId: _state.accessKeyContractId,\n });\n\n if (\n newState.hasOwnProperty(\"privateKey\") &&\n newState.privateKey !== oldState.privateKey\n ) {\n _state.publicKey = newState.privateKey\n ? publicKeyFromPrivate(newState.privateKey as string)\n : null;\n lsSet(\"nonce\", null);\n }\n\n if (newState.accountId !== oldState.accountId) {\n events.notifyAccountListeners(newState.accountId as string);\n }\n}\n\nexport const updateTxHistory = (txStatus: TxStatus) => {\n const txId = txStatus.txId;\n _txHistory[txId] = {\n ...(_txHistory[txId] || {}),\n ...txStatus,\n updateTimestamp: Date.now(),\n };\n lsSet(\"txHistory\", _txHistory);\n events.notifyTxListeners(_txHistory[txId]);\n}\n\nexport const getConfig = (): NetworkConfig => {\n return _config;\n}\n\nexport const getTxHistory = (): TxHistory => {\n return _txHistory;\n}\n\n// Exposed \"write\" functions\nexport const setConfig = (newConf: NetworkConfig): void => {\n _config = { ...NETWORKS[newConf.networkId], ...newConf };\n lsSet(\"config\", _config);\n}\n\nexport const resetTxHistory = (): void => {\n _txHistory = {};\n lsSet(\"txHistory\", _txHistory);\n}\n"],"mappings":"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","names":[]}
|