zerc20-client-sdk 0.1.15 → 0.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.
- package/README.md +239 -25
- package/dist/chain/__tests__/metadata.test.d.ts +2 -0
- package/dist/chain/__tests__/metadata.test.d.ts.map +1 -0
- package/dist/chain/__tests__/metadata.test.js +162 -0
- package/dist/chain/__tests__/metadata.test.js.map +1 -0
- package/dist/chain/index.d.ts +3 -0
- package/dist/chain/index.d.ts.map +1 -0
- package/dist/chain/index.js +2 -0
- package/dist/chain/index.js.map +1 -0
- package/dist/chain/metadata.d.ts +38 -0
- package/dist/chain/metadata.d.ts.map +1 -0
- package/dist/chain/metadata.js +158 -0
- package/dist/chain/metadata.js.map +1 -0
- package/dist/chain/types.d.ts +18 -0
- package/dist/chain/types.d.ts.map +1 -0
- package/dist/chain/types.js +2 -0
- package/dist/chain/types.js.map +1 -0
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +3 -3
- package/dist/ic/__tests__/connections.test.js +16 -152
- package/dist/ic/__tests__/connections.test.js.map +1 -1
- package/dist/ic/__tests__/recipient.test.d.ts +2 -0
- package/dist/ic/__tests__/recipient.test.d.ts.map +1 -0
- package/dist/ic/__tests__/recipient.test.js +47 -0
- package/dist/ic/__tests__/recipient.test.js.map +1 -0
- package/dist/ic/authorization.js +2 -2
- package/dist/ic/authorization.js.map +1 -1
- package/dist/ic/connections.d.ts +0 -50
- package/dist/ic/connections.d.ts.map +1 -1
- package/dist/ic/connections.js +0 -127
- package/dist/ic/connections.js.map +1 -1
- package/dist/ic/index.d.ts +4 -8
- package/dist/ic/index.d.ts.map +1 -1
- package/dist/ic/index.js +3 -8
- package/dist/ic/index.js.map +1 -1
- package/dist/ic/recipient.d.ts +10 -0
- package/dist/ic/recipient.d.ts.map +1 -1
- package/dist/ic/recipient.js +21 -1
- package/dist/ic/recipient.js.map +1 -1
- package/dist/index.d.ts +14 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/onchain/__tests__/contracts.test.js +2 -32
- package/dist/onchain/__tests__/contracts.test.js.map +1 -1
- package/dist/onchain/__tests__/decode.test.d.ts +2 -0
- package/dist/onchain/__tests__/decode.test.d.ts.map +1 -0
- package/dist/onchain/__tests__/decode.test.js +155 -0
- package/dist/onchain/__tests__/decode.test.js.map +1 -0
- package/dist/onchain/__tests__/tokenReads.test.d.ts +2 -0
- package/dist/onchain/__tests__/tokenReads.test.d.ts.map +1 -0
- package/dist/onchain/__tests__/tokenReads.test.js +60 -0
- package/dist/onchain/__tests__/tokenReads.test.js.map +1 -0
- package/dist/onchain/contracts.d.ts +3 -29734
- package/dist/onchain/contracts.d.ts.map +1 -1
- package/dist/onchain/contracts.js +3 -59
- package/dist/onchain/contracts.js.map +1 -1
- package/dist/onchain/decode.d.ts +39 -0
- package/dist/onchain/decode.d.ts.map +1 -0
- package/dist/onchain/decode.js +100 -0
- package/dist/onchain/decode.js.map +1 -0
- package/dist/onchain/tokenReads.d.ts +30 -0
- package/dist/onchain/tokenReads.d.ts.map +1 -0
- package/dist/onchain/tokenReads.js +51 -0
- package/dist/onchain/tokenReads.js.map +1 -0
- package/dist/operations/__tests__/invoice.test.js +52 -1
- package/dist/operations/__tests__/invoice.test.js.map +1 -1
- package/dist/operations/__tests__/privateSendTransfer.test.d.ts +2 -0
- package/dist/operations/__tests__/privateSendTransfer.test.d.ts.map +1 -0
- package/dist/operations/__tests__/privateSendTransfer.test.js +60 -0
- package/dist/operations/__tests__/privateSendTransfer.test.js.map +1 -0
- package/dist/operations/__tests__/reexports.test.js +1 -1
- package/dist/operations/__tests__/reexports.test.js.map +1 -1
- package/dist/operations/__tests__/teleportProof.test.js +35 -75
- package/dist/operations/__tests__/teleportProof.test.js.map +1 -1
- package/dist/operations/invoice.d.ts +14 -0
- package/dist/operations/invoice.d.ts.map +1 -1
- package/dist/operations/invoice.js +22 -0
- package/dist/operations/invoice.js.map +1 -1
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.js +57 -0
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.js +120 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.js +164 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.js +164 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.js +103 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.js +153 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.js.map +1 -0
- package/dist/operations/layerzeroScan/codec.d.ts +34 -0
- package/dist/operations/layerzeroScan/codec.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/codec.js +79 -0
- package/dist/operations/layerzeroScan/codec.js.map +1 -0
- package/dist/operations/layerzeroScan/formatters.d.ts +26 -0
- package/dist/operations/layerzeroScan/formatters.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/formatters.js +75 -0
- package/dist/operations/layerzeroScan/formatters.js.map +1 -0
- package/dist/operations/layerzeroScan/index.d.ts +9 -0
- package/dist/operations/layerzeroScan/index.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/index.js +12 -0
- package/dist/operations/layerzeroScan/index.js.map +1 -0
- package/dist/operations/layerzeroScan/scan.d.ts +21 -0
- package/dist/operations/layerzeroScan/scan.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/scan.js +70 -0
- package/dist/operations/layerzeroScan/scan.js.map +1 -0
- package/dist/operations/layerzeroScan/status.d.ts +17 -0
- package/dist/operations/layerzeroScan/status.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/status.js +178 -0
- package/dist/operations/layerzeroScan/status.js.map +1 -0
- package/dist/operations/layerzeroScan/types.d.ts +181 -0
- package/dist/operations/layerzeroScan/types.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/types.js +5 -0
- package/dist/operations/layerzeroScan/types.js.map +1 -0
- package/dist/operations/layerzeroScan.d.ts +5 -0
- package/dist/operations/layerzeroScan.d.ts.map +1 -0
- package/dist/operations/layerzeroScan.js +5 -0
- package/dist/operations/layerzeroScan.js.map +1 -0
- package/dist/operations/liquidityManager/__tests__/balance.test.js +24 -37
- package/dist/operations/liquidityManager/__tests__/balance.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js +51 -31
- package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/helpers.test.js +11 -8
- package/dist/operations/liquidityManager/__tests__/helpers.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/unwrap.test.js +68 -82
- package/dist/operations/liquidityManager/__tests__/unwrap.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/wrap.test.js +55 -64
- package/dist/operations/liquidityManager/__tests__/wrap.test.js.map +1 -1
- package/dist/operations/liquidityManager/abi.d.ts +57 -0
- package/dist/operations/liquidityManager/abi.d.ts.map +1 -0
- package/dist/operations/liquidityManager/abi.js +41 -0
- package/dist/operations/liquidityManager/abi.js.map +1 -0
- package/dist/operations/liquidityManager/balance.d.ts +3 -3
- package/dist/operations/liquidityManager/balance.d.ts.map +1 -1
- package/dist/operations/liquidityManager/balance.js +22 -15
- package/dist/operations/liquidityManager/balance.js.map +1 -1
- package/dist/operations/liquidityManager/crossUnwrap.d.ts +13 -11
- package/dist/operations/liquidityManager/crossUnwrap.d.ts.map +1 -1
- package/dist/operations/liquidityManager/crossUnwrap.js +44 -20
- package/dist/operations/liquidityManager/crossUnwrap.js.map +1 -1
- package/dist/operations/liquidityManager/helpers.d.ts +10 -15474
- package/dist/operations/liquidityManager/helpers.d.ts.map +1 -1
- package/dist/operations/liquidityManager/helpers.js +28 -18
- package/dist/operations/liquidityManager/helpers.js.map +1 -1
- package/dist/operations/liquidityManager/index.d.ts +1 -0
- package/dist/operations/liquidityManager/index.d.ts.map +1 -1
- package/dist/operations/liquidityManager/index.js +2 -0
- package/dist/operations/liquidityManager/index.js.map +1 -1
- package/dist/operations/liquidityManager/types.d.ts +1 -1
- package/dist/operations/liquidityManager/types.d.ts.map +1 -1
- package/dist/operations/liquidityManager/unwrap.d.ts +9 -9
- package/dist/operations/liquidityManager/unwrap.d.ts.map +1 -1
- package/dist/operations/liquidityManager/unwrap.js +48 -24
- package/dist/operations/liquidityManager/unwrap.js.map +1 -1
- package/dist/operations/liquidityManager/wrap.d.ts +7 -7
- package/dist/operations/liquidityManager/wrap.d.ts.map +1 -1
- package/dist/operations/liquidityManager/wrap.js +35 -16
- package/dist/operations/liquidityManager/wrap.js.map +1 -1
- package/dist/operations/privateSend.d.ts +33 -0
- package/dist/operations/privateSend.d.ts.map +1 -1
- package/dist/operations/privateSend.js +26 -0
- package/dist/operations/privateSend.js.map +1 -1
- package/dist/operations/receive/__tests__/announcementStatus.test.js +34 -11
- package/dist/operations/receive/__tests__/announcementStatus.test.js.map +1 -1
- package/dist/operations/receive/__tests__/cache.test.js +28 -167
- package/dist/operations/receive/__tests__/cache.test.js.map +1 -1
- package/dist/operations/receive/__tests__/createVerifierReader.test.d.ts +2 -0
- package/dist/operations/receive/__tests__/createVerifierReader.test.d.ts.map +1 -0
- package/dist/operations/receive/__tests__/createVerifierReader.test.js +28 -0
- package/dist/operations/receive/__tests__/createVerifierReader.test.js.map +1 -0
- package/dist/operations/receive/__tests__/helpers.test.js +9 -9
- package/dist/operations/receive/__tests__/helpers.test.js.map +1 -1
- package/dist/operations/receive/__tests__/redeemTransaction.test.d.ts +2 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.d.ts.map +1 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.js +258 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.js.map +1 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.d.ts +2 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.d.ts.map +1 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.js +58 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.js.map +1 -0
- package/dist/operations/receive/announcementStatus.d.ts +1 -1
- package/dist/operations/receive/announcementStatus.d.ts.map +1 -1
- package/dist/operations/receive/announcementStatus.js +7 -5
- package/dist/operations/receive/announcementStatus.js.map +1 -1
- package/dist/operations/receive/cache.d.ts +0 -18
- package/dist/operations/receive/cache.d.ts.map +1 -1
- package/dist/operations/receive/cache.js +0 -30
- package/dist/operations/receive/cache.js.map +1 -1
- package/dist/operations/receive/helpers.d.ts +14 -3
- package/dist/operations/receive/helpers.d.ts.map +1 -1
- package/dist/operations/receive/helpers.js +33 -3
- package/dist/operations/receive/helpers.js.map +1 -1
- package/dist/operations/receive/index.d.ts +6 -2
- package/dist/operations/receive/index.d.ts.map +1 -1
- package/dist/operations/receive/index.js +6 -1
- package/dist/operations/receive/index.js.map +1 -1
- package/dist/operations/receive/redeemTransaction.d.ts +30 -0
- package/dist/operations/receive/redeemTransaction.d.ts.map +1 -0
- package/dist/operations/receive/redeemTransaction.js +104 -0
- package/dist/operations/receive/redeemTransaction.js.map +1 -0
- package/dist/operations/receive/submitRedeem.d.ts +32 -0
- package/dist/operations/receive/submitRedeem.d.ts.map +1 -0
- package/dist/operations/receive/submitRedeem.js +27 -0
- package/dist/operations/receive/submitRedeem.js.map +1 -0
- package/dist/operations/receive/types.d.ts +53 -5
- package/dist/operations/receive/types.d.ts.map +1 -1
- package/dist/operations/teleportProof.d.ts +10 -31
- package/dist/operations/teleportProof.d.ts.map +1 -1
- package/dist/operations/teleportProof.js +14 -26
- package/dist/operations/teleportProof.js.map +1 -1
- package/dist/registry/__tests__/helpers.test.js +2 -44
- package/dist/registry/__tests__/helpers.test.js.map +1 -1
- package/dist/registry/__tests__/loader.test.js +17 -191
- package/dist/registry/__tests__/loader.test.js.map +1 -1
- package/dist/registry/__tests__/normalize.test.js +109 -1
- package/dist/registry/__tests__/normalize.test.js.map +1 -1
- package/dist/registry/helpers.d.ts +0 -7
- package/dist/registry/helpers.d.ts.map +1 -1
- package/dist/registry/helpers.js +0 -14
- package/dist/registry/helpers.js.map +1 -1
- package/dist/registry/index.d.ts +5 -5
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +4 -4
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/loader.d.ts +0 -25
- package/dist/registry/loader.d.ts.map +1 -1
- package/dist/registry/loader.js +0 -68
- package/dist/registry/loader.js.map +1 -1
- package/dist/registry/normalize.d.ts +13 -1
- package/dist/registry/normalize.d.ts.map +1 -1
- package/dist/registry/normalize.js +43 -0
- package/dist/registry/normalize.js.map +1 -1
- package/dist/registry/types.d.ts +13 -2
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/types/__tests__/evm.test.d.ts +2 -0
- package/dist/types/__tests__/evm.test.d.ts.map +1 -0
- package/dist/types/__tests__/evm.test.js +15 -0
- package/dist/types/__tests__/evm.test.js.map +1 -0
- package/dist/types/evm.d.ts +95 -0
- package/dist/types/evm.d.ts.map +1 -0
- package/dist/types/evm.js +11 -0
- package/dist/types/evm.js.map +1 -0
- package/dist/types.d.ts +15 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/__tests__/fees.test.js +66 -29
- package/dist/utils/__tests__/fees.test.js.map +1 -1
- package/dist/utils/__tests__/hex.test.js +64 -1
- package/dist/utils/__tests__/hex.test.js.map +1 -1
- package/dist/utils/__tests__/http.test.js +2 -64
- package/dist/utils/__tests__/http.test.js.map +1 -1
- package/dist/utils/fees.d.ts +7 -2
- package/dist/utils/fees.d.ts.map +1 -1
- package/dist/utils/fees.js +32 -16
- package/dist/utils/fees.js.map +1 -1
- package/dist/utils/hex.d.ts +11 -0
- package/dist/utils/hex.d.ts.map +1 -1
- package/dist/utils/hex.js +16 -1
- package/dist/utils/hex.js.map +1 -1
- package/dist/utils/http.d.ts +0 -27
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +0 -36
- package/dist/utils/http.js.map +1 -1
- package/dist/wasm/__tests__/functions.test.js +56 -1
- package/dist/wasm/__tests__/functions.test.js.map +1 -1
- package/dist/wasm/functions.d.ts +6 -0
- package/dist/wasm/functions.d.ts.map +1 -1
- package/dist/wasm/functions.js +17 -0
- package/dist/wasm/functions.js.map +1 -1
- package/dist/wasm/index.d.ts +1 -1
- package/dist/wasm/index.d.ts.map +1 -1
- package/dist/wasm/index.js +1 -1
- package/dist/wasm/index.js.map +1 -1
- package/dist/zkp/__tests__/proofService.test.js +34 -52
- package/dist/zkp/__tests__/proofService.test.js.map +1 -1
- package/dist/zkp/__tests__/workerClient.test.js +1 -40
- package/dist/zkp/__tests__/workerClient.test.js.map +1 -1
- package/dist/zkp/index.d.ts +1 -1
- package/dist/zkp/index.d.ts.map +1 -1
- package/dist/zkp/index.js +1 -1
- package/dist/zkp/index.js.map +1 -1
- package/dist/zkp/proofService.d.ts +6 -2
- package/dist/zkp/proofService.d.ts.map +1 -1
- package/dist/zkp/proofService.js +12 -15
- package/dist/zkp/proofService.js.map +1 -1
- package/dist/zkp/worker.js +13 -137
- package/dist/zkp/worker.js.map +1 -1
- package/dist/zkp/workerClient.d.ts +0 -24
- package/dist/zkp/workerClient.d.ts.map +1 -1
- package/dist/zkp/workerClient.js +0 -36
- package/dist/zkp/workerClient.js.map +1 -1
- package/package.json +3 -4
package/dist/ic/connections.js
CHANGED
|
@@ -130,137 +130,10 @@ export class DeciderClientCacheManager {
|
|
|
130
130
|
return this.cache.has(key);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
// ============================================================================
|
|
134
|
-
// Default Singletons
|
|
135
|
-
// ============================================================================
|
|
136
|
-
const defaultStealthCacheManager = new StealthClientCacheManager();
|
|
137
|
-
const defaultDeciderCacheManager = new DeciderClientCacheManager();
|
|
138
|
-
// ============================================================================
|
|
139
|
-
// Backward-Compatible Functions (Stealth Client)
|
|
140
|
-
// ============================================================================
|
|
141
133
|
/**
|
|
142
134
|
* Creates a new stealth client without caching.
|
|
143
135
|
*/
|
|
144
136
|
export async function createStealthClient(options) {
|
|
145
137
|
return instantiateStealthClient(options);
|
|
146
138
|
}
|
|
147
|
-
/**
|
|
148
|
-
* Gets a stealth client from cache or creates a new one.
|
|
149
|
-
* Supports custom cache via options.
|
|
150
|
-
* If creation fails, the failed promise is removed from the cache to allow retry.
|
|
151
|
-
*/
|
|
152
|
-
export async function getStealthClientFromConfig(options) {
|
|
153
|
-
// If custom cache is provided, use direct Map operations for backward compatibility
|
|
154
|
-
if (options.cache) {
|
|
155
|
-
const cache = options.cache;
|
|
156
|
-
const cacheKey = options.cacheKey ??
|
|
157
|
-
`${options.icReplicaUrl}|${options.storageCanisterId}|${options.keyManagerCanisterId}`;
|
|
158
|
-
if (!cache.has(cacheKey)) {
|
|
159
|
-
const promise = instantiateStealthClient({
|
|
160
|
-
icReplicaUrl: options.icReplicaUrl,
|
|
161
|
-
storageCanisterId: options.storageCanisterId,
|
|
162
|
-
keyManagerCanisterId: options.keyManagerCanisterId,
|
|
163
|
-
agent: options.agent,
|
|
164
|
-
agentOptions: options.agentOptions,
|
|
165
|
-
fetchRootKey: options.fetchRootKey,
|
|
166
|
-
}).catch((error) => {
|
|
167
|
-
cache.delete(cacheKey);
|
|
168
|
-
throw error;
|
|
169
|
-
});
|
|
170
|
-
cache.set(cacheKey, promise);
|
|
171
|
-
}
|
|
172
|
-
return cache.get(cacheKey);
|
|
173
|
-
}
|
|
174
|
-
// Use default manager
|
|
175
|
-
return defaultStealthCacheManager.getOrCreate({
|
|
176
|
-
icReplicaUrl: options.icReplicaUrl,
|
|
177
|
-
storageCanisterId: options.storageCanisterId,
|
|
178
|
-
keyManagerCanisterId: options.keyManagerCanisterId,
|
|
179
|
-
agent: options.agent,
|
|
180
|
-
agentOptions: options.agentOptions,
|
|
181
|
-
fetchRootKey: options.fetchRootKey,
|
|
182
|
-
}, options.cacheKey);
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Clears the stealth client cache.
|
|
186
|
-
* @param cache Optional custom cache to clear. Defaults to the global cache.
|
|
187
|
-
* @param key Optional specific key to clear. If not provided, clears all entries.
|
|
188
|
-
*/
|
|
189
|
-
export function clearStealthClientCache(cache, key) {
|
|
190
|
-
if (cache) {
|
|
191
|
-
if (key) {
|
|
192
|
-
cache.delete(key);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
cache.clear();
|
|
196
|
-
}
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
defaultStealthCacheManager.clear(key);
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Resets the default stealth client cache to its initial state.
|
|
203
|
-
* Useful for testing.
|
|
204
|
-
*/
|
|
205
|
-
export function resetStealthClientCache() {
|
|
206
|
-
defaultStealthCacheManager.reset();
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Returns the default stealth client cache manager.
|
|
210
|
-
*/
|
|
211
|
-
export function getDefaultStealthClientCacheManager() {
|
|
212
|
-
return defaultStealthCacheManager;
|
|
213
|
-
}
|
|
214
|
-
// ============================================================================
|
|
215
|
-
// Backward-Compatible Functions (Decider Client)
|
|
216
|
-
// ============================================================================
|
|
217
|
-
/**
|
|
218
|
-
* Gets a decider client from cache or creates a new one.
|
|
219
|
-
* Supports custom cache via config.
|
|
220
|
-
*/
|
|
221
|
-
export function getDeciderClient(config) {
|
|
222
|
-
// If custom cache is provided, use direct Map operations for backward compatibility
|
|
223
|
-
if (config.cache) {
|
|
224
|
-
const cache = config.cache;
|
|
225
|
-
const cacheKey = config.cacheKey ?? config.baseUrl;
|
|
226
|
-
if (!cache.has(cacheKey)) {
|
|
227
|
-
const { baseUrl, cacheKey: _cacheKey, cache: _cache, ...options } = config;
|
|
228
|
-
cache.set(cacheKey, new HttpDeciderClient(baseUrl, options));
|
|
229
|
-
}
|
|
230
|
-
return cache.get(cacheKey);
|
|
231
|
-
}
|
|
232
|
-
// Use default manager
|
|
233
|
-
const { baseUrl, cacheKey, cache: _cache, ...options } = config;
|
|
234
|
-
return defaultDeciderCacheManager.getOrCreate(baseUrl, options, cacheKey);
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Clears the decider client cache.
|
|
238
|
-
* @param cache Optional custom cache to clear. Defaults to the global cache.
|
|
239
|
-
* @param key Optional specific key to clear. If not provided, clears all entries.
|
|
240
|
-
*/
|
|
241
|
-
export function clearDeciderClientCache(cache, key) {
|
|
242
|
-
if (cache) {
|
|
243
|
-
if (key) {
|
|
244
|
-
cache.delete(key);
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
cache.clear();
|
|
248
|
-
}
|
|
249
|
-
return;
|
|
250
|
-
}
|
|
251
|
-
defaultDeciderCacheManager.clear(key);
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Resets the default decider client cache to its initial state.
|
|
255
|
-
* Useful for testing.
|
|
256
|
-
*/
|
|
257
|
-
export function resetDeciderClientCache() {
|
|
258
|
-
defaultDeciderCacheManager.reset();
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Returns the default decider client cache manager.
|
|
262
|
-
*/
|
|
263
|
-
export function getDefaultDeciderClientCacheManager() {
|
|
264
|
-
return defaultDeciderCacheManager;
|
|
265
|
-
}
|
|
266
139
|
//# sourceMappingURL=connections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/ic/connections.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/ic/connections.ts"],"names":[],"mappings":"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"}
|
package/dist/ic/index.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
export * from "./authorization.js";
|
|
2
1
|
export { StealthCanisterClient } from "./client.js";
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export * from "./invoice.js";
|
|
8
|
-
export * from "./recipient.js";
|
|
9
|
-
export * from "./types.js";
|
|
2
|
+
export { scanAnnouncements } from "./encryption.js";
|
|
3
|
+
export { StealthError } from "./errors.js";
|
|
4
|
+
export { serializeVetKey, deserializeVetKey } from "./recipient.js";
|
|
5
|
+
export type { Announcement, AnnouncementInput, AnnouncementPage, AnnouncementPageByTime, DecryptedAnnouncement, EncryptedViewKeyRequest, InvoiceSubmission, } from "./types.js";
|
|
10
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ic/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ic/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
package/dist/ic/index.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
export * from "./authorization.js";
|
|
2
1
|
export { StealthCanisterClient } from "./client.js";
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export * from "./errors.js";
|
|
7
|
-
export * from "./invoice.js";
|
|
8
|
-
export * from "./recipient.js";
|
|
9
|
-
export * from "./types.js";
|
|
2
|
+
export { scanAnnouncements } from "./encryption.js";
|
|
3
|
+
export { StealthError } from "./errors.js";
|
|
4
|
+
export { serializeVetKey, deserializeVetKey } from "./recipient.js";
|
|
10
5
|
//# sourceMappingURL=index.js.map
|
package/dist/ic/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ic/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/ic/recipient.d.ts
CHANGED
|
@@ -5,4 +5,14 @@ export interface TransportKeyPair {
|
|
|
5
5
|
}
|
|
6
6
|
export declare function prepareTransportKey(): TransportKeyPair;
|
|
7
7
|
export declare function decryptVetKey(encryptedKey: Uint8Array, viewPublicKey: Uint8Array, transportSecret: TransportSecretKey, identity?: Uint8Array): VetKey;
|
|
8
|
+
/**
|
|
9
|
+
* Serialize a VetKey to a 0x-prefixed hex string for persistent storage.
|
|
10
|
+
*/
|
|
11
|
+
export declare function serializeVetKey(vetKey: VetKey): string;
|
|
12
|
+
/**
|
|
13
|
+
* Deserialize a VetKey from a hex string (with or without 0x prefix).
|
|
14
|
+
*
|
|
15
|
+
* @throws StealthError if the hex string cannot be deserialized into a valid VetKey.
|
|
16
|
+
*/
|
|
17
|
+
export declare function deserializeVetKey(hex: string): VetKey;
|
|
8
18
|
//# sourceMappingURL=recipient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../src/ic/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,kBAAkB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../src/ic/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,kBAAkB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAKjG,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAItD;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,kBAAkB,EACnC,QAAQ,GAAE,UAA6B,GACtC,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMrD"}
|
package/dist/ic/recipient.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DerivedPublicKey, EncryptedVetKey, TransportSecretKey } from "@dfinity/vetkeys";
|
|
1
|
+
import { DerivedPublicKey, EncryptedVetKey, TransportSecretKey, VetKey } from "@dfinity/vetkeys";
|
|
2
|
+
import { bytesToHex, hexToBytes } from "../utils/hex.js";
|
|
2
3
|
import { StealthError } from "./errors.js";
|
|
3
4
|
export function prepareTransportKey() {
|
|
4
5
|
const secret = TransportSecretKey.random();
|
|
@@ -18,4 +19,23 @@ export function decryptVetKey(encryptedKey, viewPublicKey, transportSecret, iden
|
|
|
18
19
|
throw new StealthError("failed to decrypt vet key");
|
|
19
20
|
}
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Serialize a VetKey to a 0x-prefixed hex string for persistent storage.
|
|
24
|
+
*/
|
|
25
|
+
export function serializeVetKey(vetKey) {
|
|
26
|
+
return bytesToHex(vetKey.serialize());
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Deserialize a VetKey from a hex string (with or without 0x prefix).
|
|
30
|
+
*
|
|
31
|
+
* @throws StealthError if the hex string cannot be deserialized into a valid VetKey.
|
|
32
|
+
*/
|
|
33
|
+
export function deserializeVetKey(hex) {
|
|
34
|
+
try {
|
|
35
|
+
return VetKey.deserialize(hexToBytes(hex));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new StealthError("failed to deserialize vet key");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
21
41
|
//# sourceMappingURL=recipient.js.map
|
package/dist/ic/recipient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/ic/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/ic/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAAwB,EACxB,aAAyB,EACzB,eAAmC,EACnC,WAAuB,IAAI,UAAU,EAAE;IAEvC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type { Hex, Hex as EvmHex, EvmReadProvider, EvmWriteProvider } from "./types/evm.js";
|
|
2
|
+
export type { VetKey } from "@dfinity/vetkeys";
|
|
3
|
+
export * from "./chain/index.js";
|
|
4
|
+
export { AGGREGATION_TREE_HEIGHT, TRANSFER_TREE_HEIGHT, GLOBAL_TRANSFER_TREE_HEIGHT, NUM_BATCH_INVOICES, } from "./constants.js";
|
|
2
5
|
export * from "./decider/prover.js";
|
|
3
6
|
export * from "./ic/connections.js";
|
|
4
7
|
export * from "./ic/index.js";
|
|
5
|
-
export
|
|
8
|
+
export { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "./onchain/contracts.js";
|
|
9
|
+
export * from "./onchain/decode.js";
|
|
10
|
+
export { readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "./onchain/tokenReads.js";
|
|
6
11
|
export * from "./operations/invoice.js";
|
|
12
|
+
export * from "./operations/layerzeroScan.js";
|
|
7
13
|
export * from "./operations/liquidityManager.js";
|
|
8
14
|
export * from "./operations/privateSend.js";
|
|
9
15
|
export * from "./operations/receive.js";
|
|
@@ -12,11 +18,14 @@ export * from "./operations/teleport.js";
|
|
|
12
18
|
export * from "./operations/teleportProof.js";
|
|
13
19
|
export * from "./registry/tokens.js";
|
|
14
20
|
export * from "./sdk.js";
|
|
15
|
-
export
|
|
21
|
+
export type { SecretAndTweak, GeneralRecipient, BurnArtifacts, PreparedPrivateSend, PrivateSendResult, InvoiceBatchBurnAddress, InvoiceIssueArtifacts, ScannedAnnouncement, AggregationTreeState, GlobalTeleportProof, GlobalTeleportProofWithEvent, IndexedEvent, SingleTeleportArtifacts, SingleTeleportParams, NovaProverInput, NovaProverOutput, ChainEvents, EventsWithEligibility, SeparatedChainEvents, LocalTeleportProof, ChainLocalTeleportProofs, } from "./types.js";
|
|
16
22
|
export * from "./utils/branded.js";
|
|
17
23
|
export * from "./utils/fees.js";
|
|
18
24
|
export * from "./utils/hex.js";
|
|
19
|
-
export
|
|
20
|
-
export
|
|
25
|
+
export { TeleportArtifactsManager, configureTeleportArtifactsLoader } from "./wasm/artifacts.js";
|
|
26
|
+
export type { BatchTeleportWasmArtifacts, LoadTeleportArtifactsOptions, SingleTeleportWasmArtifacts, TeleportArtifactsLoader, TeleportWasmArtifacts, } from "./wasm/artifacts.js";
|
|
27
|
+
export { aggregationMerkleProof, aggregationRoot, buildFullBurnAddress, configureWasmLocator, createSingleWithdrawWasm, createWithdrawNovaWasm, decodeFullBurnAddress, deriveSeed, deriveInvoiceBatch, deriveInvoiceSingle, derivePaymentAdvice, fetchAggregationTreeState, fetchLocalTeleportMerkleProofs, fetchTransferEvents, generalRecipientFr, generateGlobalTeleportMerkleProofs, getSeedMessage, separateEventsByEligibility, } from "./wasm/index.js";
|
|
28
|
+
export type { WasmLocatorGlobal } from "./wasm/index.js";
|
|
29
|
+
export type { SingleWithdrawWasm, WithdrawNovaWasm } from "./assets/wasm/web/zerc20_wasm.js";
|
|
21
30
|
export * from "./zkp/index.js";
|
|
22
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
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,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
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export * from "./
|
|
1
|
+
export * from "./chain/index.js";
|
|
2
|
+
export { AGGREGATION_TREE_HEIGHT, TRANSFER_TREE_HEIGHT, GLOBAL_TRANSFER_TREE_HEIGHT, NUM_BATCH_INVOICES, } from "./constants.js";
|
|
2
3
|
export * from "./decider/prover.js";
|
|
3
4
|
export * from "./ic/connections.js";
|
|
4
5
|
export * from "./ic/index.js";
|
|
5
|
-
export
|
|
6
|
+
export { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "./onchain/contracts.js";
|
|
7
|
+
export * from "./onchain/decode.js";
|
|
8
|
+
export { readTokenBalance, readTokenDecimals, readDecimalConversionRate, } from "./onchain/tokenReads.js";
|
|
6
9
|
export * from "./operations/invoice.js";
|
|
10
|
+
export * from "./operations/layerzeroScan.js";
|
|
7
11
|
export * from "./operations/liquidityManager.js";
|
|
8
12
|
export * from "./operations/privateSend.js";
|
|
9
13
|
export * from "./operations/receive.js";
|
|
@@ -12,11 +16,10 @@ export * from "./operations/teleport.js";
|
|
|
12
16
|
export * from "./operations/teleportProof.js";
|
|
13
17
|
export * from "./registry/tokens.js";
|
|
14
18
|
export * from "./sdk.js";
|
|
15
|
-
export * from "./types.js";
|
|
16
19
|
export * from "./utils/branded.js";
|
|
17
20
|
export * from "./utils/fees.js";
|
|
18
21
|
export * from "./utils/hex.js";
|
|
19
|
-
export
|
|
20
|
-
export
|
|
22
|
+
export { TeleportArtifactsManager, configureTeleportArtifactsLoader } from "./wasm/artifacts.js";
|
|
23
|
+
export { aggregationMerkleProof, aggregationRoot, buildFullBurnAddress, configureWasmLocator, createSingleWithdrawWasm, createWithdrawNovaWasm, decodeFullBurnAddress, deriveSeed, deriveInvoiceBatch, deriveInvoiceSingle, derivePaymentAdvice, fetchAggregationTreeState, fetchLocalTeleportMerkleProofs, fetchTransferEvents, generalRecipientFr, generateGlobalTeleportMerkleProofs, getSeedMessage, separateEventsByEligibility, } from "./wasm/index.js";
|
|
21
24
|
export * from "./zkp/index.js";
|
|
22
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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,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,36 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
getContract: vi.fn(),
|
|
4
|
-
}));
|
|
5
|
-
import { getContract } from "viem";
|
|
6
|
-
import { AdaptorArtifact, getAdaptorContract, getHubContract, getLiquidityManagerContract, getVerifierContract, getZerc20Contract, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "../contracts.js";
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { AdaptorArtifact, HubArtifact, LiquidityManagerArtifact, VerifierArtifact, Zerc20Artifact, } from "../contracts.js";
|
|
7
3
|
describe("onchain/contracts", () => {
|
|
8
|
-
const mockClient = {};
|
|
9
|
-
const mockGetContract = vi.mocked(getContract);
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
mockGetContract.mockReset();
|
|
12
|
-
mockGetContract.mockReturnValue({});
|
|
13
|
-
});
|
|
14
|
-
test("normalizes address before passing to getContract", () => {
|
|
15
|
-
getZerc20Contract("0XABCDEF", mockClient);
|
|
16
|
-
expect(mockGetContract).toHaveBeenCalledWith(expect.objectContaining({
|
|
17
|
-
address: "0xabcdef",
|
|
18
|
-
abi: Zerc20Artifact.abi,
|
|
19
|
-
client: mockClient,
|
|
20
|
-
}));
|
|
21
|
-
});
|
|
22
|
-
test("uses correct ABI for each contract getter", () => {
|
|
23
|
-
getZerc20Contract("0x01", mockClient);
|
|
24
|
-
getLiquidityManagerContract("0x02", mockClient);
|
|
25
|
-
getAdaptorContract("0x03", mockClient);
|
|
26
|
-
getVerifierContract("0x04", mockClient);
|
|
27
|
-
getHubContract("0x05", mockClient);
|
|
28
|
-
expect(mockGetContract).toHaveBeenNthCalledWith(1, expect.objectContaining({ abi: Zerc20Artifact.abi }));
|
|
29
|
-
expect(mockGetContract).toHaveBeenNthCalledWith(2, expect.objectContaining({ abi: LiquidityManagerArtifact.abi }));
|
|
30
|
-
expect(mockGetContract).toHaveBeenNthCalledWith(3, expect.objectContaining({ abi: AdaptorArtifact.abi }));
|
|
31
|
-
expect(mockGetContract).toHaveBeenNthCalledWith(4, expect.objectContaining({ abi: VerifierArtifact.abi }));
|
|
32
|
-
expect(mockGetContract).toHaveBeenNthCalledWith(5, expect.objectContaining({ abi: HubArtifact.abi }));
|
|
33
|
-
});
|
|
34
4
|
test("exports artifacts with ABI present", () => {
|
|
35
5
|
expect(AdaptorArtifact).toHaveProperty("abi");
|
|
36
6
|
expect(HubArtifact).toHaveProperty("abi");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.test.js","sourceRoot":"","sources":["../../../src/onchain/__tests__/contracts.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.test.d.ts","sourceRoot":"","sources":["../../../src/onchain/__tests__/decode.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { encodeAbiParameters, encodeEventTopics, encodeFunctionData, } from "viem";
|
|
3
|
+
import { Zerc20Artifact } from "../contracts.js";
|
|
4
|
+
import { decodeBridgeRequest, decodeSendPayload, extractOftSentAmount } from "../decode.js";
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// Shared fixtures
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
const zerc20Abi = Zerc20Artifact.abi;
|
|
9
|
+
const BRIDGE_REQUEST_COMPOSE_ABI = [
|
|
10
|
+
{ name: "dstEid", type: "uint32" },
|
|
11
|
+
{ name: "extraOptions", type: "bytes" },
|
|
12
|
+
{ name: "composeMsg", type: "bytes" },
|
|
13
|
+
{ name: "oftCmd", type: "bytes" },
|
|
14
|
+
{ name: "refundAddress", type: "address" },
|
|
15
|
+
{ name: "to", type: "address" },
|
|
16
|
+
{ name: "minAmountOut", type: "uint256" },
|
|
17
|
+
];
|
|
18
|
+
const OFT_SENT_ABI_ITEM = Zerc20Artifact.abi.find((e) => e.name === "OFTSent" && e.type === "event");
|
|
19
|
+
const TRANSFER_ABI_ITEM = Zerc20Artifact.abi.find((e) => e.name === "Transfer" && e.type === "event");
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Helpers — manually build event logs (encodeEventLog not available)
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
function makeOftSentLog(amountReceivedLD) {
|
|
24
|
+
const guid = ("0x" + "cc".repeat(32));
|
|
25
|
+
const fromAddress = "0x2222222222222222222222222222222222222222";
|
|
26
|
+
// OFTSent(bytes32 indexed guid, uint32 dstEid, address indexed fromAddress,
|
|
27
|
+
// uint256 amountSentLD, uint256 amountReceivedLD)
|
|
28
|
+
const topics = encodeEventTopics({
|
|
29
|
+
abi: zerc20Abi,
|
|
30
|
+
eventName: "OFTSent",
|
|
31
|
+
args: { guid, fromAddress },
|
|
32
|
+
});
|
|
33
|
+
// Non-indexed: dstEid (uint32), amountSentLD (uint256), amountReceivedLD (uint256)
|
|
34
|
+
const data = encodeAbiParameters([{ type: "uint32" }, { type: "uint256" }, { type: "uint256" }], [30110, 1000000n, amountReceivedLD]);
|
|
35
|
+
return { topics, data };
|
|
36
|
+
}
|
|
37
|
+
function makeTransferLog() {
|
|
38
|
+
const topics = encodeEventTopics({
|
|
39
|
+
abi: zerc20Abi,
|
|
40
|
+
eventName: "Transfer",
|
|
41
|
+
args: {
|
|
42
|
+
from: "0x1111111111111111111111111111111111111111",
|
|
43
|
+
to: "0x2222222222222222222222222222222222222222",
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
const data = encodeAbiParameters([{ type: "uint256" }], [500n]);
|
|
47
|
+
return { topics, data };
|
|
48
|
+
}
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
// decodeSendPayload
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
describe("decodeSendPayload", () => {
|
|
53
|
+
test("decodes valid send() calldata", () => {
|
|
54
|
+
const sendParam = {
|
|
55
|
+
dstEid: 30110,
|
|
56
|
+
to: ("0x" + "ab".repeat(32)),
|
|
57
|
+
amountLD: 1000000n,
|
|
58
|
+
minAmountLD: 990000n,
|
|
59
|
+
extraOptions: "0x",
|
|
60
|
+
composeMsg: "0x",
|
|
61
|
+
oftCmd: "0x",
|
|
62
|
+
};
|
|
63
|
+
const fee = { nativeFee: 100n, lzTokenFee: 0n };
|
|
64
|
+
const refundAddress = "0x1111111111111111111111111111111111111111";
|
|
65
|
+
const data = encodeFunctionData({
|
|
66
|
+
abi: zerc20Abi,
|
|
67
|
+
functionName: "send",
|
|
68
|
+
args: [sendParam, fee, refundAddress],
|
|
69
|
+
});
|
|
70
|
+
const result = decodeSendPayload(data);
|
|
71
|
+
expect(result.dstEid).toBe(30110);
|
|
72
|
+
expect(result.to).toBe(("0x" + "ab".repeat(32)));
|
|
73
|
+
expect(result.amountLD).toBe(1000000n);
|
|
74
|
+
expect(result.minAmountLD).toBe(990000n);
|
|
75
|
+
expect(result.composeMsg).toBe("0x");
|
|
76
|
+
});
|
|
77
|
+
test("throws for non-send() function calldata", () => {
|
|
78
|
+
const data = encodeFunctionData({
|
|
79
|
+
abi: zerc20Abi,
|
|
80
|
+
functionName: "approve",
|
|
81
|
+
args: ["0x1111111111111111111111111111111111111111", 1000n],
|
|
82
|
+
});
|
|
83
|
+
expect(() => decodeSendPayload(data)).toThrow("approve");
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
// extractOftSentAmount
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
describe("extractOftSentAmount", () => {
|
|
90
|
+
test("extracts amountReceivedLD from OFTSent log", () => {
|
|
91
|
+
const log = makeOftSentLog(950000n);
|
|
92
|
+
const result = extractOftSentAmount([log]);
|
|
93
|
+
expect(result).toBe(950000n);
|
|
94
|
+
});
|
|
95
|
+
test("returns undefined when no OFTSent event is present", () => {
|
|
96
|
+
const log = makeTransferLog();
|
|
97
|
+
const result = extractOftSentAmount([log]);
|
|
98
|
+
expect(result).toBeUndefined();
|
|
99
|
+
});
|
|
100
|
+
test("returns the first OFTSent when multiple are present", () => {
|
|
101
|
+
const first = makeOftSentLog(100n);
|
|
102
|
+
const second = makeOftSentLog(200n);
|
|
103
|
+
const result = extractOftSentAmount([first, second]);
|
|
104
|
+
expect(result).toBe(100n);
|
|
105
|
+
});
|
|
106
|
+
test("skips malformed logs and continues processing", () => {
|
|
107
|
+
const badLog = {
|
|
108
|
+
topics: ["0xdeadbeef"],
|
|
109
|
+
data: "0xbad",
|
|
110
|
+
};
|
|
111
|
+
const goodLog = makeOftSentLog(777n);
|
|
112
|
+
const result = extractOftSentAmount([badLog, goodLog]);
|
|
113
|
+
expect(result).toBe(777n);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// decodeBridgeRequest
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
describe("decodeBridgeRequest", () => {
|
|
120
|
+
function encodeBridgeRequest(params) {
|
|
121
|
+
return encodeAbiParameters([{ type: "tuple", components: BRIDGE_REQUEST_COMPOSE_ABI }], [
|
|
122
|
+
{
|
|
123
|
+
dstEid: params.dstEid,
|
|
124
|
+
extraOptions: "0x",
|
|
125
|
+
composeMsg: "0x",
|
|
126
|
+
oftCmd: "0x",
|
|
127
|
+
refundAddress: params.refundAddress,
|
|
128
|
+
to: params.to,
|
|
129
|
+
minAmountOut: params.minAmountOut,
|
|
130
|
+
},
|
|
131
|
+
]);
|
|
132
|
+
}
|
|
133
|
+
test("decodes a valid compose message", () => {
|
|
134
|
+
const encoded = encodeBridgeRequest({
|
|
135
|
+
dstEid: 30101,
|
|
136
|
+
to: "0x3333333333333333333333333333333333333333",
|
|
137
|
+
refundAddress: "0x4444444444444444444444444444444444444444",
|
|
138
|
+
minAmountOut: 500000n,
|
|
139
|
+
});
|
|
140
|
+
const result = decodeBridgeRequest(encoded);
|
|
141
|
+
expect(result).not.toBeNull();
|
|
142
|
+
expect(result.dstEid).toBe(30101);
|
|
143
|
+
expect(result.to).toBe("0x3333333333333333333333333333333333333333");
|
|
144
|
+
expect(result.refundAddress).toBe("0x4444444444444444444444444444444444444444");
|
|
145
|
+
expect(result.minAmountOut).toBe(500000n);
|
|
146
|
+
});
|
|
147
|
+
test("returns null for empty / '0x' input", () => {
|
|
148
|
+
expect(decodeBridgeRequest("0x")).toBeNull();
|
|
149
|
+
});
|
|
150
|
+
test("returns null for malformed data without throwing", () => {
|
|
151
|
+
const result = decodeBridgeRequest("0xdeadbeef");
|
|
152
|
+
expect(result).toBeNull();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=decode.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.test.js","sourceRoot":"","sources":["../../../src/onchain/__tests__/decode.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenReads.test.d.ts","sourceRoot":"","sources":["../../../src/onchain/__tests__/tokenReads.test.ts"],"names":[],"mappings":""}
|