@chipi-stack/starknet-connector 0.2.0 → 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 +17 -14
- 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 -10
- package/dist/index.js +327 -12
- 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/factory.d.ts +0 -12
- package/dist/factory.d.ts.map +0 -1
- package/dist/factory.js +0 -14
- package/dist/factory.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. A self-contained connector package any dApp
|
|
4
|
-
* adds to its `connectors` array (`new ChipiConnector()`) directly — no
|
|
5
|
-
* whitelisting, no dependency on a third-party wallet kit, and NO browser
|
|
6
|
-
* extension required. 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/factory.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ChipiConnector, type ChipiConnectorOptions } from "./connector.js";
|
|
2
|
-
/**
|
|
3
|
-
* Plain-function form of {@link ChipiConnector}, for parity with
|
|
4
|
-
* `@starknet-react/core`'s built-in factories (`ready()`, `braavos()`):
|
|
5
|
-
*
|
|
6
|
-
* const connectors = [chipi(), ready(), braavos()];
|
|
7
|
-
*
|
|
8
|
-
* Equivalent to `new ChipiConnector(options)` — use whichever reads better
|
|
9
|
-
* in your `connectors` array.
|
|
10
|
-
*/
|
|
11
|
-
export declare function chipi(options?: ChipiConnectorOptions): ChipiConnector;
|
|
12
|
-
//# sourceMappingURL=factory.d.ts.map
|
package/dist/factory.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAErE"}
|
package/dist/factory.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ChipiConnector } from "./connector.js";
|
|
2
|
-
/**
|
|
3
|
-
* Plain-function form of {@link ChipiConnector}, for parity with
|
|
4
|
-
* `@starknet-react/core`'s built-in factories (`ready()`, `braavos()`):
|
|
5
|
-
*
|
|
6
|
-
* const connectors = [chipi(), ready(), braavos()];
|
|
7
|
-
*
|
|
8
|
-
* Equivalent to `new ChipiConnector(options)` — use whichever reads better
|
|
9
|
-
* in your `connectors` array.
|
|
10
|
-
*/
|
|
11
|
-
export function chipi(options) {
|
|
12
|
-
return new ChipiConnector(options);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=factory.js.map
|
package/dist/factory.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA8B,MAAM,gBAAgB,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,OAA+B;IACnD,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
|
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,21QAA21Q,CAAC"}
|
package/dist/icon.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// Chipi brand wallet icon — the current luchador mark on a transparent
|
|
2
|
-
// background, 48x48 PNG (same asset used by the browser extension's
|
|
3
|
-
// toolbar icon). 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,uEAAuE;AACvE,oEAAoE;AACpE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,w1QAAw1Q,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,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,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 and
|
|
11
|
-
* WITHOUT whitelisting. This self-registration covers the apps that scan for
|
|
12
|
-
* 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 and
|
|
6
|
-
* WITHOUT whitelisting. This self-registration covers the apps that scan for
|
|
7
|
-
* 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"}
|