Skip to content

Commit

Permalink
Showing 12 changed files with 135 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .changeset/purple-boats-look.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@protocolink/api': minor
---

add Wagmi, skip Wagmi tests
5 changes: 5 additions & 0 deletions .changeset/witty-tomatoes-suffer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@protocolink/api': minor
---

add IOLEND, skip IOLEND tests
2 changes: 1 addition & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@
"dependencies": {
"@protocolink/common": "^0.5.4",
"@protocolink/core": "^0.6.3",
"@protocolink/logics": "^1.7.2",
"@protocolink/logics": "^1.8.0",
"@types/lodash": "^4.14.195",
"@types/uuid": "^9.0.2",
"@uniswap/permit2-sdk": "^1.2.0",
2 changes: 2 additions & 0 deletions packages/api/src/protocols/index.ts
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@ export * as aavev2 from './aave-v2';
export * as aavev3 from './aave-v3';
export * as balancerv2 from './balancer-v2';
export * as compoundv3 from './compound-v3';
export * as iolend from './iolend';
export * as magicsea from './magicsea';
export * as morphoblue from './morphoblue';
export * as openoceanv2 from './openocean-v2';
@@ -15,4 +16,5 @@ export * as stargatev2 from './stargate-v2';
export * as syncswap from './syncswap';
export * as uniswapv3 from './uniswap-v3';
export * as utility from './utility';
export * as wagmi from './wagmi';
export * as zeroexv4 from './zeroex-v4';
16 changes: 16 additions & 0 deletions packages/api/src/protocols/iolend/borrow.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Logic } from 'src/types';
import * as common from '@protocolink/common';
import { getProtocolTokenList } from 'src/api';
import * as logics from '@protocolink/logics';

export type BorrowFields = common.Declasifying<logics.iolend.BorrowLogicFields>;

export type BorrowLogic = Logic<BorrowFields>;

export async function getBorrowTokenList(chainId: number): Promise<logics.iolend.BorrowLogicTokenList> {
return getProtocolTokenList(chainId, logics.iolend.BorrowLogic.rid);
}

export function newBorrowLogic(fields: BorrowFields): BorrowLogic {
return { rid: logics.iolend.BorrowLogic.rid, fields };
}
25 changes: 25 additions & 0 deletions packages/api/src/protocols/iolend/deposit.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Logic } from 'src/types';
import * as common from '@protocolink/common';
import { getProtocolTokenList, quote } from 'src/api';
import * as logics from '@protocolink/logics';

export type DepositParams = common.Declasifying<logics.iolend.DepositLogicParams>;

export type DepositFields = common.Declasifying<logics.iolend.DepositLogicFields>;

export type DepositLogic = Logic<DepositFields>;

export async function getDepositTokenList(chainId: number): Promise<logics.iolend.DepositLogicTokenList> {
return getProtocolTokenList(chainId, logics.iolend.DepositLogic.rid);
}

export async function getDepositQuotation(
chainId: number,
params: DepositParams
): Promise<logics.iolend.DepositLogicFields> {
return quote(chainId, logics.iolend.DepositLogic.rid, params);
}

export function newDepositLogic(fields: DepositFields): DepositLogic {
return { rid: logics.iolend.DepositLogic.rid, fields };
}
4 changes: 4 additions & 0 deletions packages/api/src/protocols/iolend/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export * from './borrow';
export * from './deposit';
export * from './repay';
export * from './withdraw';
22 changes: 22 additions & 0 deletions packages/api/src/protocols/iolend/repay.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { Logic } from 'src/types';
import * as common from '@protocolink/common';
import { getProtocolTokenList, quote } from 'src/api';
import * as logics from '@protocolink/logics';

export type RepayParams = common.Declasifying<logics.iolend.RepayLogicParams>;

export type RepayFields = common.Declasifying<logics.iolend.RepayLogicFields>;

export type RepayLogic = Logic<RepayFields>;

export async function getRepayTokenList(chainId: number): Promise<logics.iolend.RepayLogicTokenList> {
return getProtocolTokenList(chainId, logics.iolend.RepayLogic.rid);
}

export async function getRepayQuotation(chainId: number, params: RepayParams): Promise<logics.iolend.RepayLogicFields> {
return quote(chainId, logics.iolend.RepayLogic.rid, params);
}

export function newRepayLogic(fields: RepayFields): RepayLogic {
return { rid: logics.iolend.RepayLogic.rid, fields };
}
25 changes: 25 additions & 0 deletions packages/api/src/protocols/iolend/withdraw.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Logic } from 'src/types';
import * as common from '@protocolink/common';
import { getProtocolTokenList, quote } from 'src/api';
import * as logics from '@protocolink/logics';

export type WithdrawParams = common.Declasifying<logics.iolend.WithdrawLogicParams>;

export type WithdrawFields = common.Declasifying<logics.iolend.WithdrawLogicFields>;

export type WithdrawLogic = Logic<WithdrawFields>;

export async function getWithdrawTokenList(chainId: number): Promise<logics.iolend.WithdrawLogicTokenList> {
return getProtocolTokenList(chainId, logics.iolend.WithdrawLogic.rid);
}

export async function getWithdrawQuotation(
chainId: number,
params: WithdrawParams
): Promise<logics.iolend.WithdrawLogicFields> {
return quote(chainId, logics.iolend.WithdrawLogic.rid, params);
}

export function newWithdrawLogic(fields: WithdrawFields): WithdrawLogic {
return { rid: logics.iolend.WithdrawLogic.rid, fields };
}
1 change: 1 addition & 0 deletions packages/api/src/protocols/wagmi/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './swap-token';
25 changes: 25 additions & 0 deletions packages/api/src/protocols/wagmi/swap-token.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Logic } from 'src/types';
import * as common from '@protocolink/common';
import { getProtocolTokenList, quote } from 'src/api';
import * as logics from '@protocolink/logics';

export type SwapTokenParams = common.Declasifying<logics.wagmi.SwapTokenLogicParams>;

export type SwapTokenFields = common.Declasifying<logics.wagmi.SwapTokenLogicFields>;

export type SwapTokenLogic = Logic<SwapTokenFields>;

export async function getSwapTokenTokenList(chainId: number): Promise<logics.wagmi.SwapTokenLogicTokenList> {
return getProtocolTokenList(chainId, logics.wagmi.SwapTokenLogic.rid);
}

export async function getSwapTokenQuotation(
chainId: number,
params: SwapTokenParams
): Promise<logics.wagmi.SwapTokenLogicFields> {
return quote(chainId, logics.wagmi.SwapTokenLogic.rid, params);
}

export function newSwapTokenLogic(fields: SwapTokenFields): SwapTokenLogic {
return { rid: logics.wagmi.SwapTokenLogic.rid, fields };
}
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
@@ -1083,10 +1083,10 @@
node-addon-api "^3.2.1"
node-gyp-build "^4.3.0"

"@protocolink/logics@^1.7.2":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@protocolink/logics/-/logics-1.7.2.tgz#1594f40c0b293d445d899197a44fbf592c624ae6"
integrity sha512-s+ddfBV/IsyuM1cA3WrAceKRc1p7F2smritniMF2cX0LzKJpARRtW3ysGkYMo5E93Zi0naZE8b0iSkUXIJoo+w==
"@protocolink/logics@^1.7.2", "@protocolink/logics@^1.8.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@protocolink/logics/-/logics-1.8.0.tgz#346acb4d87ea0249ecba4ee7424da7452c4146e6"
integrity sha512-eke2obRiyIAA8qxmg/WiqgiITBRd4LxQnnr1GmCz4WH+6W+0ddVvPpy+AooIda5LCPMEm1ohw3lhDPpeVKK/1A==
dependencies:
"@paraswap/sdk" "^6.6.0"
"@protocolink/common" "^0.5.4"

0 comments on commit b404930

Please sign in to comment.