Approve
Approve params
Param
Type
Description
data
string
the approve data
to
string
the spender address
type
token, nft, nftCollection
the supported type of approve action
Approve Token
container.tsx
import Web3 from 'web3';
import { useRamperService } from '@ramper-v2/native-core';
const { approve, network } = useRamperService();
function onApproveToken() {
const client = new Web3(
new Web3.providers.HttpProvider(network?.rpcURL),
);
const contract = new client.eth.Contract(
ERC20ABI as any,
approveTokenContactAddress,
);
// Main Token decimal
const decimal = 18;
// Please convert amount to wei unit
const amount = '100000000';
const rawData = contract.methods.approve(approveTokenSpender, amount);
const value = {
data: rawData.encodeABI(),
to: approveTokenContactAddress,
type: 'token',
};
try {
const result = await approve(value);
} catch (error) {
// Error Handler
}
};
Approve NFT
approve-nft.tsx
import { useRamperService } from '@ramper-v2/native-core';
import Web3 from "web3";
const { approve, network } = useRamperService();
const handleApproveNFT = async () => {
try {
const client = new Web3(
new Web3.providers.HttpProvider(network?.rpcURL),
);
const contract = new client.eth.Contract(
ERC721FullABI,
approveNFTContactAddress,
);
const rawData = contract.methods.approve(
approveNFTSpender,
approveNFTTokenId,
);
const value = {
data: rawData.encodeABI(),
to: approveNFTContactAddress,
type: 'nft',
};
const result = await approve(value);
} catch (error) {
// Error Handler
}
};
Approve NFT Collection
approve-nft-collection.tsx
import { useRamperService } from '@ramper-v2/native-core';
import Web3 from "web3";
const { approve, network } = useRamperService();
const handleApproveNFTCollection = async () => {
try {
const client = new Web3(
new Web3.providers.HttpProvider(network?.rpcURL),
);
const contract = new client.eth.Contract(
ERC721FullABI,
approveNFTContactAddress,
);
const rawData = contract.methods.setApprovalForAll(approveNFTSpender, true);
const value = {
data: rawData.encodeABI(),
to: approveNFTContactAddress,
type: 'nftCollection',
};
const result = await approve(value);
} catch (error) {
// Error Handler
}
};
Last updated