react-reward-button
Version:
Drop-in React component that sends Ethereum token rewards and shows confetti animations. Built with wagmi, ethers, and ShadCN UI.
156 lines (155 loc) • 4.26 kB
TypeScript
export declare const ERC20_ABI: readonly [{
readonly constant: true;
readonly inputs: readonly [];
readonly name: "name";
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [];
readonly name: "symbol";
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [];
readonly name: "decimals";
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint8";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
}];
readonly name: "balanceOf";
readonly outputs: readonly [{
readonly name: "balance";
readonly type: "uint256";
}];
readonly type: "function";
}, {
readonly constant: false;
readonly inputs: readonly [{
readonly name: "_to";
readonly type: "address";
}, {
readonly name: "_value";
readonly type: "uint256";
}];
readonly name: "transfer";
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
}];
readonly type: "function";
}, {
readonly constant: false;
readonly inputs: readonly [{
readonly name: "_spender";
readonly type: "address";
}, {
readonly name: "_value";
readonly type: "uint256";
}];
readonly name: "approve";
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
}];
readonly type: "function";
}, {
readonly constant: true;
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
}, {
readonly name: "_spender";
readonly type: "address";
}];
readonly name: "allowance";
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint256";
}];
readonly type: "function";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly name: "from";
readonly type: "address";
}, {
readonly indexed: true;
readonly name: "to";
readonly type: "address";
}, {
readonly indexed: false;
readonly name: "value";
readonly type: "uint256";
}];
readonly name: "Transfer";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly name: "owner";
readonly type: "address";
}, {
readonly indexed: true;
readonly name: "spender";
readonly type: "address";
}, {
readonly indexed: false;
readonly name: "value";
readonly type: "uint256";
}];
readonly name: "Approval";
readonly type: "event";
}];
export declare const COMMON_TOKENS: {
readonly USDC: "0xA0b86a33E6441b6b07c2fE4c2b4B8B1d8B7a0F4c";
readonly USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7";
readonly DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F";
readonly WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
};
export declare const DEFAULT_STYLES: {
readonly button: {
readonly padding: "12px 24px";
readonly fontSize: "16px";
readonly fontWeight: "bold";
readonly borderRadius: "8px";
readonly border: "none";
readonly cursor: "pointer";
readonly backgroundColor: "#3b82f6";
readonly color: "white";
readonly transition: "all 0.2s ease";
};
readonly buttonClaimed: {
readonly backgroundColor: "#10b981";
};
readonly buttonLoading: {
readonly opacity: 0.6;
readonly cursor: "not-allowed";
};
readonly error: {
readonly color: "#ef4444";
readonly fontSize: "14px";
readonly marginTop: "8px";
};
readonly success: {
readonly color: "#10b981";
readonly fontSize: "14px";
readonly marginTop: "8px";
};
};