Compare commits

...

4 Commits

Author SHA1 Message Date
Greg Shuflin 3ab93a62d8 Working on token 2022-12-08 00:11:01 -08:00
Greg Shuflin fde6b29f1f Add MagnaToken abi json 2022-12-07 23:49:02 -08:00
Greg Shuflin 4008a740c5 More logic 2022-12-07 23:48:41 -08:00
Greg Shuflin 813c1c2c53 Clarify copy 2022-12-07 23:40:19 -08:00
3 changed files with 302 additions and 2 deletions

View File

@ -11,10 +11,14 @@ import { publicProvider } from 'wagmi/providers/public'
const web3 = new Web3(Web3.givenProvider);
import Airdrop from "./Airdrop.json";
import MagnaToken from "./MagnaToken.json";
const airdropAddress = "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512";
const airdropContract = new web3.eth.Contract(Airdrop.abi as any, airdropAddress);
const magnaTokenAddress = "0x5FbDB2315678afecb367f032d93F642f64180aa3";
const magnaTokenContract = new web3.eth.Contract(MagnaToken.abi as any, magnaTokenAddress);
const { chains, provider, webSocketProvider } = configureChains([mainnet], [publicProvider()]);
const wagmiClient = createClient({
@ -46,6 +50,7 @@ function Profile() {
return (
<div>
<div>Connect to Airdrop App</div>
{connectors.map((connector) => (
<button
disabled={!connector.ready}
@ -136,9 +141,20 @@ function AddressList({addressList}: AddressListProps) {
function App() {
const [addressList, setAddressList] = useState([]);
const { address: ownerAddress } = useAccount()
async function performAirdrop() {
console.log("Performing airdrop");
console.log(magnaTokenContract.methods);
const allowance = await magnaTokenContract.methods.allowance(ownerAddress, airdropAddress).call({ from: ownerAddress });
console.log(`Allowance: ${allowance}`);
if (allowance <= 0) {
//TODO prompt to set a positive balance
return;
}
}
return (

286
src/MagnaToken.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -8,10 +8,8 @@
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx"
},