Skip to content

Commit

Permalink
Changes according to CR
Browse files Browse the repository at this point in the history
  • Loading branch information
Filip Lelek committed Oct 2, 2024
1 parent f180581 commit b394ed5
Showing 1 changed file with 35 additions and 28 deletions.
63 changes: 35 additions & 28 deletions src/app/application/[owner]/[repo]/[id]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,47 +32,54 @@ const ApplicationDetailPage: React.FC<ComponentProps> = ({

const [allowance, setAllowance] = useState<any>()

const getAllowance = async (
contractAddress: string,
const getAllowanceClassic = async (
multisigAddress: string,
allocatorSmartContract: boolean,
): Promise<void> => {
let allowance = 0
if (!allocatorSmartContract) {
const multisigAllowance = await getAllowanceForVerifier(multisigAddress)
if (multisigAllowance.success) {
allowance = parseInt(multisigAllowance.data)
const multisigAllowance = await getAllowanceForVerifier(multisigAddress)
if (multisigAllowance.success) {
const allowance = parseInt(multisigAllowance.data)
if (!isNaN(allowance)) {
setAllowance(allowance)
} else {
setAllowance(0)
}
} else {
const contractAllowance = await getAllowanceForVerifier(contractAddress)
const allocatorAllowance = await getAllocatorAllowanceFromContract(
contractAddress,
multisigAddress,
}
}

const getAllowanceSmartContract = async (
contractAddress: string,
multisigAddress: string,
): Promise<void> => {
const [contractAllowance, allocatorAllowance] = await Promise.all([
getAllowanceForVerifier(contractAddress),
getAllocatorAllowanceFromContract(contractAddress, multisigAddress),
])
if (contractAllowance.success) {
const allowance = Math.min(
parseInt(contractAllowance.data),
allocatorAllowance,
)
if (contractAllowance.success) {
allowance = Math.min(
parseInt(contractAllowance.data),
allocatorAllowance,
)
if (!isNaN(allowance)) {
setAllowance(allowance)
} else {
setAllowance(0)
}
}
if (!isNaN(allowance)) {
setAllowance(allowance)
} else {
setAllowance(0)
}
}

useEffect(() => {
if (typeof selectedAllocator === 'object') {
const isMetaallocatorContract = selectedAllocator?.tooling
.split(', ')
.includes('smart_contract_allocator')
void getAllowance(
selectedAllocator.address,
selectedAllocator.multisig_address,
isMetaallocatorContract,
)
if (!isMetaallocatorContract) {
void getAllowanceClassic(selectedAllocator.multisig_address)
} else {
void getAllowanceSmartContract(
selectedAllocator.address,
selectedAllocator.multisig_address,
)
}
}
}, [selectedAllocator]) // eslint-disable-line react-hooks/exhaustive-deps

Expand Down

0 comments on commit b394ed5

Please sign in to comment.