@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 @@
|
|
|
1
|
+
{"version":3,"file":"EvmPublicClient.d.ts","sourceRoot":"","sources":["../../src/EvmPublicClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAIlC,OAAO,KAAK,EAGV,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAG5C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAA8C,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,qCAAqC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,YAAY;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,yBAAyB,EAAE,CAClC,IAAI,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEnE,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;KACzB,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,+CAE3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAgBvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GACnB,QAAQ,IAAI,CAAC,YAAY,KACxB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAubnD,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,IAAI,CAAC,YAAY,KACxB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAOjE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import type * as P from "effect/Predicate";
|
|
5
|
+
import type * as Scope from "effect/Scope";
|
|
6
|
+
import type * as Mipd from "mipd";
|
|
7
|
+
import type * as Viem from "viem";
|
|
8
|
+
import * as Error from "./Error.js";
|
|
9
|
+
import * as Client from "./WalletClient.js";
|
|
10
|
+
/**
|
|
11
|
+
* @category type ids
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
export declare const TypeId: TypeId;
|
|
15
|
+
/**
|
|
16
|
+
* @category type ids
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*/
|
|
19
|
+
export type TypeId = "@unionlabs/payments/EvmWalletClient";
|
|
20
|
+
/**
|
|
21
|
+
* @category models
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
*/
|
|
24
|
+
export interface EvmWalletClient extends Client.WalletClient {
|
|
25
|
+
readonly [TypeId]: TypeId;
|
|
26
|
+
readonly prepareBatchTransactionRequest: (calls: Array<{
|
|
27
|
+
to: `0x${string}`;
|
|
28
|
+
data: `0x${string}`;
|
|
29
|
+
value?: bigint;
|
|
30
|
+
}>) => Effect.Effect<Array<any>, Error.SdkError, never>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @category tags
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
*/
|
|
36
|
+
export declare const EvmWalletClient: Context.Tag<EvmWalletClient, EvmWalletClient>;
|
|
37
|
+
/**
|
|
38
|
+
* @category constructors
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
export type EvmWalletClientConfig = {};
|
|
42
|
+
/**
|
|
43
|
+
* A type-safe wrapper around viem's writeContract that handles error cases
|
|
44
|
+
* and returns an Effect with proper type inference. Extracts all error info
|
|
45
|
+
*
|
|
46
|
+
* @param client - The viem WalletClient to use for the contract transaction
|
|
47
|
+
* @param params - The parameters for the contract transaction
|
|
48
|
+
* @returns An Effect that resolves to the transaction hash
|
|
49
|
+
*
|
|
50
|
+
* @category utils
|
|
51
|
+
* @since 0.0.0
|
|
52
|
+
*/
|
|
53
|
+
export declare const makeViem: <transport extends Viem.Transport = Viem.Transport, chain extends Viem.Chain | undefined = Viem.Chain | undefined, account extends Viem.Account | undefined = Viem.Account | undefined, rpcSchema extends Viem.RpcSchema | undefined = undefined>(wallet: Viem.WalletClient<transport, chain, account, rpcSchema>) => Effect.Effect<EvmWalletClient, Error.SdkError, Scope.Scope>;
|
|
54
|
+
/**
|
|
55
|
+
* @category layers
|
|
56
|
+
* @since 1.0.0
|
|
57
|
+
*/
|
|
58
|
+
export declare const layerFromViem: (config: Viem.WalletClient) => Layer.Layer<EvmWalletClient | Client.WalletClient, Error.SdkError>;
|
|
59
|
+
/**
|
|
60
|
+
* @category layers
|
|
61
|
+
* @since 1.0.0
|
|
62
|
+
*/
|
|
63
|
+
export declare const layerFromBrowser: (options: {
|
|
64
|
+
providerPredicate: P.Predicate<Mipd.EIP6963ProviderDetail>;
|
|
65
|
+
accountPredicate: P.Predicate<`0x${string}`>;
|
|
66
|
+
}) => Layer.Layer<EvmWalletClient | Client.WalletClient, Error.SdkError>;
|
|
67
|
+
//# sourceMappingURL=EvmWalletClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmWalletClient.d.ts","sourceRoot":"","sources":["../../src/EvmWalletClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAKlC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAA8C,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,qCAAqC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,YAAY;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,8BAA8B,EAAE,CACvC,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,KACC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;CACvD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,+CAE3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,SAAS,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EACjD,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,EAC7D,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,EACnE,SAAS,SAAS,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,EAExD,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,KAC9D,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAqyBzD,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,IAAI,CAAC,YAAY,KACxB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAOjE,CAAC;AA6HJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS;IACxC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;CAC9C,KAAG,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAC3B,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* - for deposits you only need to sign on the source chain
|
|
3
|
+
* - for redemptions you need wallet on dest chain
|
|
4
|
+
*/
|
|
5
|
+
import { Effect } from "effect";
|
|
6
|
+
import { type Address } from "viem";
|
|
7
|
+
import * as Attestor from "./Attestor.js";
|
|
8
|
+
import type { Erc20Address } from "./Domain.js";
|
|
9
|
+
import * as Domain from "./Domain.js";
|
|
10
|
+
import * as Error from "./Error.js";
|
|
11
|
+
import * as Prover from "./Prover.js";
|
|
12
|
+
import * as PublicClient from "./PublicClient.js";
|
|
13
|
+
import type * as PS from "./Schema.js";
|
|
14
|
+
import type { LightClientData } from "./types.js";
|
|
15
|
+
import * as WalletClient from "./WalletClient.js";
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export interface DepositOptions {
|
|
20
|
+
/** The 32-byte secret payment key as a hex string */
|
|
21
|
+
readonly paymentKey: PS.Hex;
|
|
22
|
+
/** Array of 0-4 beneficiary addresses*/
|
|
23
|
+
readonly beneficiaries: ReadonlyArray<Address>;
|
|
24
|
+
/** Amount to deposit (in underlying token's smallest unit) */
|
|
25
|
+
readonly amount: bigint;
|
|
26
|
+
readonly destinationChainId: bigint;
|
|
27
|
+
readonly sourceChainId: bigint;
|
|
28
|
+
readonly srcErc20Address: Domain.Erc20Address;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export interface RedeemOptions {
|
|
34
|
+
/** The 32-byte secret payment key as a hex string */
|
|
35
|
+
paymentKey: PS.Hex;
|
|
36
|
+
/** Array of 0-4 beneficiary addresses */
|
|
37
|
+
beneficiaries: Address[];
|
|
38
|
+
/** The beneficiary address to redeem to */
|
|
39
|
+
beneficiary: Address;
|
|
40
|
+
/** Amount to redeem */
|
|
41
|
+
amount: bigint;
|
|
42
|
+
/** Light client IDs to include in the proof (for anonymity set) */
|
|
43
|
+
clientIds: number[];
|
|
44
|
+
/** The specific light client ID to use for the proof */
|
|
45
|
+
selectedClientId: number;
|
|
46
|
+
/** Auto unwrap */
|
|
47
|
+
unwrap?: boolean | undefined;
|
|
48
|
+
}
|
|
49
|
+
export declare const getDepositAddress: (secret: `0x${string}`, beneficiaries: readonly `0x${string}`[], destinationChainId: bigint) => Effect.Effect<Domain.ZAssetAddress, Error.SystemError, never>;
|
|
50
|
+
export declare const getNullifier: (secret: `0x${string}`, destinationChainId: bigint) => Effect.Effect<bigint, Error.SystemError, never>;
|
|
51
|
+
/**
|
|
52
|
+
* Deterministically shuffle light clients using the secret as seed.
|
|
53
|
+
* Same secret always produces the same ordering for privacy.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export declare function deterministicShuffleClients(clients: LightClientData[], secret: PS.Hex): LightClientData[];
|
|
57
|
+
export declare const computeStorageSlot: (address: `0x${string}`, mappingSlot: bigint) => Effect.Effect<`0x${string}`, never, never>;
|
|
58
|
+
export declare const generateProof: (options: {
|
|
59
|
+
secret: PS.Hex;
|
|
60
|
+
beneficiaries: Address[];
|
|
61
|
+
beneficiary: Address;
|
|
62
|
+
amount: bigint;
|
|
63
|
+
clientIds: number[];
|
|
64
|
+
selectedClientId: number;
|
|
65
|
+
srcChainId: bigint;
|
|
66
|
+
dstChainId: bigint;
|
|
67
|
+
srcErc20Address: Erc20Address;
|
|
68
|
+
dstErc20Address: Erc20Address;
|
|
69
|
+
}) => Effect.Effect<{
|
|
70
|
+
readonly proof: {
|
|
71
|
+
readonly proof: readonly [string, string, string, string, string, string, string, string];
|
|
72
|
+
readonly commitments: readonly [string, string];
|
|
73
|
+
readonly commitmentPok: readonly [string, string];
|
|
74
|
+
readonly publicInputs: readonly string[];
|
|
75
|
+
};
|
|
76
|
+
readonly metadata: {
|
|
77
|
+
readonly depositAddress: Domain.ZAssetAddress;
|
|
78
|
+
readonly beneficiary: `0x${string}`;
|
|
79
|
+
readonly value: bigint;
|
|
80
|
+
readonly lightClients: LightClientData[];
|
|
81
|
+
readonly nullifier: bigint;
|
|
82
|
+
};
|
|
83
|
+
}, Error.SdkError | {
|
|
84
|
+
proof: {
|
|
85
|
+
success: boolean;
|
|
86
|
+
error: string;
|
|
87
|
+
};
|
|
88
|
+
}, PublicClient.PublicClient | PublicClient.SourcePublicClient | PublicClient.DestinationPublicClient | Prover.Prover>;
|
|
89
|
+
export declare const prepareRedemption: (options: {
|
|
90
|
+
/** The 32-byte secret payment key as a hex string */
|
|
91
|
+
paymentKey: PS.Hex;
|
|
92
|
+
/** Array of 0-4 beneficiary addresses */
|
|
93
|
+
beneficiaries: Address[];
|
|
94
|
+
/** The beneficiary address to redeem to */
|
|
95
|
+
beneficiary: Address;
|
|
96
|
+
/** Amount to redeem */
|
|
97
|
+
amount: bigint;
|
|
98
|
+
/** Light client IDs to include in the proof (for anonymity set) */
|
|
99
|
+
clientIds: number[];
|
|
100
|
+
/** The specific light client ID to use for the proof */
|
|
101
|
+
selectedClientId: number;
|
|
102
|
+
srcChainId: bigint;
|
|
103
|
+
dstChainId: bigint;
|
|
104
|
+
srcErc20Address: Domain.Erc20Address;
|
|
105
|
+
dstErc20Address: Domain.Erc20Address;
|
|
106
|
+
/** Auto unwrap */
|
|
107
|
+
unwrap?: boolean | undefined;
|
|
108
|
+
}) => Effect.Effect<{
|
|
109
|
+
readonly _tag: "viem";
|
|
110
|
+
readonly kind: Domain.RequestKind;
|
|
111
|
+
readonly request: import("viem").PrepareTransactionRequestReturnType;
|
|
112
|
+
}, Error.SdkError | {
|
|
113
|
+
proof: {
|
|
114
|
+
success: boolean;
|
|
115
|
+
error: string;
|
|
116
|
+
};
|
|
117
|
+
}, Attestor.Attestor | PublicClient.PublicClient | PublicClient.SourcePublicClient | PublicClient.DestinationPublicClient | WalletClient.DestinationWalletClient | Prover.Prover>;
|
|
118
|
+
export declare const generateKey: Effect.Effect<`0x${string}`, never, never>;
|
|
119
|
+
export declare const prepareDeposit: (options: DepositOptions) => Effect.Effect<readonly [{
|
|
120
|
+
readonly _tag: "viem";
|
|
121
|
+
readonly kind: Domain.RequestKind;
|
|
122
|
+
readonly request: import("viem").PrepareTransactionRequestReturnType;
|
|
123
|
+
}, ...{
|
|
124
|
+
readonly _tag: "viem";
|
|
125
|
+
readonly kind: Domain.RequestKind;
|
|
126
|
+
readonly request: import("viem").PrepareTransactionRequestReturnType;
|
|
127
|
+
}[]], Error.SdkError, WalletClient.SourceWalletClient>;
|
|
128
|
+
//# sourceMappingURL=Payment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payment.d.ts","sourceRoot":"","sources":["../../src/Payment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAEtC,OAAO,EACL,KAAK,OAAO,EAQb,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAMlD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC;IACnB,yCAAyC;IACzC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,+JAgB7B,CAAC;AAuBF,eAAO,MAAM,YAAY,wGAYxB,CAAC;AACF;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,EAAE,EAC1B,MAAM,EAAE,EAAE,CAAC,GAAG,GACb,eAAe,EAAE,CA8BnB;AAED,eAAO,MAAM,kBAAkB,6FAW7B,CAAC;AAoCH,eAAO,MAAM,aAAa;YAChB,EAAE,CAAC,GAAG;mBACC,OAAO,EAAE;iBACX,OAAO;YACZ,MAAM;eACH,MAAM,EAAE;sBACD,MAAM;gBACZ,MAAM;gBACN,MAAM;qBACD,YAAY;qBACZ,YAAY;;;;;;;;;;;;;;;;;;;;sHA4J7B,CAAC;AAqCH,eAAO,MAAM,iBAAiB;IAC5B,qDAAqD;gBACzC,EAAE,CAAC,GAAG;IAClB,yCAAyC;mBAC1B,OAAO,EAAE;IACxB,2CAA2C;iBAC9B,OAAO;IACpB,uBAAuB;YACf,MAAM;IACd,mEAAmE;eACxD,MAAM,EAAE;IACnB,wDAAwD;sBACtC,MAAM;gBACZ,MAAM;gBACN,MAAM;qBACD,MAAM,CAAC,YAAY;qBACnB,MAAM,CAAC,YAAY;IACpC,kBAAkB;aACT,OAAO,GAAG,SAAS;;;;;;;;;;iLAqD5B,CAAC;AAEH,eAAO,MAAM,WAAW,4CAiBtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;sDAmB1B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
export declare const PaymentErrorTypeId: unique symbol;
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export type PaymentErrorTypeId = typeof PaymentErrorTypeId;
|
|
9
|
+
declare const PaymentError_base: new <A extends Record<string, any>>(args: import("effect/Types").Simplify<A>) => import("effect/Cause").YieldableError & Record<typeof PaymentErrorTypeId, typeof PaymentErrorTypeId> & {
|
|
10
|
+
readonly _tag: "PaymentError";
|
|
11
|
+
} & Readonly<A>;
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
*/
|
|
15
|
+
export declare class PaymentError extends PaymentError_base<{
|
|
16
|
+
cause: unknown;
|
|
17
|
+
message?: string;
|
|
18
|
+
}> {
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=PaymentError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentError.d.ts","sourceRoot":"","sources":["../../src/PaymentError.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAEvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;;;;AAE3D;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAGhC;IACA,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;CAAG"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type * as P from "effect/Predicate";
|
|
3
|
+
import * as S from "effect/Schema";
|
|
4
|
+
import type { Address, Hex } from "viem";
|
|
5
|
+
import type * as Domain from "./Domain.js";
|
|
6
|
+
import * as Error from "./Error.js";
|
|
7
|
+
import * as GenProver from "./gen/prover_pb.js";
|
|
8
|
+
import type { LightClientData, MptProofData } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Result from the prover server after proof generation.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface ProofResult {
|
|
14
|
+
/** Whether proof generation succeeded */
|
|
15
|
+
success: boolean;
|
|
16
|
+
/** Serialized proof data (only present on success) */
|
|
17
|
+
proofJson?: Uint8Array;
|
|
18
|
+
/** Error message (only present on failure) */
|
|
19
|
+
error?: string;
|
|
20
|
+
/** Timestamp when the proof was created */
|
|
21
|
+
createdAt?: Date;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export interface WitnessData {
|
|
27
|
+
secret: Hex;
|
|
28
|
+
dstChainId: bigint;
|
|
29
|
+
beneficiaries: [Address, Address, Address, Address];
|
|
30
|
+
beneficiary: Address;
|
|
31
|
+
redeemAmount: bigint;
|
|
32
|
+
alreadyRedeemed: bigint;
|
|
33
|
+
lightClients: LightClientData[];
|
|
34
|
+
selectedClientIndex: number;
|
|
35
|
+
mptProof: MptProofData;
|
|
36
|
+
srcZAssetAddress: Domain.ZAssetAddress;
|
|
37
|
+
mappingSlot: Hex;
|
|
38
|
+
}
|
|
39
|
+
type PollResult = GenProver.PollResponse["result"];
|
|
40
|
+
type PendingResult = Extract<PollResult, {
|
|
41
|
+
case: "pending";
|
|
42
|
+
}>;
|
|
43
|
+
type DoneResult = Extract<PollResult, {
|
|
44
|
+
case: "done";
|
|
45
|
+
}>;
|
|
46
|
+
type FailedResult = Extract<PollResult, {
|
|
47
|
+
case: "failed";
|
|
48
|
+
}>;
|
|
49
|
+
export declare const isPending: P.Refinement<PollResult, PendingResult>;
|
|
50
|
+
export declare const isDone: P.Refinement<PollResult, DoneResult>;
|
|
51
|
+
export declare const isFailed: P.Refinement<PollResult, FailedResult>;
|
|
52
|
+
export declare const Proof: S.Struct<{
|
|
53
|
+
proof: S.Tuple<[typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String]>;
|
|
54
|
+
commitments: S.Tuple2<typeof S.String, typeof S.String>;
|
|
55
|
+
commitmentPok: S.Tuple2<typeof S.String, typeof S.String>;
|
|
56
|
+
publicInputs: S.Array$<typeof S.String>;
|
|
57
|
+
}>;
|
|
58
|
+
export type Proof = typeof Proof.Type;
|
|
59
|
+
export declare const ProofFromBytes: S.transform<S.transform<typeof S.Uint8ArrayFromSelf, typeof S.String>, S.transform<S.SchemaClass<unknown, string, never>, S.Struct<{
|
|
60
|
+
proof: S.Tuple<[typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String]>;
|
|
61
|
+
commitments: S.Tuple2<typeof S.String, typeof S.String>;
|
|
62
|
+
commitmentPok: S.Tuple2<typeof S.String, typeof S.String>;
|
|
63
|
+
publicInputs: S.Array$<typeof S.String>;
|
|
64
|
+
}>>>;
|
|
65
|
+
declare const Prover_base: Effect.Service.Class<Prover, "Prover", {
|
|
66
|
+
readonly scoped: (options: {
|
|
67
|
+
readonly proverUrl?: string | URL | undefined;
|
|
68
|
+
}) => Effect.Effect<{
|
|
69
|
+
readonly generateProof: (witness: WitnessData) => Effect.Effect<{
|
|
70
|
+
readonly proof: readonly [string, string, string, string, string, string, string, string];
|
|
71
|
+
readonly commitments: readonly [string, string];
|
|
72
|
+
readonly commitmentPok: readonly [string, string];
|
|
73
|
+
readonly publicInputs: readonly string[];
|
|
74
|
+
}, Error.SystemError, never>;
|
|
75
|
+
readonly exportVerifier: Effect.Effect<string, Error.SystemError, never>;
|
|
76
|
+
}, Error.SystemError, never>;
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Prover client for communicating with the prover gRPC-web server
|
|
80
|
+
*
|
|
81
|
+
* Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
|
|
82
|
+
* @public
|
|
83
|
+
*/
|
|
84
|
+
export declare class Prover extends Prover_base {
|
|
85
|
+
}
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=Prover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prover.d.ts","sourceRoot":"","sources":["../../src/Prover.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,MAAM,EAAyB,MAAM,QAAQ,CAAC;AAC7D,OAAO,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAShE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC;IACvC,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,KAAK,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnD,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAC9D,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE5D,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,aAAa,CAEP,CAAC;AAExD,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAEP,CAAC;AAElD,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAEP,CAAC;AAKtD,eAAO,MAAM,KAAK;;;;;EAehB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAEtC,eAAO,MAAM,cAAc;;;;;IAM1B,CAAC;;;;;;;;;;;;;;AAEF;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,WAuI1B;CAAG"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import type * as Effect from "effect/Effect";
|
|
4
|
+
import type { GetProofReturnType } from "viem";
|
|
5
|
+
import type * as Domain from "./Domain.js";
|
|
6
|
+
import type { SdkError } from "./Error.js";
|
|
7
|
+
import type { ConsensusState, CounterpartyInfo } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* @category type ids
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export declare const TypeId: unique symbol;
|
|
13
|
+
/**
|
|
14
|
+
* @category type ids
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
*/
|
|
17
|
+
export type TypeId = typeof TypeId;
|
|
18
|
+
/**
|
|
19
|
+
* @category models
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
*/
|
|
22
|
+
export interface PublicClient {
|
|
23
|
+
readonly [TypeId]: TypeId;
|
|
24
|
+
/**
|
|
25
|
+
* Copy of the client for safeql etc.
|
|
26
|
+
*/
|
|
27
|
+
readonly safe: this;
|
|
28
|
+
readonly getLatestHeight: (lightClientAddress: Domain.LightClientAddress, clientId: number) => Effect.Effect<bigint, SdkError, never>;
|
|
29
|
+
readonly getLatestBlockNumber: () => Effect.Effect<bigint, SdkError>;
|
|
30
|
+
readonly readBalance: (options: PublicClient.ReadBalanceOptions) => Effect.Effect<PublicClient.BalanceInfo, SdkError>;
|
|
31
|
+
readonly readBalanceAtHeight: (options: PublicClient.ReadBalanceAtHeightOptions) => Effect.Effect<PublicClient.BalanceAtHeightInfo, SdkError>;
|
|
32
|
+
readonly getLightClientAddress: (ibcStoreAddress: Domain.IbcHandlerAddress, clientId: number) => Effect.Effect<Domain.LightClientAddress, SdkError, never>;
|
|
33
|
+
readonly getStateRootIndex: (zAssetAddress: Domain.ZAssetAddress, clientId: number) => Effect.Effect<bigint, SdkError, never>;
|
|
34
|
+
readonly getConsensusState: (lightClientAddress: Domain.LightClientAddress, clientId: number, height: bigint, satteRootIndex: bigint) => Effect.Effect<ConsensusState, SdkError, never>;
|
|
35
|
+
readonly getIbcHandlerAddress: (zAssetAddress: Domain.ZAssetAddress) => Effect.Effect<Domain.IbcHandlerAddress, SdkError, never>;
|
|
36
|
+
readonly getCounterparty: (zAssetAddress: Domain.ZAssetAddress, clientId: number) => Effect.Effect<CounterpartyInfo, SdkError, never>;
|
|
37
|
+
readonly getProof: (options: {
|
|
38
|
+
address: `0x${string}`;
|
|
39
|
+
storageKeys: `0x${string}`[];
|
|
40
|
+
blockNumber: bigint;
|
|
41
|
+
}) => Effect.Effect<GetProofReturnType, SdkError, never>;
|
|
42
|
+
readonly waitForBlock: (targetHeight: bigint) => Effect.Effect<bigint, SdkError, never>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @category models
|
|
46
|
+
* @since 1.0.0
|
|
47
|
+
*/
|
|
48
|
+
export declare const PublicClient: Context.Tag<PublicClient, PublicClient>;
|
|
49
|
+
declare const SourcePublicClient_base: Context.TagClass<SourcePublicClient, "SourcePublicClient", PublicClient>;
|
|
50
|
+
/**
|
|
51
|
+
* @category models
|
|
52
|
+
* @since 1.0.0
|
|
53
|
+
*/
|
|
54
|
+
export declare class SourcePublicClient extends SourcePublicClient_base {
|
|
55
|
+
static layer: <E, R>(layer: Layer.Layer<PublicClient, E, R>) => Layer.Layer<SourcePublicClient, E, R>;
|
|
56
|
+
}
|
|
57
|
+
declare const DestinationPublicClient_base: Context.TagClass<DestinationPublicClient, "DestinationPublicClient", PublicClient>;
|
|
58
|
+
/**
|
|
59
|
+
* @category models
|
|
60
|
+
* @since 1.0.0
|
|
61
|
+
*/
|
|
62
|
+
export declare class DestinationPublicClient extends DestinationPublicClient_base {
|
|
63
|
+
static layer: <E, R>(layer: Layer.Layer<PublicClient, E, R>) => Layer.Layer<DestinationPublicClient, E, R>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @category models
|
|
67
|
+
* @since 1.0.0
|
|
68
|
+
*/
|
|
69
|
+
export declare namespace PublicClient {
|
|
70
|
+
/**
|
|
71
|
+
* Consensus state from a light client
|
|
72
|
+
* @category models
|
|
73
|
+
* @since 1.0.0
|
|
74
|
+
*/
|
|
75
|
+
interface ConsensusState {
|
|
76
|
+
readonly stateRoot: `0x${string}`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Options for readBalance
|
|
80
|
+
* @category models
|
|
81
|
+
* @since 1.0.0
|
|
82
|
+
*/
|
|
83
|
+
interface ReadBalanceOptions {
|
|
84
|
+
readonly srcErc20Address: Domain.Erc20Address;
|
|
85
|
+
readonly srcChainId: bigint;
|
|
86
|
+
readonly dstErc20Address: Domain.Erc20Address;
|
|
87
|
+
readonly dstChainId: bigint;
|
|
88
|
+
readonly depositAddress: `0x${string}`;
|
|
89
|
+
readonly nullifier: bigint;
|
|
90
|
+
readonly clientId: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Options for readBalanceAtHeight
|
|
94
|
+
* @category models
|
|
95
|
+
* @since 1.0.0
|
|
96
|
+
*/
|
|
97
|
+
interface ReadBalanceAtHeightOptions {
|
|
98
|
+
readonly srcErc20Address: Domain.Erc20Address;
|
|
99
|
+
readonly dstErc20Address: Domain.Erc20Address;
|
|
100
|
+
readonly srcChainId: bigint;
|
|
101
|
+
readonly dstChainId: bigint;
|
|
102
|
+
readonly depositAddress: `0x${string}`;
|
|
103
|
+
readonly nullifier: bigint;
|
|
104
|
+
readonly height: bigint;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Balance information at a specific height
|
|
108
|
+
* @category models
|
|
109
|
+
* @since 1.0.0
|
|
110
|
+
*/
|
|
111
|
+
interface BalanceAtHeightInfo {
|
|
112
|
+
readonly confirmed: bigint;
|
|
113
|
+
readonly redeemed: bigint;
|
|
114
|
+
readonly available: bigint;
|
|
115
|
+
readonly pending: bigint;
|
|
116
|
+
readonly latestHeight: bigint;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Full balance information including light client height
|
|
120
|
+
* @category models
|
|
121
|
+
* @since 1.0.0
|
|
122
|
+
*/
|
|
123
|
+
interface BalanceInfo extends BalanceAtHeightInfo {
|
|
124
|
+
readonly lightClientHeight: bigint;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @category models
|
|
128
|
+
* @since 1.0.0
|
|
129
|
+
*/
|
|
130
|
+
interface MakeOptions {
|
|
131
|
+
readonly getLatestHeight: PublicClient["getLatestHeight"];
|
|
132
|
+
readonly getLatestBlockNumber: PublicClient["getLatestBlockNumber"];
|
|
133
|
+
readonly readBalance: PublicClient["readBalance"];
|
|
134
|
+
readonly readBalanceAtHeight: PublicClient["readBalanceAtHeight"];
|
|
135
|
+
readonly getProof: PublicClient["getProof"];
|
|
136
|
+
readonly waitForBlock: PublicClient["waitForBlock"];
|
|
137
|
+
readonly getLightClientAddress: PublicClient["getLightClientAddress"];
|
|
138
|
+
readonly getStateRootIndex: PublicClient["getStateRootIndex"];
|
|
139
|
+
readonly getConsensusState: PublicClient["getConsensusState"];
|
|
140
|
+
readonly getIbcHandlerAddress: PublicClient["getIbcHandlerAddress"];
|
|
141
|
+
readonly getCounterparty: PublicClient["getCounterparty"];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export declare const make: (options: PublicClient.MakeOptions) => Effect.Effect<PublicClient, never>;
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=PublicClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicClient.d.ts","sourceRoot":"","sources":["../../src/PublicClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as S from "effect/Schema";
|
|
2
|
+
/**
|
|
3
|
+
* Describes `0x${string}` from non-empty string.
|
|
4
|
+
*
|
|
5
|
+
* Note: To be used ineroperably with `viem`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const Hex: S.TemplateLiteral<`0x${string}`>;
|
|
8
|
+
export type Hex = typeof Hex.Type;
|
|
9
|
+
/**
|
|
10
|
+
* Describes `0x${string}` address from non-empty string.
|
|
11
|
+
*
|
|
12
|
+
* Note: To be used ineroperably with `viem`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const Address: S.TemplateLiteral<`0x${string}`>;
|
|
15
|
+
export type Address = typeof Address.Type;
|
|
16
|
+
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAQA,CAAC,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAWJ,CAAC,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RedeemMetadata } from "./rpc.js";
|
|
2
|
+
import type { ProofJSON, RedeemParams } from "./types.js";
|
|
3
|
+
type DeepReadonly<T> = T extends (infer U)[] ? readonly DeepReadonly<U>[] : T extends object ? {
|
|
4
|
+
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
5
|
+
} : T;
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare function proofJsonToRedeemParams(proofJson: DeepReadonly<ProofJSON>, metadata: Readonly<RedeemMetadata>): RedeemParams;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=Utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACxC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAC1B,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC;AAER;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,EAClC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,GACjC,YAAY,CA0Bd"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import type * as Effect from "effect/Effect";
|
|
4
|
+
import type { Address } from "viem";
|
|
5
|
+
import type * as Domain from "./Domain.js";
|
|
6
|
+
import type { SdkError } from "./Error.js";
|
|
7
|
+
import type { RedeemParams } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* @category type ids
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export declare const TypeId: unique symbol;
|
|
13
|
+
/**
|
|
14
|
+
* @category type ids
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
*/
|
|
17
|
+
export type TypeId = typeof TypeId;
|
|
18
|
+
/**
|
|
19
|
+
* @category models
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
*/
|
|
22
|
+
export interface WalletClient {
|
|
23
|
+
readonly [TypeId]: TypeId;
|
|
24
|
+
/**
|
|
25
|
+
* Approve the ZAsset for the provided ERC20 token to spend the ERC20.
|
|
26
|
+
*
|
|
27
|
+
* The ZAsset address is derived from Z_ASSET_REGISTRY.
|
|
28
|
+
*/
|
|
29
|
+
readonly approveZAssetToSpendErc20: (args: WalletClient.ApproveZAssetToSpendErc20) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
|
|
30
|
+
/**
|
|
31
|
+
* Deposit ("wrap") the ERC20 into it's ZAsset.
|
|
32
|
+
*
|
|
33
|
+
* The ZAsset address is derived from Z_ASSET_REGISTRY.
|
|
34
|
+
*/
|
|
35
|
+
readonly depositUnderlyingZAsset: (args: WalletClient.DepositUnderlyingZAsset) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
|
|
36
|
+
/**
|
|
37
|
+
* Transfer the deposited ZAssset to the provided deposit address.
|
|
38
|
+
*
|
|
39
|
+
* The ZAsset address is derived from Z_ASSET_REGISTRY.
|
|
40
|
+
*/
|
|
41
|
+
readonly transferZAsset: (args: WalletClient.TransferZAsset) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
|
|
42
|
+
readonly updateLoopbackClient: (args: WalletClient.UpdateLoopbackClient) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
|
|
43
|
+
readonly prepareDeposit: (args: WalletClient.Deposit) => Effect.Effect<Domain.PreparedRequests, SdkError, never>;
|
|
44
|
+
readonly prepareRedemption: (args: WalletClient.Redeem) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
|
|
45
|
+
readonly sign: (request: Domain.PreparedRequest) => Effect.Effect<Domain.SignedRequest, SdkError, never>;
|
|
46
|
+
readonly submit: (request: Domain.SignedRequest) => Effect.Effect<Domain.SubmissionResult, SdkError, never>;
|
|
47
|
+
readonly signAndSubmit: (request: Domain.PreparedRequest) => Effect.Effect<Domain.SubmissionResult, SdkError, never>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @category models
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
*/
|
|
53
|
+
export declare const WalletClient: Context.Tag<WalletClient, WalletClient>;
|
|
54
|
+
declare const SourceWalletClient_base: Context.TagClass<SourceWalletClient, "SourceWalletClient", WalletClient>;
|
|
55
|
+
/**
|
|
56
|
+
* @category models
|
|
57
|
+
* @since 1.0.0
|
|
58
|
+
*/
|
|
59
|
+
export declare class SourceWalletClient extends SourceWalletClient_base {
|
|
60
|
+
static layer: <E, R>(layer: Layer.Layer<WalletClient, E, R>) => Layer.Layer<SourceWalletClient, E, R>;
|
|
61
|
+
}
|
|
62
|
+
declare const DestinationWalletClient_base: Context.TagClass<DestinationWalletClient, "DestinationWalletClient", WalletClient>;
|
|
63
|
+
/**
|
|
64
|
+
* @category models
|
|
65
|
+
* @since 1.0.0
|
|
66
|
+
*/
|
|
67
|
+
export declare class DestinationWalletClient extends DestinationWalletClient_base {
|
|
68
|
+
static layer: <E, R>(layer: Layer.Layer<WalletClient, E, R>) => Layer.Layer<DestinationWalletClient, E, R>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @category models
|
|
72
|
+
* @since 1.0.0
|
|
73
|
+
*/
|
|
74
|
+
export declare namespace WalletClient {
|
|
75
|
+
/**
|
|
76
|
+
* @category models
|
|
77
|
+
* @since 1.0.0
|
|
78
|
+
*/
|
|
79
|
+
interface MakeOptions {
|
|
80
|
+
readonly sign: WalletClient["sign"];
|
|
81
|
+
readonly submit: WalletClient["submit"];
|
|
82
|
+
readonly signAndSubmit: WalletClient["signAndSubmit"];
|
|
83
|
+
readonly approveZAssetToSpendErc20: WalletClient["approveZAssetToSpendErc20"];
|
|
84
|
+
readonly depositUnderlyingZAsset: WalletClient["depositUnderlyingZAsset"];
|
|
85
|
+
readonly transferZAsset: WalletClient["transferZAsset"];
|
|
86
|
+
readonly updateLoopbackClient: WalletClient["updateLoopbackClient"];
|
|
87
|
+
readonly prepareDeposit: WalletClient["prepareDeposit"];
|
|
88
|
+
readonly prepareRedemption: WalletClient["prepareRedemption"];
|
|
89
|
+
}
|
|
90
|
+
interface ApproveZAssetToSpendErc20 {
|
|
91
|
+
srcErc20Address: Domain.Erc20Address;
|
|
92
|
+
amount: bigint;
|
|
93
|
+
}
|
|
94
|
+
interface UpdateLoopbackClient {
|
|
95
|
+
clientId: number;
|
|
96
|
+
height: bigint;
|
|
97
|
+
ibcHandlerAddress: Domain.IbcHandlerAddress;
|
|
98
|
+
}
|
|
99
|
+
interface DepositUnderlyingZAsset {
|
|
100
|
+
srcErc20Address: Domain.Erc20Address;
|
|
101
|
+
amount: bigint;
|
|
102
|
+
}
|
|
103
|
+
interface TransferZAsset {
|
|
104
|
+
srcErc20Address: Domain.Erc20Address;
|
|
105
|
+
depositAddress: `0x${string}`;
|
|
106
|
+
amount: bigint;
|
|
107
|
+
}
|
|
108
|
+
type Deposit = {
|
|
109
|
+
srcErc20Address: Domain.Erc20Address;
|
|
110
|
+
sourceChainId: bigint;
|
|
111
|
+
readonly beneficiaries: ReadonlyArray<Address>;
|
|
112
|
+
depositAddress: Domain.ZAssetAddress;
|
|
113
|
+
destinationChainId: bigint;
|
|
114
|
+
amount: bigint;
|
|
115
|
+
};
|
|
116
|
+
type Redeem = {
|
|
117
|
+
dstErc20Address: Domain.Erc20Address;
|
|
118
|
+
unwrap?: boolean | undefined;
|
|
119
|
+
} & RedeemParams;
|
|
120
|
+
}
|
|
121
|
+
export declare const make: (options: WalletClient.MakeOptions) => Effect.Effect<WalletClient, never, never>;
|
|
122
|
+
export {};
|
|
123
|
+
//# sourceMappingURL=WalletClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletClient.d.ts","sourceRoot":"","sources":["../../src/WalletClient.ts"],"names":[],"mappings":"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"}
|