Skip to content

Commit

Permalink
Distro Module (#17)
Browse files Browse the repository at this point in the history
  • Loading branch information
coachchucksol authored Dec 10, 2024
1 parent 022fee7 commit 9ed6732
Show file tree
Hide file tree
Showing 156 changed files with 16,736 additions and 1,280 deletions.
2 changes: 1 addition & 1 deletion .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[profile.default]
retries = { backoff = "exponential", count = 5, delay = "1s", jitter = true, max-delay = "10s" }
# retries = { backoff = "exponential", count = 3, delay = "10ms", jitter = true, max-delay = "100ms" }
test-threads = "num-cpus"
threads-required = 1
fail-fast = false
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: baptiste0928/cargo-install@v3
with:
crate: cargo-audit
- run: cargo audit --ignore RUSTSEC-2022-0093 --ignore RUSTSEC-2023-0065 --ignore RUSTSEC-2024-0344
- run: cargo audit --ignore RUSTSEC-2022-0093 --ignore RUSTSEC-2023-0065 --ignore RUSTSEC-2024-0344 --ignore RUSTSEC-2024-0421

code_gen:
name: code generation
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
/target

.developer
node_modules
node_modules

# Debugging
program_errors.json
test_errors.output
tests.output
6 changes: 3 additions & 3 deletions Cargo.lock

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

8 changes: 4 additions & 4 deletions clients/js/jito_tip_router/accounts/ballotBox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ export function getBallotBoxEncoder(): Encoder<BallotBoxArgs> {
['operatorsVoted', getU64Encoder()],
['uniqueBallots', getU64Encoder()],
['winningBallot', getBallotEncoder()],
['operatorVotes', getArrayEncoder(getOperatorVoteEncoder(), { size: 32 })],
['ballotTallies', getArrayEncoder(getBallotTallyEncoder(), { size: 32 })],
['operatorVotes', getArrayEncoder(getOperatorVoteEncoder(), { size: 16 })],
['ballotTallies', getArrayEncoder(getBallotTallyEncoder(), { size: 16 })],
]);
}

Expand All @@ -108,8 +108,8 @@ export function getBallotBoxDecoder(): Decoder<BallotBox> {
['operatorsVoted', getU64Decoder()],
['uniqueBallots', getU64Decoder()],
['winningBallot', getBallotDecoder()],
['operatorVotes', getArrayDecoder(getOperatorVoteDecoder(), { size: 32 })],
['ballotTallies', getArrayDecoder(getBallotTallyDecoder(), { size: 32 })],
['operatorVotes', getArrayDecoder(getOperatorVoteDecoder(), { size: 16 })],
['ballotTallies', getArrayDecoder(getBallotTallyDecoder(), { size: 16 })],
]);
}

Expand Down
201 changes: 201 additions & 0 deletions clients/js/jito_tip_router/accounts/baseRewardRouter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
/**
* This code was AUTOGENERATED using the kinobi library.
* Please DO NOT EDIT THIS FILE, instead use visitors
* to add features, then rerun kinobi to update it.
*
* @see https://github.com/kinobi-so/kinobi
*/

import {
assertAccountExists,
assertAccountsExist,
combineCodec,
decodeAccount,
fetchEncodedAccount,
fetchEncodedAccounts,
getAddressDecoder,
getAddressEncoder,
getArrayDecoder,
getArrayEncoder,
getStructDecoder,
getStructEncoder,
getU64Decoder,
getU64Encoder,
getU8Decoder,
getU8Encoder,
type Account,
type Address,
type Codec,
type Decoder,
type EncodedAccount,
type Encoder,
type FetchAccountConfig,
type FetchAccountsConfig,
type MaybeAccount,
type MaybeEncodedAccount,
} from '@solana/web3.js';
import {
getBaseRewardRouterRewardsDecoder,
getBaseRewardRouterRewardsEncoder,
getNcnRewardRouteDecoder,
getNcnRewardRouteEncoder,
type BaseRewardRouterRewards,
type BaseRewardRouterRewardsArgs,
type NcnRewardRoute,
type NcnRewardRouteArgs,
} from '../types';

export type BaseRewardRouter = {
discriminator: bigint;
ncn: Address;
ncnEpoch: bigint;
bump: number;
slotCreated: bigint;
totalRewards: bigint;
rewardPool: bigint;
rewardsProcessed: bigint;
reserved: Array<number>;
baseFeeGroupRewards: Array<BaseRewardRouterRewards>;
ncnFeeGroupRewards: Array<BaseRewardRouterRewards>;
ncnFeeGroupRewardRoutes: Array<NcnRewardRoute>;
};

export type BaseRewardRouterArgs = {
discriminator: number | bigint;
ncn: Address;
ncnEpoch: number | bigint;
bump: number;
slotCreated: number | bigint;
totalRewards: number | bigint;
rewardPool: number | bigint;
rewardsProcessed: number | bigint;
reserved: Array<number>;
baseFeeGroupRewards: Array<BaseRewardRouterRewardsArgs>;
ncnFeeGroupRewards: Array<BaseRewardRouterRewardsArgs>;
ncnFeeGroupRewardRoutes: Array<NcnRewardRouteArgs>;
};

export function getBaseRewardRouterEncoder(): Encoder<BaseRewardRouterArgs> {
return getStructEncoder([
['discriminator', getU64Encoder()],
['ncn', getAddressEncoder()],
['ncnEpoch', getU64Encoder()],
['bump', getU8Encoder()],
['slotCreated', getU64Encoder()],
['totalRewards', getU64Encoder()],
['rewardPool', getU64Encoder()],
['rewardsProcessed', getU64Encoder()],
['reserved', getArrayEncoder(getU8Encoder(), { size: 128 })],
[
'baseFeeGroupRewards',
getArrayEncoder(getBaseRewardRouterRewardsEncoder(), { size: 8 }),
],
[
'ncnFeeGroupRewards',
getArrayEncoder(getBaseRewardRouterRewardsEncoder(), { size: 8 }),
],
[
'ncnFeeGroupRewardRoutes',
getArrayEncoder(getNcnRewardRouteEncoder(), { size: 32 }),
],
]);
}

export function getBaseRewardRouterDecoder(): Decoder<BaseRewardRouter> {
return getStructDecoder([
['discriminator', getU64Decoder()],
['ncn', getAddressDecoder()],
['ncnEpoch', getU64Decoder()],
['bump', getU8Decoder()],
['slotCreated', getU64Decoder()],
['totalRewards', getU64Decoder()],
['rewardPool', getU64Decoder()],
['rewardsProcessed', getU64Decoder()],
['reserved', getArrayDecoder(getU8Decoder(), { size: 128 })],
[
'baseFeeGroupRewards',
getArrayDecoder(getBaseRewardRouterRewardsDecoder(), { size: 8 }),
],
[
'ncnFeeGroupRewards',
getArrayDecoder(getBaseRewardRouterRewardsDecoder(), { size: 8 }),
],
[
'ncnFeeGroupRewardRoutes',
getArrayDecoder(getNcnRewardRouteDecoder(), { size: 32 }),
],
]);
}

export function getBaseRewardRouterCodec(): Codec<
BaseRewardRouterArgs,
BaseRewardRouter
> {
return combineCodec(
getBaseRewardRouterEncoder(),
getBaseRewardRouterDecoder()
);
}

export function decodeBaseRewardRouter<TAddress extends string = string>(
encodedAccount: EncodedAccount<TAddress>
): Account<BaseRewardRouter, TAddress>;
export function decodeBaseRewardRouter<TAddress extends string = string>(
encodedAccount: MaybeEncodedAccount<TAddress>
): MaybeAccount<BaseRewardRouter, TAddress>;
export function decodeBaseRewardRouter<TAddress extends string = string>(
encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>
):
| Account<BaseRewardRouter, TAddress>
| MaybeAccount<BaseRewardRouter, TAddress> {
return decodeAccount(
encodedAccount as MaybeEncodedAccount<TAddress>,
getBaseRewardRouterDecoder()
);
}

export async function fetchBaseRewardRouter<TAddress extends string = string>(
rpc: Parameters<typeof fetchEncodedAccount>[0],
address: Address<TAddress>,
config?: FetchAccountConfig
): Promise<Account<BaseRewardRouter, TAddress>> {
const maybeAccount = await fetchMaybeBaseRewardRouter(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}

export async function fetchMaybeBaseRewardRouter<
TAddress extends string = string,
>(
rpc: Parameters<typeof fetchEncodedAccount>[0],
address: Address<TAddress>,
config?: FetchAccountConfig
): Promise<MaybeAccount<BaseRewardRouter, TAddress>> {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeBaseRewardRouter(maybeAccount);
}

export async function fetchAllBaseRewardRouter(
rpc: Parameters<typeof fetchEncodedAccounts>[0],
addresses: Array<Address>,
config?: FetchAccountsConfig
): Promise<Account<BaseRewardRouter>[]> {
const maybeAccounts = await fetchAllMaybeBaseRewardRouter(
rpc,
addresses,
config
);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}

export async function fetchAllMaybeBaseRewardRouter(
rpc: Parameters<typeof fetchEncodedAccounts>[0],
addresses: Array<Address>,
config?: FetchAccountsConfig
): Promise<MaybeAccount<BaseRewardRouter>[]> {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map((maybeAccount) =>
decodeBaseRewardRouter(maybeAccount)
);
}
22 changes: 12 additions & 10 deletions clients/js/jito_tip_router/accounts/epochSnapshot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ import {
getArrayEncoder,
getStructDecoder,
getStructEncoder,
getU128Decoder,
getU128Encoder,
getU64Decoder,
getU64Encoder,
getU8Decoder,
Expand All @@ -39,8 +37,12 @@ import {
import {
getFeesDecoder,
getFeesEncoder,
getStakeWeightsDecoder,
getStakeWeightsEncoder,
type Fees,
type FeesArgs,
type StakeWeights,
type StakeWeightsArgs,
} from '../types';

export type EpochSnapshot = {
Expand All @@ -50,12 +52,12 @@ export type EpochSnapshot = {
bump: number;
slotCreated: bigint;
slotFinalized: bigint;
ncnFees: Fees;
fees: Fees;
operatorCount: bigint;
vaultCount: bigint;
operatorsRegistered: bigint;
validOperatorVaultDelegations: bigint;
stakeWeight: bigint;
stakeWeights: StakeWeights;
reserved: Array<number>;
};

Expand All @@ -66,12 +68,12 @@ export type EpochSnapshotArgs = {
bump: number;
slotCreated: number | bigint;
slotFinalized: number | bigint;
ncnFees: FeesArgs;
fees: FeesArgs;
operatorCount: number | bigint;
vaultCount: number | bigint;
operatorsRegistered: number | bigint;
validOperatorVaultDelegations: number | bigint;
stakeWeight: number | bigint;
stakeWeights: StakeWeightsArgs;
reserved: Array<number>;
};

Expand All @@ -83,12 +85,12 @@ export function getEpochSnapshotEncoder(): Encoder<EpochSnapshotArgs> {
['bump', getU8Encoder()],
['slotCreated', getU64Encoder()],
['slotFinalized', getU64Encoder()],
['ncnFees', getFeesEncoder()],
['fees', getFeesEncoder()],
['operatorCount', getU64Encoder()],
['vaultCount', getU64Encoder()],
['operatorsRegistered', getU64Encoder()],
['validOperatorVaultDelegations', getU64Encoder()],
['stakeWeight', getU128Encoder()],
['stakeWeights', getStakeWeightsEncoder()],
['reserved', getArrayEncoder(getU8Encoder(), { size: 128 })],
]);
}
Expand All @@ -101,12 +103,12 @@ export function getEpochSnapshotDecoder(): Decoder<EpochSnapshot> {
['bump', getU8Decoder()],
['slotCreated', getU64Decoder()],
['slotFinalized', getU64Decoder()],
['ncnFees', getFeesDecoder()],
['fees', getFeesDecoder()],
['operatorCount', getU64Decoder()],
['vaultCount', getU64Decoder()],
['operatorsRegistered', getU64Decoder()],
['validOperatorVaultDelegations', getU64Decoder()],
['stakeWeight', getU128Decoder()],
['stakeWeights', getStakeWeightsDecoder()],
['reserved', getArrayDecoder(getU8Decoder(), { size: 128 })],
]);
}
Expand Down
2 changes: 2 additions & 0 deletions clients/js/jito_tip_router/accounts/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
*/

export * from './ballotBox';
export * from './baseRewardRouter';
export * from './epochSnapshot';
export * from './ncnConfig';
export * from './ncnRewardRouter';
export * from './operatorSnapshot';
export * from './trackedMints';
export * from './weightTable';
Loading

0 comments on commit 9ed6732

Please sign in to comment.