@karn_lat/protocol-sdk 0.1.0-alpha.3 → 0.1.0-alpha.4
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/PUBLISH.md +5 -1
- package/README.md +114 -33
- package/dist/wallet/WalletManager.d.ts.map +1 -1
- package/dist/wallet/WalletManager.js +12 -3
- package/dist/wallet/WalletManager.js.map +1 -1
- package/dist/wallet/adapters/AlbedoAdapter.d.ts +0 -1
- package/dist/wallet/adapters/AlbedoAdapter.d.ts.map +1 -1
- package/dist/wallet/adapters/AlbedoAdapter.js +8 -24
- package/dist/wallet/adapters/AlbedoAdapter.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/wallet/WalletManager.test.ts +1 -1
- package/src/wallet/WalletManager.ts +12 -3
- package/src/wallet/adapters/AlbedoAdapter.ts +7 -27
- package/test-fixes.js +10 -2
package/PUBLISH.md
CHANGED
|
@@ -31,7 +31,11 @@ console.log('✓ Root import works!');
|
|
|
31
31
|
const client = new ValocracyClient(
|
|
32
32
|
'Test SDF Network ; September 2015',
|
|
33
33
|
'https://soroban-testnet.stellar.org',
|
|
34
|
-
|
|
34
|
+
<<<<<<< HEAD
|
|
35
|
+
'REDACTED_CONTRACT_ID_VALOCRACY'
|
|
36
|
+
=======
|
|
37
|
+
'CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"'
|
|
38
|
+
>>>>>>> 257583c5837a1af14efbaa2ea574613bd78df4b0
|
|
35
39
|
);
|
|
36
40
|
|
|
37
41
|
console.log('✓ Client instantiated successfully!');
|
package/README.md
CHANGED
|
@@ -5,56 +5,84 @@
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://soroban.stellar.org)
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
TypeScript SDK for integrating **Karn Protocol** contracts (Valocracy, Governor, Treasury) into web apps.
|
|
9
|
+
|
|
10
|
+
Includes:
|
|
11
|
+
- Typed contract clients (thin wrappers over Soroban-generated bindings)
|
|
12
|
+
- React provider + hooks for Next.js/React apps
|
|
13
|
+
- Multi-wallet connection manager (Freighter, Lobstr, xBull, Rabet, Albedo)
|
|
14
|
+
- Utilities (mana decay, polling helpers, simulations)
|
|
11
15
|
|
|
12
16
|
## Installation
|
|
13
17
|
|
|
14
18
|
```bash
|
|
15
|
-
npm install @karn_lat/protocol-sdk
|
|
19
|
+
npm install @karn_lat/protocol-sdk
|
|
16
20
|
```
|
|
17
21
|
|
|
22
|
+
## Requirements
|
|
23
|
+
|
|
24
|
+
- ESM package (`"type": "module"`)
|
|
25
|
+
- Node.js 18+ recommended
|
|
26
|
+
- React 18+ only if you use `@karn_lat/protocol-sdk/react` exports
|
|
27
|
+
|
|
18
28
|
## Import Patterns
|
|
19
29
|
|
|
20
|
-
The SDK supports
|
|
30
|
+
The SDK supports root and subpath imports (recommended for tree-shaking):
|
|
21
31
|
|
|
22
32
|
```typescript
|
|
23
|
-
// Root import
|
|
33
|
+
// Root import
|
|
24
34
|
import { ValocracyClient, GovernorClient, TreasuryClient } from '@karn_lat/protocol-sdk';
|
|
25
35
|
|
|
26
|
-
// Subpath imports
|
|
36
|
+
// Subpath imports
|
|
27
37
|
import { ValocracyClient } from '@karn_lat/protocol-sdk/clients';
|
|
28
38
|
import { useKarn, KarnProvider } from '@karn_lat/protocol-sdk/react';
|
|
29
39
|
import { WalletManager } from '@karn_lat/protocol-sdk/wallet';
|
|
30
|
-
import {
|
|
40
|
+
import { calculateManaAtTimestamp } from '@karn_lat/protocol-sdk/utils';
|
|
31
41
|
```
|
|
32
42
|
|
|
33
|
-
##
|
|
43
|
+
## Network Constants
|
|
44
|
+
|
|
45
|
+
Common network passphrases:
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
export const STELLAR = {
|
|
49
|
+
TESTNET_PASSPHRASE: 'Test SDF Network ; September 2015',
|
|
50
|
+
PUBLIC_PASSPHRASE: 'Public Global Stellar Network ; September 2015',
|
|
51
|
+
};
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Use an RPC URL appropriate for your environment (public testnet RPC, self-hosted RPC, etc.).
|
|
55
|
+
|
|
56
|
+
## Quick Start (Clients)
|
|
34
57
|
|
|
35
58
|
```typescript
|
|
36
|
-
import {
|
|
37
|
-
ValocracyClient,
|
|
38
|
-
GovernorClient,
|
|
39
|
-
TreasuryClient,
|
|
40
|
-
rpc
|
|
41
|
-
} from '@karn_lat/protocol-sdk';
|
|
59
|
+
import { ValocracyClient, GovernorClient, TreasuryClient } from '@karn_lat/protocol-sdk';
|
|
42
60
|
|
|
43
61
|
// Configuration
|
|
44
|
-
const NETWORK_PASSPHRASE =
|
|
45
|
-
const RPC_URL =
|
|
46
|
-
|
|
62
|
+
const NETWORK_PASSPHRASE = 'Test SDF Network ; September 2015';
|
|
63
|
+
const RPC_URL = 'https://soroban-testnet.stellar.org';
|
|
64
|
+
|
|
65
|
+
const CONTRACTS = {
|
|
66
|
+
valocracy: 'C...',
|
|
67
|
+
governor: 'C...',
|
|
68
|
+
treasury: 'C...',
|
|
69
|
+
};
|
|
47
70
|
|
|
48
71
|
async function main() {
|
|
49
|
-
const valocracy = new ValocracyClient(NETWORK_PASSPHRASE, RPC_URL,
|
|
72
|
+
const valocracy = new ValocracyClient(NETWORK_PASSPHRASE, RPC_URL, CONTRACTS.valocracy);
|
|
73
|
+
const governor = new GovernorClient(NETWORK_PASSPHRASE, RPC_URL, CONTRACTS.governor);
|
|
74
|
+
const treasury = new TreasuryClient(NETWORK_PASSPHRASE, RPC_URL, CONTRACTS.treasury);
|
|
50
75
|
|
|
51
76
|
// Read data
|
|
52
|
-
const level = await valocracy.getLevel(
|
|
53
|
-
|
|
77
|
+
const level = await valocracy.getLevel('G...');
|
|
78
|
+
const mana = await valocracy.getMana('G...');
|
|
79
|
+
const claimable = await treasury.getClaimableBalance('G...');
|
|
80
|
+
|
|
81
|
+
console.log({ level, mana, claimable });
|
|
54
82
|
|
|
55
|
-
//
|
|
56
|
-
const
|
|
57
|
-
console.log(
|
|
83
|
+
// Governance read
|
|
84
|
+
const proposal = await governor.getProposal(1n);
|
|
85
|
+
console.log({ proposal });
|
|
58
86
|
}
|
|
59
87
|
|
|
60
88
|
main();
|
|
@@ -62,22 +90,22 @@ main();
|
|
|
62
90
|
|
|
63
91
|
## Features
|
|
64
92
|
|
|
65
|
-
- **Typed
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
93
|
+
- **Typed clients**: `ValocracyClient`, `GovernorClient`, `TreasuryClient`
|
|
94
|
+
- **React**: `KarnProvider`, `useKarn`, `useValocracy`, `useGovernor`, `useTreasury`, `useWallet`, `useMultiWallet`
|
|
95
|
+
- **Multi-wallet**: `WalletManager` + adapters
|
|
96
|
+
- **Utilities**: mana decay helpers + polling/simulation helpers
|
|
69
97
|
|
|
70
98
|
## React Usage
|
|
71
99
|
|
|
72
|
-
Wrap your app in `KarnProvider
|
|
100
|
+
Wrap your app in `KarnProvider` (React/Next.js):
|
|
73
101
|
|
|
74
102
|
```tsx
|
|
75
|
-
import { KarnProvider } from '@karn_lat/protocol-sdk';
|
|
103
|
+
import { KarnProvider } from '@karn_lat/protocol-sdk/react';
|
|
76
104
|
|
|
77
105
|
const config = {
|
|
78
|
-
networkPassphrase:
|
|
79
|
-
rpcUrl:
|
|
80
|
-
contracts: { valocracy:
|
|
106
|
+
networkPassphrase: 'Test SDF Network ; September 2015',
|
|
107
|
+
rpcUrl: 'https://soroban-testnet.stellar.org',
|
|
108
|
+
contracts: { valocracy: 'C...', governor: 'C...', treasury: 'C...' },
|
|
81
109
|
};
|
|
82
110
|
|
|
83
111
|
function App() {
|
|
@@ -88,3 +116,56 @@ function App() {
|
|
|
88
116
|
);
|
|
89
117
|
}
|
|
90
118
|
```
|
|
119
|
+
|
|
120
|
+
Then, in a component:
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
import { useValocracy, useTreasury } from '@karn_lat/protocol-sdk/react';
|
|
124
|
+
|
|
125
|
+
export function MyComponent({ address }: { address: string }) {
|
|
126
|
+
const { getLevel, getMana } = useValocracy();
|
|
127
|
+
const { getClaimableBalance } = useTreasury();
|
|
128
|
+
|
|
129
|
+
// Call these from effects/actions; they are async.
|
|
130
|
+
// Example omitted for brevity.
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Wallet Support
|
|
136
|
+
|
|
137
|
+
The wallet module is intended for browser usage. In Next.js, use it in client components only.
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
import { WalletManager, WalletType } from '@karn_lat/protocol-sdk/wallet';
|
|
141
|
+
|
|
142
|
+
const wallets = new WalletManager();
|
|
143
|
+
const available = await wallets.getAvailableWallets();
|
|
144
|
+
|
|
145
|
+
await wallets.connect(WalletType.FREIGHTER);
|
|
146
|
+
const address = await wallets.getAddress();
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Notes:
|
|
150
|
+
- **Freighter/Lobstr/xBull/Rabet** availability is detected from injected `window.*` APIs.
|
|
151
|
+
- **Albedo** is web-based; this SDK does not inject external scripts. Provide `window.albedo` yourself if you want to use Albedo.
|
|
152
|
+
|
|
153
|
+
## Utilities
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
import { calculateManaAtTimestamp } from '@karn_lat/protocol-sdk/utils';
|
|
157
|
+
|
|
158
|
+
// Example: project voting power at a given timestamp (use values from on-chain stats/events).
|
|
159
|
+
const mana = calculateManaAtTimestamp({
|
|
160
|
+
level: 100,
|
|
161
|
+
expiry: 1_800_000_000,
|
|
162
|
+
now: 1_700_000_000,
|
|
163
|
+
});
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## API Surface
|
|
167
|
+
|
|
168
|
+
- Clients: `@karn_lat/protocol-sdk/clients`
|
|
169
|
+
- React: `@karn_lat/protocol-sdk/react`
|
|
170
|
+
- Wallet: `@karn_lat/protocol-sdk/wallet`
|
|
171
|
+
- Utils: `@karn_lat/protocol-sdk/utils`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletManager.d.ts","sourceRoot":"","sources":["../../src/wallet/WalletManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEX,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAQpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,cAAc,CAA6C;;IAkCnE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAYtD;;OAEG;IACH,aAAa,IAAI,cAAc,EAAE;IAIjC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoEhE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ1C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC;;OAEG;IACG,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC;IAWlB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAmBnC;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAO3D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAO5D;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"WalletManager.d.ts","sourceRoot":"","sources":["../../src/wallet/WalletManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEX,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAQpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,cAAc,CAA6C;;IAkCnE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAYtD;;OAEG;IACH,aAAa,IAAI,cAAc,EAAE;IAIjC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoEhE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ1C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC;;OAEG;IACG,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC;IAWlB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAmBnC;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAO3D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAO5D;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;YACW,iBAAiB;CAoBhC"}
|
|
@@ -225,7 +225,10 @@ export class WalletManager {
|
|
|
225
225
|
if (typeof window === 'undefined')
|
|
226
226
|
return;
|
|
227
227
|
try {
|
|
228
|
-
|
|
228
|
+
const storage = window.localStorage;
|
|
229
|
+
if (!storage)
|
|
230
|
+
return;
|
|
231
|
+
storage.setItem('karn_wallet_connection', JSON.stringify({ walletType, address }));
|
|
229
232
|
}
|
|
230
233
|
catch (error) {
|
|
231
234
|
console.warn('Failed to save wallet connection:', error);
|
|
@@ -238,7 +241,10 @@ export class WalletManager {
|
|
|
238
241
|
if (typeof window === 'undefined')
|
|
239
242
|
return;
|
|
240
243
|
try {
|
|
241
|
-
localStorage
|
|
244
|
+
const storage = window.localStorage;
|
|
245
|
+
if (!storage)
|
|
246
|
+
return;
|
|
247
|
+
storage.removeItem('karn_wallet_connection');
|
|
242
248
|
}
|
|
243
249
|
catch (error) {
|
|
244
250
|
console.warn('Failed to clear wallet connection:', error);
|
|
@@ -251,7 +257,10 @@ export class WalletManager {
|
|
|
251
257
|
if (typeof window === 'undefined')
|
|
252
258
|
return;
|
|
253
259
|
try {
|
|
254
|
-
const
|
|
260
|
+
const storage = window.localStorage;
|
|
261
|
+
if (!storage)
|
|
262
|
+
return;
|
|
263
|
+
const saved = storage.getItem('karn_wallet_connection');
|
|
255
264
|
if (!saved)
|
|
256
265
|
return;
|
|
257
266
|
const { walletType } = JSON.parse(saved);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletManager.js","sourceRoot":"","sources":["../../src/wallet/WalletManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WalletManager.js","sourceRoot":"","sources":["../../src/wallet/WalletManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,UAAU,EAIV,WAAW,EAIX,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,OAAO,aAAa;IAMxB;QAJQ,mBAAc,GAAyB,IAAI,CAAC;QAKlD,iCAAiC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC;YACtB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,gBAAgB,EAAmB,CAAC;YAC/D,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,aAAa,EAAmB,CAAC;YACzD,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,aAAa,EAAmB,CAAC;YACzD,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,YAAY,EAAmB,CAAC;YACvD,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,YAAY,EAAmB,CAAC;SACxD,CAAC,CAAC;QAEH,mBAAmB;QACnB,IAAI,CAAC,KAAK,GAAG;YACX,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC;YAC5B,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC;YAChC,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC;YACnC,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,GAAG,EAAE,CAAC;YACxC,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,GAAG,EAAE,CAAC;SACzC,CAAC,CAAC;QAEH,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,SAAS,GAAqB,EAAE,CAAC;QAEvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,UAAsB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,WAAW,CACnB,eAAe,UAAU,mBAAmB,EAC5C,eAAe,CAAC,kBAAkB,CACnC,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CACnB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAC3C,eAAe,CAAC,aAAa,EAC7B,UAAU,CACX,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,eAAe;QACf,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAExC,eAAe;YACf,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;YAEhC,0CAA0C;YAC1C,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEzC,qBAAqB;YACrB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YAE7D,OAAO;gBACL,UAAU;gBACV,OAAO;gBACP,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;YAEjC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,WAAW,CACnB,wBAAwB,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EACjE,eAAe,CAAC,aAAa,EAC7B,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2BAA2B;YAC3B,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAExB,qBAAqB;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,wBAAwB;QACxB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,WAAW,CACnB,qBAAqB,EACrB,eAAe,CAAC,aAAa,CAC9B,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,WAAW,CACnB,qBAAqB,EACrB,eAAe,CAAC,aAAa,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CACnB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAmC,EAC3D,eAAe,CAAC,kBAAkB,EAClC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,WAAW,CACnB,qBAAqB,EACrB,eAAe,CAAC,aAAa,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,WAAW,CACnB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,qCAAqC,EAC7D,eAAe,CAAC,kBAAkB,EAClC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,EAAE,CAAC,KAAkB,EAAE,QAA6B;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAkB,EAAE,QAA6B;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAkB,EAAE,OAA2B;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,UAAsB,EAAE,OAAe;QAC5D,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAI,MAAc,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,OAAO,CAAC,OAAO,CACb,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CACxC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAI,MAAc,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAI,MAAc,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEzC,4BAA4B;YAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -36,7 +36,6 @@ export declare class AlbedoAdapter implements WalletAdapter {
|
|
|
36
36
|
metadata: WalletMetadata;
|
|
37
37
|
private currentAddress;
|
|
38
38
|
isAvailable(): Promise<boolean>;
|
|
39
|
-
private loadAlbedoScript;
|
|
40
39
|
connect(): Promise<string>;
|
|
41
40
|
disconnect(): Promise<void>;
|
|
42
41
|
getAddress(): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlbedoAdapter.d.ts","sourceRoot":"","sources":["../../../src/wallet/adapters/AlbedoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAGrB,UAAU,SAAS;IACjB,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,EAAE,CAAC,OAAO,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,KAAK,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,SAAS,CAAC;KACpB;CACF;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,IAAI,aAAqB;IAEzB,QAAQ,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"AlbedoAdapter.d.ts","sourceRoot":"","sources":["../../../src/wallet/adapters/AlbedoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAGrB,UAAU,SAAS;IACjB,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,EAAE,CAAC,OAAO,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,KAAK,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,SAAS,CAAC;KACpB;CACF;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,IAAI,aAAqB;IAEzB,QAAQ,EAAE,cAAc,CAQtB;IAEF,OAAO,CAAC,cAAc,CAAuB;IAEvC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAK/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAsB1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIpC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC;CA4BnB"}
|
|
@@ -13,36 +13,20 @@ export class AlbedoAdapter {
|
|
|
13
13
|
name: 'Albedo',
|
|
14
14
|
url: 'https://albedo.link',
|
|
15
15
|
description: 'Web-based Stellar wallet with seamless browser integration',
|
|
16
|
-
|
|
16
|
+
// Albedo is web-based, but availability is environment-dependent.
|
|
17
|
+
// We treat it as "available" only when the runtime can actually invoke it.
|
|
18
|
+
isAvailable: false,
|
|
17
19
|
};
|
|
18
20
|
this.currentAddress = null;
|
|
19
21
|
}
|
|
20
22
|
async isAvailable() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
await this.loadAlbedoScript();
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
async loadAlbedoScript() {
|
|
29
|
-
return new Promise((resolve, reject) => {
|
|
30
|
-
if (window.albedo) {
|
|
31
|
-
resolve();
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const script = document.createElement('script');
|
|
35
|
-
script.src = 'https://cdn.jsdelivr.net/npm/@albedo-link/intent@latest/lib/albedo.intent.js';
|
|
36
|
-
script.async = true;
|
|
37
|
-
script.onload = () => resolve();
|
|
38
|
-
script.onerror = () => reject(new Error('Failed to load Albedo'));
|
|
39
|
-
document.head.appendChild(script);
|
|
40
|
-
});
|
|
23
|
+
if (typeof window === 'undefined')
|
|
24
|
+
return false;
|
|
25
|
+
return !!window.albedo;
|
|
41
26
|
}
|
|
42
27
|
async connect() {
|
|
43
|
-
await this.isAvailable()
|
|
44
|
-
|
|
45
|
-
throw new WalletError('Albedo failed to load', WalletErrorCode.NOT_INSTALLED, WalletType.ALBEDO);
|
|
28
|
+
if (!(await this.isAvailable()) || !window.albedo) {
|
|
29
|
+
throw new WalletError('Albedo is not available in this environment', WalletErrorCode.NOT_INSTALLED, WalletType.ALBEDO);
|
|
46
30
|
}
|
|
47
31
|
try {
|
|
48
32
|
const result = await window.albedo.publicKey({ require_existing: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlbedoAdapter.js","sourceRoot":"","sources":["../../../src/wallet/adapters/AlbedoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,UAAU,EAGV,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAoBrB,MAAM,OAAO,aAAa;IAA1B;QACE,SAAI,GAAG,UAAU,CAAC,MAAM,CAAC;QAEzB,aAAQ,GAAmB;YACzB,IAAI,EAAE,UAAU,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,qBAAqB;YAC1B,WAAW,EAAE,4DAA4D;YACzE,
|
|
1
|
+
{"version":3,"file":"AlbedoAdapter.js","sourceRoot":"","sources":["../../../src/wallet/adapters/AlbedoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,UAAU,EAGV,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAoBrB,MAAM,OAAO,aAAa;IAA1B;QACE,SAAI,GAAG,UAAU,CAAC,MAAM,CAAC;QAEzB,aAAQ,GAAmB;YACzB,IAAI,EAAE,UAAU,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,qBAAqB;YAC1B,WAAW,EAAE,4DAA4D;YACzE,kEAAkE;YAClE,2EAA2E;YAC3E,WAAW,EAAE,KAAK;SACnB,CAAC;QAEM,mBAAc,GAAkB,IAAI,CAAC;IAwE/C,CAAC;IAtEC,KAAK,CAAC,WAAW;QACf,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,WAAW,CACnB,6CAA6C,EAC7C,eAAe,CAAC,aAAa,EAC7B,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;YACpC,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,WAAW,CACnB,gCAAgC,KAAK,CAAC,OAAO,EAAE,EAC/C,eAAe,CAAC,aAAa,EAC7B,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,OAAgC;QAEhC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,yBAAyB,EACzB,eAAe,CAAC,aAAa,EAC7B,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,GAAG;gBACH,OAAO,EAAE,OAAO,EAAE,iBAAiB,IAAI,SAAS;gBAChD,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;gBACxC,MAAM,EAAE,KAAK,EAAE,oBAAoB;aACpC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,mBAAmB,CAAC;QACpC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,WAAW,CACnB,+BAA+B,KAAK,CAAC,OAAO,EAAE,EAC9C,eAAe,CAAC,cAAc,EAC9B,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -315,7 +315,10 @@ export class WalletManager {
|
|
|
315
315
|
if (typeof window === 'undefined') return;
|
|
316
316
|
|
|
317
317
|
try {
|
|
318
|
-
localStorage
|
|
318
|
+
const storage = (window as any).localStorage;
|
|
319
|
+
if (!storage) return;
|
|
320
|
+
|
|
321
|
+
storage.setItem(
|
|
319
322
|
'karn_wallet_connection',
|
|
320
323
|
JSON.stringify({ walletType, address })
|
|
321
324
|
);
|
|
@@ -331,7 +334,10 @@ export class WalletManager {
|
|
|
331
334
|
if (typeof window === 'undefined') return;
|
|
332
335
|
|
|
333
336
|
try {
|
|
334
|
-
|
|
337
|
+
const storage = (window as any).localStorage;
|
|
338
|
+
if (!storage) return;
|
|
339
|
+
|
|
340
|
+
storage.removeItem('karn_wallet_connection');
|
|
335
341
|
} catch (error) {
|
|
336
342
|
console.warn('Failed to clear wallet connection:', error);
|
|
337
343
|
}
|
|
@@ -344,7 +350,10 @@ export class WalletManager {
|
|
|
344
350
|
if (typeof window === 'undefined') return;
|
|
345
351
|
|
|
346
352
|
try {
|
|
347
|
-
const
|
|
353
|
+
const storage = (window as any).localStorage;
|
|
354
|
+
if (!storage) return;
|
|
355
|
+
|
|
356
|
+
const saved = storage.getItem('karn_wallet_connection');
|
|
348
357
|
if (!saved) return;
|
|
349
358
|
|
|
350
359
|
const { walletType } = JSON.parse(saved);
|
|
@@ -40,42 +40,22 @@ export class AlbedoAdapter implements WalletAdapter {
|
|
|
40
40
|
name: 'Albedo',
|
|
41
41
|
url: 'https://albedo.link',
|
|
42
42
|
description: 'Web-based Stellar wallet with seamless browser integration',
|
|
43
|
-
|
|
43
|
+
// Albedo is web-based, but availability is environment-dependent.
|
|
44
|
+
// We treat it as "available" only when the runtime can actually invoke it.
|
|
45
|
+
isAvailable: false,
|
|
44
46
|
};
|
|
45
47
|
|
|
46
48
|
private currentAddress: string | null = null;
|
|
47
49
|
|
|
48
50
|
async isAvailable(): Promise<boolean> {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (typeof window !== 'undefined' && !window.albedo) {
|
|
52
|
-
await this.loadAlbedoScript();
|
|
53
|
-
}
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
private async loadAlbedoScript(): Promise<void> {
|
|
58
|
-
return new Promise((resolve, reject) => {
|
|
59
|
-
if (window.albedo) {
|
|
60
|
-
resolve();
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const script = document.createElement('script');
|
|
65
|
-
script.src = 'https://cdn.jsdelivr.net/npm/@albedo-link/intent@latest/lib/albedo.intent.js';
|
|
66
|
-
script.async = true;
|
|
67
|
-
script.onload = () => resolve();
|
|
68
|
-
script.onerror = () => reject(new Error('Failed to load Albedo'));
|
|
69
|
-
document.head.appendChild(script);
|
|
70
|
-
});
|
|
51
|
+
if (typeof window === 'undefined') return false;
|
|
52
|
+
return !!window.albedo;
|
|
71
53
|
}
|
|
72
54
|
|
|
73
55
|
async connect(): Promise<string> {
|
|
74
|
-
await this.isAvailable()
|
|
75
|
-
|
|
76
|
-
if (!window.albedo) {
|
|
56
|
+
if (!(await this.isAvailable()) || !window.albedo) {
|
|
77
57
|
throw new WalletError(
|
|
78
|
-
'Albedo
|
|
58
|
+
'Albedo is not available in this environment',
|
|
79
59
|
WalletErrorCode.NOT_INSTALLED,
|
|
80
60
|
WalletType.ALBEDO
|
|
81
61
|
);
|
package/test-fixes.js
CHANGED
|
@@ -18,7 +18,11 @@ try {
|
|
|
18
18
|
const valocracy = new ValocracyClient(
|
|
19
19
|
'Test SDF Network ; September 2015',
|
|
20
20
|
'https://soroban-testnet.stellar.org',
|
|
21
|
-
|
|
21
|
+
<<<<<<< HEAD
|
|
22
|
+
'REDACTED_CONTRACT_ID_VALOCRACY'
|
|
23
|
+
=======
|
|
24
|
+
'CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"'
|
|
25
|
+
>>>>>>> 257583c5837a1af14efbaa2ea574613bd78df4b0
|
|
22
26
|
);
|
|
23
27
|
|
|
24
28
|
console.log(' ✓ Import from ./dist/clients/index.js works\n');
|
|
@@ -36,7 +40,11 @@ try {
|
|
|
36
40
|
const governor = new GovernorClient(
|
|
37
41
|
'Test SDF Network ; September 2015',
|
|
38
42
|
'https://soroban-testnet.stellar.org',
|
|
39
|
-
|
|
43
|
+
<<<<<<< HEAD
|
|
44
|
+
'REDACTED_CONTRACT_ID_GOVERNOR'
|
|
45
|
+
=======
|
|
46
|
+
'CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"'
|
|
47
|
+
>>>>>>> 257583c5837a1af14efbaa2ea574613bd78df4b0
|
|
40
48
|
);
|
|
41
49
|
|
|
42
50
|
console.log(' ✓ Import from ./dist/index.js works');
|