@unionlabs/payments 0.2.1 → 0.3.1

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.
Files changed (144) hide show
  1. package/ChainRegistry/package.json +6 -0
  2. package/README.md +283 -1
  3. package/dist/cjs/Attestor.js +9 -2
  4. package/dist/cjs/Attestor.js.map +1 -1
  5. package/dist/cjs/ChainRegistry.js +24 -0
  6. package/dist/cjs/ChainRegistry.js.map +1 -0
  7. package/dist/cjs/Domain.js +8 -2
  8. package/dist/cjs/Domain.js.map +1 -1
  9. package/dist/cjs/Error.js +1 -1
  10. package/dist/cjs/Error.js.map +1 -1
  11. package/dist/cjs/EvmPublicClient.js +5 -277
  12. package/dist/cjs/EvmPublicClient.js.map +1 -1
  13. package/dist/cjs/EvmWalletClient.js +7 -642
  14. package/dist/cjs/EvmWalletClient.js.map +1 -1
  15. package/dist/cjs/Payment.js +86 -79
  16. package/dist/cjs/Payment.js.map +1 -1
  17. package/dist/cjs/Prover.js +2 -2
  18. package/dist/cjs/Prover.js.map +1 -1
  19. package/dist/cjs/PublicClient.js +2 -2
  20. package/dist/cjs/PublicClient.js.map +1 -1
  21. package/dist/cjs/WalletClient.js +2 -2
  22. package/dist/cjs/WalletClient.js.map +1 -1
  23. package/dist/cjs/constants/ibc-core-registry.js +7 -9
  24. package/dist/cjs/constants/ibc-core-registry.js.map +1 -1
  25. package/dist/cjs/constants/z-asset-registry.js +9 -7
  26. package/dist/cjs/constants/z-asset-registry.js.map +1 -1
  27. package/dist/cjs/internal/evmPublicClient.js +261 -0
  28. package/dist/cjs/internal/evmPublicClient.js.map +1 -0
  29. package/dist/cjs/internal/evmWalletClient.js +650 -0
  30. package/dist/cjs/internal/evmWalletClient.js.map +1 -1
  31. package/dist/cjs/internal/publicClient.js +0 -2
  32. package/dist/cjs/internal/publicClient.js.map +1 -1
  33. package/dist/cjs/promises/Payment.js +4 -3
  34. package/dist/cjs/promises/Payment.js.map +1 -1
  35. package/dist/cjs/promises/PublicClient.js +1 -2
  36. package/dist/cjs/promises/PublicClient.js.map +1 -1
  37. package/dist/cjs/promises/WalletClient.js +0 -1
  38. package/dist/cjs/promises/WalletClient.js.map +1 -1
  39. package/dist/cjs/rpc.js +3 -5
  40. package/dist/cjs/rpc.js.map +1 -1
  41. package/dist/dts/Attestor.d.ts +21 -6
  42. package/dist/dts/Attestor.d.ts.map +1 -1
  43. package/dist/dts/ChainRegistry.d.ts +6 -0
  44. package/dist/dts/ChainRegistry.d.ts.map +1 -0
  45. package/dist/dts/Domain.d.ts +92 -59
  46. package/dist/dts/Domain.d.ts.map +1 -1
  47. package/dist/dts/Error.d.ts +2 -2
  48. package/dist/dts/Error.d.ts.map +1 -1
  49. package/dist/dts/EvmPublicClient.d.ts +7 -19
  50. package/dist/dts/EvmPublicClient.d.ts.map +1 -1
  51. package/dist/dts/EvmWalletClient.d.ts +7 -23
  52. package/dist/dts/EvmWalletClient.d.ts.map +1 -1
  53. package/dist/dts/Payment.d.ts +72 -71
  54. package/dist/dts/Payment.d.ts.map +1 -1
  55. package/dist/dts/Prover.d.ts +6 -0
  56. package/dist/dts/Prover.d.ts.map +1 -1
  57. package/dist/dts/PublicClient.d.ts +11 -15
  58. package/dist/dts/PublicClient.d.ts.map +1 -1
  59. package/dist/dts/WalletClient.d.ts +10 -6
  60. package/dist/dts/WalletClient.d.ts.map +1 -1
  61. package/dist/dts/constants/ibc-core-registry.d.ts +5 -6
  62. package/dist/dts/constants/ibc-core-registry.d.ts.map +1 -1
  63. package/dist/dts/constants/z-asset-registry.d.ts +4 -4
  64. package/dist/dts/constants/z-asset-registry.d.ts.map +1 -1
  65. package/dist/dts/internal/evm.d.ts +3 -3
  66. package/dist/dts/internal/evm.d.ts.map +1 -1
  67. package/dist/dts/internal/evmPublicClient.d.ts +6 -0
  68. package/dist/dts/internal/evmPublicClient.d.ts.map +1 -0
  69. package/dist/dts/promises/Attestor.d.ts +5 -5
  70. package/dist/dts/promises/EvmPublicClient.d.ts +73 -74
  71. package/dist/dts/promises/EvmPublicClient.d.ts.map +1 -1
  72. package/dist/dts/promises/EvmWalletClient.d.ts +4 -5
  73. package/dist/dts/promises/EvmWalletClient.d.ts.map +1 -1
  74. package/dist/dts/promises/Payment.d.ts +39 -17
  75. package/dist/dts/promises/Payment.d.ts.map +1 -1
  76. package/dist/dts/promises/PublicClient.d.ts +3 -4
  77. package/dist/dts/promises/PublicClient.d.ts.map +1 -1
  78. package/dist/dts/promises/WalletClient.d.ts +77 -34
  79. package/dist/dts/promises/WalletClient.d.ts.map +1 -1
  80. package/dist/dts/rpc.d.ts +31 -0
  81. package/dist/dts/rpc.d.ts.map +1 -1
  82. package/dist/esm/Attestor.js +8 -1
  83. package/dist/esm/Attestor.js.map +1 -1
  84. package/dist/esm/ChainRegistry.js +16 -0
  85. package/dist/esm/ChainRegistry.js.map +1 -0
  86. package/dist/esm/Domain.js +7 -1
  87. package/dist/esm/Domain.js.map +1 -1
  88. package/dist/esm/Error.js +1 -1
  89. package/dist/esm/Error.js.map +1 -1
  90. package/dist/esm/EvmPublicClient.js +4 -275
  91. package/dist/esm/EvmPublicClient.js.map +1 -1
  92. package/dist/esm/EvmWalletClient.js +5 -638
  93. package/dist/esm/EvmWalletClient.js.map +1 -1
  94. package/dist/esm/Payment.js +84 -78
  95. package/dist/esm/Payment.js.map +1 -1
  96. package/dist/esm/Prover.js +1 -1
  97. package/dist/esm/Prover.js.map +1 -1
  98. package/dist/esm/PublicClient.js +2 -2
  99. package/dist/esm/PublicClient.js.map +1 -1
  100. package/dist/esm/WalletClient.js +2 -2
  101. package/dist/esm/WalletClient.js.map +1 -1
  102. package/dist/esm/constants/ibc-core-registry.js +5 -6
  103. package/dist/esm/constants/ibc-core-registry.js.map +1 -1
  104. package/dist/esm/constants/z-asset-registry.js +7 -4
  105. package/dist/esm/constants/z-asset-registry.js.map +1 -1
  106. package/dist/esm/internal/evmPublicClient.js +253 -0
  107. package/dist/esm/internal/evmPublicClient.js.map +1 -0
  108. package/dist/esm/internal/evmWalletClient.js +647 -1
  109. package/dist/esm/internal/evmWalletClient.js.map +1 -1
  110. package/dist/esm/internal/publicClient.js +0 -2
  111. package/dist/esm/internal/publicClient.js.map +1 -1
  112. package/dist/esm/promises/Payment.js +2 -2
  113. package/dist/esm/promises/Payment.js.map +1 -1
  114. package/dist/esm/promises/PublicClient.js +2 -3
  115. package/dist/esm/promises/PublicClient.js.map +1 -1
  116. package/dist/esm/promises/WalletClient.js +0 -1
  117. package/dist/esm/promises/WalletClient.js.map +1 -1
  118. package/dist/esm/rpc.js +2 -4
  119. package/dist/esm/rpc.js.map +1 -1
  120. package/package.json +15 -3
  121. package/src/Attestor.ts +12 -3
  122. package/src/ChainRegistry.ts +27 -0
  123. package/src/Domain.ts +30 -9
  124. package/src/Error.ts +1 -0
  125. package/src/EvmPublicClient.ts +9 -488
  126. package/src/EvmWalletClient.ts +21 -973
  127. package/src/Payment.ts +234 -159
  128. package/src/Prover.ts +2 -2
  129. package/src/PublicClient.ts +11 -18
  130. package/src/WalletClient.ts +11 -7
  131. package/src/constants/ibc-core-registry.ts +14 -14
  132. package/src/constants/z-asset-registry.ts +10 -7
  133. package/src/internal/evmPublicClient.ts +459 -0
  134. package/src/internal/evmWalletClient.ts +1008 -0
  135. package/src/internal/publicClient.ts +0 -3
  136. package/src/promises/Payment.ts +26 -25
  137. package/src/promises/PublicClient.ts +2 -3
  138. package/src/promises/WalletClient.ts +0 -1
  139. package/src/rpc.ts +2 -4
  140. package/unionlabs-payments-0.3.1.tgz +0 -0
  141. package/src/tsdoc-metadata.json +0 -11
  142. /package/{constants → Constants}/ibc-core-registry/package.json +0 -0
  143. /package/{constants → Constants}/services/package.json +0 -0
  144. /package/{constants → Constants}/z-asset-registry/package.json +0 -0
@@ -35,7 +35,6 @@ export function make({
35
35
  {},
36
36
  {
37
37
  [TypeId as Client.TypeId]: TypeId as Client.TypeId,
38
- safe: undefined as any,
39
38
  getLatestHeight,
40
39
  getLatestBlockNumber,
41
40
  readBalance,
@@ -50,8 +49,6 @@ export function make({
50
49
  },
51
50
  );
52
51
 
53
- (client as any).safe = client;
54
-
55
52
  return client;
56
53
  });
57
54
  }
@@ -1,11 +1,9 @@
1
1
  import { Effect, Layer, Struct } from "effect";
2
2
  import { constant, flow, pipe } from "effect/Function";
3
- import * as attestor from "../Attestor.js";
4
3
  import * as payment from "../Payment.js";
5
4
  import * as prover from "../Prover.js";
6
5
  import * as publicClient from "../PublicClient.js";
7
6
  import * as walletClient from "../WalletClient.js";
8
- import type * as Attestor from "./Attestor.js";
9
7
  import type * as Prover from "./Prover.js";
10
8
  import type * as PublicClient from "./PublicClient.js";
11
9
  import type * as WalletClient from "./WalletClient.js";
@@ -32,38 +30,49 @@ export const prepareDeposit = (
32
30
 
33
31
  export const prepareRedemption = (
34
32
  options: {
35
- sourceWalletClient: WalletClient.WalletClient;
36
33
  destinationWalletClient: WalletClient.WalletClient;
34
+ } & Parameters<typeof payment.prepareRedemption>[0],
35
+ ) =>
36
+ pipe(
37
+ payment.prepareRedemption(
38
+ pipe(options, Struct.omit("destinationWalletClient")),
39
+ ),
40
+ Effect.provide([
41
+ Layer.succeed(
42
+ walletClient.DestinationWalletClient,
43
+ options.destinationWalletClient.client,
44
+ ),
45
+ ]),
46
+ Effect.runPromise,
47
+ );
48
+
49
+ export const getNullifier = flow(payment.getNullifier, Effect.runPromise);
50
+
51
+ export const getDepositAddress = flow(
52
+ payment.getDepositAddress,
53
+ Effect.runPromise,
54
+ );
55
+
56
+ export const generateProof = (
57
+ options: {
37
58
  destinationPublicClient: PublicClient.PublicClient;
38
59
  sourcePublicClient: PublicClient.PublicClient;
39
60
  publicClient: PublicClient.PublicClient;
40
- attestor: Attestor.Attestor;
41
61
  prover: Prover.Prover;
42
- } & Parameters<typeof payment.prepareRedemption>[0],
62
+ } & Parameters<typeof payment.generateProof>[0],
43
63
  ) =>
44
64
  pipe(
45
- payment.prepareRedemption(
65
+ payment.generateProof(
46
66
  pipe(
47
67
  options,
48
- Struct.omit("sourceWalletClient"),
49
68
  Struct.omit("publicClient"),
50
- Struct.omit("destinationWalletClient"),
51
69
  Struct.omit("destinationPublicClient"),
52
70
  Struct.omit("sourcePublicClient"),
53
- Struct.omit("attestor"),
54
71
  Struct.omit("prover"),
55
72
  ),
56
73
  ),
57
74
  Effect.provide([
58
- Layer.succeed(
59
- walletClient.SourceWalletClient,
60
- options.sourceWalletClient.client,
61
- ),
62
75
  Layer.succeed(publicClient.PublicClient, options.publicClient.client),
63
- Layer.succeed(
64
- walletClient.DestinationWalletClient,
65
- options.destinationWalletClient.client,
66
- ),
67
76
  Layer.succeed(
68
77
  publicClient.DestinationPublicClient,
69
78
  options.destinationPublicClient.client,
@@ -72,15 +81,7 @@ export const prepareRedemption = (
72
81
  publicClient.SourcePublicClient,
73
82
  options.sourcePublicClient.client,
74
83
  ),
75
- Layer.succeed(attestor.Attestor, options.attestor.attestor),
76
84
  Layer.succeed(prover.Prover, options.prover.prover),
77
85
  ]),
78
86
  Effect.runPromise,
79
87
  );
80
-
81
- export const getNullifier = flow(payment.getNullifier, Effect.runPromise);
82
-
83
- export const getDepositAddress = flow(
84
- payment.getDepositAddress,
85
- Effect.runPromise,
86
- );
@@ -1,10 +1,9 @@
1
1
  import { Effect } from "effect";
2
- import { flow } from "effect/Function";
2
+ import { constant, flow, pipe } from "effect/Function";
3
3
  import * as client from "../PublicClient.js";
4
4
 
5
5
  export class PublicClient {
6
6
  readonly [client.TypeId] = client.TypeId;
7
- readonly safe = this;
8
7
  client: client.PublicClient;
9
8
 
10
9
  constructor(client: client.PublicClient) {
@@ -18,7 +17,7 @@ export class PublicClient {
18
17
  return flow(this.client.getLatestHeight, Effect.runPromise);
19
18
  }
20
19
  get getLatestBlockNumber() {
21
- return flow(this.client.getLatestBlockNumber, Effect.runPromise);
20
+ return constant(pipe(this.client.getLatestBlockNumber, Effect.runPromise));
22
21
  }
23
22
  get readBalance() {
24
23
  return flow(this.client.readBalance, Effect.runPromise);
@@ -4,7 +4,6 @@ import * as walletClient from "../WalletClient.js";
4
4
 
5
5
  export class WalletClient {
6
6
  readonly [walletClient.TypeId] = walletClient.TypeId;
7
- readonly safe = this;
8
7
  client: walletClient.WalletClient;
9
8
 
10
9
  constructor(client: walletClient.WalletClient) {
package/src/rpc.ts CHANGED
@@ -244,12 +244,10 @@ const IBC_HANDLER_ABI = [
244
244
  },
245
245
  ] as const;
246
246
 
247
- // @ts-expect-error
248
- const MULTICALL3_ADDRESS =
247
+ export const MULTICALL3_ADDRESS =
249
248
  "0xcA11bde05977b3631167028862bE2a173976CA11" as Address;
250
249
 
251
- // @ts-expect-error
252
- const MULTICALL3_ABI = [
250
+ export const MULTICALL3_ABI = [
253
251
  {
254
252
  inputs: [
255
253
  {
Binary file
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.55.1"
9
- }
10
- ]
11
- }
File without changes