useUpdatePlatformFees
Hook for updating platform fees on a smart contract.
Available to use on smart contracts that implement the PlatformFee interface.
import { useUpdatePlatformFees } from "@thirdweb-dev/react";
const { mutateAsync, isLoading, error } = useUpdatePlatformFees(contract);
Usage
Provide your contract instance from the useContract
hook as the argument.
import {
useUpdatePlatformFees,
useContract,
Web3Button,
} from "@thirdweb-dev/react";
// Your smart contract address
const contractAddress = "{{contract_address}}";
function App() {
const { contract } = useContract(contractAddress);
const {
mutateAsync: updatePlatformFees,
isLoading,
error,
} = useUpdatePlatformFees(contract);
return (
<Web3Button
contractAddress={contractAddress}
action={() =>
updatePlatformFees({
platform_fee_basis_points: 0,
fee_recipient: "{{wallet_address}}",
})
}
>
Update Platform Fees
</Web3Button>
);
}
Configuration
platform_fee_basis_points
platform_fee_basis_points (required)
The platform_fee_basis_points
property is a number
between 0
- 10000
that defines the fee rate.
This number is in percentage points. i.e. 100
is a 1% fee and 10000
is a 100% fee.
import {
useUpdatePlatformFees,
useContract,
Web3Button,
} from "@thirdweb-dev/react";
// Your smart contract address
const contractAddress = "{{contract_address}}";
function App() {
const { contract } = useContract(contractAddress);
const {
mutateAsync: updatePlatformFees,
isLoading,
error,
} = useUpdatePlatformFees(contract);
return (
<Web3Button
contractAddress={contractAddress}
action={() =>
updatePlatformFees({
platform_fee_basis_points: 1000, // 10% platform fee
fee_recipient: "{{wallet_address}}",
})
}
>
Update Platform Fees
</Web3Button>
);
}
fee_recipient
fee_recipient (required)
The fee_recipient
property is the address of the wallet that will receive the fees.
Use the useAddress
hook to get the current wallet address.
import {
useUpdatePlatformFees,
useContract,
Web3Button,
} from "@thirdweb-dev/react";
// Your smart contract address
const contractAddress = "{{contract_address}}";
function App() {
const { contract } = useContract(contractAddress);
const {
mutateAsync: updatePlatformFees,
isLoading,
error,
} = useUpdatePlatformFees(contract);
return (
<Web3Button
contractAddress={contractAddress}
action={() =>
updatePlatformFees({
platform_fee_basis_points: 1000,
fee_recipient: "{{wallet_address}}",
})
}
>
Update Platform Fees
</Web3Button>
);
}