I am a frontend wizard & shipping machine 🧙 🛳️ - 99.9% high quality code + 0.01% human bug


I am a frontend wizard & shipping machine 🧙 🛳️ - 99.9% high quality code + 0.01% human bug
Share Dialog
Share Dialog

Subscribe to James Quinn

Subscribe to James Quinn
On Oct 26th, I launched the OnchainMagic ERC1155, ERC721 feed comment feature, similar to Instagram.
On this page, users can generate ERC1155 or ERC721 using comments (Zora's mintWithRewards) and users can view the comments in the on-chain storage.
And Integration of the ERC155, ERC721 mintWithRewards functionality. 🔌

use1155Collect
.........
const use1155Collect = (dropAddress, tokenId, comment = "🪄🪄🪄") => {
............
............
const totalFee = BigNumber.from(publicSalePrice).add(zoraFee).toHexString()
const totalFeeAsNumber = parseFloat(totalFee)
const hasBalanceToPurchase = totalFeeAsNumber !== parseFloat(balance)
const minterArguments = useMemo(() => {
if (zorbOwner || connectedWallet)
return defaultAbiCoder.encode(["address", "string"], [zorbOwner || connectedWallet, comment])
}, [zorbOwner, connectedWallet, comment])
const collect1155 = async () => {
if (!prepare()) return
if (!hasBalanceToPurchase) {
toast.error("insufficient funds. please refill your wallet.")
return
}
await sendTransaction(
dropAddress,
chainId,
abi,
"mintWithRewards",
[minterAddress, tokenId, 1, minterArguments, createReferral],
totalFee,
"1 EDITION",
comment ? "Comment" : "Collect",
comment ? "Commented!" : "Collected!",
)
}
return { collect1155, minterAddress }
}
export default use1155Collect
use721Collect
.........
const use1155Collect = (dropAddress, tokenId, comment = "🪄🪄🪄") => {
............
............
const totalFee = BigNumber.from(publicSalePrice).add(zoraFee).toHexString()
const totalFeeAsNumber = parseFloat(totalFee)
const hasBalanceToPurchase = totalFeeAsNumber !== parseFloat(balance)
const totalFee = BigNumber.from(publicSalePrice).add(zoraFee).toHexString()
const totalFeeAsNumber = parseFloat(totalFee)
const hasBalanceToPurchase = totalFeeAsNumber !== parseFloat(balance)
const collect721 = async () => {
if (!prepare()) return
if (!hasBalanceToPurchase) {
toast.error("insufficient funds. please refill your wallet.")
return
}
await sendTransaction(
dropAddress,
chainId,
abi,
"mintWithRewards",
[zorbOwner || connectedWallet, 1, comment, createReferral],
totalFee,
"1 EDITION",
comment ? "Comment" : "Collect",
comment ? "Commented!" : "Collected!",
)
}
return { collect721 }
}
export default use1155Collect
usePrivySendTransaction
................................
const usePrivySendTransaction = () => {
const { sendTransaction: privySendTransaction } = usePrivy()
const sendTransaction = async (
to,
chainId,
abi,
functionName,
args,
value = BigNumber.from("0").toHexString(),
description = "",
buttonText = "",
customSuccessMessage = null,
) => {
try {
const data = new Interface(abi).encodeFunctionData(functionName, args)
const unsignedTx = {
to,
chainId,
data,
value,
}
const uiConfig = {
header: "OnchainMagic🪄",
description,
buttonText,
}
const txReceipt = await privySendTransaction(unsignedTx, uiConfig)
.............................
return txReceipt.transactionHash
} catch (error) {
........................
console.error("errorrr", error)
return { error }
}
}
return {
sendTransaction,
}
}
export default usePrivySendTransaction
High quality work achieved super fast delivery. 🌄⚡️🌄
I am proud that I can be of some help in generating profits for musicians who create music NFTs. 😉
On Oct 26th, I launched the OnchainMagic ERC1155, ERC721 feed comment feature, similar to Instagram.
On this page, users can generate ERC1155 or ERC721 using comments (Zora's mintWithRewards) and users can view the comments in the on-chain storage.
And Integration of the ERC155, ERC721 mintWithRewards functionality. 🔌

use1155Collect
.........
const use1155Collect = (dropAddress, tokenId, comment = "🪄🪄🪄") => {
............
............
const totalFee = BigNumber.from(publicSalePrice).add(zoraFee).toHexString()
const totalFeeAsNumber = parseFloat(totalFee)
const hasBalanceToPurchase = totalFeeAsNumber !== parseFloat(balance)
const minterArguments = useMemo(() => {
if (zorbOwner || connectedWallet)
return defaultAbiCoder.encode(["address", "string"], [zorbOwner || connectedWallet, comment])
}, [zorbOwner, connectedWallet, comment])
const collect1155 = async () => {
if (!prepare()) return
if (!hasBalanceToPurchase) {
toast.error("insufficient funds. please refill your wallet.")
return
}
await sendTransaction(
dropAddress,
chainId,
abi,
"mintWithRewards",
[minterAddress, tokenId, 1, minterArguments, createReferral],
totalFee,
"1 EDITION",
comment ? "Comment" : "Collect",
comment ? "Commented!" : "Collected!",
)
}
return { collect1155, minterAddress }
}
export default use1155Collect
use721Collect
.........
const use1155Collect = (dropAddress, tokenId, comment = "🪄🪄🪄") => {
............
............
const totalFee = BigNumber.from(publicSalePrice).add(zoraFee).toHexString()
const totalFeeAsNumber = parseFloat(totalFee)
const hasBalanceToPurchase = totalFeeAsNumber !== parseFloat(balance)
const totalFee = BigNumber.from(publicSalePrice).add(zoraFee).toHexString()
const totalFeeAsNumber = parseFloat(totalFee)
const hasBalanceToPurchase = totalFeeAsNumber !== parseFloat(balance)
const collect721 = async () => {
if (!prepare()) return
if (!hasBalanceToPurchase) {
toast.error("insufficient funds. please refill your wallet.")
return
}
await sendTransaction(
dropAddress,
chainId,
abi,
"mintWithRewards",
[zorbOwner || connectedWallet, 1, comment, createReferral],
totalFee,
"1 EDITION",
comment ? "Comment" : "Collect",
comment ? "Commented!" : "Collected!",
)
}
return { collect721 }
}
export default use1155Collect
usePrivySendTransaction
................................
const usePrivySendTransaction = () => {
const { sendTransaction: privySendTransaction } = usePrivy()
const sendTransaction = async (
to,
chainId,
abi,
functionName,
args,
value = BigNumber.from("0").toHexString(),
description = "",
buttonText = "",
customSuccessMessage = null,
) => {
try {
const data = new Interface(abi).encodeFunctionData(functionName, args)
const unsignedTx = {
to,
chainId,
data,
value,
}
const uiConfig = {
header: "OnchainMagic🪄",
description,
buttonText,
}
const txReceipt = await privySendTransaction(unsignedTx, uiConfig)
.............................
return txReceipt.transactionHash
} catch (error) {
........................
console.error("errorrr", error)
return { error }
}
}
return {
sendTransaction,
}
}
export default usePrivySendTransaction
High quality work achieved super fast delivery. 🌄⚡️🌄
I am proud that I can be of some help in generating profits for musicians who create music NFTs. 😉
<100 subscribers
<100 subscribers
No activity yet