Skip to content

Commit

Permalink
Merge commit '0d682755d1e576971bd29b41ee56dc9a9e320787' into multi-th…
Browse files Browse the repository at this point in the history
…read-tss
  • Loading branch information
fkouteib committed Jan 29, 2025
2 parents 6a7338a + 0d68275 commit ecb9dff
Show file tree
Hide file tree
Showing 223 changed files with 3,018 additions and 1,582 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Release channels have their own copy of this changelog:
* Unhide `--accounts-db-access-storages-method` for agave-validator and agave-ledger-tool and change default to `file`
* Remove tracer stats from banking-trace. `banking-trace` directory should be cleared when restarting on v2.2 for first time. It will not break if not cleared, but the file will be a mix of new/old format. (#4043)
* Add `--snapshot-zstd-compression-level` to set the compression level when archiving snapshots with zstd.
* SDK:
* `cargo-build-sbf`: add `--skip-tools-install` flag to avoid downloading platform tools and `--no-rustup-override` flag to not use rustup when invoking `cargo`. Useful for immutable environments like Nix.

## [2.1.0]
* Breaking:
Expand Down
96 changes: 80 additions & 16 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 8 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ members = [
"net-utils",
"notifier",
"perf",
"platform-tools-sdk/cargo-build-sbf",
"platform-tools-sdk/cargo-test-sbf",
"platform-tools-sdk/gen-headers",
"poh",
"poh-bench",
"poseidon",
Expand Down Expand Up @@ -106,7 +109,6 @@ members = [
"rpc-test",
"runtime",
"runtime-transaction",
"sdk",
"sdk/account",
"sdk/account-info",
"sdk/address-lookup-table-interface",
Expand All @@ -115,8 +117,6 @@ members = [
"sdk/bincode",
"sdk/blake3-hasher",
"sdk/borsh",
"sdk/cargo-build-sbf",
"sdk/cargo-test-sbf",
"sdk/client-traits",
"sdk/clock",
"sdk/cluster-type",
Expand All @@ -131,14 +131,14 @@ members = [
"sdk/epoch-rewards",
"sdk/epoch-rewards-hasher",
"sdk/epoch-schedule",
"sdk/example-mocks",
"sdk/feature-gate-interface",
"sdk/feature-set",
"sdk/fee-calculator",
"sdk/fee-structure",
"sdk/file-download",
"sdk/frozen-abi",
"sdk/frozen-abi/macro",
"sdk/gen-headers",
"sdk/genesis-config",
"sdk/hard-forks",
"sdk/hash",
Expand Down Expand Up @@ -179,6 +179,7 @@ members = [
"sdk/reserved-account-keys",
"sdk/reward-info",
"sdk/sanitize",
"sdk/sdk",
"sdk/sdk-ids",
"sdk/secp256k1-program",
"sdk/secp256r1-program",
Expand Down Expand Up @@ -503,6 +504,7 @@ solana-epoch-info = { path = "sdk/epoch-info", version = "=2.2.0" }
solana-epoch-rewards = { path = "sdk/epoch-rewards", version = "=2.2.0" }
solana-epoch-rewards-hasher = { path = "sdk/epoch-rewards-hasher", version = "=2.2.0" }
solana-epoch-schedule = { path = "sdk/epoch-schedule", version = "=2.2.0" }
solana-example-mocks = { path = "sdk/example-mocks", version = "=2.2.0" }
solana-faucet = { path = "faucet", version = "=2.2.0" }
solana-feature-gate-client = "0.0.2"
solana-feature-gate-interface = { path = "sdk/feature-gate-interface", version = "=2.2.0" }
Expand Down Expand Up @@ -602,7 +604,7 @@ solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=2
solana-runtime = { path = "runtime", version = "=2.2.0" }
solana-runtime-transaction = { path = "runtime-transaction", version = "=2.2.0" }
solana-sbpf = "=0.9.0"
solana-sdk = { path = "sdk", version = "=2.2.0" }
solana-sdk = { path = "sdk/sdk", version = "=2.2.0" }
solana-sdk-ids = { path = "sdk/sdk-ids", version = "=2.2.0" }
solana-sdk-macro = { path = "sdk/macro", version = "=2.2.0" }
solana-secp256k1-program = { path = "sdk/secp256k1-program", version = "=2.2.0" }
Expand Down Expand Up @@ -653,7 +655,7 @@ spl-instruction-padding = "0.3"
spl-memo = "=6.0.0"
spl-pod = "=0.5.0"
spl-token = "=7.0.0"
spl-token-2022 = "=6.0.0"
spl-token-2022 = "=7.0.0"
spl-token-confidential-transfer-proof-extraction = "0.2.1"
spl-token-group-interface = "=0.5.0"
spl-token-metadata-interface = "=0.6.0"
Expand Down
19 changes: 19 additions & 0 deletions account-decoder-client-types/src/token.rs
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@ pub enum UiExtension {
TokenGroupMember(UiTokenGroupMember),
ConfidentialMintBurn(UiConfidentialMintBurn),
UnparseableExtension,
ScaledUiAmountConfig(UiScaledUiAmountConfig),
PausableConfig(UiPausableConfig),
PausableAccount,
}

#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
Expand Down Expand Up @@ -317,3 +320,19 @@ pub struct UiMultisig {
pub is_initialized: bool,
pub signers: Vec<String>,
}

#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct UiScaledUiAmountConfig {
pub authority: Option<String>,
pub multiplier: String,
pub new_multiplier_effective_timestamp: i64,
pub new_multiplier: String,
}

#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct UiPausableConfig {
pub authority: Option<String>,
pub paused: bool,
}
18 changes: 12 additions & 6 deletions account-decoder/src/parse_token.rs
Original file line number Diff line number Diff line change
Expand Up @@ -381,15 +381,21 @@ mod test {
..Default::default()
};
let additional_data = SplTokenAdditionalData {
decimals: 0,
decimals: 18,
interest_bearing_config: Some((config, INT_SECONDS_PER_YEAR)),
};
let token_amount = token_amount_to_ui_amount_v2(1, &additional_data);
assert_eq!(token_amount.ui_amount_string, "1.0512710963760241");
const ONE: u64 = 1_000_000_000_000_000_000;
const TEN: u64 = 10_000_000_000_000_000_000;
let token_amount = token_amount_to_ui_amount_v2(ONE, &additional_data);
assert!(token_amount
.ui_amount_string
.starts_with("1.051271096376024117"));
assert!((token_amount.ui_amount.unwrap() - 1.0512710963760241f64).abs() < f64::EPSILON);
let token_amount = token_amount_to_ui_amount_v2(10, &additional_data);
assert_eq!(token_amount.ui_amount_string, "10.512710963760242");
assert!((token_amount.ui_amount.unwrap() - 10.512710963760241f64).abs() < f64::EPSILON);
let token_amount = token_amount_to_ui_amount_v2(TEN, &additional_data);
assert!(token_amount
.ui_amount_string
.starts_with("10.512710963760241611"));
assert!((token_amount.ui_amount.unwrap() - 10.512710963760242f64).abs() < f64::EPSILON);

// huge case
let config = InterestBearingConfig {
Expand Down
Loading

0 comments on commit ecb9dff

Please sign in to comment.