@unionlabs/payments 0.1.0 → 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/Abi/package.json +6 -0
- package/Attestor/package.json +6 -0
- package/Constants/package.json +6 -0
- package/Domain/package.json +6 -0
- package/Error/package.json +6 -0
- package/EvmPublicClient/package.json +6 -0
- package/EvmWalletClient/package.json +6 -0
- package/Payment/package.json +6 -0
- package/PaymentError/package.json +6 -0
- package/Prover/package.json +6 -0
- package/PublicClient/package.json +6 -0
- package/README.md +1 -0
- package/Schema/package.json +6 -0
- package/Utils/package.json +6 -0
- package/WalletClient/package.json +6 -0
- package/attestation/package.json +6 -0
- package/cli/commands/balance/package.json +6 -0
- package/cli/commands/deposit/package.json +6 -0
- package/cli/commands/export-verifier/package.json +6 -0
- package/cli/commands/generate/package.json +6 -0
- package/cli/commands/history/package.json +6 -0
- package/cli/commands/prove/package.json +6 -0
- package/cli/commands/redeem/package.json +6 -0
- package/cli/commands/update-client/package.json +6 -0
- package/cli/config/package.json +6 -0
- package/cli/package.json +6 -0
- package/cli/utils/package.json +6 -0
- package/constants/ibc-core-registry/package.json +6 -0
- package/constants/services/package.json +6 -0
- package/constants/z-asset-registry/package.json +6 -0
- package/dist/cjs/Abi.js +270 -0
- package/dist/cjs/Abi.js.map +1 -0
- package/dist/cjs/Attestor.js +76 -0
- package/dist/cjs/Attestor.js.map +1 -0
- package/dist/cjs/Constants.js +8 -0
- package/dist/cjs/Constants.js.map +1 -0
- package/dist/cjs/Domain.js +24 -0
- package/dist/cjs/Domain.js.map +1 -0
- package/dist/cjs/Error.js +100 -0
- package/dist/cjs/Error.js.map +1 -0
- package/dist/cjs/EvmPublicClient.js +301 -0
- package/dist/cjs/EvmPublicClient.js.map +1 -0
- package/dist/cjs/EvmWalletClient.js +670 -0
- package/dist/cjs/EvmWalletClient.js.map +1 -0
- package/dist/cjs/Payment.js +333 -0
- package/dist/cjs/Payment.js.map +1 -0
- package/dist/cjs/PaymentError.js +32 -0
- package/dist/cjs/PaymentError.js.map +1 -0
- package/dist/cjs/Prover.js +153 -0
- package/dist/cjs/Prover.js.map +1 -0
- package/dist/cjs/PublicClient.js +39 -0
- package/dist/cjs/PublicClient.js.map +1 -0
- package/dist/cjs/Schema.js +38 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/Utils.js +33 -0
- package/dist/cjs/Utils.js.map +1 -0
- package/dist/cjs/WalletClient.js +39 -0
- package/dist/cjs/WalletClient.js.map +1 -0
- package/dist/cjs/attestation.js +49 -0
- package/dist/cjs/attestation.js.map +1 -0
- package/dist/cjs/cli/commands/balance.js +60 -0
- package/dist/cjs/cli/commands/balance.js.map +1 -0
- package/dist/cjs/cli/commands/deposit.js +58 -0
- package/dist/cjs/cli/commands/deposit.js.map +1 -0
- package/dist/cjs/cli/commands/export-verifier.js +27 -0
- package/dist/cjs/cli/commands/export-verifier.js.map +1 -0
- package/dist/cjs/cli/commands/generate.js +41 -0
- package/dist/cjs/cli/commands/generate.js.map +1 -0
- package/dist/cjs/cli/commands/history.js +59 -0
- package/dist/cjs/cli/commands/history.js.map +1 -0
- package/dist/cjs/cli/commands/prove.js +82 -0
- package/dist/cjs/cli/commands/prove.js.map +1 -0
- package/dist/cjs/cli/commands/redeem.js +152 -0
- package/dist/cjs/cli/commands/redeem.js.map +1 -0
- package/dist/cjs/cli/commands/update-client.js +62 -0
- package/dist/cjs/cli/commands/update-client.js.map +1 -0
- package/dist/cjs/cli/config.js +32 -0
- package/dist/cjs/cli/config.js.map +1 -0
- package/dist/cjs/cli/utils.js +108 -0
- package/dist/cjs/cli/utils.js.map +1 -0
- package/dist/cjs/cli.js +24 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/constants/ibc-core-registry.js +30 -0
- package/dist/cjs/constants/ibc-core-registry.js.map +1 -0
- package/dist/cjs/constants/services.js +9 -0
- package/dist/cjs/constants/services.js.map +1 -0
- package/dist/cjs/constants/z-asset-registry.js +32 -0
- package/dist/cjs/constants/z-asset-registry.js.map +1 -0
- package/dist/cjs/gen/prover_pb.js +81 -0
- package/dist/cjs/gen/prover_pb.js.map +1 -0
- package/dist/cjs/index.js +32 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/evm.js +191 -0
- package/dist/cjs/internal/evm.js.map +1 -0
- package/dist/cjs/internal/evmWalletClient.js +6 -0
- package/dist/cjs/internal/evmWalletClient.js.map +1 -0
- package/dist/cjs/internal/publicClient.js +49 -0
- package/dist/cjs/internal/publicClient.js.map +1 -0
- package/dist/cjs/internal/walletClient.js +43 -0
- package/dist/cjs/internal/walletClient.js.map +1 -0
- package/dist/cjs/legacy/client.js +1222 -0
- package/dist/cjs/legacy/client.js.map +1 -0
- package/dist/cjs/legacy/prover.js +112 -0
- package/dist/cjs/legacy/prover.js.map +1 -0
- package/dist/cjs/poseidon2.js +226 -0
- package/dist/cjs/poseidon2.js.map +1 -0
- package/dist/cjs/promises/Attestor.js +23 -0
- package/dist/cjs/promises/Attestor.js.map +1 -0
- package/dist/cjs/promises/EvmPublicClient.js +34 -0
- package/dist/cjs/promises/EvmPublicClient.js.map +1 -0
- package/dist/cjs/promises/EvmWalletClient.js +51 -0
- package/dist/cjs/promises/EvmWalletClient.js.map +1 -0
- package/dist/cjs/promises/Payment.js +22 -0
- package/dist/cjs/promises/Payment.js.map +1 -0
- package/dist/cjs/promises/Prover.js +26 -0
- package/dist/cjs/promises/Prover.js.map +1 -0
- package/dist/cjs/promises/PublicClient.js +53 -0
- package/dist/cjs/promises/PublicClient.js.map +1 -0
- package/dist/cjs/promises/WalletClient.js +44 -0
- package/dist/cjs/promises/WalletClient.js.map +1 -0
- package/dist/cjs/promises/index.js +22 -0
- package/dist/cjs/promises/index.js.map +1 -0
- package/dist/cjs/rpc.js +867 -0
- package/dist/cjs/rpc.js.map +1 -0
- package/dist/cjs/types.js +6 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/dts/Abi.d.ts +220 -0
- package/dist/dts/Abi.d.ts.map +1 -0
- package/dist/dts/Attestor.d.ts +42 -0
- package/dist/dts/Attestor.d.ts.map +1 -0
- package/dist/dts/Constants.d.ts +3 -0
- package/dist/dts/Constants.d.ts.map +1 -0
- package/dist/dts/Domain.d.ts +141 -0
- package/dist/dts/Domain.d.ts.map +1 -0
- package/dist/dts/Error.d.ts +102 -0
- package/dist/dts/Error.d.ts.map +1 -0
- package/dist/dts/EvmPublicClient.d.ts +61 -0
- package/dist/dts/EvmPublicClient.d.ts.map +1 -0
- package/dist/dts/EvmWalletClient.d.ts +67 -0
- package/dist/dts/EvmWalletClient.d.ts.map +1 -0
- package/dist/dts/Payment.d.ts +128 -0
- package/dist/dts/Payment.d.ts.map +1 -0
- package/dist/dts/PaymentError.d.ts +21 -0
- package/dist/dts/PaymentError.d.ts.map +1 -0
- package/dist/dts/Prover.d.ts +87 -0
- package/dist/dts/Prover.d.ts.map +1 -0
- package/dist/dts/PublicClient.d.ts +146 -0
- package/dist/dts/PublicClient.d.ts.map +1 -0
- package/dist/dts/Schema.d.ts +16 -0
- package/dist/dts/Schema.d.ts.map +1 -0
- package/dist/dts/Utils.d.ts +11 -0
- package/dist/dts/Utils.d.ts.map +1 -0
- package/dist/dts/WalletClient.d.ts +123 -0
- package/dist/dts/WalletClient.d.ts.map +1 -0
- package/dist/dts/attestation.d.ts +13 -0
- package/dist/dts/attestation.d.ts.map +1 -0
- package/dist/dts/cli/commands/balance.d.ts +3 -0
- package/dist/dts/cli/commands/balance.d.ts.map +1 -0
- package/dist/dts/cli/commands/deposit.d.ts +3 -0
- package/dist/dts/cli/commands/deposit.d.ts.map +1 -0
- package/dist/dts/cli/commands/export-verifier.d.ts +3 -0
- package/dist/dts/cli/commands/export-verifier.d.ts.map +1 -0
- package/dist/dts/cli/commands/generate.d.ts +3 -0
- package/dist/dts/cli/commands/generate.d.ts.map +1 -0
- package/dist/dts/cli/commands/history.d.ts +3 -0
- package/dist/dts/cli/commands/history.d.ts.map +1 -0
- package/dist/dts/cli/commands/prove.d.ts +3 -0
- package/dist/dts/cli/commands/prove.d.ts.map +1 -0
- package/dist/dts/cli/commands/redeem.d.ts +3 -0
- package/dist/dts/cli/commands/redeem.d.ts.map +1 -0
- package/dist/dts/cli/commands/update-client.d.ts +3 -0
- package/dist/dts/cli/commands/update-client.d.ts.map +1 -0
- package/dist/dts/cli/config.d.ts +14 -0
- package/dist/dts/cli/config.d.ts.map +1 -0
- package/dist/dts/cli/utils.d.ts +11 -0
- package/dist/dts/cli/utils.d.ts.map +1 -0
- package/dist/dts/cli.d.ts +3 -0
- package/dist/dts/cli.d.ts.map +1 -0
- package/dist/dts/constants/ibc-core-registry.d.ts +11 -0
- package/dist/dts/constants/ibc-core-registry.d.ts.map +1 -0
- package/dist/dts/constants/services.d.ts +3 -0
- package/dist/dts/constants/services.d.ts.map +1 -0
- package/dist/dts/constants/z-asset-registry.d.ts +13 -0
- package/dist/dts/constants/z-asset-registry.d.ts.map +1 -0
- package/dist/dts/gen/prover_pb.d.ts +300 -0
- package/dist/dts/gen/prover_pb.d.ts.map +1 -0
- package/dist/dts/index.d.ts +21 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/evm.d.ts +250 -0
- package/dist/dts/internal/evm.d.ts.map +1 -0
- package/dist/dts/internal/evmWalletClient.d.ts +2 -0
- package/dist/dts/internal/evmWalletClient.d.ts.map +1 -0
- package/dist/dts/internal/publicClient.d.ts +2 -0
- package/dist/dts/internal/publicClient.d.ts.map +1 -0
- package/dist/dts/internal/walletClient.d.ts +2 -0
- package/dist/dts/internal/walletClient.d.ts.map +1 -0
- package/dist/dts/legacy/client.d.ts +313 -0
- package/dist/dts/legacy/client.d.ts.map +1 -0
- package/dist/dts/legacy/prover.d.ts +30 -0
- package/dist/dts/legacy/prover.d.ts.map +1 -0
- package/dist/dts/poseidon2.d.ts +18 -0
- package/dist/dts/poseidon2.d.ts.map +1 -0
- package/dist/dts/promises/Attestor.d.ts +17 -0
- package/dist/dts/promises/Attestor.d.ts.map +1 -0
- package/dist/dts/promises/EvmPublicClient.d.ts +3709 -0
- package/dist/dts/promises/EvmPublicClient.d.ts.map +1 -0
- package/dist/dts/promises/EvmWalletClient.d.ts +4502 -0
- package/dist/dts/promises/EvmWalletClient.d.ts.map +1 -0
- package/dist/dts/promises/Payment.d.ts +33 -0
- package/dist/dts/promises/Payment.d.ts.map +1 -0
- package/dist/dts/promises/Prover.d.ts +14 -0
- package/dist/dts/promises/Prover.d.ts.map +1 -0
- package/dist/dts/promises/PublicClient.d.ts +23 -0
- package/dist/dts/promises/PublicClient.d.ts.map +1 -0
- package/dist/dts/promises/WalletClient.d.ts +57 -0
- package/dist/dts/promises/WalletClient.d.ts.map +1 -0
- package/dist/dts/promises/index.d.ts +8 -0
- package/dist/dts/promises/index.d.ts.map +1 -0
- package/dist/dts/rpc.d.ts +148 -0
- package/dist/dts/rpc.d.ts.map +1 -0
- package/dist/dts/types.d.ts +263 -0
- package/dist/dts/types.d.ts.map +1 -0
- package/dist/esm/Abi.js +264 -0
- package/dist/esm/Abi.js.map +1 -0
- package/dist/esm/Attestor.js +68 -0
- package/dist/esm/Attestor.js.map +1 -0
- package/dist/esm/Constants.js +2 -0
- package/dist/esm/Constants.js.map +1 -0
- package/dist/esm/Domain.js +17 -0
- package/dist/esm/Domain.js.map +1 -0
- package/dist/esm/Error.js +89 -0
- package/dist/esm/Error.js.map +1 -0
- package/dist/esm/EvmPublicClient.js +292 -0
- package/dist/esm/EvmPublicClient.js.map +1 -0
- package/dist/esm/EvmWalletClient.js +659 -0
- package/dist/esm/EvmWalletClient.js.map +1 -0
- package/dist/esm/Payment.js +323 -0
- package/dist/esm/Payment.js.map +1 -0
- package/dist/esm/PaymentError.js +24 -0
- package/dist/esm/PaymentError.js.map +1 -0
- package/dist/esm/Prover.js +142 -0
- package/dist/esm/Prover.js.map +1 -0
- package/dist/esm/PublicClient.js +30 -0
- package/dist/esm/PublicClient.js.map +1 -0
- package/dist/esm/Schema.js +31 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/Utils.js +27 -0
- package/dist/esm/Utils.js.map +1 -0
- package/dist/esm/WalletClient.js +30 -0
- package/dist/esm/WalletClient.js.map +1 -0
- package/dist/esm/attestation.js +42 -0
- package/dist/esm/attestation.js.map +1 -0
- package/dist/esm/cli/commands/balance.js +54 -0
- package/dist/esm/cli/commands/balance.js.map +1 -0
- package/dist/esm/cli/commands/deposit.js +52 -0
- package/dist/esm/cli/commands/deposit.js.map +1 -0
- package/dist/esm/cli/commands/export-verifier.js +21 -0
- package/dist/esm/cli/commands/export-verifier.js.map +1 -0
- package/dist/esm/cli/commands/generate.js +35 -0
- package/dist/esm/cli/commands/generate.js.map +1 -0
- package/dist/esm/cli/commands/history.js +53 -0
- package/dist/esm/cli/commands/history.js.map +1 -0
- package/dist/esm/cli/commands/prove.js +76 -0
- package/dist/esm/cli/commands/prove.js.map +1 -0
- package/dist/esm/cli/commands/redeem.js +146 -0
- package/dist/esm/cli/commands/redeem.js.map +1 -0
- package/dist/esm/cli/commands/update-client.js +56 -0
- package/dist/esm/cli/commands/update-client.js.map +1 -0
- package/dist/esm/cli/config.js +26 -0
- package/dist/esm/cli/config.js.map +1 -0
- package/dist/esm/cli/utils.js +94 -0
- package/dist/esm/cli/utils.js.map +1 -0
- package/dist/esm/cli.js +22 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/constants/ibc-core-registry.js +21 -0
- package/dist/esm/constants/ibc-core-registry.js.map +1 -0
- package/dist/esm/constants/services.js +3 -0
- package/dist/esm/constants/services.js.map +1 -0
- package/dist/esm/constants/z-asset-registry.js +23 -0
- package/dist/esm/constants/z-asset-registry.js.map +1 -0
- package/dist/esm/gen/prover_pb.js +74 -0
- package/dist/esm/gen/prover_pb.js.map +1 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/evm.js +169 -0
- package/dist/esm/internal/evm.js.map +1 -0
- package/dist/esm/internal/evmWalletClient.js +2 -0
- package/dist/esm/internal/evmWalletClient.js.map +1 -0
- package/dist/esm/internal/publicClient.js +41 -0
- package/dist/esm/internal/publicClient.js.map +1 -0
- package/dist/esm/internal/walletClient.js +35 -0
- package/dist/esm/internal/walletClient.js.map +1 -0
- package/dist/esm/legacy/client.js +1212 -0
- package/dist/esm/legacy/client.js.map +1 -0
- package/dist/esm/legacy/prover.js +105 -0
- package/dist/esm/legacy/prover.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/poseidon2.js +218 -0
- package/dist/esm/poseidon2.js.map +1 -0
- package/dist/esm/promises/Attestor.js +14 -0
- package/dist/esm/promises/Attestor.js.map +1 -0
- package/dist/esm/promises/EvmPublicClient.js +26 -0
- package/dist/esm/promises/EvmPublicClient.js.map +1 -0
- package/dist/esm/promises/EvmWalletClient.js +43 -0
- package/dist/esm/promises/EvmWalletClient.js.map +1 -0
- package/dist/esm/promises/Payment.js +13 -0
- package/dist/esm/promises/Payment.js.map +1 -0
- package/dist/esm/promises/Prover.js +17 -0
- package/dist/esm/promises/Prover.js.map +1 -0
- package/dist/esm/promises/PublicClient.js +45 -0
- package/dist/esm/promises/PublicClient.js.map +1 -0
- package/dist/esm/promises/WalletClient.js +36 -0
- package/dist/esm/promises/WalletClient.js.map +1 -0
- package/dist/esm/promises/index.js +8 -0
- package/dist/esm/promises/index.js.map +1 -0
- package/dist/esm/rpc.js +850 -0
- package/dist/esm/rpc.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/gen/prover_pb/package.json +6 -0
- package/index/package.json +6 -0
- package/legacy/client/package.json +6 -0
- package/legacy/prover/package.json +6 -0
- package/package.json +397 -44
- package/poseidon2/package.json +6 -0
- package/promises/Attestor/package.json +6 -0
- package/promises/EvmPublicClient/package.json +6 -0
- package/promises/EvmWalletClient/package.json +6 -0
- package/promises/Payment/package.json +6 -0
- package/promises/Prover/package.json +6 -0
- package/promises/PublicClient/package.json +6 -0
- package/promises/WalletClient/package.json +6 -0
- package/promises/index/package.json +6 -0
- package/promises/package.json +6 -0
- package/rpc/package.json +6 -0
- package/src/Abi.ts +195 -0
- package/src/Attestor.ts +113 -0
- package/src/Constants.ts +4 -0
- package/src/Domain.ts +52 -0
- package/src/Error.ts +163 -0
- package/src/EvmPublicClient.ts +549 -0
- package/src/EvmWalletClient.ts +1034 -0
- package/src/Payment.ts +523 -0
- package/src/PaymentError.ts +39 -0
- package/src/Prover.ts +240 -0
- package/src/PublicClient.ts +196 -0
- package/src/Schema.ts +36 -0
- package/src/Utils.ts +43 -0
- package/src/WalletClient.ts +172 -0
- package/src/attestation.ts +69 -0
- package/src/cli/commands/balance.ts +88 -0
- package/src/cli/commands/deposit.ts +104 -0
- package/src/cli/commands/export-verifier.ts +28 -0
- package/src/cli/commands/generate.ts +86 -0
- package/src/cli/commands/history.ts +91 -0
- package/src/cli/commands/prove.ts +133 -0
- package/src/cli/commands/redeem.ts +277 -0
- package/src/cli/commands/update-client.ts +96 -0
- package/src/cli/config.ts +55 -0
- package/src/cli/utils.ts +136 -0
- package/src/cli.ts +31 -0
- package/src/constants/ibc-core-registry.ts +44 -0
- package/src/constants/services.ts +4 -0
- package/src/constants/z-asset-registry.ts +47 -0
- package/src/gen/prover_pb.ts +375 -0
- package/src/index.ts +23 -0
- package/src/internal/evm.ts +361 -0
- package/src/internal/evmWalletClient.ts +0 -0
- package/src/internal/publicClient.ts +57 -0
- package/src/internal/walletClient.ts +50 -0
- package/src/legacy/client.ts +1652 -0
- package/src/legacy/prover.ts +135 -0
- package/src/poseidon2.ts +246 -0
- package/src/promises/Attestor.ts +25 -0
- package/src/promises/EvmPublicClient.ts +39 -0
- package/src/promises/EvmWalletClient.ts +63 -0
- package/src/promises/Payment.ts +86 -0
- package/src/promises/Prover.ts +26 -0
- package/src/promises/PublicClient.ts +47 -0
- package/src/promises/WalletClient.ts +38 -0
- package/src/promises/index.ts +7 -0
- package/src/rpc.ts +994 -0
- package/src/types.ts +281 -0
- package/types/package.json +6 -0
- package/dist/LICENSE +0 -1
- package/dist/chunk-37PNLRA6.js +0 -2418
- package/dist/cli.cjs +0 -3031
- package/dist/cli.js +0 -675
- package/dist/index.cjs +0 -2451
- package/dist/index.js +0 -1
- package/dist/package.json +0 -18
- package/dist/payments.d.ts +0 -835
- /package/{dist → src}/tsdoc-metadata.json +0 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module handles EVM related functionality.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.0.0
|
|
5
|
+
*/
|
|
6
|
+
import { Context, Effect, Layer } from "effect";
|
|
7
|
+
import type { Abi, Address, ContractFunctionArgs, ContractFunctionName, CreatePublicClientErrorType, CreateWalletClientErrorType, ReadContractErrorType, ReadContractParameters, SimulateContractErrorType, Account as ViemAccount, Chain as ViemChain, PublicClient as ViemPublicClient, WalletClient as ViemWalletClient, WaitForTransactionReceiptTimeoutErrorType, WriteContractErrorType, WriteContractParameters } from "viem";
|
|
8
|
+
import * as V from "viem";
|
|
9
|
+
/**
|
|
10
|
+
* @category models
|
|
11
|
+
* @since 0.0.0
|
|
12
|
+
*/
|
|
13
|
+
export declare namespace Evm {
|
|
14
|
+
/**
|
|
15
|
+
* @category models
|
|
16
|
+
* @since 0.0.0
|
|
17
|
+
*/
|
|
18
|
+
interface PublicClient {
|
|
19
|
+
readonly client: ViemPublicClient;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @category models
|
|
23
|
+
* @since 0.0.0
|
|
24
|
+
*/
|
|
25
|
+
interface WalletClient {
|
|
26
|
+
readonly client: ViemWalletClient;
|
|
27
|
+
readonly account: ViemAccount;
|
|
28
|
+
readonly chain: ViemChain;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @category models
|
|
32
|
+
* @since 0.0.0
|
|
33
|
+
*/
|
|
34
|
+
interface Channel {
|
|
35
|
+
readonly ucs03address: Address;
|
|
36
|
+
readonly channelId: number;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
declare const WaitForTransactionReceiptError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
40
|
+
readonly _tag: "WaitForTransactionReceiptError";
|
|
41
|
+
} & Readonly<A>;
|
|
42
|
+
/**
|
|
43
|
+
* @category errors
|
|
44
|
+
* @since 0.0.0
|
|
45
|
+
*/
|
|
46
|
+
export declare class WaitForTransactionReceiptError extends WaitForTransactionReceiptError_base<{
|
|
47
|
+
cause: WaitForTransactionReceiptTimeoutErrorType;
|
|
48
|
+
}> {
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Wait for a transaction receipt
|
|
52
|
+
* @param hash The transaction hash for which to wait
|
|
53
|
+
* @returns An Effect that resolves to the transaction receipt
|
|
54
|
+
*
|
|
55
|
+
* @category utils
|
|
56
|
+
* @since 0.0.0
|
|
57
|
+
*/
|
|
58
|
+
export declare const waitForTransactionReceipt: (hash: `0x${string}`) => Effect.Effect<V.TransactionReceipt, WaitForTransactionReceiptError, PublicClient>;
|
|
59
|
+
/**
|
|
60
|
+
* A type-safe wrapper around viem's readContract that handles error cases
|
|
61
|
+
* and returns an Effect with proper type inference. Extracts all error info
|
|
62
|
+
*
|
|
63
|
+
* @param client - The viem PublicClient to use for the contract call
|
|
64
|
+
* @param params - The parameters for the contract call
|
|
65
|
+
* @returns An Effect that resolves to the properly typed return value
|
|
66
|
+
*
|
|
67
|
+
* @category utils
|
|
68
|
+
* @since 0.0.0
|
|
69
|
+
*/
|
|
70
|
+
export declare const readContract: <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, "view" | "pure"> = ContractFunctionName<TAbi, "view" | "pure">, TArgs extends ContractFunctionArgs<TAbi, "view" | "pure", TFunctionName> = ContractFunctionArgs<TAbi, "view" | "pure", TFunctionName>>(params: ReadContractParameters<TAbi, TFunctionName, TArgs>) => Effect.Effect<V.ContractFunctionReturnType<TAbi, "view" | "pure", TFunctionName, TArgs>, ReadContractError, PublicClient>;
|
|
71
|
+
/**
|
|
72
|
+
* A type-safe wrapper around viem's writeContract that handles error cases
|
|
73
|
+
* and returns an Effect with proper type inference. Extracts all error info
|
|
74
|
+
*
|
|
75
|
+
* @param client - The viem WalletClient to use for the contract transaction
|
|
76
|
+
* @param params - The parameters for the contract transaction
|
|
77
|
+
* @returns An Effect that resolves to the transaction hash
|
|
78
|
+
*
|
|
79
|
+
* @category utils
|
|
80
|
+
* @since 0.0.0
|
|
81
|
+
*/
|
|
82
|
+
export declare const writeContract: <const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, "nonpayable" | "payable">, args extends ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(params: WriteContractParameters<abi, functionName, args>) => Effect.Effect<`0x${string}`, WriteContractError, WalletClient>;
|
|
83
|
+
export declare const getBlockNumber: <const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, "nonpayable" | "payable">, args extends ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(params: WriteContractParameters<abi, functionName, args>) => Effect.Effect<`0x${string}`, WriteContractError, WalletClient>;
|
|
84
|
+
declare const ChannelDestination_base: Context.TagClass<ChannelDestination, "@unionlabs/sdk/Evm/ChannelDestination", Evm.Channel>;
|
|
85
|
+
/**
|
|
86
|
+
* @category context
|
|
87
|
+
* @since 0.0.0
|
|
88
|
+
*/
|
|
89
|
+
export declare class ChannelDestination extends ChannelDestination_base {
|
|
90
|
+
static Live: (self: Evm.Channel) => Layer.Layer<ChannelDestination, never, never>;
|
|
91
|
+
}
|
|
92
|
+
declare const ChannelSource_base: Context.TagClass<ChannelSource, "@unionlabs/sdk/Evm/ChannelSource", Evm.Channel>;
|
|
93
|
+
/**
|
|
94
|
+
* @category context
|
|
95
|
+
* @since 0.0.0
|
|
96
|
+
*/
|
|
97
|
+
export declare class ChannelSource extends ChannelSource_base {
|
|
98
|
+
static Live: (self: Evm.Channel) => Layer.Layer<ChannelSource, never, never>;
|
|
99
|
+
}
|
|
100
|
+
declare const PublicClientSource_base: Context.TagClass<PublicClientSource, "@unionlabs/sdk/Evm/PublicClientSource", Evm.PublicClient>;
|
|
101
|
+
/**
|
|
102
|
+
* @category context
|
|
103
|
+
* @since 0.0.0
|
|
104
|
+
*/
|
|
105
|
+
export declare class PublicClientSource extends PublicClientSource_base {
|
|
106
|
+
static Live: (parameters: {
|
|
107
|
+
key?: string | undefined | undefined;
|
|
108
|
+
name?: string | undefined | undefined;
|
|
109
|
+
chain?: ViemChain | undefined;
|
|
110
|
+
batch?: {
|
|
111
|
+
multicall?: boolean | V.Prettify<V.MulticallBatchOptions> | undefined;
|
|
112
|
+
} | undefined | undefined;
|
|
113
|
+
cacheTime?: number | undefined | undefined;
|
|
114
|
+
ccipRead?: {
|
|
115
|
+
request? /**
|
|
116
|
+
* @category models
|
|
117
|
+
* @since 0.0.0
|
|
118
|
+
*/: (parameters: V.CcipRequestParameters) => Promise<`0x${string}`>;
|
|
119
|
+
} | false | undefined | undefined;
|
|
120
|
+
experimental_blockTag?: V.BlockTag | undefined;
|
|
121
|
+
pollingInterval?: number | undefined | undefined;
|
|
122
|
+
transport: V.Transport;
|
|
123
|
+
rpcSchema?: V.RpcSchema | undefined;
|
|
124
|
+
}) => Layer.Layer<PublicClientSource, CreatePublicClientError, never>;
|
|
125
|
+
}
|
|
126
|
+
declare const PublicClientDestination_base: Context.TagClass<PublicClientDestination, "@unionlabs/sdk/Evm/PublicClientDestination", Evm.PublicClient>;
|
|
127
|
+
/**
|
|
128
|
+
* @category context
|
|
129
|
+
* @since 0.0.0
|
|
130
|
+
*/
|
|
131
|
+
export declare class PublicClientDestination extends PublicClientDestination_base {
|
|
132
|
+
static Live: (parameters: {
|
|
133
|
+
key?: string | undefined | undefined;
|
|
134
|
+
name?: string | undefined | undefined;
|
|
135
|
+
chain?: ViemChain | undefined;
|
|
136
|
+
batch?: {
|
|
137
|
+
multicall?: boolean | V.Prettify<V.MulticallBatchOptions> | undefined;
|
|
138
|
+
} | undefined | undefined;
|
|
139
|
+
cacheTime?: number | undefined | undefined;
|
|
140
|
+
ccipRead?: {
|
|
141
|
+
request? /**
|
|
142
|
+
* @category models
|
|
143
|
+
* @since 0.0.0
|
|
144
|
+
*/: (parameters: V.CcipRequestParameters) => Promise<`0x${string}`>;
|
|
145
|
+
} | false | undefined | undefined;
|
|
146
|
+
experimental_blockTag?: V.BlockTag | undefined;
|
|
147
|
+
pollingInterval?: number | undefined | undefined;
|
|
148
|
+
transport: V.Transport;
|
|
149
|
+
rpcSchema?: V.RpcSchema | undefined;
|
|
150
|
+
}) => Layer.Layer<PublicClientDestination, CreatePublicClientError, never>;
|
|
151
|
+
}
|
|
152
|
+
declare const PublicClient_base: Context.TagClass<PublicClient, "@unionlabs/sdk-evm/Evm/PublicClient", Evm.PublicClient>;
|
|
153
|
+
/**
|
|
154
|
+
* A neutral public client that can be used for general-purpose operations
|
|
155
|
+
* that don't specifically target source or destination chains
|
|
156
|
+
*
|
|
157
|
+
* @category context
|
|
158
|
+
* @since 0.0.0
|
|
159
|
+
*/
|
|
160
|
+
export declare class PublicClient extends PublicClient_base {
|
|
161
|
+
static Live: (parameters: {
|
|
162
|
+
key?: string | undefined | undefined;
|
|
163
|
+
name?: string | undefined | undefined;
|
|
164
|
+
chain?: ViemChain | undefined;
|
|
165
|
+
batch?: {
|
|
166
|
+
multicall?: boolean | V.Prettify<V.MulticallBatchOptions> | undefined;
|
|
167
|
+
} | undefined | undefined;
|
|
168
|
+
cacheTime?: number | undefined | undefined;
|
|
169
|
+
ccipRead?: {
|
|
170
|
+
request? /**
|
|
171
|
+
* @category models
|
|
172
|
+
* @since 0.0.0
|
|
173
|
+
*/: (parameters: V.CcipRequestParameters) => Promise<`0x${string}`>;
|
|
174
|
+
} | false | undefined | undefined;
|
|
175
|
+
experimental_blockTag?: V.BlockTag | undefined;
|
|
176
|
+
pollingInterval?: number | undefined | undefined;
|
|
177
|
+
transport: V.Transport;
|
|
178
|
+
rpcSchema?: V.RpcSchema | undefined;
|
|
179
|
+
}) => Layer.Layer<PublicClient, CreatePublicClientError, never>;
|
|
180
|
+
}
|
|
181
|
+
declare const WalletClient_base: Context.TagClass<WalletClient, "@unionlabs/sdk/Evm/WalletClient", Evm.WalletClient>;
|
|
182
|
+
/**
|
|
183
|
+
* A wallet client that can be used for signing transactions
|
|
184
|
+
*
|
|
185
|
+
* @category context
|
|
186
|
+
* @since 0.0.0
|
|
187
|
+
*/
|
|
188
|
+
export declare class WalletClient extends WalletClient_base {
|
|
189
|
+
static Live: (options: Parameters<typeof V.createWalletClient>[0] & {
|
|
190
|
+
account: V.Account;
|
|
191
|
+
chain: V.Chain;
|
|
192
|
+
}) => Layer.Layer<WalletClient, CreateWalletClientError, never>;
|
|
193
|
+
}
|
|
194
|
+
declare const ReadContractError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
195
|
+
readonly _tag: "@unionlabs/sdk/Evm/ReadContractError";
|
|
196
|
+
} & Readonly<A>;
|
|
197
|
+
/**
|
|
198
|
+
* @category errors
|
|
199
|
+
* @since 0.0.0
|
|
200
|
+
*/
|
|
201
|
+
export declare class ReadContractError extends ReadContractError_base<{
|
|
202
|
+
cause: ReadContractErrorType;
|
|
203
|
+
}> {
|
|
204
|
+
}
|
|
205
|
+
declare const WriteContractError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
206
|
+
readonly _tag: "@unionlabs/sdk/Evm/WriteContractError";
|
|
207
|
+
} & Readonly<A>;
|
|
208
|
+
/**
|
|
209
|
+
* @category errors
|
|
210
|
+
* @since 0.0.0
|
|
211
|
+
*/
|
|
212
|
+
export declare class WriteContractError extends WriteContractError_base<{
|
|
213
|
+
cause: WriteContractErrorType;
|
|
214
|
+
}> {
|
|
215
|
+
}
|
|
216
|
+
declare const SimulateContractError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
217
|
+
readonly _tag: "@unionlabs/sdk/Evm/SimulateContractError";
|
|
218
|
+
} & Readonly<A>;
|
|
219
|
+
/**
|
|
220
|
+
* @category errors
|
|
221
|
+
* @since 0.0.0
|
|
222
|
+
*/
|
|
223
|
+
export declare class SimulateContractError extends SimulateContractError_base<{
|
|
224
|
+
cause: SimulateContractErrorType;
|
|
225
|
+
}> {
|
|
226
|
+
}
|
|
227
|
+
declare const CreatePublicClientError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
228
|
+
readonly _tag: "@unionlabs/sdk/Evm/CreatePublicClientError";
|
|
229
|
+
} & Readonly<A>;
|
|
230
|
+
/**
|
|
231
|
+
* @category errors
|
|
232
|
+
* @since 0.0.0
|
|
233
|
+
*/
|
|
234
|
+
export declare class CreatePublicClientError extends CreatePublicClientError_base<{
|
|
235
|
+
cause: CreatePublicClientErrorType;
|
|
236
|
+
}> {
|
|
237
|
+
}
|
|
238
|
+
declare const CreateWalletClientError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
239
|
+
readonly _tag: "@unionlabs/sdk/Evm/CreateWalletClientError";
|
|
240
|
+
} & Readonly<A>;
|
|
241
|
+
/**
|
|
242
|
+
* @category errors
|
|
243
|
+
* @since 0.0.0
|
|
244
|
+
*/
|
|
245
|
+
export declare class CreateWalletClientError extends CreateWalletClientError_base<{
|
|
246
|
+
cause: CreateWalletClientErrorType;
|
|
247
|
+
}> {
|
|
248
|
+
}
|
|
249
|
+
export {};
|
|
250
|
+
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/internal/evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evmWalletClient.d.ts","sourceRoot":"","sources":["../../../src/internal/evmWalletClient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publicClient.d.ts","sourceRoot":"","sources":["../../../src/internal/publicClient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletClient.d.ts","sourceRoot":"","sources":["../../../src/internal/walletClient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import type { Address, Hex, PublicClient, WalletClient } from "viem";
|
|
2
|
+
import type { BalanceInfo, DepositResult, FullRedeemResult, GenerateProofResult, RedemptionHistoryEntry, TokenInfo, UnionPrivatePaymentsConfig, UpdateLightClientResult } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface ClientOptions {
|
|
7
|
+
proverUrl?: URL | undefined;
|
|
8
|
+
rpcUrl: URL;
|
|
9
|
+
chainId: bigint;
|
|
10
|
+
assetAddress: Address;
|
|
11
|
+
attestationUrl?: string | undefined;
|
|
12
|
+
attestorApiKey?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface UpdateLightClientOptions {
|
|
18
|
+
/** The light client ID to update */
|
|
19
|
+
clientId: number;
|
|
20
|
+
/** Block height to update to (bigint or 'latest') */
|
|
21
|
+
height: bigint | "latest";
|
|
22
|
+
/** viem WalletClient with account and chain configured */
|
|
23
|
+
walletClient: WalletClient;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export interface DepositOptions {
|
|
29
|
+
/** The 32-byte secret payment key as a hex string */
|
|
30
|
+
paymentKey: Hex;
|
|
31
|
+
/** Array of 0-4 beneficiary addresses*/
|
|
32
|
+
beneficiaries: Address[];
|
|
33
|
+
/** Amount to deposit (in underlying token's smallest unit) */
|
|
34
|
+
amount: bigint;
|
|
35
|
+
/** viem WalletClient with account and chain configured */
|
|
36
|
+
walletClient: WalletClient;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export interface GetBalanceOptions {
|
|
42
|
+
/** The deposit address (unspendable address) */
|
|
43
|
+
depositAddress: Address;
|
|
44
|
+
/** The nullifier for this paymentKey */
|
|
45
|
+
nullifier: bigint;
|
|
46
|
+
/** The light client ID to use for querying the source chain state */
|
|
47
|
+
clientId: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export interface RedeemOptions {
|
|
53
|
+
/** The 32-byte secret payment key as a hex string */
|
|
54
|
+
paymentKey: Hex;
|
|
55
|
+
/** Array of 0-4 beneficiary addresses */
|
|
56
|
+
beneficiaries: Address[];
|
|
57
|
+
/** The beneficiary address to redeem to */
|
|
58
|
+
beneficiary: Address;
|
|
59
|
+
/** Amount to redeem */
|
|
60
|
+
amount: bigint;
|
|
61
|
+
/** Light client IDs to include in the proof (for anonymity set) */
|
|
62
|
+
clientIds: number[];
|
|
63
|
+
/** The specific light client ID to use for the proof */
|
|
64
|
+
selectedClientId: number;
|
|
65
|
+
/** viem WalletClient with account and chain configured */
|
|
66
|
+
walletClient: WalletClient;
|
|
67
|
+
/** Auto unwrap */
|
|
68
|
+
unwrap?: boolean | undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Construct a {@link UnionPrivatePayments} client.
|
|
72
|
+
*
|
|
73
|
+
* @throws Error if asset is unrecognized.
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
export declare const make: (options: ClientOptions) => UnionPrivatePayments;
|
|
77
|
+
/**
|
|
78
|
+
* Union Private Payments client
|
|
79
|
+
*
|
|
80
|
+
* This class provides a high-level interface for performing private transfers
|
|
81
|
+
* using the Union protocol. It handles:
|
|
82
|
+
*
|
|
83
|
+
* - Generating unspendable addresses for deposits
|
|
84
|
+
*
|
|
85
|
+
* - Querying balances (confirmed, pending, redeemed, available)
|
|
86
|
+
*
|
|
87
|
+
* - Building witness data for proof generation
|
|
88
|
+
*
|
|
89
|
+
* - Communicating with the prover server
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* import { UnionPrivatePayments } from '@unionlabs/payments';
|
|
94
|
+
*
|
|
95
|
+
* const client = new UnionPrivatePayments({
|
|
96
|
+
* proverUrl: 'http://localhost:8080',
|
|
97
|
+
* sourceRpcUrl: 'https://eth-mainnet.alchemyapi.io/v2/...',
|
|
98
|
+
* destinationRpcUrl: 'https://arbitrum-mainnet.alchemyapi.io/v2/...',
|
|
99
|
+
* srcZAssetAddress: '0x...', // ZAsset on source chain
|
|
100
|
+
* dstZAssetAddress: '0x...', // ZAsset on destination chain
|
|
101
|
+
* sourceChainId: 1n,
|
|
102
|
+
* destinationChainId: 42161n,
|
|
103
|
+
* });
|
|
104
|
+
*
|
|
105
|
+
* // Generate deposit address
|
|
106
|
+
* const address = client.getDepositAddress(secret, beneficiaries);
|
|
107
|
+
*
|
|
108
|
+
* // Check balance
|
|
109
|
+
* const balance = await client.getBalance({ depositAddress, nullifier, clientId });
|
|
110
|
+
*
|
|
111
|
+
* // Generate proof for redemption
|
|
112
|
+
* const proof = await client.generateProof(secret, beneficiaries, beneficiary, amount, clientIds);
|
|
113
|
+
* ```
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
export declare class UnionPrivatePayments {
|
|
117
|
+
private config;
|
|
118
|
+
private srcClient;
|
|
119
|
+
private dstClient;
|
|
120
|
+
private proverClient;
|
|
121
|
+
constructor(config: UnionPrivatePaymentsConfig);
|
|
122
|
+
/**
|
|
123
|
+
* Get the deposit address for a given secret and beneficiaries
|
|
124
|
+
*
|
|
125
|
+
* The returned address is an "unspendable" address derived from the secret.
|
|
126
|
+
* Tokens sent to this address can only be redeemed via ZK proof.
|
|
127
|
+
*
|
|
128
|
+
* @param secret - The 32-byte secret as a hex string
|
|
129
|
+
* @param beneficiaries - Array of 1-4 beneficiary addresses (remaining slots zero-padded)
|
|
130
|
+
* @returns The unspendable deposit address
|
|
131
|
+
*/
|
|
132
|
+
getDepositAddress(secret: Hex, beneficiaries: Address[]): Address;
|
|
133
|
+
/**
|
|
134
|
+
* Get the nullifier for a given paymentKey
|
|
135
|
+
*
|
|
136
|
+
* The nullifier is used to prevent double-spending. Each (paymentKey, chainId) pair
|
|
137
|
+
* produces a unique nullifier that is recorded on-chain when funds are redeemed.
|
|
138
|
+
*
|
|
139
|
+
* @param paymentKey - The 32-byte paymentKey as a hex string
|
|
140
|
+
* @returns The nullifier as a bigint
|
|
141
|
+
*/
|
|
142
|
+
getNullifier(paymentKey: Hex): bigint;
|
|
143
|
+
/**
|
|
144
|
+
* Get balance information
|
|
145
|
+
*
|
|
146
|
+
* Returns:
|
|
147
|
+
* - confirmed: balance visible to light client (provable)
|
|
148
|
+
* - redeemed: amount already redeemed via nullifier
|
|
149
|
+
* - available: amount that can be redeemed now (confirmed - redeemed)
|
|
150
|
+
* - pending: deposits not yet visible to light client
|
|
151
|
+
*
|
|
152
|
+
* @param options - Options for getting balance
|
|
153
|
+
* @returns Balance information
|
|
154
|
+
*/
|
|
155
|
+
getBalance(options: GetBalanceOptions): Promise<BalanceInfo>;
|
|
156
|
+
/**
|
|
157
|
+
* Get balance information at a specific block height
|
|
158
|
+
*
|
|
159
|
+
* @param depositAddress - The deposit address (unspendable address)
|
|
160
|
+
* @param nullifier - The nullifier for this secret
|
|
161
|
+
* @param height - The block height to query confirmed balance at
|
|
162
|
+
* @returns Balance information at the given height
|
|
163
|
+
*/
|
|
164
|
+
getBalanceAtHeight(depositAddress: Address, nullifier: bigint, height: bigint): Promise<Omit<BalanceInfo, "lightClientHeight">>;
|
|
165
|
+
/**
|
|
166
|
+
* Generate a proof for redeeming funds
|
|
167
|
+
*
|
|
168
|
+
* This method:
|
|
169
|
+
* 1. Fetches light client data from the destination chain
|
|
170
|
+
* 2. Deterministically shuffles clients for privacy
|
|
171
|
+
* 3. Fetches MPT proof from the source chain
|
|
172
|
+
* 4. Builds the witness data
|
|
173
|
+
* 5. Sends the witness to the prover server
|
|
174
|
+
* 6. Polls until the proof is ready
|
|
175
|
+
*
|
|
176
|
+
* @param secret - The 32-byte secret as a hex string
|
|
177
|
+
* @param beneficiaries - Array of 0-4 beneficiary addresses (empty array = unbounded mode)
|
|
178
|
+
* @param beneficiary - The beneficiary address to redeem to
|
|
179
|
+
* @param amount - Amount to redeem
|
|
180
|
+
* @param clientIds - Light client IDs to include in the proof (for anonymity set)
|
|
181
|
+
* @param selectedClientId - The specific light client ID to use for the proof
|
|
182
|
+
* @returns GenerateProofResult containing proof result and client-side metadata
|
|
183
|
+
*/
|
|
184
|
+
generateProof(secret: Hex, beneficiaries: Address[], beneficiary: Address, amount: bigint, clientIds: number[], selectedClientId: number): Promise<GenerateProofResult>;
|
|
185
|
+
/**
|
|
186
|
+
* Export the verifier contract from the prover server
|
|
187
|
+
*
|
|
188
|
+
* The verifier contract is used to verify proofs on-chain.
|
|
189
|
+
* It is circuit-specific and does not change between proofs.
|
|
190
|
+
*
|
|
191
|
+
* @returns The Solidity verifier contract source code
|
|
192
|
+
*/
|
|
193
|
+
exportVerifier(): Promise<string>;
|
|
194
|
+
/**
|
|
195
|
+
* Get source ZAsset token information
|
|
196
|
+
*
|
|
197
|
+
* @returns Token symbol and decimals
|
|
198
|
+
*/
|
|
199
|
+
getSrcZAssetInfo(): Promise<TokenInfo>;
|
|
200
|
+
/**
|
|
201
|
+
* Get destination ZAsset token information
|
|
202
|
+
*
|
|
203
|
+
* @returns Token symbol and decimals
|
|
204
|
+
*/
|
|
205
|
+
getDstZAssetInfo(): Promise<TokenInfo>;
|
|
206
|
+
/**
|
|
207
|
+
* Deposit underlying tokens to ZAsset and transfer to deposit address
|
|
208
|
+
*
|
|
209
|
+
* Executes 3 transactions: approve → deposit → transfer.
|
|
210
|
+
* The wallet client must be connected to the source chain.
|
|
211
|
+
*
|
|
212
|
+
* @param secret - The 32-byte secret as a hex string
|
|
213
|
+
* @param beneficiaries - Array of 0-4 beneficiary addresses
|
|
214
|
+
* @param amount - Amount to deposit (in underlying token's smallest unit)
|
|
215
|
+
* @param walletClient - viem WalletClient with account and chain configured
|
|
216
|
+
* @returns Transaction hash, deposit address, underlying token, and chain ID
|
|
217
|
+
*/
|
|
218
|
+
deposit(options: DepositOptions): Promise<DepositResult>;
|
|
219
|
+
/**
|
|
220
|
+
* Deposit underlying tokens to ZAsset and transfer to deposit address
|
|
221
|
+
*
|
|
222
|
+
* Executes 3 transactions: approve → deposit → transfer.
|
|
223
|
+
* The wallet client must be connected to the source chain.
|
|
224
|
+
*
|
|
225
|
+
* @param secret - The 32-byte secret as a hex string
|
|
226
|
+
* @param beneficiaries - Array of 0-4 beneficiary addresses
|
|
227
|
+
* @param amount - Amount to deposit (in underlying token's smallest unit)
|
|
228
|
+
* @param walletClient - viem WalletClient with account and chain configured
|
|
229
|
+
* @returns Transaction hash, deposit address, underlying token, and chain ID
|
|
230
|
+
*/
|
|
231
|
+
unsafeDeposit(options: DepositOptions): Promise<DepositResult>;
|
|
232
|
+
/**
|
|
233
|
+
* Update loopback light client to a specific block height
|
|
234
|
+
*
|
|
235
|
+
* Fetches the IBC handler address internally from the destination ZAsset.
|
|
236
|
+
* The wallet client must be connected to the destination chain.
|
|
237
|
+
*
|
|
238
|
+
* @returns Transaction hash, block number, state root, and chain ID
|
|
239
|
+
*/
|
|
240
|
+
updateLightClient(options: UpdateLightClientOptions): Promise<UpdateLightClientResult>;
|
|
241
|
+
/**
|
|
242
|
+
* Update loopback light client to a specific block height
|
|
243
|
+
*
|
|
244
|
+
* Fetches the IBC handler address internally from the destination ZAsset.
|
|
245
|
+
* The wallet client must be connected to the destination chain.
|
|
246
|
+
*
|
|
247
|
+
* @returns Transaction hash, block number, state root, and chain ID
|
|
248
|
+
*/
|
|
249
|
+
unsafeUpdateLightClient(options: UpdateLightClientOptions): Promise<UpdateLightClientResult>;
|
|
250
|
+
/**
|
|
251
|
+
* Get redemption history for a secret
|
|
252
|
+
*
|
|
253
|
+
* Queries the Redeemed events filtered by the nullifier derived from the secret.
|
|
254
|
+
* This is a read-only operation that doesn't require a wallet.
|
|
255
|
+
*
|
|
256
|
+
* @param secret - The 32-byte secret as a hex string
|
|
257
|
+
* @param fromBlock - Start block number (default: earliest)
|
|
258
|
+
* @param toBlock - End block number (default: latest)
|
|
259
|
+
* @returns Array of redemption transactions
|
|
260
|
+
*/
|
|
261
|
+
getRedemptionHistory(secret: Hex, fromBlock?: bigint, toBlock?: bigint): Promise<RedemptionHistoryEntry[]>;
|
|
262
|
+
/**
|
|
263
|
+
* Get redemption history for a secret
|
|
264
|
+
*
|
|
265
|
+
* Queries the Redeemed events filtered by the nullifier derived from the secret.
|
|
266
|
+
* This is a read-only operation that doesn't require a wallet.
|
|
267
|
+
*
|
|
268
|
+
* @param secret - The 32-byte secret as a hex string
|
|
269
|
+
* @param fromBlock - Start block number (default: earliest)
|
|
270
|
+
* @param toBlock - End block number (default: latest)
|
|
271
|
+
* @returns Array of redemption transactions
|
|
272
|
+
*/
|
|
273
|
+
unsafeGetRedemptionHistory(secret: Hex, fromBlock?: bigint, toBlock?: bigint): Promise<RedemptionHistoryEntry[]>;
|
|
274
|
+
/**
|
|
275
|
+
* Full redeem flow: generate proof + get attestation + submit transaction
|
|
276
|
+
*
|
|
277
|
+
* This method orchestrates the entire redemption process:
|
|
278
|
+
* 1. Generates a ZK proof via the prover server
|
|
279
|
+
* 2. Gets attestation from the attestation service
|
|
280
|
+
* 3. Submits the redeem transaction
|
|
281
|
+
*
|
|
282
|
+
* The wallet client must be connected to the destination chain.
|
|
283
|
+
*
|
|
284
|
+
* @returns Transaction hash, proof, and metadata
|
|
285
|
+
*/
|
|
286
|
+
redeem(options: RedeemOptions): Promise<FullRedeemResult>;
|
|
287
|
+
/**
|
|
288
|
+
* Full redeem flow: generate proof + get attestation + submit transaction
|
|
289
|
+
*
|
|
290
|
+
* This method orchestrates the entire redemption process:
|
|
291
|
+
* 1. Generates a ZK proof via the prover server
|
|
292
|
+
* 2. Gets attestation from the attestation service
|
|
293
|
+
* 3. Submits the redeem transaction
|
|
294
|
+
*
|
|
295
|
+
* The wallet client must be connected to the destination chain.
|
|
296
|
+
*
|
|
297
|
+
* @returns Transaction hash, proof, and metadata
|
|
298
|
+
*/
|
|
299
|
+
unsafeRedeem(options: RedeemOptions): Promise<FullRedeemResult>;
|
|
300
|
+
/**
|
|
301
|
+
* Pad beneficiaries array to exactly 4 addresses
|
|
302
|
+
* Empty array = unbounded mode (all zeros, any beneficiary allowed)
|
|
303
|
+
*/
|
|
304
|
+
private padBeneficiaries;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Wait for predicate on block height
|
|
308
|
+
* @public
|
|
309
|
+
*/
|
|
310
|
+
export declare const waitForBlockCondition: <T extends PublicClient>(publicClient: T, predicate: (blockNumber: bigint) => boolean, options?: {
|
|
311
|
+
timeoutMs?: number | undefined;
|
|
312
|
+
}) => Promise<bigint>;
|
|
313
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/legacy/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ProofResult, WitnessData } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Prover client for communicating with the prover gRPC-web server
|
|
4
|
+
*
|
|
5
|
+
* Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare class ProverClient {
|
|
9
|
+
private client;
|
|
10
|
+
private pollIntervalMs;
|
|
11
|
+
private maxPollAttempts;
|
|
12
|
+
constructor(proverUrl: string, options?: {
|
|
13
|
+
pollIntervalMs?: number;
|
|
14
|
+
maxPollAttempts?: number;
|
|
15
|
+
});
|
|
16
|
+
/**
|
|
17
|
+
* Generate a proof by sending witness data to the prover server
|
|
18
|
+
*
|
|
19
|
+
* The server handles witness transformation internally, so we send
|
|
20
|
+
* the structured WitnessData instead of pre-serialized circuit witness bytes.
|
|
21
|
+
*/
|
|
22
|
+
generateProof(witness: WitnessData): Promise<ProofResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Export the verifier contract from the prover server
|
|
25
|
+
*/
|
|
26
|
+
exportVerifier(): Promise<string>;
|
|
27
|
+
private witnessToProto;
|
|
28
|
+
private sleep;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=prover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../../../src/legacy/prover.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAG9B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IAWH;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAkD/D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Compute the nullifier: Poseidon2(0xDEAD || chainId || secret)
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export declare function computeNullifier(secret: Hex, dstChainId: bigint): bigint;
|
|
7
|
+
/**
|
|
8
|
+
* Generate a random secret valid for BN254 scalar field
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare function generatePaymentKey(): Hex;
|
|
12
|
+
/**
|
|
13
|
+
* Compute the unspendable address: bottom 160 bits of
|
|
14
|
+
* Poseidon2(0xDEAF || dstChainId || secret || beneficiary1..4)
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare function computeUnspendableAddress(secret: Hex, dstChainId: bigint, beneficiaries: [Address, Address, Address, Address]): Address;
|
|
18
|
+
//# sourceMappingURL=poseidon2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poseidon2.d.ts","sourceRoot":"","sources":["../../src/poseidon2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAyLzC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAiBxC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAClD,OAAO,CAiBT"}
|