index.ts
  1  import type { HeartBitConfig } from "../types/index.js";
  2  
  3  export const PUBLIC_RPC_URL_MAP = {
  4    sepolia: "https://rpc.ankr.com/eth_sepolia",
  5    base: "https://rpc.ankr.com/base",
  6    gnosis: "https://rpc.ankr.com/gnosis",
  7  };
  8  
  9  export const HEART_BIT_CONFIG: HeartBitConfig = {
 10    "0xaa36a7": {
 11      chainId: 11155111,
 12      relayerUrl: "https://sepolia-heartbit.fileverse.io",
 13      contractAddress: "0x47E3fd3331a89822A980DA7Fe51592bD6f900FE6",
 14      publicRPCUrl: PUBLIC_RPC_URL_MAP.sepolia,
 15    },
 16    "0x2105": {
 17      chainId: 8453,
 18      relayerUrl: "https://base-heartbit.fileverse.io",
 19      contractAddress: "0x5290B2e25c98015cE80b43C5c5CfBd01aA372E04",
 20      publicRPCUrl: PUBLIC_RPC_URL_MAP.base,
 21    },
 22    "0x64": {
 23      chainId: 100,
 24      relayerUrl: "http://gnosis-heartbit.fileverse.io",
 25      contractAddress: "0xD9De9EdE4EFB6088a257C6AdB21619dE656C0863",
 26      publicRPCUrl: PUBLIC_RPC_URL_MAP.gnosis,
 27    },
 28  };
 29  
 30  export const CONTRACT_ABI = [
 31    {
 32      inputs: [
 33        {
 34          internalType: "address",
 35          name: "account",
 36          type: "address",
 37        },
 38        {
 39          internalType: "uint256",
 40          name: "id",
 41          type: "uint256",
 42        },
 43      ],
 44      name: "balanceOf",
 45      outputs: [
 46        {
 47          internalType: "uint256",
 48          name: "",
 49          type: "uint256",
 50        },
 51      ],
 52      stateMutability: "view",
 53      type: "function",
 54    },
 55    {
 56      inputs: [
 57        {
 58          internalType: "address[]",
 59          name: "accounts",
 60          type: "address[]",
 61        },
 62        {
 63          internalType: "uint256[]",
 64          name: "ids",
 65          type: "uint256[]",
 66        },
 67      ],
 68      name: "balanceOfBatch",
 69      outputs: [
 70        {
 71          internalType: "uint256[]",
 72          name: "",
 73          type: "uint256[]",
 74        },
 75      ],
 76      stateMutability: "view",
 77      type: "function",
 78    },
 79    {
 80      inputs: [
 81        {
 82          internalType: "string",
 83          name: "",
 84          type: "string",
 85        },
 86      ],
 87      name: "hashTokenMap",
 88      outputs: [
 89        {
 90          internalType: "uint256",
 91          name: "",
 92          type: "uint256",
 93        },
 94      ],
 95      stateMutability: "view",
 96      type: "function",
 97    },
 98    {
 99      inputs: [
100        {
101          internalType: "uint256",
102          name: "",
103          type: "uint256",
104        },
105      ],
106      name: "tokenHashMap",
107      outputs: [
108        {
109          internalType: "string",
110          name: "",
111          type: "string",
112        },
113      ],
114      stateMutability: "view",
115      type: "function",
116    },
117    {
118      inputs: [
119        {
120          internalType: "uint256",
121          name: "id",
122          type: "uint256",
123        },
124      ],
125      name: "totalSupply",
126      outputs: [
127        {
128          internalType: "uint256",
129          name: "",
130          type: "uint256",
131        },
132      ],
133      stateMutability: "view",
134      type: "function",
135    },
136  ];