Skip to content

Instantly share code, notes, and snippets.

View arcticfloyd1984's full-sized avatar

Yashasvi Chaudhary arcticfloyd1984

View GitHub Profile
@arcticfloyd1984
arcticfloyd1984 / Gnosis_Wallet_Uniswap_Swap_Meta_Tx
Last active June 7, 2020 17:00
Contract Wallet approach to execute Uniswap transaction as a meta transaction
require('dotenv').config();
const Biconomy = require("@biconomy/mexa");
const ethers = require('ethers');
const Web3 = require('web3');
const {abi} = require('../abis/abi');
let biconomy;
let web3;
const proxyAddress = "<add_your_own_proxy_address>";
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
// import "@opengsn/gsn/contracts/BaseRelayRecipient.sol";
// import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/access/Ownable.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/utils/Strings.sol";
@arcticfloyd1984
arcticfloyd1984 / Maybe2.sol
Created April 7, 2022 13:58
arek-contract
pragma solidity ^0.8.9;
import "@openzeppelin/contracts/metatx/ERC2771Context.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract Maybe2 is ERC2771Context, ERC721, Ownable {
@arcticfloyd1984
arcticfloyd1984 / batched-transaction-script.js
Created April 12, 2022 08:41
Batched Transaction Script
import { Biconomy } from "@biconomy/mexa";
let userAddress1 = "0x040a9cbC4453B0eeaE12f3210117B422B890C1ED";
let userAddress2 = "0x4C07E2fa10f9871142883139B32Cb03F2A180494";
let userAddress3 = "0x6561aD57cde7863bCE871977c951Af21bEC2E74C";
let userAddress4 = "0xaa7f52b2bF183CE85c1d291D838030DF41018a44";
let userAddress5 = "0x02649F6d43556e76CF7a515a9f589BB23287378d";
let userAddresses = [userAddress1, userAddress2, userAddress3, userAddress4, userAddress5];
let contracts;
let contractInterface;
let biconomy;
@arcticfloyd1984
arcticfloyd1984 / batched-transaction-script.js
Created April 12, 2022 13:07
Script for batched transactions
const { Biconomy } = require("@biconomy/mexa");
const { ethers } = require("ethers");
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
const privateKey = "0xd952fa86f1e2fed30fb3a6da6e5c24d7deb65b6bb46da3ece5f56fd39e64bbd0";
let userAddress1 = ethers.utils.getAddress("0x040a9cbC4453B0eeaE12f3210117B422B890C1ED");
let userAddress2 = ethers.utils.getAddress("0x4C07E2fa10f9871142883139B32Cb03F2A180494");
let userAddress3 = ethers.utils.getAddress("0x6561aD57cde7863bCE871977c951Af21bEC2E74C");
let userAddress4 = ethers.utils.getAddress("0xaa7f52b2bF183CE85c1d291D838030DF41018a44");
const { Biconomy } = require("@biconomy/mexa");
const { ethers } = require("ethers");
const axios = require('axios').default;
const privateKey = "0xd952fa86f1e2fed30fb3a6da6e5c24d7deb65b6bb46da3ece5f56fd39e64bbd0";
let userAddress1 = ethers.utils.getAddress("0x040a9cbc4453b0eeae12f3210117b422b890c1ed");
let userAddress2 = ethers.utils.getAddress("0x4c07e2fa10f9871142883139b32cb03f2a180494");
let userAddress3 = ethers.utils.getAddress("0x6561ad57cde7863bce871977c951af21bec2e74c");
let userAddress4 = ethers.utils.getAddress("0xaa7f52b2bf183ce85c1d291d838030df41018a44");
@arcticfloyd1984
arcticfloyd1984 / contract.sol
Created June 10, 2022 14:05
TheRareAntiquitiesTokenLtd
/**
*Submitted for verification at Etherscan.io on 2022-03-12
*/
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol";
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;
interface IERC20 {
event Approval(address indexed owner, address indexed spender, uint value);
/**
*Submitted for verification at Etherscan.io on 2022-03-12
*/
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol";
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;
interface IERC20 {
event Approval(address indexed owner, address indexed spender, uint value);
const authToken = '8ee71107-5ce2-4eba-8978-fe51df4bdce2';
const apiKey = 'sCd7Ht3sK.e21885c4-5f31-469a-8e15-969e47ec7842';
const contractAddress = '0x6e56b609E167c79C6C21b356802b3C831E13BF1c';
const fetch = require("node-fetch");
const abi = JSON.stringify([
{
"inputs": [
{
"internalType": "string",
@arcticfloyd1984
arcticfloyd1984 / biconomy-wallet-client-types.ts
Created July 7, 2022 11:47
Biconomy Wallet Client Types
type BiconomyWalletClient = {
engine: any
biconomyAttributes: any,
isSignerWithAccounts = isSignerWithAccounts;
provider = provider;
targetProvider = targetProvider;
walletFactoryAddress: string
baseWalletAddress: string,
entryPointAddress: string,
handlerAddress: string,