diff --git a/lib/ethereum/s-tokens/descriptors.spec.ts b/lib/ethereum/s-tokens/descriptors.spec.ts deleted file mode 100644 index 69d3a340e..000000000 --- a/lib/ethereum/s-tokens/descriptors.spec.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { createDescriptorsCaller } from './descriptors' - -describe('descriptors.spec.ts', () => { - describe('createDescriptorsCaller', () => { - it('call success', async () => { - const value = { - 0: 'false', - 1: '0x12345', - 2: 'https://hogehoge', - isFreezed_: 'false', - amount_: '0x12345', - price_: 'https://hogehoge', - } - - const contract = { - descriptors: jest - .fn() - .mockImplementation(async () => Promise.resolve(value)), - } - - const expected = { - isFreezed: false, - freezingUser: '0x12345', - descriptor: 'https://hogehoge', - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const caller = createDescriptorsCaller(contract as any) - - const result = await caller(1) - - expect(result).toEqual(expected) - }) - - it('call failure', async () => { - const error = 'error' - - const contract = { - descriptors: jest - .fn() - .mockImplementation(async () => Promise.reject(error)), - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const caller = createDescriptorsCaller(contract as any) - - const result = await caller(1).catch((err) => err) - - expect(result).toEqual(error) - }) - }) -}) diff --git a/lib/ethereum/s-tokens/descriptors.ts b/lib/ethereum/s-tokens/descriptors.ts deleted file mode 100644 index 43d94d41c..000000000 --- a/lib/ethereum/s-tokens/descriptors.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */ -import { ethers } from 'ethers' -import { execute, QueryOption } from '../../common/utils/execute' -import { arrayify } from '../../common/utils/arrayify' - -export type Descriptors = { - readonly isFreezed: boolean - readonly freezingUser: string - readonly descriptor: string -} - -export type CreateDescriptorsCaller = ( - contract: ethers.Contract -) => (tokenId: number) => Promise - -export const createDescriptorsCaller: CreateDescriptorsCaller = - (contract: ethers.Contract) => async (tokenId: number) => { - const res = await execute< - QueryOption, - { - readonly isFreezed_: string - readonly freezingUser_: string - readonly descriptor_: string - } - >({ - contract, - method: 'descriptors', - args: [String(tokenId)], - mutation: false, - }) - const arrayified = arrayify(res) - return { - isFreezed: arrayified[0].toLowerCase() === 'true', - freezingUser: arrayified[1], - descriptor: arrayified[2], - } - } diff --git a/lib/ethereum/s-tokens/index.spec.ts b/lib/ethereum/s-tokens/index.spec.ts index 7fd81517a..b07619852 100644 --- a/lib/ethereum/s-tokens/index.spec.ts +++ b/lib/ethereum/s-tokens/index.spec.ts @@ -7,15 +7,13 @@ import { createRewardsCaller } from './rewards' import { createTokenURICaller } from './tokenURI' import { createPositionsOfPropertyCaller } from './positionsOfProperty' import { createPositionsOfOwnerCaller } from './positionsOfOwner' -import { createDescriptorsCaller } from './descriptors' +import { createIsFreezedCaller } from './isFreezed' import { createFreezeTokenURICaller } from './freezeTokenURI' -import { createMeltTokenURICaller } from './meltTokenURI' import { createSetTokenURIImageCaller } from './setTokenURIImage' jest.mock('./positions') -jest.mock('./descriptors') +jest.mock('./isFreezed') jest.mock('./freezeTokenURI') -jest.mock('./meltTokenURI') jest.mock('./setTokenURIImage') jest.mock('./ownerOf') jest.mock('./rewards') @@ -38,15 +36,12 @@ describe('s-tokens/index.ts', () => { ;(createPositionsOfOwnerCaller as jest.Mock).mockImplementation( (contract) => contract ) - ;(createDescriptorsCaller as jest.Mock).mockImplementation( + ;(createIsFreezedCaller as jest.Mock).mockImplementation( (contract) => contract ) ;(createFreezeTokenURICaller as jest.Mock).mockImplementation( (contract) => contract ) - ;(createMeltTokenURICaller as jest.Mock).mockImplementation( - (contract) => contract - ) ;(createSetTokenURIImageCaller as jest.Mock).mockImplementation( (contract) => contract ) @@ -62,9 +57,8 @@ describe('s-tokens/index.ts', () => { const contract = new ethers.Contract(address, [...sTokensAbi], provider) return { positions: createPositionsCaller(contract), - descriptors: createDescriptorsCaller(contract), + isFreezed: createIsFreezedCaller(contract), freezeTokenURI: createFreezeTokenURICaller(contract), - meltTokenURI: createMeltTokenURICaller(contract), setTokenURIImage: createSetTokenURIImageCaller(contract), ownerOf: createOwnerOfCaller(contract), rewards: createRewardsCaller(contract), diff --git a/lib/ethereum/s-tokens/index.ts b/lib/ethereum/s-tokens/index.ts index 878abad61..77337aa28 100644 --- a/lib/ethereum/s-tokens/index.ts +++ b/lib/ethereum/s-tokens/index.ts @@ -3,9 +3,8 @@ import { Provider } from '@ethersproject/abstract-provider' import { Signer } from '@ethersproject/abstract-signer' import { sTokensAbi } from './abi' import { createPositionsCaller, Positions } from './positions' -import { createDescriptorsCaller, Descriptors } from './descriptors' +import { createIsFreezedCaller } from './isFreezed' import { createFreezeTokenURICaller } from './freezeTokenURI' -import { createMeltTokenURICaller } from './meltTokenURI' import { createSetTokenURIImageCaller } from './setTokenURIImage' import { createOwnerOfCaller } from './ownerOf' import { createRewardsCaller, Rewards } from './rewards' @@ -15,9 +14,8 @@ import { createPositionsOfOwnerCaller } from './positionsOfOwner' export type STokensContract = { readonly positions: (tokenId: number) => Promise - readonly descriptors: (tokenId: number) => Promise + readonly isFreezed: (tokenId: number) => Promise readonly freezeTokenURI: (tokenId: number) => Promise - readonly meltTokenURI: (tokenId: number) => Promise readonly setTokenURIImage: (tokenId: number, data: string) => Promise readonly ownerOf: (tokenId: number) => Promise readonly rewards: (tokenId: number) => Promise @@ -42,9 +40,8 @@ export const createSTokensContract = return { positions: createPositionsCaller(contractClient), - descriptors: createDescriptorsCaller(contractClient), + isFreezed: createIsFreezedCaller(contractClient), freezeTokenURI: createFreezeTokenURICaller(contractClient), - meltTokenURI: createMeltTokenURICaller(contractClient), setTokenURIImage: createSetTokenURIImageCaller(contractClient), ownerOf: createOwnerOfCaller(contractClient), rewards: createRewardsCaller(contractClient), diff --git a/lib/ethereum/s-tokens/meltTokenURI.spec.ts b/lib/ethereum/s-tokens/isFreezed.spec.ts similarity index 54% rename from lib/ethereum/s-tokens/meltTokenURI.spec.ts rename to lib/ethereum/s-tokens/isFreezed.spec.ts index 69966b405..29f7558d6 100644 --- a/lib/ethereum/s-tokens/meltTokenURI.spec.ts +++ b/lib/ethereum/s-tokens/isFreezed.spec.ts @@ -1,23 +1,22 @@ -import { createMeltTokenURICaller } from './meltTokenURI' -import { stubbedSendTx } from '../../common/utils/for-test' +import { createIsFreezedCaller } from './isFreezed' -describe('meltTokenURI.spec.ts', () => { - describe('createMeltTokenURICaller', () => { +describe('isFreezed.spec.ts', () => { + describe('createIsFreezedCaller', () => { it('call success', async () => { - const success = true + const value = true const tokenId = 1 const devContract = { - meltTokenURI: jest + // eslint-disable-next-line @typescript-eslint/no-unused-vars + isFreezed: jest .fn() - // eslint-disable-next-line @typescript-eslint/no-unused-vars - .mockImplementation(async (tokenId: string) => stubbedSendTx()), + .mockImplementation(async (tokenId: string) => value), } - const expected = success + const expected = value // eslint-disable-next-line @typescript-eslint/no-explicit-any - const caller = createMeltTokenURICaller(devContract as any) + const caller = createIsFreezedCaller(devContract as any) const result = await caller(tokenId) @@ -29,14 +28,14 @@ describe('meltTokenURI.spec.ts', () => { const error = 'error' const devContract = { - meltTokenURI: jest + isFreezed: jest .fn() // eslint-disable-next-line @typescript-eslint/no-unused-vars .mockImplementation(async (tokenId: string) => Promise.reject(error)), } // eslint-disable-next-line @typescript-eslint/no-explicit-any - const caller = createMeltTokenURICaller(devContract as any) + const caller = createIsFreezedCaller(devContract as any) const result = await caller(tokenId).catch((err) => err) diff --git a/lib/ethereum/s-tokens/isFreezed.ts b/lib/ethereum/s-tokens/isFreezed.ts new file mode 100644 index 000000000..eb0e53f22 --- /dev/null +++ b/lib/ethereum/s-tokens/isFreezed.ts @@ -0,0 +1,18 @@ +/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */ +import { ethers } from 'ethers' +import { execute, QueryOption } from '../../common/utils/execute' +import { T } from 'ramda' + +export type CreateIsFreezedCaller = ( + contract: ethers.Contract +) => (tokenId: number) => Promise + +export const createIsFreezedCaller: CreateIsFreezedCaller = + (contract: ethers.Contract) => + async (tokenId: number): Promise => + execute({ + contract, + method: 'isFreezed', + args: [String(tokenId)], + mutation: false, + }).then(T) diff --git a/lib/ethereum/s-tokens/meltTokenURI.ts b/lib/ethereum/s-tokens/meltTokenURI.ts deleted file mode 100644 index 78a2c763f..000000000 --- a/lib/ethereum/s-tokens/meltTokenURI.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ethers } from 'ethers' -import { - execute, - FallbackableOverrides, - MutationOption, -} from '../../common/utils/execute' -import { T } from 'ramda' - -export type CreateMeltTokenURICaller = ( - contract: ethers.Contract -) => (tokenId: number, overrides?: FallbackableOverrides) => Promise - -export const createMeltTokenURICaller: CreateMeltTokenURICaller = - (contract: ethers.Contract) => - async (tokenId: number, overrides?: FallbackableOverrides) => - execute({ - contract, - method: 'meltTokenURI', - mutation: true, - args: [String(tokenId)], - overrides, - }).then(T)