Skip to content

Commit

Permalink
feat: add support for custom messages, add dex params
Browse files Browse the repository at this point in the history
  • Loading branch information
akhlopiachyi committed Jan 8, 2025
1 parent cc179a3 commit 8936061
Show file tree
Hide file tree
Showing 30 changed files with 781 additions and 59 deletions.
10 changes: 9 additions & 1 deletion apps/web-coreum/public/locales/en/message_contents.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,5 +73,13 @@
"msgNftUnfreezeContent": "Account <0>{{sender}}</0> has unfrozen NFT <1>{{id}}</1> with class <2>{{class_id}}</2>",
"msgNftIssueClassContent": "A new NFT Class <0>{{name}}</0> has been issued by <1>{{issuer}}</1>",
"msgNftSendContent": "Account <0>{{sender}}</0> has sent NFT <1>{{id}}</1> with class <2>{{class_id}}</2> to <3>{{recipient}}</3>",
"msgUpgradeTokenContent": "<0>{{sender}}</0> has set the IBC for the token <1>{{denom}} to {{ibc_enabled}}</1>"
"msgUpgradeTokenContent": "<0>{{sender}}</0> has set the IBC for the token <1>{{denom}} to {{ibc_enabled}}</1>",
"msgUpdateDexWhitelistedDenoms": "<0>{{sender}}</0> has set whitelisted denoms for the token <1>{{denom}} to {{whitelisted_denoms}}</1>",
"msgUpdateDEXUnifiedRefAmount": "<0>{{sender}}</0> has set unified ref amount for the token <1>{{denom}} to {{unified_ref_amount}}</1>",
"msgPlaceOrder": "<0>{{sender}}</0> placed an order with id <1>{{id}}</1> where base denom is <1>{{base_denom}}</1>, quote_denom is <1>{{quote_denom}}</1>, price - <1>{{price}}</1>, quantity - <1>{{quantity}}</1>, side - <1>{{side}}</1>",
"msgCancelOrder": "<0>{{sender}}</0> canceled the order with id <1>{{id}}</1>",
"msgCancelOrdersByDenom": "<0>{{sender}}</0> canceled all opened order for the token <1>{{denom}}</1>",
"msgUpdateData": "<0>{{sender}}</0> updated data for nft with id - <1>{{id}}</1> of nft class <1>{{class_id}}</1>",
"msgTransferAdmin": "<0>{{sender}}</0> set as admin account <0>{{account}}</0> for the token <1>{{denom}}</1>",
"msgClearAdmin": "<0>{{sender}}</0> cleared the list of admins for the token <1>{{denom}}</1>"
}
7 changes: 6 additions & 1 deletion apps/web-coreum/public/locales/en/params.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,10 @@
"maxMemoCharacters": "Max memo characters",
"txSizeCostPerByte": "Tx Size cost per byte",
"sigVerifyCostEd25519": "Signature verify cost ed25519",
"sigVerifyCostSecp256k1": "Signature verify cost secp256k1"
"sigVerifyCostSecp256k1": "Signature verify cost secp256k1",
"dex": "DEX",
"defaultUnifiedRefAmount": "Default Unified Ref Amount",
"maxOrdersPerDenom": "Max Orders Per Denom",
"priceTickExponent": "Price Tick Exponent",
"orderReserve": "Order Reserve"
}
83 changes: 49 additions & 34 deletions apps/web-coreum/src/graphql/types/general_types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11758,7 +11758,19 @@ export type OnlineVotingPowerQuery = { activeTotal: { __typename?: 'validator_st
export type ParamsQueryVariables = Exact<{ [key: string]: never; }>;


export type ParamsQuery = { stakingParams: Array<{ __typename?: 'staking_params', params: any }>, slashingParams: Array<{ __typename?: 'slashing_params', params: any }>, mintParams: Array<{ __typename?: 'mint_params', params: any }>, distributionParams: Array<{ __typename?: 'distribution_params', params: any }>, govParams: Array<{ __typename?: 'gov_params', params: any }>, authParams: Array<{ __typename?: 'auth_params', params: any }>, feeModelParams: Array<{__typename?: 'feemodel_params', params: any}>, customParams: Array<{__typename?: 'custom_params', customStakingParams: any }>, nftParams: Array<{ __typename?: 'assetnft_params', params: any }>, ftParams: Array<{ __typename?: 'assetft_params', params: any, token_upgrade_grace_period: any, token_upgrade_decision_timeout: any }>};
export type ParamsQuery = {
stakingParams: Array<{ __typename?: 'staking_params', params: any }>,
slashingParams: Array<{ __typename?: 'slashing_params', params: any }>,
mintParams: Array<{ __typename?: 'mint_params', params: any }>,
distributionParams: Array<{ __typename?: 'distribution_params', params: any }>,
govParams: Array<{ __typename?: 'gov_params', params: any }>,
authParams: Array<{ __typename?: 'auth_params', params: any }>,
feeModelParams: Array<{__typename?: 'feemodel_params', params: any}>,
customParams: Array<{__typename?: 'custom_params', customStakingParams: any }>,
nftParams: Array<{ __typename?: 'assetnft_params', params: any }>,
ftParams: Array<{ __typename?: 'assetft_params', params: any, token_upgrade_grace_period: any, token_upgrade_decision_timeout: any }>,
dexParams: Array<{ __typename?: 'dex_params', params: any }>,
};

export type ProposalDetailsQueryVariables = Exact<{
proposalId?: InputMaybe<Scalars['Int']>;
Expand Down Expand Up @@ -12751,40 +12763,43 @@ export type OnlineVotingPowerQueryHookResult = ReturnType<typeof useOnlineVoting
export type OnlineVotingPowerLazyQueryHookResult = ReturnType<typeof useOnlineVotingPowerLazyQuery>;
export type OnlineVotingPowerQueryResult = Apollo.QueryResult<OnlineVotingPowerQuery, OnlineVotingPowerQueryVariables>;
export const ParamsDocument = gql`
query Params {
stakingParams: staking_params(limit: 1, order_by: {height: desc}) {
params
}
slashingParams: slashing_params(limit: 1, order_by: {height: desc}) {
params
}
mintParams: mint_params(limit: 1, order_by: {height: desc}) {
params
}
distributionParams: distribution_params(limit: 1, order_by: {height: desc}) {
params
}
govParams: gov_params(limit: 1, order_by: {height: desc, params: asc}) {
params
}
#Commented Out until backed is updated
feeModelParams: feemodel_params (limit: 1, order_by: {height: desc}) {
params
}
customParams: customparams_params (limit: 1, order_by: {height: desc}) {
customStakingParams: staking_params
}
nftParams: assetnft_params {
params
}
ftParams: assetft_params{
params
}
authParams: auth_params(limit: 1, order_by: {height: desc, params: asc }) {
params
query Params {
stakingParams: staking_params(limit: 1, order_by: {height: desc}) {
params
}
slashingParams: slashing_params(limit: 1, order_by: {height: desc}) {
params
}
mintParams: mint_params(limit: 1, order_by: {height: desc}) {
params
}
distributionParams: distribution_params(limit: 1, order_by: {height: desc}) {
params
}
govParams: gov_params(limit: 1, order_by: {height: desc, params: asc}) {
params
}
#Commented Out until backed is updated
feeModelParams: feemodel_params (limit: 1, order_by: {height: desc}) {
params
}
customParams: customparams_params (limit: 1, order_by: {height: desc}) {
customStakingParams: staking_params
}
nftParams: assetnft_params {
params
}
ftParams: assetft_params{
params
}
authParams: auth_params(limit: 1, order_by: {height: desc, params: asc }) {
params
}
dexParams: dex_params(limit: 1, order_by: {height: desc, params: asc }) {
params
}
}
}
`;
`;

/**
* __useParamsQuery__
Expand Down
26 changes: 26 additions & 0 deletions packages/ui/src/components/msg/asset/clear_admin/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgClearAdmin } from '@/models';

const ClearAdmin: FC<{ message: MsgClearAdmin }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgClearAdmin"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
denom: message.denom.toUpperCase(),
}}
/>
</Typography>
);
};

export default ClearAdmin;
27 changes: 27 additions & 0 deletions packages/ui/src/components/msg/asset/transfer_admin/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgTransferAdmin } from '@/models';

const TransferAdmin: FC<{ message: MsgTransferAdmin }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgTransferAdmin"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
denom: message.denom.toUpperCase(),
account: message.account,
}}
/>
</Typography>
);
};

export default TransferAdmin;
27 changes: 27 additions & 0 deletions packages/ui/src/components/msg/asset/update_data/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgUpdateData } from '@/models';

const UpdateData: FC<{ message: MsgUpdateData }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgUpdateData"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
class_id: message.class_id,
id: message.id,
}}
/>
</Typography>
);
};

export default UpdateData;
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgUpdateDEXUnifiedRefAmount } from '@/models';

const UpdateDEXWUnifiedRefAmount: FC<{ message: MsgUpdateDEXUnifiedRefAmount }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgUpdateDEXUnifiedRefAmount"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
denom: message.denom.toUpperCase(),
unified_ref_amount: message.unified_ref_amount,
}}
/>
</Typography>
);
};

export default UpdateDEXWUnifiedRefAmount;
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgUpdateDEXWhitelistedDenoms } from '@/models';

const UpdateDEXWhitelistedDenoms: FC<{ message: MsgUpdateDEXWhitelistedDenoms }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgUpdateDexWhitelistedDenoms"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
denom: message.denom.toUpperCase(),
whitelisted_denoms: message.whitelisted_denoms.toString(),
}}
/>
</Typography>
);
};

export default UpdateDEXWhitelistedDenoms;
26 changes: 26 additions & 0 deletions packages/ui/src/components/msg/dex/cancel_order/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgCancelOrder } from '@/models';

const CancelOrder: FC<{ message: MsgCancelOrder }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgPlaceOrder"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
id: message.id,
}}
/>
</Typography>
);
};

export default CancelOrder;
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgCancelOrdersByDenom } from '@/models';

const CancelOrdersByDenom: FC<{ message: MsgCancelOrdersByDenom }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgPlaceOrder"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
denom: message.denom,
}}
/>
</Typography>
);
};

export default CancelOrdersByDenom;
31 changes: 31 additions & 0 deletions packages/ui/src/components/msg/dex/place_order/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { FC } from 'react';
import { useProfileRecoil } from '@/recoil/profiles';
import { Typography } from '@mui/material';
import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgPlaceOrder } from '@/models';

const PlaceOrder: FC<{ message: MsgPlaceOrder }> = (props) => {
const { message } = props;
const sender = useProfileRecoil(message.sender);

return (
<Typography>
<Trans
i18nKey="message_contents:msgPlaceOrder"
components={[<Name address={message.sender} name={sender.name ?? message.sender} />, <b />]}
values={{
sender: message.sender,
id: message.id,
base_denom: message.base_denom,
quote_denom: message.quote_denom,
price: message.price,
quantity: message.quantity,
side: message.side,
}}
/>
</Typography>
);
};

export default PlaceOrder;
8 changes: 8 additions & 0 deletions packages/ui/src/components/msg/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,11 @@ export { default as NftIssueClass } from '@/components/msg/asset/nft_issue_class
export { default as NftSend } from '@/components/msg/nft/send';
export { default as NftAddToWhitelist } from '@/components/msg/asset/nft_add_whitelist';
export { default as NftRemoveFromWhitelist } from '@/components/msg/asset/nft_remove_whitelist';
export { default as UpdateDEXWhitelistedDenoms } from '@/components/msg/asset/update_dex_whitelisted_denoms';
export { default as UpdateDEXUnifiedRefAmount } from '@/components/msg/asset/update_dex_unified_ref_amount';
export { default as PlaceOrder } from '@/components/msg/dex/place_order';
export { default as CancelOrder } from '@/components/msg/dex/cancel_order';
export { default as CancelOrdersByDenom } from '@/components/msg/dex/cancel_orders_by_denom';
export { default as TransferAdmin } from '@/components/msg/asset/transfer_admin';
export { default as ClearAdmin } from '@/components/msg/asset/clear_admin';
export { default as UpdateData } from '@/components/msg/asset/update_data';
Loading

0 comments on commit 8936061

Please sign in to comment.