Skip to content

Commit d488edd

Browse files
authoredFeb 9, 2025··
docs: update Cartridge dependencies and documentation (#559)
- Add @cartridge/controller v0.6.0 dependency - Fix constants import from starknet package (https://www.starknet-react.com/docs/getting-started) - Improve Cartridge Controller configuration and Session Policies documentation (https://www.starknet-react.com/docs/wallets) - Fix contract.populate example in upgrading guide (https://www.starknet-react.com/docs/upgrading-to-v3)
2 parents 7650cf0 + 18f2965 commit d488edd

File tree

5 files changed

+74
-82
lines changed

5 files changed

+74
-82
lines changed
 

‎docs/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
},
1414
"dependencies": {
1515
"@cartridge/connector": "^0.6.0",
16+
"@cartridge/controller": "^0.6.0",
1617
"@radix-ui/react-checkbox": "^1.1.1",
1718
"@radix-ui/react-label": "^2.1.0",
1819
"@radix-ui/react-select": "^2.1.1",

‎docs/pages/docs/getting-started.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ import {
166166
} from "@starknet-react/core";
167167

168168
import { ControllerConnector } from "@cartridge/connector";
169-
import { constants } from "@starknet-react/core";
169+
import { constants } from "starknet";
170170

171171
const cartridgeConnector = new ControllerConnector({
172172
chains: [

‎docs/pages/docs/upgrading-to-v3.mdx

+1-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ const { contract } = useContract({
4545
});
4646

4747
// Complete function name
48-
contract.populate("t
49-
// ^|
48+
contract.populate("transfer")
5049

5150
// Argument types is also inferred
5251
contract.populate("transfer", ["0x0", 1n])

‎docs/pages/docs/wallets.mdx

+49-28
Original file line numberDiff line numberDiff line change
@@ -63,52 +63,73 @@ const connectors = [
6363

6464
### Cartridge Controller
6565

66-
The Cartridge Controller wallet is supported however, you need to install the
67-
`@cartridge/connector` package.
66+
The Cartridge Controller wallet is supported however, you need to install both the
67+
`@cartridge/connector` and `@cartridge/controller` packages.
6868

6969
The Controller enables seamless use of Session Keys.
7070

7171
```bash
72-
pnpm i @cartridge/connector
72+
pnpm i @cartridge/connector @cartridge/controller
7373
```
7474

7575
```tsx twoslash
76-
import React, { useCallback } from "react";
7776
import { ControllerConnector } from "@cartridge/connector";
7877
import { Connector } from "@starknet-react/core";
79-
80-
const rpc = useCallback(() => {
81-
return { nodeUrl: 'https://api.cartridge.gg/x/starknet/mainnet' };
82-
}, []);
78+
import { constants } from "starknet";
8379

8480
// Without Session Keys
8581
const connectors = [
8682
new ControllerConnector({
87-
rpc: rpc().nodeUrl,
88-
}) as never as Connector,
83+
chains: [
84+
{
85+
rpcUrl: "https://api.cartridge.gg/x/starknet/sepolia",
86+
},
87+
{
88+
rpcUrl: "https://api.cartridge.gg/x/starknet/mainnet",
89+
},
90+
],
91+
defaultChainId: constants.StarknetChainId.SN_SEPOLIA,
92+
}),
8993
];
9094
```
9195

9296

9397
```tsx twoslash
94-
import React, { useCallback } from "react";
9598
import { ControllerConnector } from "@cartridge/connector";
99+
import { SessionPolicies } from "@cartridge/controller";
96100
import { Connector } from "@starknet-react/core";
97-
98-
const rpc = useCallback(() => {
99-
return { nodeUrl: 'https://api.cartridge.gg/x/starknet/mainnet' };
100-
}, []);
101-
102-
// With Session Keys // [!code focus]
103-
const connectors = [// [!code focus]
104-
new ControllerConnector({// [!code focus]
105-
rpc: rpc().nodeUrl, // [!code focus]
106-
policies:[ // [!code focus]
107-
{ // [!code focus]
108-
target: "0x3f96056436be253753351fe689110ced7d53f5db3fd98f13df3f19058311b95", // [!code focus]
109-
method: "create", // [!code focus]
110-
}, // [!code focus]
111-
], // [!code focus]
112-
}) as never as Connector,// [!code focus]
113-
];// [!code focus]
101+
import { constants } from "starknet";
102+
103+
// Define session policies
104+
const policies: SessionPolicies = {
105+
contracts: {
106+
"0x3f96056436be253753351fe689110ced7d53f5db3fd98f13df3f19058311b95": {
107+
name: "Example Contract",
108+
description: "Example contract interaction",
109+
methods: [
110+
{
111+
name: "Create",
112+
description: "Create a new instance",
113+
entrypoint: "create"
114+
}
115+
]
116+
}
117+
}
118+
};
119+
120+
// With Session Keys
121+
const connectors = [
122+
new ControllerConnector({
123+
chains: [
124+
{
125+
rpcUrl: "https://api.cartridge.gg/x/starknet/sepolia",
126+
},
127+
{
128+
rpcUrl: "https://api.cartridge.gg/x/starknet/mainnet",
129+
},
130+
],
131+
defaultChainId: constants.StarknetChainId.SN_SEPOLIA,
132+
policies,
133+
}),
134+
];
114135
```

‎pnpm-lock.yaml

+22-51
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
Please sign in to comment.