From 7af05c00b353671fb87d8b59bc1c8d6779cd5668 Mon Sep 17 00:00:00 2001 From: Nasr Date: Wed, 10 Jan 2024 13:20:30 -0500 Subject: [PATCH] fix: bump rustc version for simd instructions and deploy burner w/o rpc --- .github/workflows/release.yml | 2 +- dojo.h | 3 +-- example/main.c | 9 +++++---- src/libc.rs | 9 ++++++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8466499..e19ce4e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,7 @@ on: env: CARGO_TERM_COLOR: always - RUST_VERSION: 1.70.0 + RUST_VERSION: 1.72.0 jobs: prepare: diff --git a/dojo.h b/dojo.h index a8f1e7f..8b767c1 100644 --- a/dojo.h +++ b/dojo.h @@ -575,8 +575,7 @@ struct ResultAccount account_new(struct CJsonRpcClient *rpc, struct FieldElement private_key, const char *address); -struct ResultAccount account_deploy_burner(struct CJsonRpcClient *rpc, - struct Account *master_account); +struct ResultAccount account_deploy_burner(struct Account *master_account); struct FieldElement account_address(struct Account *account); diff --git a/example/main.c b/example/main.c index efbb73f..8868b35 100644 --- a/example/main.c +++ b/example/main.c @@ -46,7 +46,8 @@ int main() const char *playerKey = "0x028cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20"; const char *playerAddress = "0x0517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973"; - const char *world = "0x033ac2f528bb97cc7b79148fd1756dc368be0e95d391d8c6d6473ecb60b4560e"; + const char *world = "0x028f5999ae62fec17c09c52a800e244961dba05251f5aaf923afabd9c9804d1a"; + const char *actions = "0x03e274b7d85fd0415bec56a5d831c3854f7308bbb26d486993cfc49e5a5fb788"; // Initialize world.data here... KeysClause entities[1] = {}; @@ -91,7 +92,7 @@ int main() } Account *master_account = resAccount.ok; - ResultAccount resBurner = account_deploy_burner(provider, master_account); + ResultAccount resBurner = account_deploy_burner(master_account); if (resBurner.tag == ErrAccount) { printf("Failed to create burner: %s\n", resBurner.err.message); @@ -194,12 +195,12 @@ int main() } Call spawn = { - .to = "0x0152dcff993befafe5001975149d2c50bd9621da7cbaed74f68e7d5e54e65abc", + .to = actions, .selector = "spawn", }; Call move = { - .to = "0x0152dcff993befafe5001975149d2c50bd9621da7cbaed74f68e7d5e54e65abc", + .to = actions, .selector = "move", .calldata = { .data = malloc(sizeof(FieldElement)), diff --git a/src/libc.rs b/src/libc.rs index 5932807..b0e4cfd 100644 --- a/src/libc.rs +++ b/src/libc.rs @@ -5,6 +5,7 @@ use crate::types::{ Query, Result, Signature, ToriiClient, Ty, WorldMetadata, }; use crate::utils::watch_tx; +use starknet::accounts::ConnectedAccount; use starknet::accounts::{Account as StarknetAccount, ExecutionEncoding, SingleOwnerAccount}; use starknet::core::utils::{ cairo_short_string_to_felt, get_contract_address, get_selector_from_name, @@ -385,7 +386,6 @@ pub unsafe extern "C" fn account_new( #[no_mangle] #[allow(clippy::missing_safety_doc)] pub unsafe extern "C" fn account_deploy_burner( - rpc: *mut CJsonRpcClient, master_account: *mut Account<'static>, ) -> Result<*mut Account<'static>> { let signing_key = SigningKey::from_random(); @@ -401,7 +401,7 @@ pub unsafe extern "C" fn account_deploy_burner( let chain_id = (*master_account).0.chain_id(); let account = SingleOwnerAccount::new( - &(*rpc).0, + *(*master_account).0.provider(), signer, address, chain_id, @@ -435,7 +435,10 @@ pub unsafe extern "C" fn account_deploy_burner( tokio::runtime::Runtime::new() .unwrap() - .block_on(watch_tx(&(*rpc).0, result.transaction_hash)) + .block_on(watch_tx( + (*master_account).0.provider(), + result.transaction_hash, + )) .unwrap(); Result::Ok(Box::into_raw(Box::new(Account(account))))