From ec439385474ce416c0a26b5938da6b5ed3a1506a Mon Sep 17 00:00:00 2001 From: yuexin Date: Thu, 18 Apr 2024 16:54:09 +0800 Subject: [PATCH] add tool code --- checkmint.js | 280 ++++++++++++++++++++++++++++ rare.json | 503 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 783 insertions(+) create mode 100644 checkmint.js create mode 100644 rare.json diff --git a/checkmint.js b/checkmint.js new file mode 100644 index 0000000..0b9dd9d --- /dev/null +++ b/checkmint.js @@ -0,0 +1,280 @@ +const fs = require("fs"); + +const axios = require("axios") +// web3.eth.defaultAccount = '0x50A8e60041A206AcaA5F844a1104896224be6F39' + +const Web3 = require('web3'); + +// const jsontxt = fs.readFileSync('./build/contracts/ERC721.json', 'utf-8') +// const jsonabi = JSON.parse(jsontxt) + +const abimodule = require('./abi_code'); + +IsDbg = false; +const RPC = IsDbg? 'https://eth-sepolia.public.blastapi.io': + 'https://ethereum.publicnode.com' + // 'https://eth-mainnet.g.alchemy.com/v2/5OZeb3Gly2poPeCFhnK7qVsCMDB_oPwO' + //'https://eth-mainnet.public.blastapi.io' + //'https://arbitrum-sepolia.infura.io/v3/8ae5bef48da14bbbac03860879a08bd7' + +// const w3 = new Web3('https://arbitrum-one.public.blastapi.io') + +const w3 = new Web3(RPC) + +async function getNonce(addr){ + return await w3.eth.getTransactionCount(addr) +} + +const NFT_ADDRESS = IsDbg? "0x1304E6AA241eE3C9ea44Db9e593e85Ae76eC41F1": "0xEC23679653337d4c6390d0eeBa682246a6067777" +const PRIVATE_KEY = '79e447b88c300baae07eb7720dac6bfdd86c58ca4d249993e5ac24e45a7bf443' + +const MI = { + sc: NFT_ADDRESS, + abi: + [{ + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + } + ], + func: "balanceOf" +} + +let NftInstance = null + +const initInstance = async() => { + w3.eth.accounts.wallet.add(PRIVATE_KEY); + + NftInstance = new w3.eth.Contract(MI.abi, MI.sc); + return NftInstance +} + +const checkBalance = async(addr) => { + if(!NftInstance){ + initInstance() + } + let banlace = await NftInstance.methods.balanceOf(addr).call(); + return banlace; +} + +const getTokenId = async(addr) =>{ + if(!NftInstance){ + initInstance() + } + let tokenid = await NftInstance.methods.tokenOfOwnerByIndex(addr, 0).call(); + return tokenid; +} + +const checkIsMint = async (address) => { + contract = '0x20c095fb98b7F353b859c42589f2322248Ea8A23' + url = RPC + const data = { + id: (Date.now() / 1000) | 0, + jsonrpc: '2.0', + method: 'eth_call', + params: [ + { + data: `0x425a69cc000000000000000000000000${address.replace('0x', '')}`, + from: address, + to: contract, + }, + 'latest', + ], + } + const reqConfig = { + method: 'post', + url, + headers: { + 'Content-Type': 'application/json', + 'cache-control': 'no-cache', + pragma: 'no-cache', + }, + data: JSON.stringify(data), + } + let res = await axios(reqConfig).then(response => response.data) + if(res && res.result){ + let no = parseInt(res.result) + return no > 0 + }else{ + console.log('error:', res) + return 0 + } +} + +async function checkToken(){ + // const str = fs.readFileSync("nft_claim_address_list.txt").toString().trim(); + const str = fs.readFileSync("150.txt").toString().trim(); + // const str = fs.readFileSync("team.txt").toString().trim(); + const walletlst = str.split('\n') + let rescount = 0; + let cmstr = '' + let nomintcount = 0 + let mstr = '' + let reslst = [] + for(let i = 0; i < walletlst.length; i++){ + let addr = walletlst[i].trim() + // let isOk = await checkIsMint(addr) + let ncount = await checkBalance(addr) + let isOk = ncount > 0 + if(isOk){ + let tokenid = await getTokenId(addr) + reslst.push( + { + idx: i, + addr: addr, + token: `#${tokenid}` + } + ) + // console.log(`${addr}`) + rescount++; + mstr = mstr + addr + '\n' + }else{ + console.log(`${addr}`) + nomintcount++ + cmstr = cmstr + addr + '\n' + } + // let count = await checkContractMethod(addr) + // if(count > 0){ + // // console.log(`${addr}:${count}`) + // rescount++; + // }else{ + // nomintcount++ + // console.log(`${addr}`) + // cmstr = cmstr + addr + '\n' + // } + } + + console.log('minted count:', rescount) + console.log('not minted count:', nomintcount) + fs.writeFileSync("no_claim.txt", cmstr) + fs.writeFileSync("claim.txt", mstr) + fs.writeFileSync("detail.json", JSON.stringify(reslst)) +} + +function getTokenRare(){ + let str = fs.readFileSync('detail.json') + let detail = JSON.parse(str) + str = fs.readFileSync('rare.json') + let rare = JSON.parse(str) + + let rarecount = 0 + let legendcount = 0 + for(let i =0; i < detail.length;i++){ + let obj = detail[i] + let idx = rare.findIndex((item)=>{ + let s = '#' + item.id + return s === obj.token + }) + if(idx >= 0){ + console.log(rare[idx]) + obj.rare = rare[idx].rarity + if(obj.rare === 'Rare'){ + rarecount++ + }else if(obj.rare === 'Legendary'){ + legendcount++ + } + } + } + console.log(`rare:${rarecount} legend:${legendcount}`) + fs.writeFileSync("detail.json", JSON.stringify(detail)) +} + +async function getEthBalance(addr){ + let balance = await w3.eth.getBalance(addr) + if(balance > 0){ + balance = w3.utils.fromWei(balance, 'ether') + } + + return balance +} + +async function checkEth(){ + const str = fs.readFileSync("150.txt").toString().trim(); + // const str = fs.readFileSync("team.txt").toString().trim(); + const walletlst = str.split('\n') + let rescount = 0; + let cmstr = '' + for(let i = 0; i < walletlst.length; i++){ + let addr = walletlst[i].trim() + // let isOk = await checkIsMint(addr) + let neth = await getEthBalance(addr) + rescount += parseFloat(neth) + cmstr = cmstr + '' + neth + '\n' + } + console.log(`total:${rescount}`) + fs.writeFileSync("eth.txt", cmstr) +} + +async function main(){ + // const nonce = await getNonce("0x7E8E62EF14E9ae1a0B1dd753b45AA42Faa6208D7") + // console.log('nonce:', nonce) + + // const msg = 'some msg that need sign' + // let res = w3.eth.accounts.sign(msg, arbOneKey) + + // console.log(res) + + // let hash = w3.eth.accounts.hashMessage(res.signature) + + // console.log(hash) + + // let res = await abimodule.getBalance() + // console.log(res) + // if (res > 0){ + + // } + + // let res = await abimodule.getPastEvents() + // console.log(res) + + // await checkToken() + // getTokenRare() + + + checkEth() +} + +main() +console.log("done") + + diff --git a/rare.json b/rare.json new file mode 100644 index 0000000..c49f52b --- /dev/null +++ b/rare.json @@ -0,0 +1,503 @@ +[ + {"rarity":"Common","id":1}, + {"rarity":"Rare","id":2}, + {"rarity":"Common","id":3}, + {"rarity":"Common","id":4}, + {"rarity":"Common","id":5}, + {"rarity":"Common","id":6}, + {"rarity":"Common","id":7}, + {"rarity":"Common","id":8}, + {"rarity":"Common","id":9}, + {"rarity":"Common","id":10}, + {"rarity":"Common","id":11}, + {"rarity":"Common","id":12}, + {"rarity":"Common","id":13}, + {"rarity":"Common","id":14}, + {"rarity":"Common","id":15}, + {"rarity":"Common","id":16}, + {"rarity":"Common","id":17}, + {"rarity":"Common","id":18}, + {"rarity":"Common","id":19}, + {"rarity":"Common","id":20}, + {"rarity":"Common","id":21}, + {"rarity":"Common","id":22}, + {"rarity":"Common","id":23}, + {"rarity":"Common","id":24}, + {"rarity":"Common","id":25}, + {"rarity":"Common","id":26}, + {"rarity":"Common","id":27}, + {"rarity":"Common","id":28}, + {"rarity":"Common","id":29}, + {"rarity":"Legendary","id":30}, + {"rarity":"Common","id":31}, + {"rarity":"Rare","id":32}, + {"rarity":"Rare","id":33}, + {"rarity":"Common","id":34}, + {"rarity":"Common","id":35}, + {"rarity":"Rare","id":36}, + {"rarity":"Rare","id":37}, + {"rarity":"Common","id":38}, + {"rarity":"Common","id":39}, + {"rarity":"Common","id":40}, + {"rarity":"Common","id":41}, + {"rarity":"Common","id":42}, + {"rarity":"Common","id":43}, + {"rarity":"Common","id":44}, + {"rarity":"Common","id":45}, + {"rarity":"Common","id":46}, + {"rarity":"Common","id":47}, + {"rarity":"Common","id":48}, + {"rarity":"Common","id":49}, + {"rarity":"Common","id":50}, + {"rarity":"Common","id":51}, + {"rarity":"Common","id":52}, + {"rarity":"Common","id":53}, + {"rarity":"Common","id":54}, + {"rarity":"Common","id":55}, + {"rarity":"Common","id":56}, + {"rarity":"Common","id":57}, + {"rarity":"Common","id":58}, + {"rarity":"Common","id":59}, + {"rarity":"Common","id":60}, + {"rarity":"Common","id":61}, + {"rarity":"Common","id":62}, + {"rarity":"Common","id":63}, + {"rarity":"Common","id":64}, + {"rarity":"Common","id":65}, + {"rarity":"Common","id":66}, + {"rarity":"Common","id":67}, + {"rarity":"Common","id":68}, + {"rarity":"Common","id":69}, + {"rarity":"Common","id":70}, + {"rarity":"Common","id":71}, + {"rarity":"Rare","id":72}, + {"rarity":"Common","id":73}, + {"rarity":"Common","id":74}, + {"rarity":"Common","id":75}, + {"rarity":"Common","id":76}, + {"rarity":"Common","id":77}, + {"rarity":"Common","id":78}, + {"rarity":"Rare","id":79}, + {"rarity":"Common","id":80}, + {"rarity":"Common","id":81}, + {"rarity":"Common","id":82}, + {"rarity":"Common","id":83}, + {"rarity":"Common","id":84}, + {"rarity":"Rare","id":85}, + {"rarity":"Common","id":86}, + {"rarity":"Common","id":87}, + {"rarity":"Rare","id":88}, + {"rarity":"Common","id":89}, + {"rarity":"Common","id":90}, + {"rarity":"Common","id":91}, + {"rarity":"Common","id":92}, + {"rarity":"Rare","id":93}, + {"rarity":"Common","id":94}, + {"rarity":"Rare","id":95}, + {"rarity":"Common","id":96}, + {"rarity":"Common","id":97}, + {"rarity":"Common","id":98}, + {"rarity":"Common","id":99}, + {"rarity":"Common","id":100}, + {"rarity":"Common","id":101}, + {"rarity":"Common","id":102}, + {"rarity":"Rare","id":103}, + {"rarity":"Common","id":104}, + {"rarity":"Legendary","id":105}, + {"rarity":"Common","id":106}, + {"rarity":"Common","id":107}, + {"rarity":"Common","id":108}, + {"rarity":"Common","id":109}, + {"rarity":"Common","id":110}, + {"rarity":"Common","id":111}, + {"rarity":"Common","id":112}, + {"rarity":"Common","id":113}, + {"rarity":"Common","id":114}, + {"rarity":"Common","id":115}, + {"rarity":"Rare","id":116}, + {"rarity":"Rare","id":117}, + {"rarity":"Common","id":118}, + {"rarity":"Common","id":119}, + {"rarity":"Common","id":120}, + {"rarity":"Common","id":121}, + {"rarity":"Rare","id":122}, + {"rarity":"Common","id":123}, + {"rarity":"Common","id":124}, + {"rarity":"Common","id":125}, + {"rarity":"Common","id":126}, + {"rarity":"Rare","id":127}, + {"rarity":"Common","id":128}, + {"rarity":"Rare","id":129}, + {"rarity":"Common","id":130}, + {"rarity":"Legendary","id":131}, + {"rarity":"Common","id":132}, + {"rarity":"Rare","id":133}, + {"rarity":"Common","id":134}, + {"rarity":"Common","id":135}, + {"rarity":"Common","id":136}, + {"rarity":"Common","id":137}, + {"rarity":"Common","id":138}, + {"rarity":"Common","id":139}, + {"rarity":"Rare","id":140}, + {"rarity":"Common","id":141}, + {"rarity":"Common","id":142}, + {"rarity":"Common","id":143}, + {"rarity":"Common","id":144}, + {"rarity":"Rare","id":145}, + {"rarity":"Common","id":146}, + {"rarity":"Common","id":147}, + {"rarity":"Common","id":148}, + {"rarity":"Common","id":149}, + {"rarity":"Common","id":150}, + {"rarity":"Common","id":151}, + {"rarity":"Common","id":152}, + {"rarity":"Common","id":153}, + {"rarity":"Legendary","id":154}, + {"rarity":"Common","id":155}, + {"rarity":"Common","id":156}, + {"rarity":"Common","id":157}, + {"rarity":"Common","id":158}, + {"rarity":"Common","id":159}, + {"rarity":"Rare","id":160}, + {"rarity":"Common","id":161}, + {"rarity":"Common","id":162}, + {"rarity":"Common","id":163}, + {"rarity":"Common","id":164}, + {"rarity":"Common","id":165}, + {"rarity":"Common","id":166}, + {"rarity":"Common","id":167}, + {"rarity":"Common","id":168}, + {"rarity":"Common","id":169}, + {"rarity":"Rare","id":170}, + {"rarity":"Common","id":171}, + {"rarity":"Common","id":172}, + {"rarity":"Common","id":173}, + {"rarity":"Common","id":174}, + {"rarity":"Rare","id":175}, + {"rarity":"Common","id":176}, + {"rarity":"Common","id":177}, + {"rarity":"Common","id":178}, + {"rarity":"Common","id":179}, + {"rarity":"Common","id":180}, + {"rarity":"Common","id":181}, + {"rarity":"Common","id":182}, + {"rarity":"Common","id":183}, + {"rarity":"Common","id":184}, + {"rarity":"Common","id":185}, + {"rarity":"Common","id":186}, + {"rarity":"Common","id":187}, + {"rarity":"Common","id":188}, + {"rarity":"Common","id":189}, + {"rarity":"Common","id":190}, + {"rarity":"Common","id":191}, + {"rarity":"Common","id":192}, + {"rarity":"Common","id":193}, + {"rarity":"Common","id":194}, + {"rarity":"Common","id":195}, + {"rarity":"Common","id":196}, + {"rarity":"Common","id":197}, + {"rarity":"Common","id":198}, + {"rarity":"Common","id":199}, + {"rarity":"Common","id":200}, + {"rarity":"Common","id":201}, + {"rarity":"Common","id":202}, + {"rarity":"Common","id":203}, + {"rarity":"Common","id":204}, + {"rarity":"Common","id":205}, + {"rarity":"Common","id":206}, + {"rarity":"Common","id":207}, + {"rarity":"Rare","id":208}, + {"rarity":"Common","id":209}, + {"rarity":"Common","id":210}, + {"rarity":"Common","id":211}, + {"rarity":"Common","id":212}, + {"rarity":"Common","id":213}, + {"rarity":"Common","id":214}, + {"rarity":"Common","id":215}, + {"rarity":"Common","id":216}, + {"rarity":"Common","id":217}, + {"rarity":"Common","id":218}, + {"rarity":"Common","id":219}, + {"rarity":"Common","id":220}, + {"rarity":"Common","id":221}, + {"rarity":"Common","id":222}, + {"rarity":"Common","id":223}, + {"rarity":"Common","id":224}, + {"rarity":"Common","id":225}, + {"rarity":"Common","id":226}, + {"rarity":"Common","id":227}, + {"rarity":"Common","id":228}, + {"rarity":"Common","id":229}, + {"rarity":"Common","id":230}, + {"rarity":"Common","id":231}, + {"rarity":"Rare","id":232}, + {"rarity":"Common","id":233}, + {"rarity":"Common","id":234}, + {"rarity":"Common","id":235}, + {"rarity":"Legendary","id":236}, + {"rarity":"Common","id":237}, + {"rarity":"Rare","id":238}, + {"rarity":"Common","id":239}, + {"rarity":"Common","id":240}, + {"rarity":"Common","id":241}, + {"rarity":"Common","id":242}, + {"rarity":"Common","id":243}, + {"rarity":"Common","id":244}, + {"rarity":"Common","id":245}, + {"rarity":"Common","id":246}, + {"rarity":"Common","id":247}, + {"rarity":"Common","id":248}, + {"rarity":"Common","id":249}, + {"rarity":"Common","id":250}, + {"rarity":"Common","id":251}, + {"rarity":"Rare","id":252}, + {"rarity":"Rare","id":253}, + {"rarity":"Common","id":254}, + {"rarity":"Common","id":255}, + {"rarity":"Common","id":256}, + {"rarity":"Common","id":257}, + {"rarity":"Rare","id":258}, + {"rarity":"Common","id":259}, + {"rarity":"Common","id":260}, + {"rarity":"Rare","id":261}, + {"rarity":"Common","id":262}, + {"rarity":"Rare","id":263}, + {"rarity":"Common","id":264}, + {"rarity":"Common","id":265}, + {"rarity":"Common","id":266}, + {"rarity":"Common","id":267}, + {"rarity":"Common","id":268}, + {"rarity":"Common","id":269}, + {"rarity":"Common","id":270}, + {"rarity":"Rare","id":271}, + {"rarity":"Common","id":272}, + {"rarity":"Common","id":273}, + {"rarity":"Common","id":274}, + {"rarity":"Common","id":275}, + {"rarity":"Common","id":276}, + {"rarity":"Common","id":277}, + {"rarity":"Common","id":278}, + {"rarity":"Common","id":279}, + {"rarity":"Common","id":280}, + {"rarity":"Common","id":281}, + {"rarity":"Common","id":282}, + {"rarity":"Common","id":283}, + {"rarity":"Common","id":284}, + {"rarity":"Common","id":285}, + {"rarity":"Common","id":286}, + {"rarity":"Common","id":287}, + {"rarity":"Common","id":288}, + {"rarity":"Common","id":289}, + {"rarity":"Common","id":290}, + {"rarity":"Common","id":291}, + {"rarity":"Common","id":292}, + {"rarity":"Common","id":293}, + {"rarity":"Common","id":294}, + {"rarity":"Common","id":295}, + {"rarity":"Common","id":296}, + {"rarity":"Common","id":297}, + {"rarity":"Common","id":298}, + {"rarity":"Common","id":299}, + {"rarity":"Common","id":300}, + {"rarity":"Common","id":301}, + {"rarity":"Common","id":302}, + {"rarity":"Common","id":303}, + {"rarity":"Rare","id":304}, + {"rarity":"Common","id":305}, + {"rarity":"Common","id":306}, + {"rarity":"Common","id":307}, + {"rarity":"Common","id":308}, + {"rarity":"Common","id":309}, + {"rarity":"Common","id":310}, + {"rarity":"Common","id":311}, + {"rarity":"Common","id":312}, + {"rarity":"Common","id":313}, + {"rarity":"Rare","id":314}, + {"rarity":"Common","id":315}, + {"rarity":"Common","id":316}, + {"rarity":"Common","id":317}, + {"rarity":"Common","id":318}, + {"rarity":"Common","id":319}, + {"rarity":"Common","id":320}, + {"rarity":"Common","id":321}, + {"rarity":"Common","id":322}, + {"rarity":"Rare","id":323}, + {"rarity":"Common","id":324}, + {"rarity":"Common","id":325}, + {"rarity":"Common","id":326}, + {"rarity":"Common","id":327}, + {"rarity":"Common","id":328}, + {"rarity":"Common","id":329}, + {"rarity":"Common","id":330}, + {"rarity":"Common","id":331}, + {"rarity":"Common","id":332}, + {"rarity":"Common","id":333}, + {"rarity":"Common","id":334}, + {"rarity":"Rare","id":335}, + {"rarity":"Common","id":336}, + {"rarity":"Common","id":337}, + {"rarity":"Common","id":338}, + {"rarity":"Common","id":339}, + {"rarity":"Common","id":340}, + {"rarity":"Common","id":341}, + {"rarity":"Common","id":342}, + {"rarity":"Common","id":343}, + {"rarity":"Common","id":344}, + {"rarity":"Common","id":345}, + {"rarity":"Common","id":346}, + {"rarity":"Common","id":347}, + {"rarity":"Common","id":348}, + {"rarity":"Common","id":349}, + {"rarity":"Common","id":350}, + {"rarity":"Common","id":351}, + {"rarity":"Common","id":352}, + {"rarity":"Common","id":353}, + {"rarity":"Common","id":354}, + {"rarity":"Common","id":355}, + {"rarity":"Common","id":356}, + {"rarity":"Common","id":357}, + {"rarity":"Rare","id":358}, + {"rarity":"Common","id":359}, + {"rarity":"Common","id":360}, + {"rarity":"Common","id":361}, + {"rarity":"Common","id":362}, + {"rarity":"Rare","id":363}, + {"rarity":"Common","id":364}, + {"rarity":"Common","id":365}, + {"rarity":"Common","id":366}, + {"rarity":"Common","id":367}, + {"rarity":"Common","id":368}, + {"rarity":"Rare","id":369}, + {"rarity":"Common","id":370}, + {"rarity":"Common","id":371}, + {"rarity":"Common","id":372}, + {"rarity":"Common","id":373}, + {"rarity":"Common","id":374}, + {"rarity":"Rare","id":375}, + {"rarity":"Common","id":376}, + {"rarity":"Common","id":377}, + {"rarity":"Common","id":378}, + {"rarity":"Common","id":379}, + {"rarity":"Common","id":380}, + {"rarity":"Common","id":381}, + {"rarity":"Common","id":382}, + {"rarity":"Common","id":383}, + {"rarity":"Common","id":384}, + {"rarity":"Common","id":385}, + {"rarity":"Common","id":386}, + {"rarity":"Common","id":387}, + {"rarity":"Common","id":388}, + {"rarity":"Common","id":389}, + {"rarity":"Common","id":390}, + {"rarity":"Common","id":391}, + {"rarity":"Common","id":392}, + {"rarity":"Common","id":393}, + {"rarity":"Rare","id":394}, + {"rarity":"Common","id":395}, + {"rarity":"Common","id":396}, + {"rarity":"Common","id":397}, + {"rarity":"Common","id":398}, + {"rarity":"Common","id":399}, + {"rarity":"Common","id":400}, + {"rarity":"Rare","id":401}, + {"rarity":"Common","id":402}, + {"rarity":"Common","id":403}, + {"rarity":"Common","id":404}, + {"rarity":"Rare","id":405}, + {"rarity":"Common","id":406}, + {"rarity":"Common","id":407}, + {"rarity":"Common","id":408}, + {"rarity":"Common","id":409}, + {"rarity":"Common","id":410}, + {"rarity":"Common","id":411}, + {"rarity":"Common","id":412}, + {"rarity":"Common","id":413}, + {"rarity":"Common","id":414}, + {"rarity":"Common","id":415}, + {"rarity":"Common","id":416}, + {"rarity":"Common","id":417}, + {"rarity":"Legendary","id":418}, + {"rarity":"Common","id":419}, + {"rarity":"Common","id":420}, + {"rarity":"Common","id":421}, + {"rarity":"Common","id":422}, + {"rarity":"Rare","id":423}, + {"rarity":"Common","id":424}, + {"rarity":"Rare","id":425}, + {"rarity":"Common","id":426}, + {"rarity":"Common","id":427}, + {"rarity":"Common","id":428}, + {"rarity":"Rare","id":429}, + {"rarity":"Common","id":430}, + {"rarity":"Rare","id":431}, + {"rarity":"Common","id":432}, + {"rarity":"Rare","id":433}, + {"rarity":"Rare","id":434}, + {"rarity":"Common","id":435}, + {"rarity":"Common","id":436}, + {"rarity":"Common","id":437}, + {"rarity":"Common","id":438}, + {"rarity":"Common","id":439}, + {"rarity":"Common","id":440}, + {"rarity":"Common","id":441}, + {"rarity":"Rare","id":442}, + {"rarity":"Common","id":443}, + {"rarity":"Common","id":444}, + {"rarity":"Common","id":445}, + {"rarity":"Common","id":446}, + {"rarity":"Common","id":447}, + {"rarity":"Common","id":448}, + {"rarity":"Common","id":449}, + {"rarity":"Common","id":450}, + {"rarity":"Common","id":451}, + {"rarity":"Common","id":452}, + {"rarity":"Common","id":453}, + {"rarity":"Common","id":454}, + {"rarity":"Common","id":455}, + {"rarity":"Common","id":456}, + {"rarity":"Common","id":457}, + {"rarity":"Common","id":458}, + {"rarity":"Common","id":459}, + {"rarity":"Common","id":460}, + {"rarity":"Common","id":461}, + {"rarity":"Common","id":462}, + {"rarity":"Common","id":463}, + {"rarity":"Common","id":464}, + {"rarity":"Common","id":465}, + {"rarity":"Common","id":466}, + {"rarity":"Common","id":467}, + {"rarity":"Common","id":468}, + {"rarity":"Common","id":469}, + {"rarity":"Common","id":470}, + {"rarity":"Common","id":471}, + {"rarity":"Common","id":472}, + {"rarity":"Common","id":473}, + {"rarity":"Common","id":474}, + {"rarity":"Common","id":475}, + {"rarity":"Common","id":476}, + {"rarity":"Common","id":477}, + {"rarity":"Common","id":478}, + {"rarity":"Common","id":479}, + {"rarity":"Common","id":480}, + {"rarity":"Common","id":481}, + {"rarity":"Common","id":482}, + {"rarity":"Common","id":483}, + {"rarity":"Common","id":484}, + {"rarity":"Common","id":485}, + {"rarity":"Common","id":486}, + {"rarity":"Common","id":487}, + {"rarity":"Common","id":488}, + {"rarity":"Common","id":489}, + {"rarity":"Common","id":490}, + {"rarity":"Common","id":491}, + {"rarity":"Legendary","id":492}, + {"rarity":"Common","id":493}, + {"rarity":"Common","id":494}, + {"rarity":"Legendary","id":495}, + {"rarity":"Legendary","id":496}, + {"rarity":"Common","id":497}, + {"rarity":"Common","id":498}, + {"rarity":"Common","id":499}, + {"rarity":"Legendary","id":500} + +] \ No newline at end of file