zerc20-client-sdk 0.1.0 → 0.1.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/dist/assets/abi/Adaptor.json +1 -0
- package/dist/assets/abi/Hub.json +1 -1443
- package/dist/assets/abi/LiquidityManager.json +1 -0
- package/dist/assets/abi/Verifier.json +1 -1935
- package/dist/assets/abi/zERC20.json +1 -919
- package/dist/assets/wasm/node/zkerc20_wasm.d.ts +2 -2
- package/dist/assets/wasm/node/zkerc20_wasm.js +62 -63
- package/dist/assets/wasm/node/zkerc20_wasm_bg.wasm +0 -0
- package/dist/assets/wasm/node/zkerc20_wasm_bg.wasm.d.ts +4 -4
- package/dist/assets/wasm/web/zkerc20_wasm.d.ts +6 -6
- package/dist/assets/wasm/web/zkerc20_wasm.js +58 -59
- package/dist/assets/wasm/web/zkerc20_wasm_bg.wasm +0 -0
- package/dist/assets/wasm/web/zkerc20_wasm_bg.wasm.d.ts +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/onchain/contracts.d.ts +15621 -1555
- package/dist/onchain/contracts.d.ts.map +1 -1
- package/dist/onchain/contracts.js +12 -4
- package/dist/onchain/contracts.js.map +1 -1
- package/dist/operations/liquidityManager.d.ts +92 -0
- package/dist/operations/liquidityManager.d.ts.map +1 -0
- package/dist/operations/liquidityManager.js +282 -0
- package/dist/operations/liquidityManager.js.map +1 -0
- package/dist/registry/tokens.d.ts +4 -0
- package/dist/registry/tokens.d.ts.map +1 -1
- package/dist/registry/tokens.js +25 -0
- package/dist/registry/tokens.js.map +1 -1
- package/dist/utils/__tests__/merkle.test.js +6 -6
- package/dist/utils/__tests__/merkle.test.js.map +1 -1
- package/dist/utils/merkle.d.ts +1 -1
- package/dist/utils/merkle.d.ts.map +1 -1
- package/dist/utils/merkle.js +22 -9
- package/dist/utils/merkle.js.map +1 -1
- package/dist/zkp/proofService.d.ts.map +1 -1
- package/dist/zkp/proofService.js +2 -0
- package/dist/zkp/proofService.js.map +1 -1
- package/dist/zkp/proofUtils.d.ts.map +1 -1
- package/dist/zkp/proofUtils.js +1 -0
- package/dist/zkp/proofUtils.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/abi/Minter.json +0 -666
- package/dist/operations/minter.d.ts +0 -18
- package/dist/operations/minter.d.ts.map +0 -1
- package/dist/operations/minter.js +0 -77
- package/dist/operations/minter.js.map +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { PublicClient, WalletClient } from "viem";
|
|
2
|
-
export interface MinterDepositResult {
|
|
3
|
-
transactionHash: string;
|
|
4
|
-
approvalTransactionHash?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface MinterWithdrawResult {
|
|
7
|
-
transactionHash: string;
|
|
8
|
-
}
|
|
9
|
-
export interface MinterActionParams {
|
|
10
|
-
walletClient: WalletClient;
|
|
11
|
-
publicClient?: PublicClient;
|
|
12
|
-
minterAddress: string;
|
|
13
|
-
tokenAddress: string;
|
|
14
|
-
amount: bigint;
|
|
15
|
-
}
|
|
16
|
-
export declare function depositWithMinter({ walletClient, publicClient, minterAddress, tokenAddress, amount, }: MinterActionParams): Promise<MinterDepositResult>;
|
|
17
|
-
export declare function withdrawWithMinter({ walletClient, publicClient, minterAddress, tokenAddress, amount, }: MinterActionParams): Promise<MinterWithdrawResult>;
|
|
18
|
-
//# sourceMappingURL=minter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"minter.d.ts","sourceRoot":"","sources":["../../src/operations/minter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAOvD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AA4BD,wBAAsB,iBAAiB,CAAC,EACtC,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,MAAM,GACP,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6CnD;AAED,wBAAsB,kBAAkB,CAAC,EACvC,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,MAAM,GACP,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAepD"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { zeroAddress } from "viem";
|
|
2
|
-
import { waitForTransactionReceipt } from "viem/actions";
|
|
3
|
-
import { getMinterContract, getZerc20Contract } from "../onchain/contracts.js";
|
|
4
|
-
import { normalizeHex, toBigInt } from "../utils/hex.js";
|
|
5
|
-
function isZeroAddress(value) {
|
|
6
|
-
return BigInt(normalizeHex(value)) === BigInt(normalizeHex(zeroAddress));
|
|
7
|
-
}
|
|
8
|
-
function ensureAccount(walletClient) {
|
|
9
|
-
const account = walletClient.account?.address;
|
|
10
|
-
if (!account) {
|
|
11
|
-
throw new Error("wallet client is missing default account");
|
|
12
|
-
}
|
|
13
|
-
return normalizeHex(account);
|
|
14
|
-
}
|
|
15
|
-
function receiptClient(walletClient, publicClient) {
|
|
16
|
-
return publicClient ?? walletClient;
|
|
17
|
-
}
|
|
18
|
-
function ensureBigintLike(value, label) {
|
|
19
|
-
if (typeof value === "bigint" || typeof value === "number" || typeof value === "string") {
|
|
20
|
-
return toBigInt(value);
|
|
21
|
-
}
|
|
22
|
-
throw new Error(`${label} must be bigint-like value`);
|
|
23
|
-
}
|
|
24
|
-
export async function depositWithMinter({ walletClient, publicClient, minterAddress, tokenAddress, amount, }) {
|
|
25
|
-
const normalizedMinter = normalizeHex(minterAddress);
|
|
26
|
-
const minter = getMinterContract(normalizedMinter, walletClient);
|
|
27
|
-
const normalizedToken = normalizeHex(tokenAddress);
|
|
28
|
-
const account = ensureAccount(walletClient);
|
|
29
|
-
const receiptClientInstance = receiptClient(walletClient, publicClient);
|
|
30
|
-
if (isZeroAddress(normalizedToken)) {
|
|
31
|
-
const hash = await minter.write.depositNative([], {
|
|
32
|
-
account,
|
|
33
|
-
value: amount,
|
|
34
|
-
});
|
|
35
|
-
const receipt = await waitForTransactionReceipt(receiptClientInstance, { hash });
|
|
36
|
-
return {
|
|
37
|
-
transactionHash: receipt.transactionHash,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const token = getZerc20Contract(normalizedToken, walletClient);
|
|
41
|
-
const currentAllowance = ensureBigintLike(await token.read.allowance([account, normalizedMinter]), "allowance");
|
|
42
|
-
let approvalTransactionHash;
|
|
43
|
-
if (currentAllowance < amount) {
|
|
44
|
-
const approvalHash = await token.write.approve([normalizedMinter, amount], {
|
|
45
|
-
account,
|
|
46
|
-
});
|
|
47
|
-
const approvalReceipt = await waitForTransactionReceipt(receiptClientInstance, {
|
|
48
|
-
hash: approvalHash,
|
|
49
|
-
});
|
|
50
|
-
approvalTransactionHash = approvalReceipt.transactionHash;
|
|
51
|
-
}
|
|
52
|
-
const depositHash = await minter.write.depositToken([amount], {
|
|
53
|
-
account,
|
|
54
|
-
});
|
|
55
|
-
const depositReceipt = await waitForTransactionReceipt(receiptClientInstance, {
|
|
56
|
-
hash: depositHash,
|
|
57
|
-
});
|
|
58
|
-
return {
|
|
59
|
-
transactionHash: depositReceipt.transactionHash,
|
|
60
|
-
approvalTransactionHash,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
export async function withdrawWithMinter({ walletClient, publicClient, minterAddress, tokenAddress, amount, }) {
|
|
64
|
-
const normalizedMinter = normalizeHex(minterAddress);
|
|
65
|
-
const minter = getMinterContract(normalizedMinter, walletClient);
|
|
66
|
-
const normalizedToken = normalizeHex(tokenAddress);
|
|
67
|
-
const account = ensureAccount(walletClient);
|
|
68
|
-
const receiptClientInstance = receiptClient(walletClient, publicClient);
|
|
69
|
-
const hash = isZeroAddress(normalizedToken)
|
|
70
|
-
? await minter.write.withdrawNative([amount], { account })
|
|
71
|
-
: await minter.write.withdrawToken([amount], { account });
|
|
72
|
-
const receipt = await waitForTransactionReceipt(receiptClientInstance, { hash });
|
|
73
|
-
return {
|
|
74
|
-
transactionHash: receipt.transactionHash,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=minter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"minter.js","sourceRoot":"","sources":["../../src/operations/minter.ts"],"names":[],"mappings":"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"}
|