zerc20-client-sdk 0.3.0 → 0.3.2

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 zERC20
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -204,6 +204,19 @@ await submitRelaySwap("https://relay.example", {
204
204
  });
205
205
  ```
206
206
 
207
+ ### Blocklist
208
+
209
+ Check whether an address is on the OFAC sanctions blocklist before executing a private send. This prevents funds from being permanently locked when the recipient cannot redeem:
210
+
211
+ ```typescript
212
+ import { isBlockedAddress } from "zerc20-client-sdk";
213
+
214
+ const blocked = await isBlockedAddress(readProvider, blocklistAddress, recipientAddress);
215
+ if (blocked) {
216
+ throw new Error("Recipient is on the OFAC sanctions blocklist");
217
+ }
218
+ ```
219
+
207
220
  ### Adaptor Withdraw (Stuck Fund Recovery)
208
221
 
209
222
  When a cross-chain unwrap fails (e.g. due to Stargate liquidity shortage), user funds may remain in the destination chain's Adaptor contract. The SDK provides functions to detect and recover these stuck funds:
@@ -0,0 +1,178 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "constructor",
5
+ "inputs": [
6
+ {
7
+ "name": "initialOwner",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable"
13
+ },
14
+ {
15
+ "type": "function",
16
+ "name": "blockAddress",
17
+ "inputs": [
18
+ {
19
+ "name": "account",
20
+ "type": "address",
21
+ "internalType": "address"
22
+ }
23
+ ],
24
+ "outputs": [],
25
+ "stateMutability": "nonpayable"
26
+ },
27
+ {
28
+ "type": "function",
29
+ "name": "blockAddresses",
30
+ "inputs": [
31
+ {
32
+ "name": "accounts",
33
+ "type": "address[]",
34
+ "internalType": "address[]"
35
+ }
36
+ ],
37
+ "outputs": [],
38
+ "stateMutability": "nonpayable"
39
+ },
40
+ {
41
+ "type": "function",
42
+ "name": "isBlocked",
43
+ "inputs": [
44
+ {
45
+ "name": "account",
46
+ "type": "address",
47
+ "internalType": "address"
48
+ }
49
+ ],
50
+ "outputs": [
51
+ {
52
+ "name": "",
53
+ "type": "bool",
54
+ "internalType": "bool"
55
+ }
56
+ ],
57
+ "stateMutability": "view"
58
+ },
59
+ {
60
+ "type": "function",
61
+ "name": "owner",
62
+ "inputs": [],
63
+ "outputs": [
64
+ {
65
+ "name": "",
66
+ "type": "address",
67
+ "internalType": "address"
68
+ }
69
+ ],
70
+ "stateMutability": "view"
71
+ },
72
+ {
73
+ "type": "function",
74
+ "name": "renounceOwnership",
75
+ "inputs": [],
76
+ "outputs": [],
77
+ "stateMutability": "nonpayable"
78
+ },
79
+ {
80
+ "type": "function",
81
+ "name": "transferOwnership",
82
+ "inputs": [
83
+ {
84
+ "name": "newOwner",
85
+ "type": "address",
86
+ "internalType": "address"
87
+ }
88
+ ],
89
+ "outputs": [],
90
+ "stateMutability": "nonpayable"
91
+ },
92
+ {
93
+ "type": "function",
94
+ "name": "unblockAddress",
95
+ "inputs": [
96
+ {
97
+ "name": "account",
98
+ "type": "address",
99
+ "internalType": "address"
100
+ }
101
+ ],
102
+ "outputs": [],
103
+ "stateMutability": "nonpayable"
104
+ },
105
+ {
106
+ "type": "event",
107
+ "name": "AddressBlocked",
108
+ "inputs": [
109
+ {
110
+ "name": "account",
111
+ "type": "address",
112
+ "indexed": true,
113
+ "internalType": "address"
114
+ }
115
+ ],
116
+ "anonymous": false
117
+ },
118
+ {
119
+ "type": "event",
120
+ "name": "AddressUnblocked",
121
+ "inputs": [
122
+ {
123
+ "name": "account",
124
+ "type": "address",
125
+ "indexed": true,
126
+ "internalType": "address"
127
+ }
128
+ ],
129
+ "anonymous": false
130
+ },
131
+ {
132
+ "type": "event",
133
+ "name": "OwnershipTransferred",
134
+ "inputs": [
135
+ {
136
+ "name": "previousOwner",
137
+ "type": "address",
138
+ "indexed": true,
139
+ "internalType": "address"
140
+ },
141
+ {
142
+ "name": "newOwner",
143
+ "type": "address",
144
+ "indexed": true,
145
+ "internalType": "address"
146
+ }
147
+ ],
148
+ "anonymous": false
149
+ },
150
+ {
151
+ "type": "error",
152
+ "name": "OwnableInvalidOwner",
153
+ "inputs": [
154
+ {
155
+ "name": "owner",
156
+ "type": "address",
157
+ "internalType": "address"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "type": "error",
163
+ "name": "OwnableUnauthorizedAccount",
164
+ "inputs": [
165
+ {
166
+ "name": "account",
167
+ "type": "address",
168
+ "internalType": "address"
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "type": "error",
174
+ "name": "ZeroAddress",
175
+ "inputs": []
176
+ }
177
+ ]
178
+ }
package/dist/index.d.ts CHANGED
@@ -5,9 +5,9 @@ export { AGGREGATION_TREE_HEIGHT, TRANSFER_TREE_HEIGHT, GLOBAL_TRANSFER_TREE_HEI
5
5
  export * from "./decider/prover.js";
6
6
  export * from "./ic/connections.js";
7
7
  export * from "./ic/index.js";
8
- export { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "./onchain/contracts.js";
8
+ export { AdaptorArtifact, BlocklistArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "./onchain/contracts.js";
9
9
  export * from "./onchain/decode.js";
10
- export { readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "./onchain/tokenReads.js";
10
+ export { isBlockedAddress, readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "./onchain/tokenReads.js";
11
11
  export * from "./operations/invoice.js";
12
12
  export * from "./operations/layerzeroScan.js";
13
13
  export * from "./operations/liquidityManager.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,kBAAkB,EAClB,kCAAkC,EAClC,cAAc,EACd,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,kBAAkB,EAClB,kCAAkC,EAClC,cAAc,EACd,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -3,9 +3,9 @@ export { AGGREGATION_TREE_HEIGHT, TRANSFER_TREE_HEIGHT, GLOBAL_TRANSFER_TREE_HEI
3
3
  export * from "./decider/prover.js";
4
4
  export * from "./ic/connections.js";
5
5
  export * from "./ic/index.js";
6
- export { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "./onchain/contracts.js";
6
+ export { AdaptorArtifact, BlocklistArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "./onchain/contracts.js";
7
7
  export * from "./onchain/decode.js";
8
- export { readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "./onchain/tokenReads.js";
8
+ export { isBlockedAddress, readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "./onchain/tokenReads.js";
9
9
  export * from "./operations/invoice.js";
10
10
  export * from "./operations/layerzeroScan.js";
11
11
  export * from "./operations/liquidityManager.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AAwBzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAQjG,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,kBAAkB,EAClB,kCAAkC,EAClC,cAAc,EACd,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AAwBzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAQjG,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,kBAAkB,EAClB,kCAAkC,EAClC,cAAc,EACd,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,cAAc,gBAAgB,CAAC"}
@@ -1,12 +1,17 @@
1
1
  import { describe, expect, test } from "vitest";
2
- import { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "../contracts.js";
2
+ import { AdaptorArtifact, BlocklistArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "../contracts.js";
3
3
  describe("onchain/contracts", () => {
4
4
  test("exports artifacts with ABI present", () => {
5
5
  expect(AdaptorArtifact).toHaveProperty("abi");
6
+ expect(BlocklistArtifact).toHaveProperty("abi");
6
7
  expect(HubArtifact).toHaveProperty("abi");
7
8
  expect(LiquidityManagerArtifact).toHaveProperty("abi");
8
9
  expect(VerifierArtifact).toHaveProperty("abi");
9
10
  expect(Zerc20Artifact).toHaveProperty("abi");
10
11
  });
12
+ test("BlocklistArtifact contains isBlocked function", () => {
13
+ const isBlockedEntry = BlocklistArtifact.abi.find((entry) => entry.type === "function" && entry.name === "isBlocked");
14
+ expect(isBlockedEntry).toBeDefined();
15
+ });
11
16
  });
12
17
  //# sourceMappingURL=contracts.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.test.js","sourceRoot":"","sources":["../../../src/onchain/__tests__/contracts.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EACL,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"contracts.test.js","sourceRoot":"","sources":["../../../src/onchain/__tests__/contracts.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CACnE,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test, vi } from "vitest";
2
- import { readTokenBalance, readTokenDecimals, readDecimalConversionRate } from "../tokenReads.js";
2
+ import { isBlockedAddress, readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "../tokenReads.js";
3
3
  function mockProvider(returnValue) {
4
4
  return {
5
5
  readContract: vi.fn().mockResolvedValue(returnValue),
@@ -42,6 +42,26 @@ describe("readTokenDecimals", () => {
42
42
  expect(decimals).toBe(18);
43
43
  });
44
44
  });
45
+ describe("isBlockedAddress", () => {
46
+ test("returns true when address is blocked", async () => {
47
+ const provider = mockProvider(true);
48
+ const result = await isBlockedAddress(provider, "0xBlocklist", "0xBlocked");
49
+ expect(result).toBe(true);
50
+ expect(provider.readContract).toHaveBeenCalledWith(expect.objectContaining({
51
+ functionName: "isBlocked",
52
+ }));
53
+ });
54
+ test("returns false when address is not blocked", async () => {
55
+ const provider = mockProvider(false);
56
+ const result = await isBlockedAddress(provider, "0xBlocklist", "0xClean");
57
+ expect(result).toBe(false);
58
+ });
59
+ test("coerces falsy return to false", async () => {
60
+ const provider = mockProvider(0);
61
+ const result = await isBlockedAddress(provider, "0xBlocklist", "0xAccount");
62
+ expect(result).toBe(false);
63
+ });
64
+ });
45
65
  describe("readDecimalConversionRate", () => {
46
66
  test("returns bigint conversion rate", async () => {
47
67
  const provider = mockProvider(1000000000000n);
@@ -1 +1 @@
1
- {"version":3,"file":"tokenReads.test.js","sourceRoot":"","sources":["../../../src/onchain/__tests__/tokenReads.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenReads.test.js","sourceRoot":"","sources":["../../../src/onchain/__tests__/tokenReads.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import AdaptorArtifact from "../assets/abi/Adaptor.json";
2
+ import BlocklistArtifact from "../assets/abi/Blocklist.json";
2
3
  import HubArtifact from "../assets/abi/Hub.json";
3
4
  import LiquidityManagerArtifact from "../assets/abi/LiquidityManager.json";
4
5
  import VerifierArtifact from "../assets/abi/Verifier.json";
@@ -9,5 +10,5 @@ import Zerc20Artifact from "../assets/abi/zERC20.json";
9
10
  * Use these with `provider.readContract` / `provider.writeContract`
10
11
  * or with framework-specific helpers (e.g. viem's `getContract`, wagmi's `useReadContracts`).
11
12
  */
12
- export { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact };
13
+ export { AdaptorArtifact, BlocklistArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, };
13
14
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/onchain/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4BAA4B,CAAuB;AAC/E,OAAO,WAAW,MAAM,wBAAwB,CAAuB;AACvE,OAAO,wBAAwB,MAAM,qCAAqC,CAAuB;AACjG,OAAO,gBAAgB,MAAM,6BAA6B,CAAuB;AACjF,OAAO,cAAc,MAAM,2BAA2B,CAAuB;AAE7E;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/onchain/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4BAA4B,CAAuB;AAC/E,OAAO,iBAAiB,MAAM,8BAA8B,CAAuB;AACnF,OAAO,WAAW,MAAM,wBAAwB,CAAuB;AACvE,OAAO,wBAAwB,MAAM,qCAAqC,CAAuB;AACjG,OAAO,gBAAgB,MAAM,6BAA6B,CAAuB;AACjF,OAAO,cAAc,MAAM,2BAA2B,CAAuB;AAE7E;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import AdaptorArtifact from "../assets/abi/Adaptor.json" with { type: "json" };
2
+ import BlocklistArtifact from "../assets/abi/Blocklist.json" with { type: "json" };
2
3
  import HubArtifact from "../assets/abi/Hub.json" with { type: "json" };
3
4
  import LiquidityManagerArtifact from "../assets/abi/LiquidityManager.json" with { type: "json" };
4
5
  import VerifierArtifact from "../assets/abi/Verifier.json" with { type: "json" };
@@ -9,5 +10,5 @@ import Zerc20Artifact from "../assets/abi/zERC20.json" with { type: "json" };
9
10
  * Use these with `provider.readContract` / `provider.writeContract`
10
11
  * or with framework-specific helpers (e.g. viem's `getContract`, wagmi's `useReadContracts`).
11
12
  */
12
- export { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact };
13
+ export { AdaptorArtifact, BlocklistArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, };
13
14
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/onchain/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4BAA4B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,OAAO,WAAW,MAAM,wBAAwB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvE,OAAO,wBAAwB,MAAM,qCAAqC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,gBAAgB,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjF,OAAO,cAAc,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7E;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/onchain/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4BAA4B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,OAAO,iBAAiB,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnF,OAAO,WAAW,MAAM,wBAAwB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvE,OAAO,wBAAwB,MAAM,qCAAqC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,gBAAgB,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjF,OAAO,cAAc,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7E;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,GACf,CAAC"}
@@ -16,6 +16,14 @@ export declare function readTokenBalance(provider: EvmReadProvider, tokenAddress
16
16
  * @returns Token decimals (defaults to 18 if the call returns an unexpected value).
17
17
  */
18
18
  export declare function readTokenDecimals(provider: EvmReadProvider, tokenAddress: string): Promise<number>;
19
+ /**
20
+ * Check whether an address is on the OFAC sanctions blocklist.
21
+ * @param provider - EVM read provider.
22
+ * @param blocklistAddress - Blocklist contract address on this chain.
23
+ * @param account - Account address to check.
24
+ * @returns `true` if the address is blocked, `false` otherwise.
25
+ */
26
+ export declare function isBlockedAddress(provider: EvmReadProvider, blocklistAddress: string, account: string): Promise<boolean>;
19
27
  /**
20
28
  * Read the decimal conversion rate of a zERC-20 token.
21
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tokenReads.d.ts","sourceRoot":"","sources":["../../src/onchain/tokenReads.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAO,MAAM,iBAAiB,CAAC;AAI5D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"tokenReads.d.ts","sourceRoot":"","sources":["../../src/onchain/tokenReads.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAO,MAAM,iBAAiB,CAAC;AAK5D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -1,4 +1,5 @@
1
1
  import { normalizeHex } from "../utils/hex.js";
2
+ import BlocklistArtifact from "../assets/abi/Blocklist.json" with { type: "json" };
2
3
  import Zerc20Artifact from "../assets/abi/zERC20.json" with { type: "json" };
3
4
  /**
4
5
  * Read the token balance of an account.
@@ -30,6 +31,22 @@ export async function readTokenDecimals(provider, tokenAddress) {
30
31
  const numeric = Number(result);
31
32
  return Number.isFinite(numeric) && numeric >= 0 ? Math.trunc(numeric) : 18;
32
33
  }
34
+ /**
35
+ * Check whether an address is on the OFAC sanctions blocklist.
36
+ * @param provider - EVM read provider.
37
+ * @param blocklistAddress - Blocklist contract address on this chain.
38
+ * @param account - Account address to check.
39
+ * @returns `true` if the address is blocked, `false` otherwise.
40
+ */
41
+ export async function isBlockedAddress(provider, blocklistAddress, account) {
42
+ const result = await provider.readContract({
43
+ address: normalizeHex(blocklistAddress),
44
+ abi: BlocklistArtifact.abi,
45
+ functionName: "isBlocked",
46
+ args: [normalizeHex(account)],
47
+ });
48
+ return Boolean(result);
49
+ }
33
50
  /**
34
51
  * Read the decimal conversion rate of a zERC-20 token.
35
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tokenReads.js","sourceRoot":"","sources":["../../src/onchain/tokenReads.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,cAAc,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAyB,EACzB,YAAoB,EACpB,OAAe;IAEf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAQ;QAC1C,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAkC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAyB,EACzB,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAQ;QAC1C,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAyB,EACzB,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAQ;QAC1C,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,uBAAuB;KACtC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAkC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"tokenReads.js","sourceRoot":"","sources":["../../src/onchain/tokenReads.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,iBAAiB,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnF,OAAO,cAAc,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAyB,EACzB,YAAoB,EACpB,OAAe;IAEf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAQ;QAC1C,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAkC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAyB,EACzB,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAQ;QAC1C,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAyB,EACzB,gBAAwB,EACxB,OAAe;IAEf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAQ;QAC9C,GAAG,EAAE,iBAAiB,CAAC,GAAG;QAC1B,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAyB,EACzB,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAQ;QAC1C,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,uBAAuB;KACtC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAkC,CAAC,CAAC;AACpD,CAAC"}
@@ -9,8 +9,25 @@ describe("quoteLocalUnwrap", () => {
9
9
  beforeEach(() => {
10
10
  vi.clearAllMocks();
11
11
  });
12
- test("returns fee and expected output", async () => {
13
- mockProvider.readContract.mockResolvedValue(50n);
12
+ test("returns fee, expected output, and available liquidity (ERC-20 underlying)", async () => {
13
+ mockProvider.readContract
14
+ .mockResolvedValueOnce(50n) // quoteUnwrapFee
15
+ .mockResolvedValueOnce("0xUnderlying0000000000000000000000000000001") // underlyingToken
16
+ .mockResolvedValueOnce(5000n); // balanceOf (ERC-20 liquidity)
17
+ const result = await quoteLocalUnwrap({
18
+ provider: mockProvider,
19
+ liquidityManagerAddress: "0xManager",
20
+ amount: 1000n,
21
+ });
22
+ expect(result.fee).toBe(50n);
23
+ expect(result.expectedOut).toBe(950n);
24
+ expect(result.availableLiquidity).toBe(5000n);
25
+ });
26
+ test("returns available liquidity via getBalance for native token underlying", async () => {
27
+ mockProvider.readContract
28
+ .mockResolvedValueOnce(50n) // quoteUnwrapFee
29
+ .mockResolvedValueOnce("0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"); // underlyingToken (native)
30
+ mockProvider.getBalance.mockResolvedValueOnce(8000n);
14
31
  const result = await quoteLocalUnwrap({
15
32
  provider: mockProvider,
16
33
  liquidityManagerAddress: "0xManager",
@@ -18,9 +35,14 @@ describe("quoteLocalUnwrap", () => {
18
35
  });
19
36
  expect(result.fee).toBe(50n);
20
37
  expect(result.expectedOut).toBe(950n);
38
+ expect(result.availableLiquidity).toBe(8000n);
39
+ expect(mockProvider.getBalance).toHaveBeenCalled();
21
40
  });
22
41
  test("returns zero expected output when fee exceeds amount", async () => {
23
- mockProvider.readContract.mockResolvedValue(1500n);
42
+ mockProvider.readContract
43
+ .mockResolvedValueOnce(1500n) // quoteUnwrapFee
44
+ .mockResolvedValueOnce("0xUnderlying0000000000000000000000000000001") // underlyingToken
45
+ .mockResolvedValueOnce(2000n); // balanceOf
24
46
  const result = await quoteLocalUnwrap({
25
47
  provider: mockProvider,
26
48
  liquidityManagerAddress: "0xManager",
@@ -28,9 +50,13 @@ describe("quoteLocalUnwrap", () => {
28
50
  });
29
51
  expect(result.fee).toBe(1500n);
30
52
  expect(result.expectedOut).toBe(0n);
53
+ expect(result.availableLiquidity).toBe(2000n);
31
54
  });
32
55
  test("accepts string amount", async () => {
33
- mockProvider.readContract.mockResolvedValue(10n);
56
+ mockProvider.readContract
57
+ .mockResolvedValueOnce(10n) // quoteUnwrapFee
58
+ .mockResolvedValueOnce("0xUnderlying0000000000000000000000000000001") // underlyingToken
59
+ .mockResolvedValueOnce(500n); // balanceOf
34
60
  const result = await quoteLocalUnwrap({
35
61
  provider: mockProvider,
36
62
  liquidityManagerAddress: "0xManager",
@@ -38,9 +64,13 @@ describe("quoteLocalUnwrap", () => {
38
64
  });
39
65
  expect(result.fee).toBe(10n);
40
66
  expect(result.expectedOut).toBe(90n);
67
+ expect(result.availableLiquidity).toBe(500n);
41
68
  });
42
69
  test("accepts number amount", async () => {
43
- mockProvider.readContract.mockResolvedValue(5n);
70
+ mockProvider.readContract
71
+ .mockResolvedValueOnce(5n) // quoteUnwrapFee
72
+ .mockResolvedValueOnce("0xUnderlying0000000000000000000000000000001") // underlyingToken
73
+ .mockResolvedValueOnce(200n); // balanceOf
44
74
  const result = await quoteLocalUnwrap({
45
75
  provider: mockProvider,
46
76
  liquidityManagerAddress: "0xManager",
@@ -48,6 +78,35 @@ describe("quoteLocalUnwrap", () => {
48
78
  });
49
79
  expect(result.fee).toBe(5n);
50
80
  expect(result.expectedOut).toBe(45n);
81
+ expect(result.availableLiquidity).toBe(200n);
82
+ });
83
+ test("throws when provider.getBalance is missing for native token underlying", async () => {
84
+ const providerWithoutGetBalance = {
85
+ readContract: vi.fn(),
86
+ };
87
+ providerWithoutGetBalance.readContract
88
+ .mockResolvedValueOnce(50n) // quoteUnwrapFee
89
+ .mockResolvedValueOnce("0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"); // underlyingToken (native)
90
+ await expect(quoteLocalUnwrap({
91
+ provider: providerWithoutGetBalance,
92
+ liquidityManagerAddress: "0xManager",
93
+ amount: 1000n,
94
+ })).rejects.toThrow("provider.getBalance is required for native token liquidity queries");
95
+ });
96
+ test("reports insufficient liquidity when availableLiquidity < expectedOut", async () => {
97
+ mockProvider.readContract
98
+ .mockResolvedValueOnce(50n) // quoteUnwrapFee
99
+ .mockResolvedValueOnce("0xUnderlying0000000000000000000000000000001") // underlyingToken
100
+ .mockResolvedValueOnce(100n); // balanceOf — less than expectedOut (950)
101
+ const result = await quoteLocalUnwrap({
102
+ provider: mockProvider,
103
+ liquidityManagerAddress: "0xManager",
104
+ amount: 1000n,
105
+ });
106
+ expect(result.fee).toBe(50n);
107
+ expect(result.expectedOut).toBe(950n);
108
+ expect(result.availableLiquidity).toBe(100n);
109
+ expect(result.availableLiquidity).toBeLessThan(result.expectedOut);
51
110
  });
52
111
  });
53
112
  describe("unwrapWithLiquidityManager", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/unwrap.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unwrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/unwrap.test.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export interface LocalUnwrapQuote {
22
22
  fee: bigint;
23
23
  /** Expected output amount after subtracting `fee`. */
24
24
  expectedOut: bigint;
25
+ /** Available underlying token liquidity in the liquidity manager. */
26
+ availableLiquidity: bigint;
25
27
  }
26
28
  /**
27
29
  * Balances for the underlying token and its corresponding zERC20.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/operations/liquidityManager/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,uDAAuD;IACvD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,GAAG,CAAC;IACR,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,EAAE,SAAS,CAAC;IACrB,2EAA2E;IAC3E,aAAa,EAAE,aAAa,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/operations/liquidityManager/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,uDAAuD;IACvD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,GAAG,CAAC;IACR,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,EAAE,SAAS,CAAC;IACrB,2EAA2E;IAC3E,aAAa,EAAE,aAAa,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap.d.ts","sourceRoot":"","sources":["../../../src/operations/liquidityManager/unwrap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAO,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,aAAa,EAAE,gBAAgB,CAAC;IAChC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,0CAA0C;IAC1C,uBAAuB,EAAE,MAAM,CAAC;IAChC,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,eAAe,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgB5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,qBAAqB,CAAC,CA2FhC"}
1
+ {"version":3,"file":"unwrap.d.ts","sourceRoot":"","sources":["../../../src/operations/liquidityManager/unwrap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAO,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAU1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,aAAa,EAAE,gBAAgB,CAAC;IAChC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,0CAA0C;IAC1C,uBAAuB,EAAE,MAAM,CAAC;IAChC,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,eAAe,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuC5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,qBAAqB,CAAC,CA2FhC"}
@@ -4,7 +4,8 @@
4
4
  import LiquidityManagerArtifact from "../../assets/abi/LiquidityManager.json" with { type: "json" };
5
5
  import Zerc20Artifact from "../../assets/abi/zERC20.json" with { type: "json" };
6
6
  import { spreadFeeOverrides } from "../../utils/fees.js";
7
- import { ensureAccount, ensureBigintLike, normalizeAddress, receiptProvider, resolveReadProvider, } from "./helpers.js";
7
+ import { ERC20_ABI } from "./abi.js";
8
+ import { ensureAccount, ensureBigintLike, isNativeToken, normalizeAddress, receiptProvider, resolveReadProvider, } from "./helpers.js";
8
9
  /**
9
10
  * Quote local unwrap fee and expected output for a given amount.
10
11
  * @param params.provider - Provider to use for contract reads.
@@ -15,14 +16,35 @@ export async function quoteLocalUnwrap(params) {
15
16
  const { provider, liquidityManagerAddress, amount } = params;
16
17
  const normalizedAmount = ensureBigintLike(amount, "amount");
17
18
  const managerAddress = normalizeAddress(liquidityManagerAddress);
18
- const fee = ensureBigintLike(await provider.readContract({
19
- address: managerAddress,
20
- abi: LiquidityManagerArtifact.abi,
21
- functionName: "quoteUnwrapFee",
22
- args: [normalizedAmount],
23
- }), "fee");
19
+ const [fee, underlyingTokenAddr] = await Promise.all([
20
+ provider
21
+ .readContract({
22
+ address: managerAddress,
23
+ abi: LiquidityManagerArtifact.abi,
24
+ functionName: "quoteUnwrapFee",
25
+ args: [normalizedAmount],
26
+ })
27
+ .then((v) => ensureBigintLike(v, "fee")),
28
+ provider.readContract({
29
+ address: managerAddress,
30
+ abi: LiquidityManagerArtifact.abi,
31
+ functionName: "underlyingToken",
32
+ }),
33
+ ]);
34
+ const normalizedUnderlying = normalizeAddress(underlyingTokenAddr);
35
+ if (isNativeToken(normalizedUnderlying) && !provider.getBalance) {
36
+ throw new Error("provider.getBalance is required for native token liquidity queries");
37
+ }
38
+ const availableLiquidity = isNativeToken(normalizedUnderlying)
39
+ ? await provider.getBalance({ address: managerAddress })
40
+ : ensureBigintLike(await provider.readContract({
41
+ address: normalizedUnderlying,
42
+ abi: ERC20_ABI,
43
+ functionName: "balanceOf",
44
+ args: [managerAddress],
45
+ }), "availableLiquidity");
24
46
  const expectedOut = normalizedAmount > fee ? normalizedAmount - fee : 0n;
25
- return { fee, expectedOut };
47
+ return { fee, expectedOut, availableLiquidity };
26
48
  }
27
49
  /**
28
50
  * Unwrap zERC20 into the underlying token via the liquidity manager.
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap.js","sourceRoot":"","sources":["../../../src/operations/liquidityManager/unwrap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,wBAAwB,MAAM,wCAAwC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACpG,OAAO,cAAc,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhF,OAAO,EAAqB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AA6BtB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAItC;IACC,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,gBAAgB,CAC1B,MAAM,QAAQ,CAAC,YAAY,CAAC;QAC1B,OAAO,EAAE,cAAc;QACvB,GAAG,EAAE,wBAAwB,CAAC,GAAG;QACjC,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,gBAAgB,CAAC;KACzB,CAAC,EACF,KAAK,CACN,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAyB;IAEzB,MAAM,EACJ,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACzC,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;IAEjG,sFAAsF;IACtF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,gBAAgB,CAC1B,MAAM,MAAM,CAAC,YAAY,CAAC;YACxB,OAAO,EAAE,cAAc;YACvB,GAAG,EAAE,wBAAwB,CAAC,GAAG;YACjC,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,CAAC,gBAAgB,CAAC;SACzB,CAAC,EACF,KAAK,CACN,CAAC;QACF,MAAM,WAAW,GAAG,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,WAAW,GAAG,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAChC,MAAM,MAAM,CAAC,YAAY,CAAC;QACxB,OAAO,EAAE,YAAY;QACrB,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;KAChC,CAAC,EACF,WAAW,CACZ,CAAC;IACF,IAAI,uBAA2C,CAAC;IAEhD,IAAI,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC;YACrD,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,cAAc,CAAC,GAAG;YACvB,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;YACxC,GAAG,WAAW;SACf,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC;YAC9D,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,uBAAuB,GAAG,eAAe,CAAC,eAAe,CAAC;IAC5D,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,SAAS,IAAI,OAAO,CAAQ,CAAC;IACzC,MAAM,UAAU,GACd,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,EAAE;QAC7C,CAAC,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC;YAChC,OAAO,EAAE,cAAc;YACvB,GAAG,EAAE,wBAAwB,CAAC,GAAG;YACjC,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,EAAE,CAAC;YAC1C,GAAG,WAAW;SACf,CAAC;QACJ,CAAC,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC;YAChC,OAAO,EAAE,cAAc;YACvB,GAAG,EAAE,wBAAwB,CAAC,GAAG;YACjC,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,GAAG,WAAW;SACf,CAAC,CAAC;IACT,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAEpF,OAAO;QACL,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,uBAAuB;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"unwrap.js","sourceRoot":"","sources":["../../../src/operations/liquidityManager/unwrap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zerc20-client-sdk",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Client SDK for interacting with ZERC20 rollup services from browser or node environments.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -56,12 +56,12 @@
56
56
  "viem": "^2.38.6"
57
57
  },
58
58
  "devDependencies": {
59
- "@types/node": "25.5.0",
59
+ "@types/node": "25.6.0",
60
60
  "@types/pako": "2.0.4",
61
- "esbuild": "0.27.5",
62
- "prettier": "3.8.1",
61
+ "esbuild": "0.28.0",
62
+ "prettier": "3.8.3",
63
63
  "tsx": "4.21.0",
64
- "typescript": "6.0.2",
65
- "vitest": "4.1.2"
64
+ "typescript": "6.0.3",
65
+ "vitest": "4.1.4"
66
66
  }
67
67
  }