Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4867c2d
feature: beneficiaries facet added
AlbertoMolinaIoBuilders Aug 21, 2025
4124929
beneficiaries using external lists
AlbertoMolinaIoBuilders Aug 21, 2025
a8b2911
factory updated with beneficiaries
AlbertoMolinaIoBuilders Aug 21, 2025
3b10c82
factory updated
AlbertoMolinaIoBuilders Aug 21, 2025
59fef8f
beneficiaries time travel
AlbertoMolinaIoBuilders Aug 21, 2025
3058bbf
feat: scripts updated
Axel-IoBuilders Sep 8, 2025
1ad3a9f
feat: updateBeneficiaryData added
Axel-IoBuilders Sep 8, 2025
aada6d0
beneficiaries tests added
AlbertoMolinaIoBuilders Aug 22, 2025
a26c4dc
refactor: beneficiaries added to createbond in sdk
Axel-IoBuilders Sep 8, 2025
62a1af7
refactor: previousData is not needed
luigi-io Aug 27, 2025
d581876
feat: add beneficiaries management to bond commands and adapters
Axel-IoBuilders Sep 8, 2025
eef71bb
feat: add beneficiaries SDK
Axel-IoBuilders Sep 9, 2025
4edd9a5
fix: rebase with develop
Axel-IoBuilders Sep 10, 2025
4b878a0
feat: add beneficiaries query SDK
Axel-IoBuilders Sep 10, 2025
0ae85d2
fix: validation service isBeneficiary
Axel-IoBuilders Sep 10, 2025
95d4060
fix: add optional field and fix service in command
Axel-IoBuilders Sep 12, 2025
4a9e27d
fix: add validation createBond
Axel-IoBuilders Sep 15, 2025
2787786
fix: command createBondRequestCommand
Axel-IoBuilders Sep 15, 2025
e7f8153
fix: beneficiaryData transaction adapters
Axel-IoBuilders Sep 15, 2025
574e70a
feat: web implementation
ManuIOB Sep 15, 2025
5bf8681
fix: beneficiaryData hedera adapter
jaime-iobermudez Sep 15, 2025
a8a701f
fix: adapters
Axel-IoBuilders Sep 15, 2025
084fca4
fix: request add beneficiary
Axel-IoBuilders Sep 15, 2025
e081fa4
fix: updateAddBeneficiaryData
Axel-IoBuilders Sep 15, 2025
fcb5075
fix: hex validation
ManuIOB Sep 15, 2025
3765ac7
fix: comments pr
Axel-IoBuilders Sep 15, 2025
dc7c59c
fix: tests
ManuIOB Sep 15, 2025
e11ca86
fix: remove comments and 0x format
ManuIOB Sep 16, 2025
f8b2265
fix: apply roles hedera adapter
jaime-iobermudez Sep 16, 2025
f30a0fb
fix: sdk and contracts tests
Axel-IoBuilders Sep 16, 2025
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
2 changes: 1 addition & 1 deletion apps/ats/web/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ const webConfig = baseConfig
},
]);

export default webConfig;
export default webConfig;
2 changes: 1 addition & 1 deletion apps/ats/web/prettier.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
*/
import baseConfig from '../../../prettier.config.mjs';

export default baseConfig;
export default baseConfig;
158 changes: 158 additions & 0 deletions apps/ats/web/src/hooks/mutations/useBeneficiaries.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import SDKService from '../../services/SDKService';
import {
AddBeneficiaryRequest,
RemoveBeneficiaryRequest,
UpdateBeneficiaryDataRequest,
} from '@hashgraph/asset-tokenization-sdk';
import { useToast } from 'io-bricks-ui';
import { useTranslation } from 'react-i18next';
import { GET_BENEFICIARY_LIST } from '../queries/useBeneficiaries';

export const useAddBeneficiary = () => {
const queryClient = useQueryClient();
const toast = useToast();
const { t } = useTranslation('security', {
keyPrefix: 'details.beneficiaries.create.messages',
});

return useMutation(
(req: AddBeneficiaryRequest) => SDKService.addBeneficiary(req),
{
onSuccess(data, variables) {
queryClient.invalidateQueries({
queryKey: [GET_BENEFICIARY_LIST(variables.securityId)],
});

console.log(
'SDK message --> Add beneficiary operation success: ',
data,
);

if (!data) {
return;
}

toast.show({
duration: 3000,
title: t('success'),
description: t('descriptionSuccess'),
variant: 'subtle',
status: 'success',
});
},
onError: (error) => {
console.log('SDK message --> Add beneficiary operation error: ', error);

toast.show({
duration: 3000,
title: t('error'),
description: t('descriptionFailed'),
variant: 'subtle',
status: 'error',
});
},
},
);
};

export const useUpdateBeneficiary = () => {
const queryClient = useQueryClient();
const toast = useToast();
const { t } = useTranslation('security', {
keyPrefix: 'details.beneficiaries.update.messages',
});

return useMutation(
(req: UpdateBeneficiaryDataRequest) =>
SDKService.updateBeneficiaryData(req),
{
onSuccess(data, variables) {
queryClient.invalidateQueries({
queryKey: [GET_BENEFICIARY_LIST(variables.securityId)],
});

console.log(
'SDK message --> Update beneficiary operation success: ',
data,
);

if (!data) {
return;
}

toast.show({
duration: 3000,
title: t('success'),
description: t('descriptionSuccess'),
variant: 'subtle',
status: 'success',
});
},
onError: (error) => {
console.log(
'SDK message --> Update beneficiary operation error: ',
error,
);

toast.show({
duration: 3000,
title: t('error'),
description: t('descriptionFailed'),
variant: 'subtle',
status: 'error',
});
},
},
);
};

export const useRemoveBeneficiary = () => {
const queryClient = useQueryClient();
const toast = useToast();
const { t } = useTranslation('security', {
keyPrefix: 'details.beneficiaries.remove.messages',
});

return useMutation(
(req: RemoveBeneficiaryRequest) => SDKService.removeBeneficiary(req),
{
onSuccess(data, variables) {
queryClient.invalidateQueries({
queryKey: [GET_BENEFICIARY_LIST(variables.securityId)],
});

console.log(
'SDK message --> Remove beneficiary operation success: ',
data,
);

if (!data) {
return;
}

toast.show({
duration: 3000,
title: t('success'),
description: t('descriptionSuccess'),
variant: 'subtle',
status: 'success',
});
},
onError: (error) => {
console.log(
'SDK message --> Remove beneficiary operation error: ',
error,
);

toast.show({
duration: 3000,
title: t('error'),
description: t('descriptionFailed'),
variant: 'subtle',
status: 'error',
});
},
},
);
};
Loading