UNPKG

axie-tools

Version:

TypeScript library and CLI tool for interacting with Axie Infinity marketplace and NFTs on Ronin network. Features marketplace operations (buy/sell/delist), batch transfers, and wallet information.

128 lines (127 loc) 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.delegateAtiaBlessing = delegateAtiaBlessing; exports.getAtiaBlessingDelegations = getAtiaBlessingDelegations; exports.revokeAtiaBlessingDelegation = revokeAtiaBlessingDelegation; const utils_1 = require("../utils"); const GRAPHQL_ENDPOINT = 'https://graphql-gateway.axieinfinity.com/graphql'; async function delegateAtiaBlessing(accessToken, signature, userAddress, toAddress, delegatedAt, delegatorSlipsPercent) { const query = ` mutation DelegateAtiaBlessing( $toAddress: String!, $delegatorSlipsPercent: Int!, $delegatedAt: Int!, $signature: String!, $userAddress: String! ) { delegateAtiaBlessing( toAddress: $toAddress delegatorSlipsPercent: $delegatorSlipsPercent delegatedAt: $delegatedAt signature: $signature userAddress: $userAddress ) { delegatedAt } } `; const variables = { toAddress, delegatorSlipsPercent, delegatedAt, signature, userAddress }; try { const result = await (0, utils_1.apiRequest)(GRAPHQL_ENDPOINT, JSON.stringify({ query, variables }), { 'Authorization': `Bearer ${accessToken}` }); if (result.errors) { console.error('❌ GraphQL Error:', result.errors[0].message); return false; } return true; } catch (error) { console.error('❌ Network Error:', error); return false; } } async function getAtiaBlessingDelegations(accessToken, userAddress, isDelegating = true, isDelegated = true) { const query = ` query GetAtiaBlessingDelegations( $userAddress: String!, $isDelegating: Boolean!, $isDelegated: Boolean! ) { atiaBlessingDelegations( userAddress: $userAddress isDelegating: $isDelegating isDelegated: $isDelegated ) { delegatedAt delegatorSlipsPercent fromAddress toAddress lastPrayedAt fromProfile { name } toProfile { name accountId addresses { ronin } } } } `; const variables = { userAddress, isDelegating, isDelegated }; try { const result = await (0, utils_1.apiRequest)(GRAPHQL_ENDPOINT, JSON.stringify({ query, variables }), { 'Authorization': `Bearer ${accessToken}` }); if (result.errors) { console.error('❌ GraphQL Error:', result.errors[0].message); return []; } return result.data.atiaBlessingDelegations; } catch (error) { console.error('❌ Network Error:', error); return []; } } async function revokeAtiaBlessingDelegation(accessToken, userAddress, toAddress, fromAddress) { const query = ` mutation RevokeAtiaBlessingDelegation( $userAddress: String!, $toAddress: String!, $fromAddress: String! ) { revokeAtiaBlessingDelegation( userAddress: $userAddress toAddress: $toAddress fromAddress: $fromAddress ) } `; const variables = { userAddress, toAddress, fromAddress }; try { const result = await (0, utils_1.apiRequest)(GRAPHQL_ENDPOINT, JSON.stringify({ query, variables }), { 'Authorization': `Bearer ${accessToken}` }); if (result.errors) { console.error('❌ GraphQL Error:', result.errors[0].message); return false; } return result.data.revokeAtiaBlessingDelegation; } catch (error) { console.error('❌ Network Error:', error); return false; } }