@vetro-protocol/gateway 1.1.0 → 1.2.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.
@@ -0,0 +1,10 @@
1
+ export const peggedTokenAbi = [
2
+ {
3
+ inputs: [],
4
+ name: "gateway",
5
+ outputs: [{ type: "address" }],
6
+ stateMutability: "view",
7
+ type: "function",
8
+ },
9
+ ];
10
+ //# sourceMappingURL=peggedTokenAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peggedTokenAbi.js","sourceRoot":"","sources":["../../src/abi/peggedTokenAbi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC"}
@@ -1,4 +1,5 @@
1
1
  // Export all public actions
2
+ export * from "./public/getGateway.js";
2
3
  export * from "./public/getMaxWithdraw.js";
3
4
  export * from "./public/getPeggedToken.js";
4
5
  export * from "./public/getMintFee.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;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,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,wBAAwB,CAAC;AACvC,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"}
@@ -0,0 +1,30 @@
1
+ import { readContract } from "viem/actions";
2
+ import { peggedTokenAbi } from "../../abi/peggedTokenAbi.js";
3
+ import { isAddressValid } from "../../utils/isAddressValid.js";
4
+ /**
5
+ * Reads the gateway address for a given pegged token.
6
+ * @param client - The viem client used to read the contract.
7
+ * @param parameters - The parameters object.
8
+ * @param parameters.address - The pegged token address to read the gateway from.
9
+ * @returns The gateway address configured on the pegged token.
10
+ */
11
+ export async function getGateway(client, parameters) {
12
+ // Validate client
13
+ if (!client) {
14
+ throw new Error("Client is not defined");
15
+ }
16
+ // Validate parameters exist
17
+ if (!parameters) {
18
+ throw new Error("Parameters are required");
19
+ }
20
+ // Validate pegged token address
21
+ if (!isAddressValid(parameters.address)) {
22
+ throw new Error("Pegged token is invalid");
23
+ }
24
+ return readContract(client, {
25
+ abi: peggedTokenAbi,
26
+ address: parameters.address,
27
+ functionName: "gateway",
28
+ });
29
+ }
30
+ //# sourceMappingURL=getGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGateway.js","sourceRoot":"","sources":["../../../src/actions/public/getGateway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,UAEC;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,gCAAgC;IAChC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,EAAE;QAC1B,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,SAAS;KACxB,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./getGateway.js";
1
2
  export * from "./getMaxWithdraw.js";
2
3
  export * from "./getMintFee.js";
3
4
  export * from "./getPeggedToken.js";
@@ -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;AACnC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,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"}
package/_esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getMaxWithdraw, getMintFee, getPeggedToken, getRedeemFee, getRedeemRequest, getTreasury, getWithdrawalDelay, getWithdrawalDelayEnabled, isInstantRedeemWhitelisted, previewDeposit, previewRedeem, previewWithdraw, } from "./actions/public/index.js";
1
+ import { getGateway, 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";
@@ -9,6 +9,7 @@ export { gatewayAbi } from "./abi/gatewayAbi.js";
9
9
  export { gatewayAddresses, gateways, } from "./gatewayAddresses.js";
10
10
  // Export factory functions for .extend() pattern
11
11
  export const gatewayPublicActions = () => (client) => ({
12
+ getGateway: (params) => getGateway(client, params),
12
13
  getMaxWithdraw: (params) => getMaxWithdraw(client, params),
13
14
  getMintFee: (params) => getMintFee(client, params),
14
15
  getPeggedToken: (params) => getPeggedToken(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,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,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,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,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"}
@@ -0,0 +1,10 @@
1
+ export declare const peggedTokenAbi: readonly [{
2
+ readonly inputs: readonly [];
3
+ readonly name: "gateway";
4
+ readonly outputs: readonly [{
5
+ readonly type: "address";
6
+ }];
7
+ readonly stateMutability: "view";
8
+ readonly type: "function";
9
+ }];
10
+ //# sourceMappingURL=peggedTokenAbi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peggedTokenAbi.d.ts","sourceRoot":"","sources":["../../src/abi/peggedTokenAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;EAQjB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./public/getGateway.js";
1
2
  export * from "./public/getMaxWithdraw.js";
2
3
  export * from "./public/getPeggedToken.js";
3
4
  export * from "./public/getMintFee.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;AAC1C,cAAc,6BAA6B,CAAC;AAG5C,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,wBAAwB,CAAC;AACvC,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"}
@@ -0,0 +1,12 @@
1
+ import { type Address, type Client } from "viem";
2
+ /**
3
+ * Reads the gateway address for a given pegged token.
4
+ * @param client - The viem client used to read the contract.
5
+ * @param parameters - The parameters object.
6
+ * @param parameters.address - The pegged token address to read the gateway from.
7
+ * @returns The gateway address configured on the pegged token.
8
+ */
9
+ export declare function getGateway(client: Client, parameters: {
10
+ address: Address;
11
+ }): Promise<`0x${string}`>;
12
+ //# sourceMappingURL=getGateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGateway.d.ts","sourceRoot":"","sources":["../../../src/actions/public/getGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAMjD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;IACV,OAAO,EAAE,OAAO,CAAC;CAClB,0BAsBF"}
@@ -1,3 +1,4 @@
1
+ export * from "./getGateway.js";
1
2
  export * from "./getMaxWithdraw.js";
2
3
  export * from "./getMintFee.js";
3
4
  export * from "./getPeggedToken.js";
@@ -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;AACnC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,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"}
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, previewWithdraw } from "./actions/public/index.js";
2
+ import { getGateway, 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";
@@ -9,6 +9,7 @@ export { type Gateway, gatewayAddresses, gateways, } from "./gatewayAddresses.js
9
9
  export type { CancelRedeemRequestParams };
10
10
  export { type CancelRedeemRequestEvents, type DepositEvents, type RedeemEvents, type RequestRedeemEvents, } from "./types.js";
11
11
  export declare const gatewayPublicActions: () => (client: Client) => {
12
+ getGateway: (params: Parameters<typeof getGateway>[1]) => Promise<`0x${string}`>;
12
13
  getMaxWithdraw: (params: Parameters<typeof getMaxWithdraw>[1]) => Promise<bigint>;
13
14
  getMintFee: (params: Parameters<typeof getMintFee>[1]) => Promise<bigint>;
14
15
  getPeggedToken: (params: Parameters<typeof getPeggedToken>[1]) => Promise<`0x${string}`>;
@@ -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,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"}
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,UAAU,EACV,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;yBAClC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;6BAE5B,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.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Vetro Protocol gateway actions for viem.",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -0,0 +1,9 @@
1
+ export const peggedTokenAbi = [
2
+ {
3
+ inputs: [],
4
+ name: "gateway",
5
+ outputs: [{ type: "address" }],
6
+ stateMutability: "view",
7
+ type: "function",
8
+ },
9
+ ] as const;
@@ -1,4 +1,5 @@
1
1
  // Export all public actions
2
+ export * from "./public/getGateway.js";
2
3
  export * from "./public/getMaxWithdraw.js";
3
4
  export * from "./public/getPeggedToken.js";
4
5
  export * from "./public/getMintFee.js";
@@ -0,0 +1,40 @@
1
+ import { type Address, type Client } from "viem";
2
+ import { readContract } from "viem/actions";
3
+
4
+ import { peggedTokenAbi } from "../../abi/peggedTokenAbi.js";
5
+ import { isAddressValid } from "../../utils/isAddressValid.js";
6
+
7
+ /**
8
+ * Reads the gateway address for a given pegged token.
9
+ * @param client - The viem client used to read the contract.
10
+ * @param parameters - The parameters object.
11
+ * @param parameters.address - The pegged token address to read the gateway from.
12
+ * @returns The gateway address configured on the pegged token.
13
+ */
14
+ export async function getGateway(
15
+ client: Client,
16
+ parameters: {
17
+ address: Address;
18
+ },
19
+ ) {
20
+ // Validate client
21
+ if (!client) {
22
+ throw new Error("Client is not defined");
23
+ }
24
+
25
+ // Validate parameters exist
26
+ if (!parameters) {
27
+ throw new Error("Parameters are required");
28
+ }
29
+
30
+ // Validate pegged token address
31
+ if (!isAddressValid(parameters.address)) {
32
+ throw new Error("Pegged token is invalid");
33
+ }
34
+
35
+ return readContract(client, {
36
+ abi: peggedTokenAbi,
37
+ address: parameters.address,
38
+ functionName: "gateway",
39
+ });
40
+ }
@@ -1,3 +1,4 @@
1
+ export * from "./getGateway.js";
1
2
  export * from "./getMaxWithdraw.js";
2
3
  export * from "./getMintFee.js";
3
4
  export * from "./getPeggedToken.js";
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Client, WalletClient } from "viem";
2
2
 
3
3
  import {
4
+ getGateway,
4
5
  getMaxWithdraw,
5
6
  getMintFee,
6
7
  getPeggedToken,
@@ -45,6 +46,8 @@ export {
45
46
 
46
47
  // Export factory functions for .extend() pattern
47
48
  export const gatewayPublicActions = () => (client: Client) => ({
49
+ getGateway: (params: Parameters<typeof getGateway>[1]) =>
50
+ getGateway(client, params),
48
51
  getMaxWithdraw: (params: Parameters<typeof getMaxWithdraw>[1]) =>
49
52
  getMaxWithdraw(client, params),
50
53
  getMintFee: (params: Parameters<typeof getMintFee>[1]) =>