@chipi-stack/starknet-connector 0.1.4 → 0.3.0
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/README.md +34 -25
- package/dist/index.cjs +337 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +236 -0
- package/dist/index.d.ts +236 -9
- package/dist/index.js +327 -11
- package/dist/index.js.map +1 -1
- package/package.json +15 -6
- package/dist/connector.d.ts +0 -72
- package/dist/connector.d.ts.map +0 -1
- package/dist/connector.js +0 -128
- package/dist/connector.js.map +0 -1
- package/dist/icon.d.ts +0 -2
- package/dist/icon.d.ts.map +0 -1
- package/dist/icon.js +0 -5
- package/dist/icon.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/protocol.d.ts +0 -62
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -15
- package/dist/protocol.js.map +0 -1
- package/dist/register.d.ts +0 -24
- package/dist/register.d.ts.map +0 -1
- package/dist/register.js +0 -39
- package/dist/register.js.map +0 -1
- package/dist/transport.d.ts +0 -68
- package/dist/transport.d.ts.map +0 -1
- package/dist/transport.js +0 -217
- package/dist/transport.js.map +0 -1
package/dist/connector.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `ChipiConnector` — a starknet-react / get-starknet connector for the Chipi
|
|
3
|
-
* hosted smart-account wallet. This is the Cartridge/Argent-Web-Wallet model:
|
|
4
|
-
* a self-contained connector package a dApp adds to its `connectors` array
|
|
5
|
-
* (`new ChipiConnector()`), with NO dependency on StarknetKit/Argent and NO
|
|
6
|
-
* browser extension. Clicking "Connect with Chipi" opens our hosted wallet
|
|
7
|
-
* (passkey + gasless paymaster) in a popup; the dApp's `wallet_*` RPC calls are
|
|
8
|
-
* forwarded over postMessage and answered after the user approves in Chipi's
|
|
9
|
-
* own (already-built) approval UI.
|
|
10
|
-
*/
|
|
11
|
-
import { Connector } from "@starknet-react/core";
|
|
12
|
-
import { WalletAccount } from "starknet";
|
|
13
|
-
import { ChipiPopupTransport } from "./transport.js";
|
|
14
|
-
import { registerChipiWallet } from "./register.js";
|
|
15
|
-
import { CHIPI_ICON } from "./icon.js";
|
|
16
|
-
/** Starknet mainnet chain id (felt of the shortstring "SN_MAIN"). */
|
|
17
|
-
const SN_MAIN = BigInt("0x534e5f4d41494e");
|
|
18
|
-
export class ChipiConnector extends Connector {
|
|
19
|
-
constructor(options = {}) {
|
|
20
|
-
super();
|
|
21
|
-
this._account = null;
|
|
22
|
-
this._swo = null;
|
|
23
|
-
this._registration = null;
|
|
24
|
-
const walletUrl = options.walletUrl ?? options.transport?.walletUrl ?? "https://wallet.chipipay.com";
|
|
25
|
-
this.transport = new ChipiPopupTransport({
|
|
26
|
-
...options.transport,
|
|
27
|
-
walletUrl,
|
|
28
|
-
mode: "popup", // v1: external-dApp popup only (parent host not yet built)
|
|
29
|
-
});
|
|
30
|
-
this._id = options.id ?? "chipi";
|
|
31
|
-
this._name = options.name ?? "Connect with Chipi";
|
|
32
|
-
this._icon = options.icon ?? CHIPI_ICON;
|
|
33
|
-
if (options.register !== false)
|
|
34
|
-
this.register();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Announce this wallet to scanning dApps (`window.starknet_chipi` +
|
|
38
|
-
* `starknet:announceWallet`). Called automatically from the constructor
|
|
39
|
-
* unless `register: false`. Idempotent and SSR-safe.
|
|
40
|
-
*/
|
|
41
|
-
register() {
|
|
42
|
-
if (this._registration)
|
|
43
|
-
return;
|
|
44
|
-
this._registration = registerChipiWallet(this.swo());
|
|
45
|
-
}
|
|
46
|
-
/** Undo {@link register} — remove the window object + announce listener. */
|
|
47
|
-
unregister() {
|
|
48
|
-
this._registration?.dispose();
|
|
49
|
-
this._registration = null;
|
|
50
|
-
}
|
|
51
|
-
get id() {
|
|
52
|
-
return this._id;
|
|
53
|
-
}
|
|
54
|
-
get name() {
|
|
55
|
-
return this._name;
|
|
56
|
-
}
|
|
57
|
-
get icon() {
|
|
58
|
-
return this._icon;
|
|
59
|
-
}
|
|
60
|
-
/** Hosted wallet — always available (no extension to detect). */
|
|
61
|
-
available() {
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
/** No silent reconnect in v1 — the user re-approves the popup each session. */
|
|
65
|
-
async ready() {
|
|
66
|
-
return this._account !== null;
|
|
67
|
-
}
|
|
68
|
-
/** Lazily build the postMessage-backed get-starknet window object. */
|
|
69
|
-
swo() {
|
|
70
|
-
if (this._swo)
|
|
71
|
-
return this._swo;
|
|
72
|
-
const transport = this.transport;
|
|
73
|
-
const request = (async (call) => transport.request(call));
|
|
74
|
-
this._swo = {
|
|
75
|
-
id: this._id,
|
|
76
|
-
name: this._name,
|
|
77
|
-
version: "1.0.0",
|
|
78
|
-
icon: typeof this._icon === "string" ? this._icon : (this._icon?.dark ?? ""),
|
|
79
|
-
request,
|
|
80
|
-
on: ((event, handler) => {
|
|
81
|
-
if (event === "accountsChanged" || event === "networkChanged")
|
|
82
|
-
transport.on(event, handler);
|
|
83
|
-
}),
|
|
84
|
-
off: ((event, handler) => {
|
|
85
|
-
if (event === "accountsChanged" || event === "networkChanged")
|
|
86
|
-
transport.off(event, handler);
|
|
87
|
-
}),
|
|
88
|
-
};
|
|
89
|
-
return this._swo;
|
|
90
|
-
}
|
|
91
|
-
async connect() {
|
|
92
|
-
await this.transport.open();
|
|
93
|
-
const accounts = (await this.transport.request({ type: "wallet_requestAccounts" }));
|
|
94
|
-
const account = accounts?.[0];
|
|
95
|
-
if (!account)
|
|
96
|
-
throw new Error("chipi_no_account");
|
|
97
|
-
this._account = account;
|
|
98
|
-
const data = { account, chainId: SN_MAIN };
|
|
99
|
-
this.emitEvent("connect", data);
|
|
100
|
-
return data;
|
|
101
|
-
}
|
|
102
|
-
async disconnect() {
|
|
103
|
-
this.transport.close();
|
|
104
|
-
this._account = null;
|
|
105
|
-
this._swo = null;
|
|
106
|
-
this.emitEvent("disconnect");
|
|
107
|
-
}
|
|
108
|
-
// `Connector` extends eventemitter3's EventEmitter, but the bundled .d.ts
|
|
109
|
-
// doesn't surface `emit` cleanly through the abstract class — reach it via a
|
|
110
|
-
// narrow cast rather than fight the upstream typing.
|
|
111
|
-
emitEvent(event, data) {
|
|
112
|
-
this.emit(event, data);
|
|
113
|
-
}
|
|
114
|
-
async account(provider) {
|
|
115
|
-
if (!this._account)
|
|
116
|
-
throw new Error("chipi_not_connected");
|
|
117
|
-
// WalletAccount routes execute()/signMessage() through the SWO's request(),
|
|
118
|
-
// i.e. over our postMessage channel to the hosted wallet.
|
|
119
|
-
return WalletAccount.connect(provider, this.swo());
|
|
120
|
-
}
|
|
121
|
-
async chainId() {
|
|
122
|
-
return SN_MAIN;
|
|
123
|
-
}
|
|
124
|
-
async request(call) {
|
|
125
|
-
return this.transport.request(call);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=connector.js.map
|
package/dist/connector.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
|
package/dist/icon.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const CHIPI_ICON = "data:image/png;base64,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";
|
|
2
|
-
//# sourceMappingURL=icon.d.ts.map
|
package/dist/icon.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../src/icon.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,mysBAAmysB,CAAC"}
|
package/dist/icon.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// Chipi brand wallet icon — official "CHIPI PAY" wordmark on a white
|
|
2
|
-
// rounded tile, 256x256 PNG (source: backend-dashboard chipi-pay-dark.png).
|
|
3
|
-
// Generated asset; a data-URI is what get-starknet / wallet pickers render.
|
|
4
|
-
export const CHIPI_ICON = "data:image/png;base64,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";
|
|
5
|
-
//# sourceMappingURL=icon.js.map
|
package/dist/icon.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../src/icon.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,UAAU,GAAG,gysBAAgysB,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
|
package/dist/protocol.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wire protocol between the "Connect with Chipi" connector (running in the dApp)
|
|
3
|
-
* and the Chipi hosted wallet (running at `wallet.chipipay.com` in a popup).
|
|
4
|
-
*
|
|
5
|
-
* Both sides import these shapes so the contract stays in lock-step. The
|
|
6
|
-
* transport is `window.postMessage` — the dApp opens the wallet in a popup,
|
|
7
|
-
* forwards get-starknet `wallet_*` RPC calls over the channel, and the wallet
|
|
8
|
-
* answers after the user approves in its own (already-built) approval UI.
|
|
9
|
-
*/
|
|
10
|
-
/** A get-starknet RPC call as sent over the wire — just the discriminant +
|
|
11
|
-
* optional params (the full typed `RpcMessage` carries result/errors we don't
|
|
12
|
-
* serialize). */
|
|
13
|
-
export interface ChipiRpcCall {
|
|
14
|
-
type: string;
|
|
15
|
-
params?: unknown;
|
|
16
|
-
}
|
|
17
|
-
/** Namespace tag on every message so we ignore unrelated postMessages. */
|
|
18
|
-
export declare const CHIPI_WC: "chipi-connect/v1";
|
|
19
|
-
/** wallet → dApp: the hosted wallet page finished loading and is listening. */
|
|
20
|
-
export interface ChipiReadyMessage {
|
|
21
|
-
channel: typeof CHIPI_WC;
|
|
22
|
-
type: "ready";
|
|
23
|
-
}
|
|
24
|
-
/** dApp → wallet: forward a get-starknet `wallet_*` RPC call. */
|
|
25
|
-
export interface ChipiRpcRequestMessage {
|
|
26
|
-
channel: typeof CHIPI_WC;
|
|
27
|
-
type: "rpc";
|
|
28
|
-
id: string;
|
|
29
|
-
/** The dApp origin, so the wallet can show it + enforce Verify checks. */
|
|
30
|
-
origin: string;
|
|
31
|
-
call: ChipiRpcCall;
|
|
32
|
-
}
|
|
33
|
-
/** wallet → dApp: the result (or error) for a given request id. */
|
|
34
|
-
export type ChipiRpcResultMessage = {
|
|
35
|
-
channel: typeof CHIPI_WC;
|
|
36
|
-
type: "rpc-result";
|
|
37
|
-
id: string;
|
|
38
|
-
ok: true;
|
|
39
|
-
result: unknown;
|
|
40
|
-
} | {
|
|
41
|
-
channel: typeof CHIPI_WC;
|
|
42
|
-
type: "rpc-result";
|
|
43
|
-
id: string;
|
|
44
|
-
ok: false;
|
|
45
|
-
error: {
|
|
46
|
-
code: number;
|
|
47
|
-
message: string;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
/** wallet → dApp: an account/network change to propagate to the dApp. */
|
|
51
|
-
export interface ChipiEventMessage {
|
|
52
|
-
channel: typeof CHIPI_WC;
|
|
53
|
-
type: "event";
|
|
54
|
-
event: "accountsChanged" | "networkChanged";
|
|
55
|
-
data: unknown;
|
|
56
|
-
}
|
|
57
|
-
export type ChipiWalletMessage = ChipiReadyMessage | ChipiRpcResultMessage | ChipiEventMessage;
|
|
58
|
-
export type ChipiDappMessage = ChipiRpcRequestMessage;
|
|
59
|
-
export declare function isChipiWalletMessage(data: unknown): data is ChipiWalletMessage;
|
|
60
|
-
/** Type guard for a dApp→wallet message (used by the hosted wallet side). */
|
|
61
|
-
export declare function isChipiDappMessage(data: unknown): data is ChipiDappMessage;
|
|
62
|
-
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH;;iBAEiB;AACjB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,0EAA0E;AAC1E,eAAO,MAAM,QAAQ,EAAG,kBAA2B,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,QAAQ,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,QAAQ,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,OAAO,EAAE,OAAO,QAAQ,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACvF;IACE,OAAO,EAAE,OAAO,QAAQ,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,CAAC;AAEN,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,QAAQ,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;AAC/F,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAM9E;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAO1E"}
|
package/dist/protocol.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/** Namespace tag on every message so we ignore unrelated postMessages. */
|
|
2
|
-
export const CHIPI_WC = "chipi-connect/v1";
|
|
3
|
-
export function isChipiWalletMessage(data) {
|
|
4
|
-
return (typeof data === "object" &&
|
|
5
|
-
data !== null &&
|
|
6
|
-
data.channel === CHIPI_WC);
|
|
7
|
-
}
|
|
8
|
-
/** Type guard for a dApp→wallet message (used by the hosted wallet side). */
|
|
9
|
-
export function isChipiDappMessage(data) {
|
|
10
|
-
return (typeof data === "object" &&
|
|
11
|
-
data !== null &&
|
|
12
|
-
data.channel === CHIPI_WC &&
|
|
13
|
-
data.type === "rpc");
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=protocol.js.map
|
package/dist/protocol.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAiBA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAA2B,CAAC;AAwCpD,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACZ,IAA8B,CAAC,OAAO,KAAK,QAAQ,CACrD,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACZ,IAA8B,CAAC,OAAO,KAAK,QAAQ;QACnD,IAA2B,CAAC,IAAI,KAAK,KAAK,CAC5C,CAAC;AACJ,CAAC"}
|
package/dist/register.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { StarknetWindowObject } from "@starknet-io/types-js";
|
|
2
|
-
/** Window key get-starknet discovers by scanning for `starknet*` properties. */
|
|
3
|
-
export declare const CHIPI_WINDOW_KEY = "starknet_chipi";
|
|
4
|
-
export interface ChipiRegistration {
|
|
5
|
-
/** Remove `window.starknet_chipi` + the announce listener. */
|
|
6
|
-
dispose: () => void;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Make a Chipi `StarknetWindowObject` discoverable to any get-starknet /
|
|
10
|
-
* starknet-react / starknetkit dApp on the page — WITHOUT an upstream PR. This
|
|
11
|
-
* is the same self-registration trick Cartridge Controller uses; it covers the
|
|
12
|
-
* apps that scan for wallets rather than importing our connector explicitly.
|
|
13
|
-
*
|
|
14
|
-
* Discovery is announced two ways for maximum reach:
|
|
15
|
-
* 1. **window scan** — set `window.starknet_chipi`. get-starknet v4's
|
|
16
|
-
* `getAvailableWallets()` finds every `window` key starting with `starknet`.
|
|
17
|
-
* 2. **event announce** — dispatch `starknet:announceWallet` now and again on
|
|
18
|
-
* the dApp's `starknet:requestWallets` (the EIP-6963-style, timing-robust
|
|
19
|
-
* Starknet Wallet Standard discovery path).
|
|
20
|
-
*
|
|
21
|
-
* SSR-safe (no-ops when there's no `window`) and idempotent per (target, wallet).
|
|
22
|
-
*/
|
|
23
|
-
export declare function registerChipiWallet(wallet: StarknetWindowObject, target?: (Window & typeof globalThis) | undefined): ChipiRegistration;
|
|
24
|
-
//# sourceMappingURL=register.d.ts.map
|
package/dist/register.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,GAAE,CAAC,MAAM,GAAG,OAAO,UAAU,CAAC,GAAG,SAE1B,GACZ,iBAAiB,CAoBnB"}
|
package/dist/register.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/** Window key get-starknet discovers by scanning for `starknet*` properties. */
|
|
2
|
-
export const CHIPI_WINDOW_KEY = "starknet_chipi";
|
|
3
|
-
/**
|
|
4
|
-
* Make a Chipi `StarknetWindowObject` discoverable to any get-starknet /
|
|
5
|
-
* starknet-react / starknetkit dApp on the page — WITHOUT an upstream PR. This
|
|
6
|
-
* is the same self-registration trick Cartridge Controller uses; it covers the
|
|
7
|
-
* apps that scan for wallets rather than importing our connector explicitly.
|
|
8
|
-
*
|
|
9
|
-
* Discovery is announced two ways for maximum reach:
|
|
10
|
-
* 1. **window scan** — set `window.starknet_chipi`. get-starknet v4's
|
|
11
|
-
* `getAvailableWallets()` finds every `window` key starting with `starknet`.
|
|
12
|
-
* 2. **event announce** — dispatch `starknet:announceWallet` now and again on
|
|
13
|
-
* the dApp's `starknet:requestWallets` (the EIP-6963-style, timing-robust
|
|
14
|
-
* Starknet Wallet Standard discovery path).
|
|
15
|
-
*
|
|
16
|
-
* SSR-safe (no-ops when there's no `window`) and idempotent per (target, wallet).
|
|
17
|
-
*/
|
|
18
|
-
export function registerChipiWallet(wallet, target = typeof window !== "undefined"
|
|
19
|
-
? window
|
|
20
|
-
: undefined) {
|
|
21
|
-
if (!target)
|
|
22
|
-
return { dispose: () => { } };
|
|
23
|
-
const store = target;
|
|
24
|
-
// 1. Classic window-scan discovery.
|
|
25
|
-
store[CHIPI_WINDOW_KEY] = wallet;
|
|
26
|
-
// 2. Event-based discovery (announce now + whenever a dApp asks).
|
|
27
|
-
const announce = () => target.dispatchEvent(new CustomEvent("starknet:announceWallet", { detail: wallet }));
|
|
28
|
-
target.addEventListener("starknet:requestWallets", announce);
|
|
29
|
-
announce();
|
|
30
|
-
return {
|
|
31
|
-
dispose: () => {
|
|
32
|
-
target.removeEventListener("starknet:requestWallets", announce);
|
|
33
|
-
// Only remove our own object — never clobber a newer injector's wallet.
|
|
34
|
-
if (store[CHIPI_WINDOW_KEY] === wallet)
|
|
35
|
-
delete store[CHIPI_WINDOW_KEY];
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=register.js.map
|
package/dist/register.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAOjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA4B,EAC5B,SAAmD,OAAO,MAAM,KAAK,WAAW;IAC9E,CAAC,CAAC,MAAM;IACR,CAAC,CAAC,SAAS;IAEb,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG,MAA4C,CAAC;IAC3D,oCAAoC;IACpC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAEjC,kEAAkE;IAClE,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC;IAEX,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;YAChE,wEAAwE;YACxE,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,MAAM;gBAAE,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/transport.d.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client-side (dApp) transport: opens the Chipi hosted wallet in a popup,
|
|
3
|
-
* performs the ready handshake, and forwards get-starknet `wallet_*` RPC calls
|
|
4
|
-
* over `postMessage`, correlating responses by id. The popup is reused across
|
|
5
|
-
* requests; if the user closed it, the next request reopens it.
|
|
6
|
-
*/
|
|
7
|
-
import { type ChipiRpcCall } from "./protocol.js";
|
|
8
|
-
export interface ChipiTransportOptions {
|
|
9
|
-
/** Hosted wallet base URL, e.g. `https://wallet.chipipay.com`. */
|
|
10
|
-
walletUrl: string;
|
|
11
|
-
/**
|
|
12
|
-
* Transport mode:
|
|
13
|
-
* - `"popup"` (default): open the hosted wallet in a popup window — the
|
|
14
|
-
* universal model, works for any external dApp.
|
|
15
|
-
* - `"parent"`: the dApp is embedded in an iframe INSIDE the Chipi wallet
|
|
16
|
-
* (in-app browser); talk to `window.parent` instead of opening a popup, so
|
|
17
|
-
* approval renders inline in the wallet. Only works when the dApp is
|
|
18
|
-
* actually iframed by the Chipi host.
|
|
19
|
-
* - `"auto"`: use `"parent"` when running inside an iframe, else `"popup"`.
|
|
20
|
-
*/
|
|
21
|
-
mode?: "popup" | "parent" | "auto";
|
|
22
|
-
/** Popup window name. */
|
|
23
|
-
windowName?: string;
|
|
24
|
-
/** Popup window features. */
|
|
25
|
-
windowFeatures?: string;
|
|
26
|
-
/** Ready-handshake timeout (ms). */
|
|
27
|
-
openTimeoutMs?: number;
|
|
28
|
-
}
|
|
29
|
-
type EventName = "accountsChanged" | "networkChanged";
|
|
30
|
-
type EventHandler = (data: unknown) => void;
|
|
31
|
-
export declare class ChipiPopupTransport {
|
|
32
|
-
private readonly opts;
|
|
33
|
-
private readonly walletOrigin;
|
|
34
|
-
private readonly url;
|
|
35
|
-
private target;
|
|
36
|
-
private ownsTarget;
|
|
37
|
-
private ready;
|
|
38
|
-
private listening;
|
|
39
|
-
private readonly pending;
|
|
40
|
-
private readonly handlers;
|
|
41
|
-
private readyDeferred;
|
|
42
|
-
private openPromise;
|
|
43
|
-
private closeWatch;
|
|
44
|
-
constructor(opts: ChipiTransportOptions);
|
|
45
|
-
on(event: EventName, handler: EventHandler): void;
|
|
46
|
-
off(event: EventName, handler: EventHandler): void;
|
|
47
|
-
private ensureListener;
|
|
48
|
-
private onMessage;
|
|
49
|
-
/** Resolve "auto" → "parent" when iframed, else "popup". */
|
|
50
|
-
private resolveMode;
|
|
51
|
-
/** Open (or reuse) the wallet (popup window OR the parent frame) and wait for
|
|
52
|
-
* its ready handshake. Concurrent calls share ONE handshake. */
|
|
53
|
-
open(): Promise<void>;
|
|
54
|
-
private doOpen;
|
|
55
|
-
private awaitReady;
|
|
56
|
-
/** Reject every in-flight request (popup closed / disconnected). */
|
|
57
|
-
private rejectAllPending;
|
|
58
|
-
/** While requests are in flight, watch for the user closing the popup and
|
|
59
|
-
* reject them — otherwise the dApp's promise would hang forever. */
|
|
60
|
-
private startCloseWatch;
|
|
61
|
-
private stopCloseWatch;
|
|
62
|
-
/** Forward a get-starknet RPC call to the wallet, awaiting its response. */
|
|
63
|
-
request(call: ChipiRpcCall): Promise<unknown>;
|
|
64
|
-
/** Close the popup (if we own one) + reject in-flight requests. */
|
|
65
|
-
close(): void;
|
|
66
|
-
}
|
|
67
|
-
export {};
|
|
68
|
-
//# sourceMappingURL=transport.d.ts.map
|
package/dist/transport.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AACtD,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAiB5C,qBAAa,mBAAmB;IAoBlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOpB;IACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,UAAU,CAA+C;gBAEpC,IAAI,EAAE,qBAAqB;IAKxD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIlD,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,SAAS,CAiCf;IAEF,4DAA4D;IAC5D,OAAO,CAAC,WAAW;IAMnB;oEACgE;IAC1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAcb,MAAM;YAsBN,UAAU;IAgBxB,oEAAoE;IACpE,OAAO,CAAC,gBAAgB;IAKxB;wEACoE;IACpE,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;IAOtB,4EAA4E;IACtE,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBnD,mEAAmE;IACnE,KAAK,IAAI,IAAI;CAed"}
|