@cartridge/controller 0.3.25 → 0.3.27
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/device.d.ts +3 -5
- package/dist/device.js +3 -5
- package/dist/device.js.map +1 -1
- package/dist/index.d.ts +8 -27
- package/dist/index.js +23 -104
- package/dist/index.js.map +1 -1
- package/dist/presets.js +5 -5
- package/dist/presets.js.map +1 -1
- package/dist/types.d.ts +9 -24
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/inject.d.ts +0 -81
- package/dist/inject.js +0 -73
- package/dist/inject.js.map +0 -1
- package/dist/nodeUrl.d.ts +0 -5
- package/dist/nodeUrl.js +0 -10
- package/dist/nodeUrl.js.map +0 -1
package/dist/device.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Account, Abi, Call, EstimateFeeDetails, Signature, InvokeFunctionResponse, EstimateFee, DeclareContractPayload,
|
|
1
|
+
import { Account, Abi, Call, EstimateFeeDetails, Signature, InvokeFunctionResponse, EstimateFee, DeclareContractPayload, TypedData, InvocationsDetails } from "starknet";
|
|
2
2
|
import { Keychain, Modal } from "./types";
|
|
3
3
|
import { AsyncMethodReturns } from "@cartridge/penpal";
|
|
4
4
|
declare class DeviceAccount extends Account {
|
|
5
5
|
address: string;
|
|
6
6
|
private keychain;
|
|
7
7
|
private modal;
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(rpcUrl: string, address: string, keychain: AsyncMethodReturns<Keychain>, modal: Modal);
|
|
9
9
|
/**
|
|
10
10
|
* Estimate Fee for a method on starknet
|
|
11
11
|
*
|
|
@@ -31,9 +31,7 @@ declare class DeviceAccount extends Account {
|
|
|
31
31
|
*
|
|
32
32
|
* @returns response from addTransaction
|
|
33
33
|
*/
|
|
34
|
-
execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails
|
|
35
|
-
chainId?: constants.StarknetChainId;
|
|
36
|
-
}): Promise<InvokeFunctionResponse>;
|
|
34
|
+
execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails): Promise<InvokeFunctionResponse>;
|
|
37
35
|
/**
|
|
38
36
|
* Sign an JSON object for off-chain usage with the starknet private key and return the signature
|
|
39
37
|
* This adds a message prefix so it cant be interchanged with transactions
|
package/dist/device.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Account, } from "starknet";
|
|
1
|
+
import { Account, RpcProvider, } from "starknet";
|
|
2
2
|
import { ResponseCodes } from "./types";
|
|
3
3
|
import { Signer } from "./signer";
|
|
4
4
|
class DeviceAccount extends Account {
|
|
5
|
-
constructor(
|
|
6
|
-
super(
|
|
5
|
+
constructor(rpcUrl, address, keychain, modal) {
|
|
6
|
+
super(new RpcProvider({ nodeUrl: rpcUrl }), address, new Signer(keychain, modal));
|
|
7
7
|
this.address = address;
|
|
8
8
|
this.keychain = keychain;
|
|
9
9
|
this.modal = modal;
|
|
@@ -22,13 +22,11 @@ class DeviceAccount extends Account {
|
|
|
22
22
|
async estimateInvokeFee(calls, details) {
|
|
23
23
|
return this.keychain.estimateInvokeFee(calls, {
|
|
24
24
|
...details,
|
|
25
|
-
chainId: await this.getChainId(),
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
async estimateDeclareFee(payload, details) {
|
|
29
28
|
return this.keychain.estimateDeclareFee(payload, {
|
|
30
29
|
...details,
|
|
31
|
-
chainId: await this.getChainId(),
|
|
32
30
|
});
|
|
33
31
|
}
|
|
34
32
|
/**
|
package/dist/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAQP,WAAW,GAGZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAY,aAAa,EAAS,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,aAAc,SAAQ,OAAO;IAKjC,YACE,MAAc,EACd,OAAe,EACf,QAAsC,EACtC,KAAY;QAEZ,KAAK,CACH,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EACpC,OAAO,EACP,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC5B,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,iBAAiB,CACrB,KAAoB,EACpB,OAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAC5C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAA+B,EAC/B,OAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAC/C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,oDAAoD;IACpD,KAAK,CAAC,OAAO,CACX,KAAoB,EACpB,IAAY,EACZ,kBAAuC;QAEvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACzE,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO,GAA6B,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACtC,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,IAAI,CACL,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAEnB,IACE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO;gBACnC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,EACpC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,IAA8B,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,SAAoB;QACpC,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,GAAgB,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,47 +1,28 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
export * from "./types";
|
|
3
2
|
export { defaultPresets } from "./presets";
|
|
4
|
-
import { AccountInterface
|
|
3
|
+
import { AccountInterface } from "starknet";
|
|
5
4
|
import { AsyncMethodReturns } from "@cartridge/penpal";
|
|
6
|
-
import {
|
|
7
|
-
export declare const providers: {
|
|
8
|
-
[key: string]: RpcProvider;
|
|
9
|
-
};
|
|
5
|
+
import { Keychain, Policy, ControllerOptions } from "./types";
|
|
10
6
|
declare class Controller {
|
|
11
|
-
private connection?;
|
|
12
|
-
keychain?: AsyncMethodReturns<Keychain>;
|
|
13
|
-
private policies;
|
|
14
7
|
private url;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
[key: string]: AccountInterface;
|
|
18
|
-
};
|
|
8
|
+
private policies;
|
|
9
|
+
private connection?;
|
|
19
10
|
private modal?;
|
|
11
|
+
keychain?: AsyncMethodReturns<Keychain>;
|
|
12
|
+
rpc: URL;
|
|
13
|
+
chainId: string;
|
|
14
|
+
account?: AccountInterface;
|
|
20
15
|
constructor(policies?: Policy[], options?: ControllerOptions);
|
|
21
|
-
get account(): AccountInterface | undefined;
|
|
22
16
|
private setTheme;
|
|
23
17
|
private setColorMode;
|
|
24
18
|
ready(): Promise<boolean>;
|
|
25
19
|
probe(): Promise<true | null | undefined>;
|
|
26
|
-
switchChain(chainId: constants.StarknetChainId): Promise<void>;
|
|
27
|
-
login(address: string, credentialId: string, options: {
|
|
28
|
-
rpId?: string;
|
|
29
|
-
challengeExt?: Buffer;
|
|
30
|
-
}): Promise<{
|
|
31
|
-
assertion: import("./types").Assertion;
|
|
32
|
-
} | null>;
|
|
33
|
-
issueStarterPack(id: string): Promise<{
|
|
34
|
-
transaction_hash: string;
|
|
35
|
-
}>;
|
|
36
|
-
showQuests(gameId: string): Promise<void>;
|
|
37
20
|
connect(): Promise<AccountInterface | undefined>;
|
|
38
21
|
disconnect(): Promise<void>;
|
|
39
22
|
revoke(origin: string, _policy: Policy[]): Promise<void> | null;
|
|
40
|
-
approvals(origin: string): Promise<Session | undefined>;
|
|
41
23
|
username(): Promise<string> | undefined;
|
|
42
24
|
}
|
|
43
25
|
export * from "./types";
|
|
44
26
|
export * from "./errors";
|
|
45
27
|
export { computeAddress, split, verifyMessageHash } from "./utils";
|
|
46
|
-
export { injectController } from "./inject";
|
|
47
28
|
export default Controller;
|
package/dist/index.js
CHANGED
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export { defaultPresets } from "./presets";
|
|
3
|
-
import { addAddressPadding, constants
|
|
3
|
+
import { addAddressPadding, constants } from "starknet";
|
|
4
4
|
import { connectToChild, } from "@cartridge/penpal";
|
|
5
5
|
import DeviceAccount from "./device";
|
|
6
6
|
import { ResponseCodes, } from "./types";
|
|
7
7
|
import { createModal } from "./modal";
|
|
8
8
|
import { defaultPresets } from "./presets";
|
|
9
9
|
import { NotReadyToConnect } from "./errors";
|
|
10
|
-
// @dev override url to local sequencer for local dev
|
|
11
|
-
// http://localhost:8000/x/starknet/mainnet
|
|
12
|
-
export const providers = {
|
|
13
|
-
[constants.StarknetChainId.SN_MAIN]: new RpcProvider({
|
|
14
|
-
nodeUrl: "https://api.cartridge.gg/x/starknet/mainnet",
|
|
15
|
-
}),
|
|
16
|
-
[constants.StarknetChainId.SN_SEPOLIA]: new RpcProvider({
|
|
17
|
-
nodeUrl: "https://api.cartridge.gg/x/starknet/sepolia",
|
|
18
|
-
}),
|
|
19
|
-
};
|
|
20
10
|
class Controller {
|
|
21
11
|
// private starterPackId?: string;
|
|
22
12
|
constructor(policies, options) {
|
|
13
|
+
this.url = new URL("https://x.cartridge.gg");
|
|
23
14
|
this.policies = [];
|
|
24
|
-
this.
|
|
15
|
+
this.rpc = new URL("https://api.cartridge.gg/x/starknet/sepolia");
|
|
25
16
|
this.chainId = constants.StarknetChainId.SN_SEPOLIA;
|
|
26
17
|
if (policies) {
|
|
27
18
|
this.policies = policies.map((policy) => {
|
|
@@ -31,11 +22,11 @@ class Controller {
|
|
|
31
22
|
};
|
|
32
23
|
});
|
|
33
24
|
}
|
|
34
|
-
if (options?.chainId) {
|
|
35
|
-
this.chainId = options.chainId;
|
|
36
|
-
}
|
|
37
25
|
if (options?.url) {
|
|
38
|
-
this.url = options.url;
|
|
26
|
+
this.url = new URL(options.url);
|
|
27
|
+
}
|
|
28
|
+
if (options?.rpc) {
|
|
29
|
+
this.rpc = new URL(options.rpc);
|
|
39
30
|
}
|
|
40
31
|
this.setTheme(options?.theme, options?.config?.presets);
|
|
41
32
|
if (options?.colorMode) {
|
|
@@ -44,7 +35,7 @@ class Controller {
|
|
|
44
35
|
if (typeof document === "undefined") {
|
|
45
36
|
return;
|
|
46
37
|
}
|
|
47
|
-
this.modal = createModal(this.url, () => {
|
|
38
|
+
this.modal = createModal(this.url.toString(), () => {
|
|
48
39
|
this.keychain?.reset();
|
|
49
40
|
});
|
|
50
41
|
if (document.readyState === "complete" ||
|
|
@@ -58,27 +49,22 @@ class Controller {
|
|
|
58
49
|
}
|
|
59
50
|
this.connection = connectToChild({
|
|
60
51
|
iframe: this.modal.element.children[0],
|
|
52
|
+
methods: {
|
|
53
|
+
close: () => {
|
|
54
|
+
this.modal?.close();
|
|
55
|
+
},
|
|
56
|
+
},
|
|
61
57
|
});
|
|
62
58
|
this.connection.promise
|
|
63
59
|
.then((keychain) => (this.keychain = keychain))
|
|
64
60
|
.then(() => this.probe());
|
|
65
61
|
}
|
|
66
|
-
get account() {
|
|
67
|
-
if (!this.accounts) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
return this.accounts[this.chainId];
|
|
71
|
-
}
|
|
72
62
|
setTheme(id = "cartridge", presets = defaultPresets) {
|
|
73
63
|
const theme = presets[id] ?? defaultPresets.cartridge;
|
|
74
|
-
|
|
75
|
-
url.searchParams.set("theme", encodeURIComponent(JSON.stringify(theme)));
|
|
76
|
-
this.url = url.toString();
|
|
64
|
+
this.url.searchParams.set("theme", encodeURIComponent(JSON.stringify(theme)));
|
|
77
65
|
}
|
|
78
66
|
setColorMode(colorMode) {
|
|
79
|
-
|
|
80
|
-
url.searchParams.set("colorMode", colorMode);
|
|
81
|
-
this.url = url.toString();
|
|
67
|
+
this.url.searchParams.set("colorMode", colorMode);
|
|
82
68
|
}
|
|
83
69
|
ready() {
|
|
84
70
|
return (this.connection?.promise
|
|
@@ -96,73 +82,17 @@ class Controller {
|
|
|
96
82
|
return;
|
|
97
83
|
}
|
|
98
84
|
const { address } = res;
|
|
99
|
-
this.
|
|
100
|
-
[constants.StarknetChainId.SN_MAIN]: new DeviceAccount(providers[constants.StarknetChainId.SN_MAIN], address, this.keychain, this.modal), // Note: workaround for execute type mismatch error
|
|
101
|
-
[constants.StarknetChainId.SN_SEPOLIA]: new DeviceAccount(providers[constants.StarknetChainId.SN_SEPOLIA], address, this.keychain, this.modal),
|
|
102
|
-
};
|
|
85
|
+
this.account = new DeviceAccount(this.rpc.toString(), address, this.keychain, this.modal);
|
|
103
86
|
}
|
|
104
87
|
catch (e) {
|
|
105
88
|
console.error(e);
|
|
106
89
|
return;
|
|
107
90
|
}
|
|
108
|
-
return !!this.
|
|
109
|
-
}
|
|
110
|
-
async switchChain(chainId) {
|
|
111
|
-
if (this.chainId === chainId) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
this.chainId = chainId;
|
|
115
|
-
}
|
|
116
|
-
async login(address, credentialId, options) {
|
|
117
|
-
if (!this.keychain) {
|
|
118
|
-
console.error(new NotReadyToConnect().message);
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
return this.keychain.login(address, credentialId, options);
|
|
122
|
-
}
|
|
123
|
-
async issueStarterPack(id) {
|
|
124
|
-
if (!this.keychain || !this.modal) {
|
|
125
|
-
const err = new NotReadyToConnect();
|
|
126
|
-
console.error(err.message);
|
|
127
|
-
return Promise.reject(err.message);
|
|
128
|
-
}
|
|
129
|
-
this.modal.open();
|
|
130
|
-
try {
|
|
131
|
-
if (!this.account) {
|
|
132
|
-
let response = await this.keychain.connect(this.policies, undefined, this.chainId);
|
|
133
|
-
if (response.code !== ResponseCodes.SUCCESS) {
|
|
134
|
-
throw new Error(response.message);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return await this.keychain.issueStarterPack(id);
|
|
138
|
-
}
|
|
139
|
-
catch (e) {
|
|
140
|
-
console.log(e);
|
|
141
|
-
return Promise.reject(e);
|
|
142
|
-
}
|
|
143
|
-
finally {
|
|
144
|
-
this.modal.close();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
async showQuests(gameId) {
|
|
148
|
-
if (!this.keychain || !this.modal) {
|
|
149
|
-
console.error(new NotReadyToConnect().message);
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
this.modal.open();
|
|
153
|
-
try {
|
|
154
|
-
return await this.keychain.showQuests(gameId);
|
|
155
|
-
}
|
|
156
|
-
catch (e) {
|
|
157
|
-
console.error(e);
|
|
158
|
-
}
|
|
159
|
-
finally {
|
|
160
|
-
this.modal.close();
|
|
161
|
-
}
|
|
91
|
+
return !!this.account;
|
|
162
92
|
}
|
|
163
93
|
async connect() {
|
|
164
|
-
if (this.
|
|
165
|
-
return this.
|
|
94
|
+
if (this.account) {
|
|
95
|
+
return this.account;
|
|
166
96
|
}
|
|
167
97
|
if (!this.keychain || !this.modal) {
|
|
168
98
|
console.error(new NotReadyToConnect().message);
|
|
@@ -176,16 +106,13 @@ class Controller {
|
|
|
176
106
|
}
|
|
177
107
|
this.modal.open();
|
|
178
108
|
try {
|
|
179
|
-
let response = await this.keychain.connect(this.policies,
|
|
109
|
+
let response = await this.keychain.connect(this.policies, this.rpc.toString());
|
|
180
110
|
if (response.code !== ResponseCodes.SUCCESS) {
|
|
181
111
|
throw new Error(response.message);
|
|
182
112
|
}
|
|
183
113
|
response = response;
|
|
184
|
-
this.
|
|
185
|
-
|
|
186
|
-
[constants.StarknetChainId.SN_SEPOLIA]: new DeviceAccount(providers[constants.StarknetChainId.SN_SEPOLIA], response.address, this.keychain, this.modal),
|
|
187
|
-
};
|
|
188
|
-
return this.accounts[this.chainId];
|
|
114
|
+
this.account = new DeviceAccount(this.rpc.toString(), response.address, this.keychain, this.modal);
|
|
115
|
+
return this.account;
|
|
189
116
|
}
|
|
190
117
|
catch (e) {
|
|
191
118
|
console.log(e);
|
|
@@ -205,7 +132,7 @@ class Controller {
|
|
|
205
132
|
await document.requestStorageAccess();
|
|
206
133
|
}
|
|
207
134
|
}
|
|
208
|
-
this.
|
|
135
|
+
this.account = undefined;
|
|
209
136
|
return this.keychain.disconnect();
|
|
210
137
|
}
|
|
211
138
|
revoke(origin, _policy) {
|
|
@@ -215,13 +142,6 @@ class Controller {
|
|
|
215
142
|
}
|
|
216
143
|
return this.keychain.revoke(origin);
|
|
217
144
|
}
|
|
218
|
-
async approvals(origin) {
|
|
219
|
-
if (!this.keychain) {
|
|
220
|
-
console.error(new NotReadyToConnect().message);
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
return this.keychain.approvals(origin);
|
|
224
|
-
}
|
|
225
145
|
username() {
|
|
226
146
|
if (!this.keychain) {
|
|
227
147
|
console.error(new NotReadyToConnect().message);
|
|
@@ -233,6 +153,5 @@ class Controller {
|
|
|
233
153
|
export * from "./types";
|
|
234
154
|
export * from "./errors";
|
|
235
155
|
export { computeAddress, split, verifyMessageHash } from "./utils";
|
|
236
|
-
export { injectController } from "./inject";
|
|
237
156
|
export default Controller;
|
|
238
157
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/presets.js
CHANGED
|
@@ -36,11 +36,11 @@ export const defaultPresets = {
|
|
|
36
36
|
primaryForeground: "white",
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
|
-
|
|
40
|
-
id: "
|
|
41
|
-
name: "
|
|
42
|
-
icon: "/whitelabel/
|
|
43
|
-
cover: "/whitelabel/
|
|
39
|
+
"dope-wars": {
|
|
40
|
+
id: "dope-wars",
|
|
41
|
+
name: "Dope Wars",
|
|
42
|
+
icon: "/whitelabel/dope-wars/icon.png",
|
|
43
|
+
cover: "/whitelabel/dope-wars/cover.png",
|
|
44
44
|
colors: {
|
|
45
45
|
primary: "#11ED83",
|
|
46
46
|
},
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE;YACL,KAAK,EAAE,uCAAuC;YAC9C,IAAI,EAAE,sCAAsC;SAC7C;KACF;IACD,aAAa,EAAE;QACb,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;YAClB,iBAAiB,EAAE,OAAO;SAC3B;KACF;IACD,WAAW,EAAE;QACX,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE;YACL,KAAK,EAAE,uCAAuC;YAC9C,IAAI,EAAE,sCAAsC;SAC7C;KACF;IACD,aAAa,EAAE;QACb,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;YAClB,iBAAiB,EAAE,OAAO;SAC3B;KACF;IACD,WAAW,EAAE;QACX,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;CACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { constants, Abi, Call, InvocationsDetails, TypedData, InvokeFunctionResponse, Signature, EstimateFeeDetails, EstimateFee, DeclareContractPayload, BigNumberish, InvocationsSignerDetails, DeployAccountSignerDetails, DeclareSignerDetails } from "starknet";
|
|
3
2
|
export type Assertion = {
|
|
4
3
|
id: string;
|
|
@@ -24,6 +23,7 @@ export type Session = {
|
|
|
24
23
|
export type Policy = {
|
|
25
24
|
target: string;
|
|
26
25
|
method?: string;
|
|
26
|
+
description?: string;
|
|
27
27
|
};
|
|
28
28
|
export declare enum ResponseCodes {
|
|
29
29
|
SUCCESS = "SUCCESS",
|
|
@@ -31,7 +31,7 @@ export declare enum ResponseCodes {
|
|
|
31
31
|
NOT_ALLOWED = "NOT_ALLOWED",
|
|
32
32
|
CANCELED = "CANCELED"
|
|
33
33
|
}
|
|
34
|
-
export type
|
|
34
|
+
export type ConnectError = {
|
|
35
35
|
code: ResponseCodes;
|
|
36
36
|
message: string;
|
|
37
37
|
};
|
|
@@ -49,38 +49,23 @@ export type ProbeReply = {
|
|
|
49
49
|
policies: Policy[];
|
|
50
50
|
};
|
|
51
51
|
export interface Keychain {
|
|
52
|
-
probe(): Promise<ProbeReply |
|
|
53
|
-
connect(policies: Policy[],
|
|
52
|
+
probe(): Promise<ProbeReply | ConnectError>;
|
|
53
|
+
connect(policies: Policy[], rpcUrl: string): Promise<ConnectReply | ConnectError>;
|
|
54
54
|
disconnect(): void;
|
|
55
55
|
reset(): void;
|
|
56
56
|
revoke(origin: string): void;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}): Promise<EstimateFee>;
|
|
61
|
-
estimateInvokeFee(calls: Call | Call[], estimateFeeDetails?: EstimateFeeDetails & {
|
|
62
|
-
chainId: constants.StarknetChainId;
|
|
63
|
-
}): Promise<EstimateFee>;
|
|
64
|
-
execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails & {
|
|
65
|
-
chainId?: constants.StarknetChainId;
|
|
66
|
-
}, sync?: boolean): Promise<ExecuteReply | Error>;
|
|
67
|
-
login(address: string, credentialId: string, options: {
|
|
68
|
-
rpId?: string;
|
|
69
|
-
challengeExt?: Buffer;
|
|
70
|
-
}): Promise<{
|
|
71
|
-
assertion: Assertion;
|
|
72
|
-
}>;
|
|
57
|
+
estimateDeclareFee(payload: DeclareContractPayload, details?: EstimateFeeDetails): Promise<EstimateFee>;
|
|
58
|
+
estimateInvokeFee(calls: Call | Call[], estimateFeeDetails?: EstimateFeeDetails): Promise<EstimateFee>;
|
|
59
|
+
execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails, sync?: boolean): Promise<ExecuteReply | ConnectError>;
|
|
73
60
|
logout(): Promise<void>;
|
|
74
61
|
session(): Promise<Session>;
|
|
75
62
|
sessions(): Promise<{
|
|
76
63
|
[key: string]: Session;
|
|
77
64
|
}>;
|
|
78
|
-
signMessage(typedData: TypedData, account: string): Promise<Signature |
|
|
65
|
+
signMessage(typedData: TypedData, account: string): Promise<Signature | ConnectError>;
|
|
79
66
|
signTransaction(transactions: Call[], transactionsDetail: InvocationsSignerDetails, abis?: Abi[]): Promise<Signature>;
|
|
80
67
|
signDeployAccountTransaction(transaction: DeployAccountSignerDetails): Promise<Signature>;
|
|
81
68
|
signDeclareTransaction(transaction: DeclareSignerDetails): Promise<Signature>;
|
|
82
|
-
issueStarterPack(id: string): Promise<InvokeFunctionResponse>;
|
|
83
|
-
showQuests(gameId: string): Promise<void>;
|
|
84
69
|
username(): string;
|
|
85
70
|
}
|
|
86
71
|
export interface Modal {
|
|
@@ -92,7 +77,7 @@ export type ControllerOptions = {
|
|
|
92
77
|
url?: string;
|
|
93
78
|
origin?: string;
|
|
94
79
|
starterPackId?: string;
|
|
95
|
-
|
|
80
|
+
rpc?: string;
|
|
96
81
|
theme?: string;
|
|
97
82
|
colorMode?: ColorMode;
|
|
98
83
|
config?: {
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;AACvB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cartridge/controller",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.27",
|
|
4
4
|
"description": "Cartridge Controller",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/node": "^20.6.0",
|
|
21
21
|
"typescript": "^5.4.5",
|
|
22
|
-
"@cartridge/tsconfig": "^0.3.
|
|
22
|
+
"@cartridge/tsconfig": "^0.3.27"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsc",
|
package/dist/inject.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { constants } from "starknet";
|
|
2
|
-
import { AccountInterface, ProviderInterface } from "starknet";
|
|
3
|
-
import { Policy } from "./types";
|
|
4
|
-
export type EventType = "accountsChanged" | "networkChanged";
|
|
5
|
-
export type EventHandler = (data: any) => void;
|
|
6
|
-
interface WatchAssetParameters {
|
|
7
|
-
type: string;
|
|
8
|
-
options: {
|
|
9
|
-
address: string;
|
|
10
|
-
symbol?: string;
|
|
11
|
-
decimals?: number;
|
|
12
|
-
image?: string;
|
|
13
|
-
name?: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export type RpcMessage = {
|
|
17
|
-
type: "wallet_watchAsset";
|
|
18
|
-
params: WatchAssetParameters;
|
|
19
|
-
result: boolean;
|
|
20
|
-
} | {
|
|
21
|
-
type: string;
|
|
22
|
-
params: unknown;
|
|
23
|
-
result: never;
|
|
24
|
-
};
|
|
25
|
-
export type AccountChangeEventHandler = (accounts: string[]) => void;
|
|
26
|
-
export type NetworkChangeEventHandler = (network?: string) => void;
|
|
27
|
-
export type WalletEventHandlers = AccountChangeEventHandler | NetworkChangeEventHandler;
|
|
28
|
-
export type WalletEvents = {
|
|
29
|
-
type: "accountsChanged";
|
|
30
|
-
handler: AccountChangeEventHandler;
|
|
31
|
-
} | {
|
|
32
|
-
type: "networkChanged";
|
|
33
|
-
handler: NetworkChangeEventHandler;
|
|
34
|
-
};
|
|
35
|
-
export interface IStarknetWindowObject {
|
|
36
|
-
request: <T extends RpcMessage>(call: Omit<T, "result">) => Promise<T["result"]>;
|
|
37
|
-
enable: (options?: {
|
|
38
|
-
showModal?: boolean;
|
|
39
|
-
}) => Promise<string[]>;
|
|
40
|
-
isPreauthorized: () => Promise<boolean>;
|
|
41
|
-
on: (event: EventType, handleEvent: EventHandler) => void;
|
|
42
|
-
off: (event: EventType, handleEvent: EventHandler) => void;
|
|
43
|
-
id: string;
|
|
44
|
-
name: string;
|
|
45
|
-
version: string;
|
|
46
|
-
icon: string;
|
|
47
|
-
provider: ProviderInterface;
|
|
48
|
-
isConnected: boolean;
|
|
49
|
-
account?: AccountInterface;
|
|
50
|
-
selectedAddress?: string;
|
|
51
|
-
}
|
|
52
|
-
export declare class InjectedController implements IStarknetWindowObject {
|
|
53
|
-
id: string;
|
|
54
|
-
name: string;
|
|
55
|
-
version: string;
|
|
56
|
-
icon: string;
|
|
57
|
-
provider: import("starknet").Provider;
|
|
58
|
-
isConnected: boolean;
|
|
59
|
-
account?: AccountInterface | undefined;
|
|
60
|
-
selectedAddress?: string;
|
|
61
|
-
subscriptions: WalletEvents[];
|
|
62
|
-
private controller;
|
|
63
|
-
constructor(policies?: Policy[], options?: {
|
|
64
|
-
url?: string;
|
|
65
|
-
origin?: string;
|
|
66
|
-
starterPackId?: string;
|
|
67
|
-
chainId?: constants.StarknetChainId;
|
|
68
|
-
});
|
|
69
|
-
request: (_call: Omit<RpcMessage, "result">) => Promise<RpcMessage["result"]>;
|
|
70
|
-
enable: () => Promise<string[]>;
|
|
71
|
-
isPreauthorized: () => Promise<boolean>;
|
|
72
|
-
on: (type: EventType, handler: EventHandler) => void;
|
|
73
|
-
off: (type: EventType, handler: EventHandler) => void;
|
|
74
|
-
}
|
|
75
|
-
declare function injectController(policies?: Policy[], options?: {
|
|
76
|
-
url?: string;
|
|
77
|
-
origin?: string;
|
|
78
|
-
starterPackId?: string;
|
|
79
|
-
chainId?: constants.StarknetChainId;
|
|
80
|
-
}): void;
|
|
81
|
-
export { injectController };
|
package/dist/inject.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { constants } from "starknet";
|
|
2
|
-
import Controller, { providers } from ".";
|
|
3
|
-
export class InjectedController {
|
|
4
|
-
constructor(policies, options) {
|
|
5
|
-
this.id = "Cartridge";
|
|
6
|
-
this.name = "Cartridge";
|
|
7
|
-
this.version = "0.0.1";
|
|
8
|
-
this.icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjkiIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA2OSA1NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy41NTEzIDAuMDM5MDYyNUg0NC42Mjc4TDQ0LjcwMTIgMC4wNDE3NTc4QzQ2LjI2MjQgMC4wOTkwOTkyIDQ3Ljc5NDggMC40NzQ3OTUgNDkuMjA0OSAxLjE0NTA5TDYzLjUyMjcgNy4xODc5NUw2My42NTIyIDcuMjU0MDRDNjUuMDExOCA3Ljk0ODEyIDY2LjE0NzggOS4wMTA3NyA2Ni45MzE2IDEwLjMxOTNDNjcuNzA4MSAxMS42MTU3IDY4LjEwODUgMTMuMTAyMSA2OC4wODg5IDE0LjYxMjFWMzguNjg0QzY4LjA4ODkgMzguNzEgNjguMDg5IDM4LjczNzYgNjguMDg5MSAzOC43NjY2QzY4LjA5MTQgMzkuNjQwOSA2OC4wOTc0IDQxLjgzNTYgNjYuMTY5NyA0My43NjgxTDYxLjY2MjYgNDguMjg2NUM2MC44OTEzIDQ5LjA1OTggNTkuOTY3IDQ5LjY3NDkgNTguODA3IDQ5Ljk4NDlDNTcuOTIxNyA1MC4yMjE1IDU3LjA1MzUgNTAuMjE3IDU2LjY2MyA1MC4yMTVDNTYuNjMxMSA1MC4yMTQ4IDU2LjYwMjQgNTAuMjE0NyA1Ni41NzcxIDUwLjIxNDdMNTAuMzM4NSA1MC4yMDk5TDUwLjMzNjIgNTYuMjM1M0gxNy45MjkzVjUwLjIxNDdIMTEuNjA0QzExLjU3ODggNTAuMjE0NyAxMS41NTAxIDUwLjIxNDggMTEuNTE4MiA1MC4yMTVDMTEuMTI3NiA1MC4yMTcgMTAuMjU5NSA1MC4yMjE1IDkuMzc0MTYgNDkuOTg0OUM4LjIxNDUgNDkuNjc0OSA3LjI5MDQgNDkuMDYwMiA2LjUxOTEyIDQ4LjI4NzFMMi4wMTAxMSA0My43Njg3QzAuMDgyNDUwMyA0MS44MzYyIDAuMDg3Nzg0NCAzOS42NDA5IDAuMDkwMTUyNCAzOC43NjY2QzAuMDkwMjMwOSAzOC43Mzc2IDAuMDkwMzA1NSAzOC43MSAwLjA5MDMwNTUgMzguNjg0VjE0LjYxMjdDMC4wNzA0MyAxMy4xMDI1IDAuNDcwNjMgMTEuNjE1NyAxLjI0NzI5IDEwLjMxOTJDMi4wMzEzOSA5LjAxMDE4IDMuMTY3OTIgNy45NDczOCA0LjUyODExIDcuMjUzNUw0LjY1Njk3IDcuMTg3NzZMMTguOTcyOCAxLjE0NDg5QzIwLjM4MzUgMC40NzQ4MDggMjEuOTE2MiAwLjA5OTE5NTUgMjMuNDc3OCAwLjA0MTc2NUwyMy41NTEzIDAuMDM5MDYyNVoiIGZpbGw9IiMwRjE0MTAiLz4KPHBhdGggZD0iTTIyLjI4NjMgMjIuOTcyOUg0NS42NDdWMTcuMDcxN0gyMi4yOTIyQzIyLjI5MjIgMTcuNjc0NiAyMi4yODYzIDIyLjk3MjkgMjIuMjg2MyAyMi45NzI5WiIgZmlsbD0iI0ZCQ0I0QSIvPgo8cGF0aCBkPSJNNjEuODMzNCAxMC44MTY3TDQ3LjU1OTEgNC43OTIxM0M0Ni42MjA4IDQuMzMzODggNDUuNTk3NCA0LjA3NzM3IDQ0LjU1NDQgNC4wMzkwNkgyMy42MjQ4QzIyLjU4MTIgNC4wNzc0NCAyMS41NTcxIDQuMzMzOTQgMjAuNjE4MiA0Ljc5MjEzTDYuMzQ1NzkgMTAuODE2N0M1LjY1NTMgMTEuMTY4OSA1LjA3NzYxIDExLjcwODggNC42Nzg3NiAxMi4zNzQ3QzQuMjc5OSAxMy4wNDA1IDQuMDc1OTggMTMuODA1NCA0LjA5MDMxIDE0LjU4MlYzOC42ODRDNC4wOTAzMSAzOS40MzcxIDQuMDkwMyA0MC4xOTAxIDQuODQxNDggNDAuOTQzMkw5LjM1MDQ5IDQ1LjQ2MTZDMTAuMTAxNyA0Ni4yMTQ3IDEwLjY2NTUgNDYuMjE0NyAxMS42MDQgNDYuMjE0N0gyMS45MjkzQzIxLjkyOTMgNDYuODYyMSAyMS45MjkzIDUyLjIzNTMgMjEuOTI5MyA1Mi4yMzUzSDQ2LjMzNzdWNDYuMjA2OUgyMS45NDg4VjQwLjE5MDFIMTAuODUyOEMxMC4xMDE3IDQwLjE5MDEgMTAuMTAxNyAzOS40MzcxIDEwLjEwMTcgMzkuNDM3MVYxMC44MTY3QzEwLjEwMTcgMTAuODE2NyAxMC4xMDE3IDEwLjA2MzYgMTAuODUyOCAxMC4wNjM2SDU3LjMyODNDNTguMDc5NSAxMC4wNjM2IDU4LjA3OTUgMTAuODE2NyA1OC4wNzk1IDEwLjgxNjdWMzkuNDM3MUM1OC4wNzk1IDM5LjQzNzEgNTguMDc5NSA0MC4xOTAxIDU3LjMyODMgNDAuMTkwMUg0Ni4zNDM2TDQ2LjMzNzcgNDYuMjA2OUw1Ni41NzcxIDQ2LjIxNDdDNTcuNTE1NiA0Ni4yMTQ3IDU4LjA3OTUgNDYuMjE0NyA1OC44MzA3IDQ1LjQ2MTZMNjMuMzM3NyA0MC45NDMyQzY0LjA4ODkgNDAuMTkwMSA2NC4wODg5IDM5LjQzNzEgNjQuMDg4OSAzOC42ODRWMTQuNTgyQzY0LjEwMyAxMy44MDU1IDYzLjg5OSAxMy4wNDA2IDYzLjUwMDEgMTIuMzc0OEM2My4xMDEzIDExLjcwOSA2Mi41MjM4IDExLjE2OTEgNjEuODMzNCAxMC44MTY3WiIgZmlsbD0iI0ZCQ0I0QSIvPgo8L3N2Zz4K";
|
|
9
|
-
this.provider = providers[constants.StarknetChainId.SN_MAIN];
|
|
10
|
-
this.isConnected = false;
|
|
11
|
-
this.subscriptions = [];
|
|
12
|
-
this.request = (_call) => {
|
|
13
|
-
throw Error("Not implemented");
|
|
14
|
-
};
|
|
15
|
-
this.enable = async () => {
|
|
16
|
-
this.account = await this.controller.connect();
|
|
17
|
-
if (!this.account) {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
this.provider = providers[this.controller.chainId];
|
|
21
|
-
this.isConnected = true;
|
|
22
|
-
return [this.account.address];
|
|
23
|
-
};
|
|
24
|
-
this.isPreauthorized = async () => {
|
|
25
|
-
return this.controller
|
|
26
|
-
.ready()
|
|
27
|
-
.then(() => {
|
|
28
|
-
return this.controller.probe();
|
|
29
|
-
})
|
|
30
|
-
.then((connected) => !!connected);
|
|
31
|
-
};
|
|
32
|
-
this.on = (type, handler) => {
|
|
33
|
-
if (type === "accountsChanged") {
|
|
34
|
-
this.subscriptions.push({
|
|
35
|
-
type,
|
|
36
|
-
handler,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
else if (type === "networkChanged") {
|
|
40
|
-
this.subscriptions.push({
|
|
41
|
-
type,
|
|
42
|
-
handler,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
throw new Error(`Unknwown event: ${type}`);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
this.off = (type, handler) => {
|
|
50
|
-
if (type !== "accountsChanged" && type !== "networkChanged") {
|
|
51
|
-
throw new Error(`Unknwown event: ${type}`);
|
|
52
|
-
}
|
|
53
|
-
const idx = this.subscriptions.findIndex((userEvent) => userEvent.type === type && userEvent.handler === handler);
|
|
54
|
-
if (idx >= 0) {
|
|
55
|
-
this.subscriptions.splice(idx, 1);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
this.controller = new Controller(policies, options);
|
|
59
|
-
this.controller.ready().then((isConnected) => {
|
|
60
|
-
this.isConnected = !!isConnected;
|
|
61
|
-
if (this.controller.account) {
|
|
62
|
-
this.account = this.controller.account;
|
|
63
|
-
this.provider = providers[this.controller.chainId];
|
|
64
|
-
this.selectedAddress = this.account.address;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function injectController(policies, options) {
|
|
70
|
-
window.starknet_cartridge = new InjectedController(policies, options);
|
|
71
|
-
}
|
|
72
|
-
export { injectController };
|
|
73
|
-
//# sourceMappingURL=inject.js.map
|
package/dist/inject.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
|
package/dist/nodeUrl.d.ts
DELETED
package/dist/nodeUrl.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const nodeUrl = {
|
|
2
|
-
mainnet: process.env.NODE_ENV === "production"
|
|
3
|
-
? "https://api.cartridge.gg/x/starknet/mainnet"
|
|
4
|
-
: "http://localhost:8000/x/starknet/mainnet",
|
|
5
|
-
sepolia: process.env.NODE_ENV === "production"
|
|
6
|
-
? "https://api.cartridge.gg/x/starknet/sepolia"
|
|
7
|
-
: "http://localhost:8000/x/starknet/sepolia",
|
|
8
|
-
};
|
|
9
|
-
export default nodeUrl;
|
|
10
|
-
//# sourceMappingURL=nodeUrl.js.map
|
package/dist/nodeUrl.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodeUrl.js","sourceRoot":"","sources":["../src/nodeUrl.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;IACd,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACnC,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,0CAA0C;IAChD,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACnC,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,0CAA0C;CACjD,CAAC;AAEF,eAAe,OAAO,CAAC"}
|