Skip to content

Commit 5e641b3

Browse files
authored
Convert warmup/cooldown rates to integers (#152)
* Convert warmup/cooldown rate to integers * More test_case usage * Update deprecation comments
1 parent 21b95b3 commit 5e641b3

15 files changed

Lines changed: 934 additions & 92 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

clients/js/src/generated/types/delegation.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ import {
1010
combineCodec,
1111
getAddressDecoder,
1212
getAddressEncoder,
13-
getF64Decoder,
14-
getF64Encoder,
13+
getArrayDecoder,
14+
getArrayEncoder,
1515
getStructDecoder,
1616
getStructEncoder,
1717
getU64Decoder,
1818
getU64Encoder,
19+
getU8Decoder,
20+
getU8Encoder,
1921
type Address,
2022
type FixedSizeCodec,
2123
type FixedSizeDecoder,
@@ -28,15 +30,15 @@ export type Delegation = {
2830
stake: bigint;
2931
activationEpoch: Epoch;
3032
deactivationEpoch: Epoch;
31-
warmupCooldownRate: number;
33+
reserved: Array<number>;
3234
};
3335

3436
export type DelegationArgs = {
3537
voterPubkey: Address;
3638
stake: number | bigint;
3739
activationEpoch: EpochArgs;
3840
deactivationEpoch: EpochArgs;
39-
warmupCooldownRate: number;
41+
reserved: Array<number>;
4042
};
4143

4244
export function getDelegationEncoder(): FixedSizeEncoder<DelegationArgs> {
@@ -45,7 +47,7 @@ export function getDelegationEncoder(): FixedSizeEncoder<DelegationArgs> {
4547
['stake', getU64Encoder()],
4648
['activationEpoch', getEpochEncoder()],
4749
['deactivationEpoch', getEpochEncoder()],
48-
['warmupCooldownRate', getF64Encoder()],
50+
['reserved', getArrayEncoder(getU8Encoder(), { size: 8 })],
4951
]);
5052
}
5153

@@ -55,7 +57,7 @@ export function getDelegationDecoder(): FixedSizeDecoder<Delegation> {
5557
['stake', getU64Decoder()],
5658
['activationEpoch', getEpochDecoder()],
5759
['deactivationEpoch', getEpochDecoder()],
58-
['warmupCooldownRate', getF64Decoder()],
60+
['reserved', getArrayDecoder(getU8Decoder(), { size: 8 })],
5961
]);
6062
}
6163

clients/rust/src/generated/types/delegation.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ pub struct Delegation {
2222
pub stake: u64,
2323
pub activation_epoch: Epoch,
2424
pub deactivation_epoch: Epoch,
25-
pub warmup_cooldown_rate: f64,
25+
pub reserved: [u8; 8],
2626
}

interface/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ serde_json = { version = "1.0", optional = true }
4242
anyhow = "1"
4343
assert_matches = "1.5.0"
4444
bincode = "1.3.3"
45+
proptest = "1.10.0"
4546
serial_test = "3.4.0"
4647
solana-account = { version = "4.0.0", features = ["bincode"] }
4748
solana-borsh = "3.0.2"

interface/idl.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -464,11 +464,18 @@
464464
},
465465
{
466466
"kind": "structFieldTypeNode",
467-
"name": "warmupCooldownRate",
467+
"name": "reserved",
468468
"type": {
469-
"endian": "le",
470-
"format": "f64",
471-
"kind": "numberTypeNode"
469+
"count": {
470+
"kind": "fixedCountNode",
471+
"value": 8
472+
},
473+
"item": {
474+
"endian": "le",
475+
"format": "u8",
476+
"kind": "numberTypeNode"
477+
},
478+
"kind": "arrayTypeNode"
472479
}
473480
}
474481
],

interface/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ pub mod state;
1313
#[cfg(feature = "sysvar")]
1414
pub mod sysvar;
1515
pub mod tools;
16+
#[cfg(test)]
17+
mod ulp;
18+
pub mod warmup_cooldown_allowance;
1619

1720
#[cfg(feature = "codama")]
1821
use codama_macros::codama;

0 commit comments

Comments
 (0)