@vetro-protocol/gateway 1.0.0 → 1.1.0

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.
package/README.md CHANGED
@@ -61,6 +61,7 @@ The same actions are also available via `.extend()` factories (`gatewayPublicAct
61
61
  - Public actions (reads):
62
62
  - `previewDeposit(client, params)` — expected pegged-token output for a deposit.
63
63
  - `previewRedeem(client, params)` — expected underlying output for a redeem.
64
+ - `previewWithdraw(client, params)` — pegged-token input required to withdraw an exact `amountOut` of the underlying (inverse of `previewRedeem`, with `redeemFee` applied on-chain).
64
65
  - `getMintFee(client, params)` / `getRedeemFee(client, params)` — current fees.
65
66
  - `getMaxWithdraw(client, params)` — maximum withdrawable amount.
66
67
  - `getPeggedToken(client, params)` — pegged-token address minted by the gateway.
@@ -99,6 +99,16 @@ export const gatewayAbi = [
99
99
  stateMutability: "view",
100
100
  type: "function",
101
101
  },
102
+ {
103
+ inputs: [
104
+ { name: "tokenOut_", type: "address" },
105
+ { name: "amountOut_", type: "uint256" },
106
+ ],
107
+ name: "previewWithdraw",
108
+ outputs: [{ type: "uint256" }],
109
+ stateMutability: "view",
110
+ type: "function",
111
+ },
102
112
  {
103
113
  inputs: [],
104
114
  name: "cancelRedeemRequest",
@@ -1 +1 @@
1
- {"version":3,"file":"gatewayAbi.js","sourceRoot":"","sources":["../../src/abi/gatewayAbi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatewayAbi.js","sourceRoot":"","sources":["../../src/abi/gatewayAbi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5C,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/C,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/C,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;QACD,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACxC;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3C,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC5C,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;SAC3C;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAChD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzD;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;CACO,CAAC"}
@@ -10,6 +10,7 @@ export * from "./public/getWithdrawalDelay.js";
10
10
  export * from "./public/isInstantRedeemWhitelisted.js";
11
11
  export * from "./public/previewDeposit.js";
12
12
  export * from "./public/previewRedeem.js";
13
+ export * from "./public/previewWithdraw.js";
13
14
  // Export all wallet actions
14
15
  export * from "./wallet/cancelRedeemRequest.js";
15
16
  export * from "./wallet/deposit.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAE1C,4BAA4B;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,4BAA4B;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
@@ -9,4 +9,5 @@ export * from "./getWithdrawalDelayEnabled.js";
9
9
  export * from "./isInstantRedeemWhitelisted.js";
10
10
  export * from "./previewDeposit.js";
11
11
  export * from "./previewRedeem.js";
12
+ export * from "./previewWithdraw.js";
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { readContract } from "viem/actions";
2
+ import { gatewayAbi } from "../../abi/gatewayAbi.js";
3
+ import { isAddressValid } from "../../utils/isAddressValid.js";
4
+ export async function previewWithdraw(client, parameters) {
5
+ // Validate client
6
+ if (!client) {
7
+ throw new Error("Client is not defined");
8
+ }
9
+ // Validate parameters exist
10
+ if (!parameters) {
11
+ throw new Error("Parameters are required");
12
+ }
13
+ // Validate gateway address
14
+ if (!isAddressValid(parameters.address)) {
15
+ throw new Error("Gateway is invalid");
16
+ }
17
+ // Validate tokenOut address
18
+ if (!isAddressValid(parameters.tokenOut)) {
19
+ throw new Error("Token is invalid");
20
+ }
21
+ // Validate amountOut
22
+ if (typeof parameters.amountOut !== "bigint") {
23
+ throw new Error("Amount must be a bigint");
24
+ }
25
+ if (parameters.amountOut <= 0n) {
26
+ throw new Error("Amount must be greater than 0");
27
+ }
28
+ return readContract(client, {
29
+ abi: gatewayAbi,
30
+ address: parameters.address,
31
+ args: [parameters.tokenOut, parameters.amountOut],
32
+ functionName: "previewWithdraw",
33
+ });
34
+ }
35
+ //# sourceMappingURL=previewWithdraw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewWithdraw.js","sourceRoot":"","sources":["../../../src/actions/public/previewWithdraw.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,UAIC;IAED,kBAAkB;IAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,EAAE;QAC1B,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;QACjD,YAAY,EAAE,iBAAiB;KAChC,CAAC,CAAC;AACL,CAAC"}
package/_esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getMaxWithdraw, getMintFee, getPeggedToken, getRedeemFee, getRedeemRequest, getTreasury, getWithdrawalDelay, getWithdrawalDelayEnabled, isInstantRedeemWhitelisted, previewDeposit, previewRedeem, } from "./actions/public/index.js";
1
+ import { getMaxWithdraw, getMintFee, getPeggedToken, getRedeemFee, getRedeemRequest, getTreasury, getWithdrawalDelay, getWithdrawalDelayEnabled, isInstantRedeemWhitelisted, previewDeposit, previewRedeem, previewWithdraw, } from "./actions/public/index.js";
2
2
  import { cancelRedeemRequest, } from "./actions/wallet/cancelRedeemRequest.js";
3
3
  import { deposit } from "./actions/wallet/deposit.js";
4
4
  import { redeem } from "./actions/wallet/redeem.js";
@@ -20,6 +20,7 @@ export const gatewayPublicActions = () => (client) => ({
20
20
  isInstantRedeemWhitelisted: (params) => isInstantRedeemWhitelisted(client, params),
21
21
  previewDeposit: (params) => previewDeposit(client, params),
22
22
  previewRedeem: (params) => previewRedeem(client, params),
23
+ previewWithdraw: (params) => previewWithdraw(client, params),
23
24
  });
24
25
  export const gatewayWalletActions = () => (client) => ({
25
26
  cancelRedeemRequest: (params) => cancelRedeemRequest(client, params),
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,mBAAmB,GACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAsB,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAqB,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,6DAA6D;AAC7D,OAAO,EAEL,gBAAgB,EAChB,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAW/B,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC7D,cAAc,EAAE,CAAC,MAA4C,EAAE,EAAE,CAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,MAAwC,EAAE,EAAE,CACvD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,CAAC,MAA4C,EAAE,EAAE,CAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,MAA0C,EAAE,EAAE,CAC3D,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAA8C,EAAE,EAAE,CACnE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,MAAyC,EAAE,EAAE,CACzD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,CAAC,MAAgD,EAAE,EAAE,CACvE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;IACpC,yBAAyB,EAAE,CACzB,MAAuD,EACvD,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9C,0BAA0B,EAAE,CAC1B,MAAwD,EACxD,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/C,cAAc,EAAE,CAAC,MAA4C,EAAE,EAAE,CAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,CAAC,MAA2C,EAAE,EAAE,CAC7D,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC;IACnE,mBAAmB,EAAE,CAAC,MAAiC,EAAE,EAAE,CACzD,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3D,MAAM,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACxD,aAAa,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;CAC9E,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,mBAAmB,GACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAsB,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAqB,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,6DAA6D;AAC7D,OAAO,EAEL,gBAAgB,EAChB,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAW/B,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC7D,cAAc,EAAE,CAAC,MAA4C,EAAE,EAAE,CAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,MAAwC,EAAE,EAAE,CACvD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,CAAC,MAA4C,EAAE,EAAE,CAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,MAA0C,EAAE,EAAE,CAC3D,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAA8C,EAAE,EAAE,CACnE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,MAAyC,EAAE,EAAE,CACzD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,CAAC,MAAgD,EAAE,EAAE,CACvE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;IACpC,yBAAyB,EAAE,CACzB,MAAuD,EACvD,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9C,0BAA0B,EAAE,CAC1B,MAAwD,EACxD,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/C,cAAc,EAAE,CAAC,MAA4C,EAAE,EAAE,CAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,CAAC,MAA2C,EAAE,EAAE,CAC7D,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,CAAC,MAA6C,EAAE,EAAE,CACjE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC;IACnE,mBAAmB,EAAE,CAAC,MAAiC,EAAE,EAAE,CACzD,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3D,MAAM,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACxD,aAAa,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;CAC9E,CAAC,CAAC"}
@@ -134,6 +134,20 @@ export declare const gatewayAbi: readonly [{
134
134
  }];
135
135
  readonly stateMutability: "view";
136
136
  readonly type: "function";
137
+ }, {
138
+ readonly inputs: readonly [{
139
+ readonly name: "tokenOut_";
140
+ readonly type: "address";
141
+ }, {
142
+ readonly name: "amountOut_";
143
+ readonly type: "uint256";
144
+ }];
145
+ readonly name: "previewWithdraw";
146
+ readonly outputs: readonly [{
147
+ readonly type: "uint256";
148
+ }];
149
+ readonly stateMutability: "view";
150
+ readonly type: "function";
137
151
  }, {
138
152
  readonly inputs: readonly [];
139
153
  readonly name: "cancelRedeemRequest";
@@ -1 +1 @@
1
- {"version":3,"file":"gatewayAbi.d.ts","sourceRoot":"","sources":["../../src/abi/gatewayAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuLb,CAAC"}
1
+ {"version":3,"file":"gatewayAbi.d.ts","sourceRoot":"","sources":["../../src/abi/gatewayAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiMb,CAAC"}
@@ -9,6 +9,7 @@ export * from "./public/getWithdrawalDelay.js";
9
9
  export * from "./public/isInstantRedeemWhitelisted.js";
10
10
  export * from "./public/previewDeposit.js";
11
11
  export * from "./public/previewRedeem.js";
12
+ export * from "./public/previewWithdraw.js";
12
13
  export * from "./wallet/cancelRedeemRequest.js";
13
14
  export * from "./wallet/deposit.js";
14
15
  export * from "./wallet/redeem.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAG1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
@@ -9,4 +9,5 @@ export * from "./getWithdrawalDelayEnabled.js";
9
9
  export * from "./isInstantRedeemWhitelisted.js";
10
10
  export * from "./previewDeposit.js";
11
11
  export * from "./previewRedeem.js";
12
+ export * from "./previewWithdraw.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type Address, type Client } from "viem";
2
+ export declare function previewWithdraw(client: Client, parameters: {
3
+ address: Address;
4
+ tokenOut: Address;
5
+ amountOut: bigint;
6
+ }): Promise<bigint>;
7
+ //# sourceMappingURL=previewWithdraw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewWithdraw.d.ts","sourceRoot":"","sources":["../../../src/actions/public/previewWithdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAMjD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,mBAoCF"}
package/_types/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Client, WalletClient } from "viem";
2
- import { getMaxWithdraw, getMintFee, getPeggedToken, getRedeemFee, getRedeemRequest, getTreasury, getWithdrawalDelay, getWithdrawalDelayEnabled, isInstantRedeemWhitelisted, previewDeposit, previewRedeem } from "./actions/public/index.js";
2
+ import { getMaxWithdraw, getMintFee, getPeggedToken, getRedeemFee, getRedeemRequest, getTreasury, getWithdrawalDelay, getWithdrawalDelayEnabled, isInstantRedeemWhitelisted, previewDeposit, previewRedeem, previewWithdraw } from "./actions/public/index.js";
3
3
  import { type CancelRedeemRequestParams } from "./actions/wallet/cancelRedeemRequest.js";
4
4
  import { type DepositParams } from "./actions/wallet/deposit.js";
5
5
  import { type RedeemParams } from "./actions/wallet/redeem.js";
@@ -20,6 +20,7 @@ export declare const gatewayPublicActions: () => (client: Client) => {
20
20
  isInstantRedeemWhitelisted: (params: Parameters<typeof isInstantRedeemWhitelisted>[1]) => Promise<boolean>;
21
21
  previewDeposit: (params: Parameters<typeof previewDeposit>[1]) => Promise<bigint>;
22
22
  previewRedeem: (params: Parameters<typeof previewRedeem>[1]) => Promise<bigint>;
23
+ previewWithdraw: (params: Parameters<typeof previewWithdraw>[1]) => Promise<bigint>;
23
24
  };
24
25
  export declare const gatewayWalletActions: () => (client: WalletClient) => {
25
26
  cancelRedeemRequest: (params: CancelRedeemRequestParams) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,4BAA4B,CAAC;AACvE,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACL,KAAK,OAAO,EACZ,gBAAgB,EAChB,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,oBAAoB,SAAU,QAAQ,MAAM;6BAC9B,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;yBAExC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;6BAE5B,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;2BAEtC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;+BAE9B,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;0BAE3C,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;iCAE1B,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;wCAG3D,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC;yCAG/C,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC;6BAEjC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;4BAErC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;CAE3D,CAAC;AAEH,eAAO,MAAM,oBAAoB,SAAU,QAAQ,YAAY;kCAC/B,yBAAyB;;;;sBAErC,aAAa;;;;qBACd,YAAY;;;;4BACL,mBAAmB;;;;CAC3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,4BAA4B,CAAC;AACvE,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACL,KAAK,OAAO,EACZ,gBAAgB,EAChB,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,oBAAoB,SAAU,QAAQ,MAAM;6BAC9B,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;yBAExC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;6BAE5B,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;2BAEtC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;+BAE9B,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;0BAE3C,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;iCAE1B,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;wCAG3D,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC;yCAG/C,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC;6BAEjC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;4BAErC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;8BAEjC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;CAE/D,CAAC;AAEH,eAAO,MAAM,oBAAoB,SAAU,QAAQ,YAAY;kCAC/B,yBAAyB;;;;sBAErC,aAAa;;;;qBACd,YAAY;;;;4BACL,mBAAmB;;;;CAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vetro-protocol/gateway",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Vetro Protocol gateway actions for viem.",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -99,6 +99,16 @@ export const gatewayAbi = [
99
99
  stateMutability: "view",
100
100
  type: "function",
101
101
  },
102
+ {
103
+ inputs: [
104
+ { name: "tokenOut_", type: "address" },
105
+ { name: "amountOut_", type: "uint256" },
106
+ ],
107
+ name: "previewWithdraw",
108
+ outputs: [{ type: "uint256" }],
109
+ stateMutability: "view",
110
+ type: "function",
111
+ },
102
112
  {
103
113
  inputs: [],
104
114
  name: "cancelRedeemRequest",
@@ -10,6 +10,7 @@ export * from "./public/getWithdrawalDelay.js";
10
10
  export * from "./public/isInstantRedeemWhitelisted.js";
11
11
  export * from "./public/previewDeposit.js";
12
12
  export * from "./public/previewRedeem.js";
13
+ export * from "./public/previewWithdraw.js";
13
14
 
14
15
  // Export all wallet actions
15
16
  export * from "./wallet/cancelRedeemRequest.js";
@@ -9,3 +9,4 @@ export * from "./getWithdrawalDelayEnabled.js";
9
9
  export * from "./isInstantRedeemWhitelisted.js";
10
10
  export * from "./previewDeposit.js";
11
11
  export * from "./previewRedeem.js";
12
+ export * from "./previewWithdraw.js";
@@ -0,0 +1,49 @@
1
+ import { type Address, type Client } from "viem";
2
+ import { readContract } from "viem/actions";
3
+
4
+ import { gatewayAbi } from "../../abi/gatewayAbi.js";
5
+ import { isAddressValid } from "../../utils/isAddressValid.js";
6
+
7
+ export async function previewWithdraw(
8
+ client: Client,
9
+ parameters: {
10
+ address: Address;
11
+ tokenOut: Address;
12
+ amountOut: bigint;
13
+ },
14
+ ) {
15
+ // Validate client
16
+ if (!client) {
17
+ throw new Error("Client is not defined");
18
+ }
19
+
20
+ // Validate parameters exist
21
+ if (!parameters) {
22
+ throw new Error("Parameters are required");
23
+ }
24
+
25
+ // Validate gateway address
26
+ if (!isAddressValid(parameters.address)) {
27
+ throw new Error("Gateway is invalid");
28
+ }
29
+
30
+ // Validate tokenOut address
31
+ if (!isAddressValid(parameters.tokenOut)) {
32
+ throw new Error("Token is invalid");
33
+ }
34
+
35
+ // Validate amountOut
36
+ if (typeof parameters.amountOut !== "bigint") {
37
+ throw new Error("Amount must be a bigint");
38
+ }
39
+ if (parameters.amountOut <= 0n) {
40
+ throw new Error("Amount must be greater than 0");
41
+ }
42
+
43
+ return readContract(client, {
44
+ abi: gatewayAbi,
45
+ address: parameters.address,
46
+ args: [parameters.tokenOut, parameters.amountOut],
47
+ functionName: "previewWithdraw",
48
+ });
49
+ }
package/src/index.ts CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  isInstantRedeemWhitelisted,
13
13
  previewDeposit,
14
14
  previewRedeem,
15
+ previewWithdraw,
15
16
  } from "./actions/public/index.js";
16
17
  import {
17
18
  type CancelRedeemRequestParams,
@@ -68,6 +69,8 @@ export const gatewayPublicActions = () => (client: Client) => ({
68
69
  previewDeposit(client, params),
69
70
  previewRedeem: (params: Parameters<typeof previewRedeem>[1]) =>
70
71
  previewRedeem(client, params),
72
+ previewWithdraw: (params: Parameters<typeof previewWithdraw>[1]) =>
73
+ previewWithdraw(client, params),
71
74
  });
72
75
 
73
76
  export const gatewayWalletActions = () => (client: WalletClient) => ({