Skip to content

Commit da637e4

Browse files
author
iyashragrawal
committed
feat: add a common query caller
1 parent dac1efa commit da637e4

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

lib/ethereum/simpleCollection/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ethers } from 'ethers'
22
import type { BaseProvider } from '@ethersproject/providers'
33

4-
import { createImageCaller } from './image'
4+
import { createQueryCaller } from './queryCaller'
55
import { simpleCollectionsAbi } from './abi'
66
import { createSetImagesCaller } from './setImages'
77
import { createRemoveImageCaller } from './removeImage'
@@ -15,7 +15,9 @@ export const createSimpleCollectionsContract =
1515
)
1616

1717
return {
18-
image: createImageCaller(contractClient),
18+
image: createQueryCaller(contractClient, 'image'),
19+
name: createQueryCaller(contractClient, 'name'),
20+
description: createQueryCaller(contractClient, 'description'),
1921
setImages: createSetImagesCaller(contractClient),
2022
removeImage: createRemoveImageCaller(contractClient),
2123
}

lib/ethereum/simpleCollection/image.ts renamed to lib/ethereum/simpleCollection/queryCaller.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ import { Rewards } from '../s-tokens/rewards'
44
import { execute, QueryOption } from '../../common/utils/execute'
55
import { Positions as StakingPosition } from '../s-tokens/positions'
66

7-
export type CreateImageCaller = (
8-
contract: ethers.Contract
7+
type QueryMethods = 'image' | 'name' | 'description'
8+
9+
export type CreateQueryCaller = (
10+
contract: ethers.Contract,
11+
method: QueryMethods
912
) => (
1013
id: number,
1114
address: string,
@@ -14,8 +17,8 @@ export type CreateImageCaller = (
1417
keys: readonly string[]
1518
) => Promise<string>
1619

17-
export const createImageCaller: CreateImageCaller =
18-
(contract: ethers.Contract) =>
20+
export const createQueryCaller: CreateQueryCaller =
21+
(contract: ethers.Contract, method: QueryMethods) =>
1922
async (
2023
id: number,
2124
address: string,
@@ -25,7 +28,7 @@ export const createImageCaller: CreateImageCaller =
2528
) =>
2629
execute<QueryOption, string>({
2730
contract,
28-
method: 'image',
31+
method: method,
2932
args: [String(id), address, stakingPositions, rewards, keys],
3033
mutation: false,
3134
})

0 commit comments

Comments
 (0)