Skip to content

Commit acdbeae

Browse files
authored
chore: update examples to use jsonrpc and cairo 1 accounts (#540)
1 parent 49719f4 commit acdbeae

9 files changed

+66
-26
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Examples can be found in the [examples folder](./examples):
9292

9393
6. [Query the latest block number with JSON-RPC](./examples/jsonrpc.rs)
9494

95-
7. [Call a contract view function via sequencer gateway](./examples/sequencer_erc20_balance.rs)
95+
7. [Call a contract view function](./examples/erc20_balance.rs)
9696

9797
8. [Deploy an Argent X account to a pre-funded address](./examples/deploy_argent_account.rs)
9898

examples/declare_cairo0_contract.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ use starknet::{
66
chain_id,
77
types::{contract::legacy::LegacyContractClass, BlockId, BlockTag, FieldElement},
88
},
9-
providers::SequencerGatewayProvider,
9+
providers::{
10+
jsonrpc::{HttpTransport, JsonRpcClient},
11+
Url,
12+
},
1013
signers::{LocalWallet, SigningKey},
1114
};
1215

@@ -15,7 +18,10 @@ async fn main() {
1518
let contract_artifact: LegacyContractClass =
1619
serde_json::from_reader(std::fs::File::open("/path/to/contract/artifact.json").unwrap())
1720
.unwrap();
18-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
21+
let provider = JsonRpcClient::new(HttpTransport::new(
22+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
23+
));
24+
1925
let signer = LocalWallet::from(SigningKey::from_secret_scalar(
2026
FieldElement::from_hex_be("YOUR_PRIVATE_KEY_IN_HEX_HERE").unwrap(),
2127
));
@@ -26,7 +32,7 @@ async fn main() {
2632
signer,
2733
address,
2834
chain_id::TESTNET,
29-
ExecutionEncoding::Legacy,
35+
ExecutionEncoding::New,
3036
);
3137

3238
// `SingleOwnerAccount` defaults to checking nonce and estimating fees against the latest

examples/declare_cairo1_contract.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ use starknet::{
66
chain_id,
77
types::{contract::SierraClass, BlockId, BlockTag, FieldElement},
88
},
9-
providers::SequencerGatewayProvider,
9+
providers::{
10+
jsonrpc::{HttpTransport, JsonRpcClient},
11+
Url,
12+
},
1013
signers::{LocalWallet, SigningKey},
1114
};
1215

@@ -21,7 +24,10 @@ async fn main() {
2124
let compiled_class_hash =
2225
FieldElement::from_hex_be("COMPILED_CASM_CLASS_HASH_IN_HEX_HERE").unwrap();
2326

24-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
27+
let provider = JsonRpcClient::new(HttpTransport::new(
28+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
29+
));
30+
2531
let signer = LocalWallet::from(SigningKey::from_secret_scalar(
2632
FieldElement::from_hex_be("YOUR_PRIVATE_KEY_IN_HEX_HERE").unwrap(),
2733
));
@@ -32,7 +38,7 @@ async fn main() {
3238
signer,
3339
address,
3440
chain_id::TESTNET,
35-
ExecutionEncoding::Legacy,
41+
ExecutionEncoding::New,
3642
);
3743

3844
// `SingleOwnerAccount` defaults to checking nonce and estimating fees against the latest

examples/deploy_argent_account.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ use starknet::{
22
accounts::{AccountFactory, ArgentAccountFactory},
33
core::{chain_id, types::FieldElement},
44
macros::felt,
5-
providers::SequencerGatewayProvider,
5+
providers::{
6+
jsonrpc::{HttpTransport, JsonRpcClient},
7+
Url,
8+
},
69
signers::{LocalWallet, SigningKey},
710
};
811

@@ -14,7 +17,10 @@ async fn main() {
1417
// Anything you like here as salt
1518
let salt = felt!("12345678");
1619

17-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
20+
let provider = JsonRpcClient::new(HttpTransport::new(
21+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
22+
));
23+
1824
let signer = LocalWallet::from(SigningKey::from_secret_scalar(
1925
FieldElement::from_hex_be("YOUR_PRIVATE_KEY_IN_HEX_HERE").unwrap(),
2026
));

examples/deploy_contract.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ use starknet::{
88
types::{contract::legacy::LegacyContractClass, BlockId, BlockTag, FieldElement},
99
},
1010
macros::felt,
11-
providers::SequencerGatewayProvider,
11+
providers::{
12+
jsonrpc::{HttpTransport, JsonRpcClient},
13+
Url,
14+
},
1215
signers::{LocalWallet, SigningKey},
1316
};
1417

@@ -20,7 +23,10 @@ async fn main() {
2023
.unwrap();
2124
let class_hash = contract_artifact.class_hash().unwrap();
2225

23-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
26+
let provider = JsonRpcClient::new(HttpTransport::new(
27+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
28+
));
29+
2430
let signer = LocalWallet::from(SigningKey::from_secret_scalar(
2531
FieldElement::from_hex_be("YOUR_PRIVATE_KEY_IN_HEX_HERE").unwrap(),
2632
));
@@ -30,7 +36,7 @@ async fn main() {
3036
signer,
3137
address,
3238
chain_id::TESTNET,
33-
ExecutionEncoding::Legacy,
39+
ExecutionEncoding::New,
3440
);
3541

3642
// `SingleOwnerAccount` defaults to checking nonce and estimating fees against the latest

examples/sequencer_erc20_balance.rs renamed to examples/erc20_balance.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
use starknet::{
22
core::types::{BlockId, BlockTag, FieldElement, FunctionCall},
33
macros::{felt, selector},
4-
providers::{Provider, SequencerGatewayProvider},
4+
providers::{
5+
jsonrpc::{HttpTransport, JsonRpcClient},
6+
Provider, Url,
7+
},
58
};
69

710
#[tokio::main]
811
async fn main() {
9-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
12+
let provider = JsonRpcClient::new(HttpTransport::new(
13+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
14+
));
15+
1016
let tst_token_address =
1117
felt!("0x07394cbe418daa16e42b87ba67372d4ab4a5df0b05c6e554d158458ce245bc10");
1218

examples/get_block.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
use starknet::{
22
core::types::{BlockId, BlockTag},
3-
providers::{Provider, SequencerGatewayProvider},
3+
providers::{
4+
jsonrpc::{HttpTransport, JsonRpcClient},
5+
Provider, Url,
6+
},
47
};
58

69
#[tokio::main]
710
async fn main() {
8-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
11+
let provider = JsonRpcClient::new(HttpTransport::new(
12+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
13+
));
14+
915
let latest_block = provider
1016
.get_block_with_tx_hashes(BlockId::Tag(BlockTag::Latest))
1117
.await;

examples/jsonrpc.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
use starknet_providers::{
1+
use starknet::providers::{
22
jsonrpc::{HttpTransport, JsonRpcClient},
3-
Provider,
3+
Provider, Url,
44
};
5-
use url::Url;
65

76
#[tokio::main]
87
async fn main() {
9-
let rpc_client = JsonRpcClient::new(HttpTransport::new(
10-
Url::parse("https://starknet-goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161")
11-
.unwrap(),
8+
let provider = JsonRpcClient::new(HttpTransport::new(
9+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
1210
));
1311

14-
let block_number = rpc_client.block_number().await.unwrap();
12+
let block_number = provider.block_number().await.unwrap();
1513
println!("{block_number}");
1614
}

examples/mint_tokens.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,19 @@ use starknet::{
55
types::{BlockId, BlockTag, FieldElement},
66
utils::get_selector_from_name,
77
},
8-
providers::SequencerGatewayProvider,
8+
providers::{
9+
jsonrpc::{HttpTransport, JsonRpcClient},
10+
Url,
11+
},
912
signers::{LocalWallet, SigningKey},
1013
};
1114

1215
#[tokio::main]
1316
async fn main() {
14-
let provider = SequencerGatewayProvider::starknet_alpha_goerli();
17+
let provider = JsonRpcClient::new(HttpTransport::new(
18+
Url::parse("https://starknet-testnet.public.blastapi.io/rpc/v0_6").unwrap(),
19+
));
20+
1521
let signer = LocalWallet::from(SigningKey::from_secret_scalar(
1622
FieldElement::from_hex_be("YOUR_PRIVATE_KEY_IN_HEX_HERE").unwrap(),
1723
));
@@ -26,7 +32,7 @@ async fn main() {
2632
signer,
2733
address,
2834
chain_id::TESTNET,
29-
ExecutionEncoding::Legacy,
35+
ExecutionEncoding::New,
3036
);
3137

3238
// `SingleOwnerAccount` defaults to checking nonce and estimating fees against the latest

0 commit comments

Comments
 (0)