@folks-finance/xchain-sdk 0.0.50 → 0.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import type { NetworkType } from "../../../../common/types/chain.js";
2
- import type { OraclePrices } from "../types/oracle.js";
2
+ import type { OraclePrice, OraclePrices } from "../types/oracle.js";
3
3
  import type { HubTokenData } from "../types/token.js";
4
4
  import type { Client } from "viem";
5
+ export declare function getOraclePrice(provider: Client, network: NetworkType, poolId: number): Promise<OraclePrice>;
5
6
  export declare function getOraclePrices(provider: Client, network: NetworkType, tokens: Array<HubTokenData>): Promise<OraclePrices>;
@@ -1,6 +1,12 @@
1
1
  import { multicall } from "viem/actions";
2
2
  import { getHubChain } from "../utils/chain.js";
3
3
  import { getOracleManagerContract } from "../utils/contract.js";
4
+ export async function getOraclePrice(provider, network, poolId) {
5
+ const hubChain = getHubChain(network);
6
+ const oracleManager = getOracleManagerContract(provider, hubChain.oracleManagerAddress);
7
+ const { price, decimals } = await oracleManager.read.processPriceFeed([poolId]);
8
+ return { price: [price, 18], decimals };
9
+ }
4
10
  export async function getOraclePrices(provider, network, tokens) {
5
11
  const hubChain = getHubChain(network);
6
12
  const oracleManager = getOracleManagerContract(provider, hubChain.oracleManagerAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"folks-hub-oracle.js","sourceRoot":"","sources":["../../../../../src/chains/evm/hub/modules/folks-hub-oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAQhE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,OAAoB,EACpB,MAA2B;IAE3B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAExF,MAAM,iBAAiB,GAAsC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,YAAY,EAAE,kBAAkB;QAChC,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE;QAC5C,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE,KAAK;KACpB,CAAC,CAA+E,CAAC;IAElF,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"folks-hub-oracle.js","sourceRoot":"","sources":["../../../../../src/chains/evm/hub/modules/folks-hub-oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAQhE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAoB,EAAE,MAAc;IACzF,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAExF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,OAAoB,EACpB,MAA2B;IAE3B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAExF,MAAM,iBAAiB,GAAsC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,YAAY,EAAE,kBAAkB;QAChC,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE;QAC5C,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE,KAAK;KACpB,CAAC,CAA+E,CAAC;IAElF,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,7 +17,7 @@ export { getSupportedMessageAdapters } from "./common/utils/adapter.js";
17
17
  export { convertFromGenericAddress, convertToGenericAddress } from "./common/utils/address.js";
18
18
  export { buildAccountId, buildLoanId } from "./common/utils/lending.js";
19
19
  export { getAdapterAddress } from "./common/utils/chain.js";
20
- export { toFAmount, toUnderlyingAmount } from "./common/utils/formulae.js";
20
+ export { toFAmount, toUnderlyingAmount, calcAssetDollarValue } from "./common/utils/formulae.js";
21
21
  export { getCcipData, getWormholeData } from "./common/utils/gmp.js";
22
22
  export { getOperationIdsByTransaction, waitOperationIds } from "./common/utils/messages.js";
23
23
  export { waitTransaction } from "./common/utils/transaction.js";
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ export { getSupportedMessageAdapters } from "./common/utils/adapter.js";
20
20
  export { convertFromGenericAddress, convertToGenericAddress } from "./common/utils/address.js";
21
21
  export { buildAccountId, buildLoanId } from "./common/utils/lending.js";
22
22
  export { getAdapterAddress } from "./common/utils/chain.js";
23
- export { toFAmount, toUnderlyingAmount } from "./common/utils/formulae.js";
23
+ export { toFAmount, toUnderlyingAmount, calcAssetDollarValue } from "./common/utils/formulae.js";
24
24
  export { getCcipData, getWormholeData } from "./common/utils/gmp.js";
25
25
  export { getOperationIdsByTransaction, waitOperationIds } from "./common/utils/messages.js";
26
26
  export { waitTransaction } from "./common/utils/transaction.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEpH,iBAAiB;AACjB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,iBAAiB;AAEjB,QAAQ;AACR,cAAc,wCAAwC,CAAC;AAEvD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,aAAa;AACb,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAEhD,eAAe;AACf,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEpH,iBAAiB;AACjB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,iBAAiB;AAEjB,QAAQ;AACR,cAAc,wCAAwC,CAAC;AAEvD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,aAAa;AACb,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAEhD,eAAe;AACf,cAAc,kCAAkC,CAAC"}
@@ -8,6 +8,7 @@ import { FolksEvmGmp } from "../../chains/evm/spoke/modules/index.js";
8
8
  import { getBridgeRouterSpokeContract } from "../../chains/evm/spoke/utils/contract.js";
9
9
  import { ChainType } from "../../common/types/chain.js";
10
10
  import { MessageDirection } from "../../common/types/gmp.js";
11
+ import { Action } from "../../common/types/message.js";
11
12
  import { assertAdapterSupportsCrossChainToken, assertAdapterSupportsDataMessage, assertAdapterSupportsReceiverValue, } from "../../common/utils/adapter.js";
12
13
  import { convertFromGenericAddress } from "../../common/utils/address.js";
13
14
  import { assertHubChainSelected, getFolksChain, getSignerGenericAddress, getSpokeChain, getSpokeTokenData, } from "../../common/utils/chain.js";
@@ -20,13 +21,14 @@ export const prepare = {
20
21
  async retryMessage(adapterId, messageId, message, extraArgsParams, isHub = true) {
21
22
  const folksChain = FolksCore.getSelectedFolksChain();
22
23
  const payload = decodeMessagePayload(message.payload);
24
+ const messageDirection = isHub || payload.action === Action.SendToken ? MessageDirection.HubToSpoke : MessageDirection.SpokeToHub;
23
25
  const userAddress = getSignerGenericAddress({
24
26
  signer: FolksCore.getFolksSigner().signer,
25
27
  chainType: folksChain.chainType,
26
28
  });
27
29
  if (isHub) {
28
30
  assertHubChainSelected(folksChain.folksChainId, folksChain.network);
29
- assertRetryableAction(payload.action, MessageDirection.HubToSpoke);
31
+ assertRetryableAction(payload.action, messageDirection);
30
32
  const hubChain = getHubChain(folksChain.network);
31
33
  const provider = FolksCore.getProvider(folksChain.folksChainId);
32
34
  const { adapterFees, extraArgs } = await getHubRetryMessageExtraArgsAndAdapterFees(provider, hubChain, folksChain.network, userAddress, message, extraArgsParams, payload);
@@ -36,7 +38,7 @@ export const prepare = {
36
38
  return await FolksHubGmp.prepare.retryMessage(provider, getEvmSignerAddress(FolksCore.getSigner()), adapterId, messageId, message, encodedExtraArgs, value, getHubChain(folksChain.network));
37
39
  }
38
40
  else {
39
- assertRetryableAction(payload.action, MessageDirection.SpokeToHub);
41
+ assertRetryableAction(payload.action, messageDirection);
40
42
  switch (folksChain.chainType) {
41
43
  case ChainType.EVM: {
42
44
  return await FolksEvmGmp.prepare.retryMessage(FolksCore.getProvider(folksChain.folksChainId), getEvmSignerAddress(FolksCore.getSigner()), adapterId, messageId, message, "0x", 0n, getSpokeChain(folksChain.folksChainId, folksChain.network));
@@ -1 +1 @@
1
- {"version":3,"file":"folks-gmp.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-gmp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folks-gmp.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-gmp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { OraclePrices } from "../../chains/evm/hub/types/oracle.js";
1
+ import type { OraclePrice, OraclePrices } from "../../chains/evm/hub/types/oracle.js";
2
+ import type { FolksTokenId } from "../../common/types/token.js";
2
3
  export declare const read: {
3
- oraclePrices(): Promise<OraclePrices>;
4
+ oraclePrice(folksTokenId: FolksTokenId): Promise<OraclePrice>;
5
+ oraclePrices(folksTokenIds?: Array<FolksTokenId>): Promise<OraclePrices>;
4
6
  };
@@ -1,10 +1,17 @@
1
1
  import { FolksHubOracle } from "../../chains/evm/hub/modules/index.js";
2
- import { getHubTokensData } from "../../chains/evm/hub/utils/chain.js";
2
+ import { getHubTokenData, getHubTokensData } from "../../chains/evm/hub/utils/chain.js";
3
3
  import { FolksCore } from "../core/folks-core.js";
4
4
  export const read = {
5
- async oraclePrices() {
5
+ async oraclePrice(folksTokenId) {
6
6
  const network = FolksCore.getSelectedNetwork();
7
- const tokensData = Object.values(getHubTokensData(network));
7
+ const { poolId } = getHubTokenData(folksTokenId, network);
8
+ return await FolksHubOracle.getOraclePrice(FolksCore.getHubProvider(), network, poolId);
9
+ },
10
+ async oraclePrices(folksTokenIds) {
11
+ const network = FolksCore.getSelectedNetwork();
12
+ const tokensData = folksTokenIds
13
+ ? folksTokenIds.map((folksTokenId) => getHubTokenData(folksTokenId, network))
14
+ : Object.values(getHubTokensData(network));
8
15
  return FolksHubOracle.getOraclePrices(FolksCore.getHubProvider(), network, tokensData);
9
16
  },
10
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"folks-oracle.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,CAAC,YAAY;QAChB,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5D,OAAO,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzF,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"folks-oracle.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,CAAC,WAAW,CAAC,YAA0B;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAE/C,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE1D,OAAO,MAAM,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,aAAmC;QACpD,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAE/C,MAAM,UAAU,GAAG,aAAa;YAC9B,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7C,OAAO,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzF,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@folks-finance/xchain-sdk",
3
3
  "description": "The official JavaScript SDK for the Folks Finance Cross-Chain Lending Protocol",
4
- "version": "0.0.50",
4
+ "version": "0.0.52",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -5,10 +5,19 @@ import { getOracleManagerContract } from "../utils/contract.js";
5
5
 
6
6
  import type { NetworkType } from "../../../../common/types/chain.js";
7
7
  import type { OracleManagerAbi } from "../constants/abi/oracle-manager-abi.js";
8
- import type { OraclePrices } from "../types/oracle.js";
8
+ import type { OraclePrice, OraclePrices } from "../types/oracle.js";
9
9
  import type { HubTokenData } from "../types/token.js";
10
10
  import type { Client, ContractFunctionParameters, ReadContractReturnType } from "viem";
11
11
 
12
+ export async function getOraclePrice(provider: Client, network: NetworkType, poolId: number): Promise<OraclePrice> {
13
+ const hubChain = getHubChain(network);
14
+
15
+ const oracleManager = getOracleManagerContract(provider, hubChain.oracleManagerAddress);
16
+
17
+ const { price, decimals } = await oracleManager.read.processPriceFeed([poolId]);
18
+ return { price: [price, 18], decimals };
19
+ }
20
+
12
21
  export async function getOraclePrices(
13
22
  provider: Client,
14
23
  network: NetworkType,
package/src/index.ts CHANGED
@@ -24,7 +24,7 @@ export { getSupportedMessageAdapters } from "./common/utils/adapter.js";
24
24
  export { convertFromGenericAddress, convertToGenericAddress } from "./common/utils/address.js";
25
25
  export { buildAccountId, buildLoanId } from "./common/utils/lending.js";
26
26
  export { getAdapterAddress } from "./common/utils/chain.js";
27
- export { toFAmount, toUnderlyingAmount } from "./common/utils/formulae.js";
27
+ export { toFAmount, toUnderlyingAmount, calcAssetDollarValue } from "./common/utils/formulae.js";
28
28
  export { getCcipData, getWormholeData } from "./common/utils/gmp.js";
29
29
  export { getOperationIdsByTransaction, waitOperationIds } from "./common/utils/messages.js";
30
30
  export { waitTransaction } from "./common/utils/transaction.js";
@@ -11,6 +11,7 @@ import { FolksEvmGmp } from "../../chains/evm/spoke/modules/index.js";
11
11
  import { getBridgeRouterSpokeContract } from "../../chains/evm/spoke/utils/contract.js";
12
12
  import { ChainType } from "../../common/types/chain.js";
13
13
  import { MessageDirection } from "../../common/types/gmp.js";
14
+ import { Action } from "../../common/types/message.js";
14
15
  import {
15
16
  assertAdapterSupportsCrossChainToken,
16
17
  assertAdapterSupportsDataMessage,
@@ -57,6 +58,8 @@ export const prepare = {
57
58
  ) {
58
59
  const folksChain = FolksCore.getSelectedFolksChain();
59
60
  const payload = decodeMessagePayload(message.payload);
61
+ const messageDirection =
62
+ isHub || payload.action === Action.SendToken ? MessageDirection.HubToSpoke : MessageDirection.SpokeToHub;
60
63
 
61
64
  const userAddress = getSignerGenericAddress({
62
65
  signer: FolksCore.getFolksSigner().signer,
@@ -65,7 +68,7 @@ export const prepare = {
65
68
 
66
69
  if (isHub) {
67
70
  assertHubChainSelected(folksChain.folksChainId, folksChain.network);
68
- assertRetryableAction(payload.action, MessageDirection.HubToSpoke);
71
+ assertRetryableAction(payload.action, messageDirection);
69
72
 
70
73
  const hubChain = getHubChain(folksChain.network);
71
74
  const provider = FolksCore.getProvider<ChainType.EVM>(folksChain.folksChainId);
@@ -94,7 +97,7 @@ export const prepare = {
94
97
  getHubChain(folksChain.network),
95
98
  );
96
99
  } else {
97
- assertRetryableAction(payload.action, MessageDirection.SpokeToHub);
100
+ assertRetryableAction(payload.action, messageDirection);
98
101
 
99
102
  switch (folksChain.chainType) {
100
103
  case ChainType.EVM: {
@@ -1,14 +1,25 @@
1
1
  import { FolksHubOracle } from "../../chains/evm/hub/modules/index.js";
2
- import { getHubTokensData } from "../../chains/evm/hub/utils/chain.js";
2
+ import { getHubTokenData, getHubTokensData } from "../../chains/evm/hub/utils/chain.js";
3
3
  import { FolksCore } from "../core/folks-core.js";
4
4
 
5
- import type { OraclePrices } from "../../chains/evm/hub/types/oracle.js";
5
+ import type { OraclePrice, OraclePrices } from "../../chains/evm/hub/types/oracle.js";
6
+ import type { FolksTokenId } from "../../common/types/token.js";
6
7
 
7
8
  export const read = {
8
- async oraclePrices(): Promise<OraclePrices> {
9
+ async oraclePrice(folksTokenId: FolksTokenId): Promise<OraclePrice> {
9
10
  const network = FolksCore.getSelectedNetwork();
10
11
 
11
- const tokensData = Object.values(getHubTokensData(network));
12
+ const { poolId } = getHubTokenData(folksTokenId, network);
13
+
14
+ return await FolksHubOracle.getOraclePrice(FolksCore.getHubProvider(), network, poolId);
15
+ },
16
+
17
+ async oraclePrices(folksTokenIds?: Array<FolksTokenId>): Promise<OraclePrices> {
18
+ const network = FolksCore.getSelectedNetwork();
19
+
20
+ const tokensData = folksTokenIds
21
+ ? folksTokenIds.map((folksTokenId) => getHubTokenData(folksTokenId, network))
22
+ : Object.values(getHubTokensData(network));
12
23
 
13
24
  return FolksHubOracle.getOraclePrices(FolksCore.getHubProvider(), network, tokensData);
14
25
  },