Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions cmd/soroban-cli/src/rpc/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,6 @@ pub struct GetTransactionStatusResponse {
pub results: Vec<TransactionStatusResult>,
}

// TODO: this should also be used by serve
#[derive(serde::Deserialize, serde::Serialize, Debug)]
pub struct GetContractDataResponse {
pub xdr: String,
// TODO: add lastModifiedLedgerSeq and latestLedger
}

// TODO: this should also be used by serve
#[derive(serde::Deserialize, serde::Serialize, Debug)]
pub struct GetLedgerEntryResponse {
Expand Down
43 changes: 2 additions & 41 deletions cmd/soroban-cli/src/serve.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ use soroban_env_host::{
budget::Budget,
storage::Storage,
xdr::{
self, Error as XdrError, FeeBumpTransactionInnerTx, HostFunction, LedgerEntryData,
LedgerKey, LedgerKeyContractData, OperationBody, ReadXdr, ScHostStorageErrorCode, ScObject,
ScStatus, ScVal, TransactionEnvelope, WriteXdr,
self, Error as XdrError, FeeBumpTransactionInnerTx, HostFunction, LedgerKey, OperationBody,
ReadXdr, ScHostStorageErrorCode, ScObject, ScStatus, ScVal, TransactionEnvelope, WriteXdr,
},
Host, HostError,
};
Expand Down Expand Up @@ -68,7 +67,6 @@ pub enum Error {
#[serde(untagged)]
enum Requests {
NoArg(),
GetContractData((String, String)),
StringArg(Box<[String]>),
}

Expand Down Expand Up @@ -141,9 +139,6 @@ async fn handler(
let result = match (request.method.as_str(), request.params) {
("getAccount", Some(Requests::StringArg(b))) => get_account(b),
("getHealth", Some(Requests::NoArg()) | None) => Ok(get_health()),
("getContractData", Some(Requests::GetContractData((contract_id, key)))) => {
get_contract_data(&contract_id, key, &ledger_file)
}
("getLedgerEntry", Some(Requests::StringArg(key))) => get_ledger_entry(key, &ledger_file),
("getTransactionStatus", Some(Requests::StringArg(b))) => {
get_transaction_status(&transaction_status_map, b).await
Expand Down Expand Up @@ -199,40 +194,6 @@ fn reply(
}
}

fn get_contract_data(
contract_id_hex: &str,
key_xdr: String,
ledger_file: &PathBuf,
) -> Result<Value, Error> {
// Initialize storage and host
let state = utils::ledger_snapshot_read_or_default(ledger_file)?;
let contract_id: [u8; 32] = utils::id_from_str(&contract_id_hex.to_string())?;
let key = ScVal::from_xdr_base64(key_xdr)?;

let snap = Rc::new(state);
let mut storage = Storage::with_recording_footprint(snap);
let ledger_entry = storage.get(
&LedgerKey::ContractData(LedgerKeyContractData {
contract_id: xdr::Hash(contract_id),
key,
}),
&soroban_env_host::budget::Budget::default(),
)?;

let value = if let LedgerEntryData::ContractData(entry) = ledger_entry.data {
entry.val
} else {
unreachable!();
};

Ok(json!({
"xdr": value.to_xdr_base64()?,
"lastModifiedLedgerSeq": ledger_entry.last_modified_ledger_seq,
// TODO: Find "real" ledger seq number here
"latestLedger": 1,
}))
}

fn get_ledger_entry(k: Box<[String]>, ledger_file: &PathBuf) -> Result<Value, Error> {
if let Some(key_xdr) = k.into_vec().first() {
// Initialize storage and host
Expand Down
1 change: 0 additions & 1 deletion cmd/soroban-rpc/internal/jsonrpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ func NewJSONRPCHandler(params HandlerParams) (Handler, error) {
"getTransactionStatus": methods.NewGetTransactionStatusHandler(params.TransactionProxy),
"sendTransaction": methods.NewSendTransactionHandler(params.TransactionProxy),
"simulateTransaction": methods.NewSimulateTransactionHandler(params.Logger, params.CoreClient),
"getContractData": methods.NewGetContractDataHandler(params.Logger, params.CoreClient),
}, nil)
corsMiddleware := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
Expand Down
119 changes: 0 additions & 119 deletions cmd/soroban-rpc/internal/methods/get_contract_data.go

This file was deleted.

166 changes: 0 additions & 166 deletions cmd/soroban-rpc/internal/test/get_contract_data_test.go

This file was deleted.