@b3dotfun/sdk 0.0.7-alpha.26 → 0.0.7-alpha.27

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 (79) hide show
  1. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +0 -40
  2. package/dist/cjs/anyspend/react/components/webview/WebviewOnrampOrderStatus.js +0 -1
  3. package/dist/cjs/anyspend/react/hooks/index.d.ts +0 -2
  4. package/dist/cjs/anyspend/react/hooks/index.js +0 -2
  5. package/dist/cjs/anyspend/react/hooks/useAnyspendOrderAndTransactions.d.ts +0 -70
  6. package/dist/cjs/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +0 -70
  7. package/dist/cjs/anyspend/services/anyspend.d.ts +1 -39
  8. package/dist/cjs/anyspend/services/anyspend.js +0 -13
  9. package/dist/cjs/anyspend/types/index.d.ts +0 -1
  10. package/dist/cjs/anyspend/types/index.js +0 -1
  11. package/dist/cjs/anyspend/types/order.d.ts +0 -200
  12. package/dist/cjs/anyspend/types/order.js +1 -6
  13. package/dist/cjs/anyspend/types/req-res/createOrder.d.ts +0 -235
  14. package/dist/cjs/anyspend/types/req-res/getOrderAndTransactions.d.ts +0 -305
  15. package/dist/cjs/anyspend/types/req-res/getOrderHistory.d.ts +0 -235
  16. package/dist/cjs/anyspend/types/req-res/index.d.ts +0 -1
  17. package/dist/cjs/anyspend/types/req-res/index.js +0 -1
  18. package/dist/cjs/anyspend/utils/format.js +0 -4
  19. package/dist/esm/anyspend/react/components/common/OrderDetails.js +0 -40
  20. package/dist/esm/anyspend/react/components/webview/WebviewOnrampOrderStatus.js +0 -1
  21. package/dist/esm/anyspend/react/hooks/index.d.ts +0 -2
  22. package/dist/esm/anyspend/react/hooks/index.js +0 -2
  23. package/dist/esm/anyspend/react/hooks/useAnyspendOrderAndTransactions.d.ts +0 -70
  24. package/dist/esm/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +0 -70
  25. package/dist/esm/anyspend/services/anyspend.d.ts +1 -39
  26. package/dist/esm/anyspend/services/anyspend.js +0 -13
  27. package/dist/esm/anyspend/types/index.d.ts +0 -1
  28. package/dist/esm/anyspend/types/index.js +0 -1
  29. package/dist/esm/anyspend/types/order.d.ts +0 -200
  30. package/dist/esm/anyspend/types/order.js +1 -6
  31. package/dist/esm/anyspend/types/req-res/createOrder.d.ts +0 -235
  32. package/dist/esm/anyspend/types/req-res/getOrderAndTransactions.d.ts +0 -305
  33. package/dist/esm/anyspend/types/req-res/getOrderHistory.d.ts +0 -235
  34. package/dist/esm/anyspend/types/req-res/index.d.ts +0 -1
  35. package/dist/esm/anyspend/types/req-res/index.js +0 -1
  36. package/dist/esm/anyspend/utils/format.js +0 -4
  37. package/dist/types/anyspend/react/hooks/index.d.ts +0 -2
  38. package/dist/types/anyspend/react/hooks/useAnyspendOrderAndTransactions.d.ts +0 -70
  39. package/dist/types/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +0 -70
  40. package/dist/types/anyspend/services/anyspend.d.ts +1 -39
  41. package/dist/types/anyspend/types/index.d.ts +0 -1
  42. package/dist/types/anyspend/types/order.d.ts +0 -200
  43. package/dist/types/anyspend/types/req-res/createOrder.d.ts +0 -235
  44. package/dist/types/anyspend/types/req-res/getOrderAndTransactions.d.ts +0 -305
  45. package/dist/types/anyspend/types/req-res/getOrderHistory.d.ts +0 -235
  46. package/dist/types/anyspend/types/req-res/index.d.ts +0 -1
  47. package/package.json +1 -1
  48. package/src/anyspend/react/components/common/OrderDetails.tsx +0 -46
  49. package/src/anyspend/react/components/webview/WebviewOnrampOrderStatus.tsx +0 -1
  50. package/src/anyspend/react/hooks/index.ts +0 -2
  51. package/src/anyspend/services/anyspend.ts +0 -18
  52. package/src/anyspend/types/index.ts +0 -1
  53. package/src/anyspend/types/order.ts +1 -8
  54. package/src/anyspend/types/req-res/index.ts +0 -1
  55. package/src/anyspend/utils/format.ts +0 -5
  56. package/dist/cjs/anyspend/react/hooks/useAnyspendSendPermitData.d.ts +0 -16
  57. package/dist/cjs/anyspend/react/hooks/useAnyspendSendPermitData.js +0 -39
  58. package/dist/cjs/anyspend/react/hooks/usePermitData.d.ts +0 -92
  59. package/dist/cjs/anyspend/react/hooks/usePermitData.js +0 -158
  60. package/dist/cjs/anyspend/types/permit.d.ts +0 -21
  61. package/dist/cjs/anyspend/types/permit.js +0 -11
  62. package/dist/cjs/anyspend/types/req-res/sendPermitData.d.ts +0 -66
  63. package/dist/cjs/anyspend/types/req-res/sendPermitData.js +0 -11
  64. package/dist/esm/anyspend/react/hooks/useAnyspendSendPermitData.d.ts +0 -16
  65. package/dist/esm/anyspend/react/hooks/useAnyspendSendPermitData.js +0 -36
  66. package/dist/esm/anyspend/react/hooks/usePermitData.d.ts +0 -92
  67. package/dist/esm/anyspend/react/hooks/usePermitData.js +0 -154
  68. package/dist/esm/anyspend/types/permit.d.ts +0 -21
  69. package/dist/esm/anyspend/types/permit.js +0 -8
  70. package/dist/esm/anyspend/types/req-res/sendPermitData.d.ts +0 -66
  71. package/dist/esm/anyspend/types/req-res/sendPermitData.js +0 -8
  72. package/dist/types/anyspend/react/hooks/useAnyspendSendPermitData.d.ts +0 -16
  73. package/dist/types/anyspend/react/hooks/usePermitData.d.ts +0 -92
  74. package/dist/types/anyspend/types/permit.d.ts +0 -21
  75. package/dist/types/anyspend/types/req-res/sendPermitData.d.ts +0 -66
  76. package/src/anyspend/react/hooks/useAnyspendSendPermitData.ts +0 -38
  77. package/src/anyspend/react/hooks/usePermitData.ts +0 -183
  78. package/src/anyspend/types/permit.ts +0 -10
  79. package/src/anyspend/types/req-res/sendPermitData.ts +0 -10
@@ -1,66 +0,0 @@
1
- import { z } from "zod";
2
- export declare const zSendPermitDataRequest: z.ZodObject<{
3
- body: z.ZodObject<{
4
- orderId: z.ZodString;
5
- permitData: z.ZodObject<{
6
- ownerAddress: z.ZodString;
7
- deadline: z.ZodNumber;
8
- v: z.ZodNumber;
9
- r: z.ZodString;
10
- s: z.ZodString;
11
- }, "strip", z.ZodTypeAny, {
12
- ownerAddress: string;
13
- deadline: number;
14
- v: number;
15
- r: string;
16
- s: string;
17
- }, {
18
- ownerAddress: string;
19
- deadline: number;
20
- v: number;
21
- r: string;
22
- s: string;
23
- }>;
24
- }, "strip", z.ZodTypeAny, {
25
- orderId: string;
26
- permitData: {
27
- ownerAddress: string;
28
- deadline: number;
29
- v: number;
30
- r: string;
31
- s: string;
32
- };
33
- }, {
34
- orderId: string;
35
- permitData: {
36
- ownerAddress: string;
37
- deadline: number;
38
- v: number;
39
- r: string;
40
- s: string;
41
- };
42
- }>;
43
- }, "strip", z.ZodTypeAny, {
44
- body: {
45
- orderId: string;
46
- permitData: {
47
- ownerAddress: string;
48
- deadline: number;
49
- v: number;
50
- r: string;
51
- s: string;
52
- };
53
- };
54
- }, {
55
- body: {
56
- orderId: string;
57
- permitData: {
58
- ownerAddress: string;
59
- deadline: number;
60
- v: number;
61
- r: string;
62
- s: string;
63
- };
64
- };
65
- }>;
66
- export type SendPermitDataRequestBody = z.infer<typeof zSendPermitDataRequest.shape.body>;
@@ -1,8 +0,0 @@
1
- import { z } from "zod";
2
- import { zPermit } from "../permit.js";
3
- export const zSendPermitDataRequest = z.object({
4
- body: z.object({
5
- orderId: z.string(),
6
- permitData: zPermit,
7
- }),
8
- });
@@ -1,16 +0,0 @@
1
- import { UseAnyspendCreateOrderProps } from "./useAnyspendCreateOrder";
2
- export declare function useAnyspendSendPermitData({ onSuccess, onError }?: UseAnyspendCreateOrderProps): {
3
- sendPermitData: import("@tanstack/react-query").UseMutateFunction<any, Error, {
4
- orderId: string;
5
- permitData: {
6
- ownerAddress: string;
7
- deadline: number;
8
- v: number;
9
- r: string;
10
- s: string;
11
- };
12
- } & {
13
- isMainnet: boolean;
14
- }, unknown>;
15
- isSendingPermitData: boolean;
16
- };
@@ -1,92 +0,0 @@
1
- import { Address, Hex } from "viem";
2
- export type GetPermitDataParams = {
3
- chainId: number;
4
- tokenAddress: Hex;
5
- ownerAddress: Hex | undefined;
6
- amount: bigint;
7
- };
8
- export declare function getPermitData(p: GetPermitDataParams): Promise<{
9
- canPermit: boolean;
10
- data: null;
11
- } | {
12
- canPermit: boolean;
13
- data: {
14
- domain: {
15
- name: string;
16
- version: string;
17
- chainId: number;
18
- verifyingContract: `0x${string}`;
19
- };
20
- types: {
21
- Permit: {
22
- name: string;
23
- type: string;
24
- }[];
25
- };
26
- messageToSign: {
27
- owner: `0x${string}`;
28
- spender: Address;
29
- value: bigint;
30
- nonce: bigint;
31
- deadline: bigint;
32
- };
33
- };
34
- }>;
35
- export declare function usePermitData(p: GetPermitDataParams): {
36
- permitData: {
37
- canPermit: boolean;
38
- data: null;
39
- } | {
40
- canPermit: boolean;
41
- data: {
42
- domain: {
43
- name: string;
44
- version: string;
45
- chainId: number;
46
- verifyingContract: `0x${string}`;
47
- };
48
- types: {
49
- Permit: {
50
- name: string;
51
- type: string;
52
- }[];
53
- };
54
- messageToSign: {
55
- owner: `0x${string}`;
56
- spender: Address;
57
- value: bigint;
58
- nonce: bigint;
59
- deadline: bigint;
60
- };
61
- };
62
- } | undefined;
63
- isCheckingPermit: boolean;
64
- checkPermitError: Error | null;
65
- recheckPermit: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
66
- canPermit: boolean;
67
- data: null;
68
- } | {
69
- canPermit: boolean;
70
- data: {
71
- domain: {
72
- name: string;
73
- version: string;
74
- chainId: number;
75
- verifyingContract: `0x${string}`;
76
- };
77
- types: {
78
- Permit: {
79
- name: string;
80
- type: string;
81
- }[];
82
- };
83
- messageToSign: {
84
- owner: `0x${string}`;
85
- spender: Address;
86
- value: bigint;
87
- nonce: bigint;
88
- deadline: bigint;
89
- };
90
- };
91
- }, Error>>;
92
- };
@@ -1,21 +0,0 @@
1
- import { z } from "zod";
2
- export declare const zPermit: z.ZodObject<{
3
- ownerAddress: z.ZodString;
4
- deadline: z.ZodNumber;
5
- v: z.ZodNumber;
6
- r: z.ZodString;
7
- s: z.ZodString;
8
- }, "strip", z.ZodTypeAny, {
9
- ownerAddress: string;
10
- deadline: number;
11
- v: number;
12
- r: string;
13
- s: string;
14
- }, {
15
- ownerAddress: string;
16
- deadline: number;
17
- v: number;
18
- r: string;
19
- s: string;
20
- }>;
21
- export type Permit = z.infer<typeof zPermit>;
@@ -1,66 +0,0 @@
1
- import { z } from "zod";
2
- export declare const zSendPermitDataRequest: z.ZodObject<{
3
- body: z.ZodObject<{
4
- orderId: z.ZodString;
5
- permitData: z.ZodObject<{
6
- ownerAddress: z.ZodString;
7
- deadline: z.ZodNumber;
8
- v: z.ZodNumber;
9
- r: z.ZodString;
10
- s: z.ZodString;
11
- }, "strip", z.ZodTypeAny, {
12
- ownerAddress: string;
13
- deadline: number;
14
- v: number;
15
- r: string;
16
- s: string;
17
- }, {
18
- ownerAddress: string;
19
- deadline: number;
20
- v: number;
21
- r: string;
22
- s: string;
23
- }>;
24
- }, "strip", z.ZodTypeAny, {
25
- orderId: string;
26
- permitData: {
27
- ownerAddress: string;
28
- deadline: number;
29
- v: number;
30
- r: string;
31
- s: string;
32
- };
33
- }, {
34
- orderId: string;
35
- permitData: {
36
- ownerAddress: string;
37
- deadline: number;
38
- v: number;
39
- r: string;
40
- s: string;
41
- };
42
- }>;
43
- }, "strip", z.ZodTypeAny, {
44
- body: {
45
- orderId: string;
46
- permitData: {
47
- ownerAddress: string;
48
- deadline: number;
49
- v: number;
50
- r: string;
51
- s: string;
52
- };
53
- };
54
- }, {
55
- body: {
56
- orderId: string;
57
- permitData: {
58
- ownerAddress: string;
59
- deadline: number;
60
- v: number;
61
- r: string;
62
- s: string;
63
- };
64
- };
65
- }>;
66
- export type SendPermitDataRequestBody = z.infer<typeof zSendPermitDataRequest.shape.body>;
@@ -1,38 +0,0 @@
1
- import { anyspendService } from "@b3dotfun/sdk/anyspend/services/anyspend";
2
- import { SendPermitDataRequestBody } from "@b3dotfun/sdk/anyspend/types";
3
- import { useMutation } from "@tanstack/react-query";
4
- import { UseAnyspendCreateOrderProps } from "./useAnyspendCreateOrder";
5
-
6
- export function useAnyspendSendPermitData({ onSuccess, onError }: UseAnyspendCreateOrderProps = {}) {
7
- const { mutate: sendPermitData, isPending } = useMutation({
8
- mutationFn: async ({ isMainnet, orderId, permitData }: SendPermitDataRequestBody & { isMainnet: boolean }) => {
9
- try {
10
- const response = await anyspendService.sendPermitData({
11
- isMainnet,
12
- orderId,
13
- permitData,
14
- });
15
- if (response.statusCode !== 200) throw response;
16
- return response;
17
- } catch (error: any) {
18
- // If the error has a response with message and statusCode, throw that
19
- if (error.response?.data) {
20
- throw error.response.data;
21
- }
22
- // Otherwise throw the original error
23
- throw error;
24
- }
25
- },
26
- onSuccess: data => {
27
- onSuccess?.(data);
28
- },
29
- onError: (error: Error) => {
30
- onError?.(error);
31
- },
32
- });
33
-
34
- return {
35
- sendPermitData,
36
- isSendingPermitData: isPending,
37
- };
38
- }
@@ -1,183 +0,0 @@
1
- import { chainIdToPublicClient, getMulticall3Address, isEvmChain, isNativeToken } from "@b3dotfun/sdk/anyspend/utils";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { Address, Hex } from "viem";
4
- import { ABI_USDC_BASE } from "@b3dotfun/sdk/anyspend/abis/abi-usdc-base";
5
-
6
- export type GetPermitDataParams = {
7
- chainId: number;
8
- tokenAddress: Hex;
9
- ownerAddress: Hex | undefined;
10
- amount: bigint;
11
- };
12
-
13
- // EIP-5267 ABI for eip712Domain function
14
- const EIP5267_ABI = [
15
- {
16
- inputs: [],
17
- name: "eip712Domain",
18
- outputs: [
19
- { name: "fields", type: "bytes1" },
20
- { name: "name", type: "string" },
21
- { name: "version", type: "string" },
22
- { name: "chainId", type: "uint256" },
23
- { name: "verifyingContract", type: "address" },
24
- { name: "salt", type: "bytes32" },
25
- ],
26
- stateMutability: "view",
27
- type: "function",
28
- },
29
- ] as const;
30
-
31
- export async function getPermitData(p: GetPermitDataParams) {
32
- console.log("Start getting permit data...");
33
-
34
- if (!isEvmChain(p.chainId) || isNativeToken(p.tokenAddress) || !p.ownerAddress) {
35
- return {
36
- canPermit: false,
37
- data: null,
38
- };
39
- }
40
-
41
- const publicClient = chainIdToPublicClient(p.chainId);
42
-
43
- const balance = await publicClient.readContract({
44
- address: p.tokenAddress,
45
- abi: ABI_USDC_BASE,
46
- functionName: "balanceOf",
47
- args: [p.ownerAddress],
48
- });
49
- if (balance < p.amount) {
50
- return {
51
- canPermit: false,
52
- data: null,
53
- };
54
- }
55
-
56
- // Domain parameters
57
- let name: string;
58
- let version: string = "1"; // Default version for EIP-2612 (used by Uniswap V2 reference implementation)
59
-
60
- // Try to get domain information using EIP-5267 (eip712Domain function)
61
- try {
62
- const domainData = await publicClient.readContract({
63
- address: p.tokenAddress,
64
- abi: EIP5267_ABI,
65
- functionName: "eip712Domain",
66
- });
67
-
68
- console.log("Found EIP-5267 eip712Domain function");
69
- name = domainData[1]; // name is the second return value
70
- version = domainData[2]; // version is the third return value
71
-
72
- console.log("Contract domain data from EIP-5267:");
73
- console.log("- name:", name);
74
- console.log("- version:", version);
75
- console.log("- chainId:", domainData[3]);
76
- console.log("- verifyingContract:", domainData[4]);
77
- } catch (error) {
78
- console.log("[EIP-5267] eip712Domain function not found, falling back to individual calls");
79
-
80
- // Fallback: get name from contract
81
- name = await publicClient.readContract({
82
- address: p.tokenAddress,
83
- abi: ABI_USDC_BASE,
84
- functionName: "name",
85
- });
86
-
87
- // Try to get version from contract
88
- try {
89
- version = await publicClient.readContract({
90
- address: p.tokenAddress,
91
- abi: ABI_USDC_BASE,
92
- functionName: "version",
93
- });
94
- } catch (error) {
95
- console.log(`Function "version" not found, using default version "1" (standard for EIP-2612)`);
96
- }
97
- }
98
-
99
- // Fetch the PERMIT_TYPEHASH - important for ensuring our structure matches the contract
100
- const permitTypeHash = await publicClient
101
- .readContract({
102
- address: p.tokenAddress,
103
- abi: ABI_USDC_BASE,
104
- functionName: "PERMIT_TYPEHASH",
105
- })
106
- .catch(() => {
107
- console.log("PERMIT_TYPEHASH not directly accessible, using standard EIP-2612 value");
108
- return "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" as `0x${string}`;
109
- });
110
-
111
- // Fetch the DOMAIN_SEPARATOR - critical for signature validation
112
- const contractDomainSeparator = await publicClient.readContract({
113
- address: p.tokenAddress,
114
- abi: ABI_USDC_BASE,
115
- functionName: "DOMAIN_SEPARATOR",
116
- });
117
-
118
- console.log("Contract name:", name);
119
- console.log("Contract version:", version);
120
- console.log("Contract PERMIT_TYPEHASH:", permitTypeHash);
121
- console.log("Contract DOMAIN_SEPARATOR:", contractDomainSeparator);
122
-
123
- // Domain data for EIP-712 signature
124
- const domain = {
125
- name,
126
- version,
127
- chainId: p.chainId,
128
- verifyingContract: p.tokenAddress,
129
- };
130
-
131
- // EIP-2612 Permit type definition
132
- // This must match the structure used to compute the PERMIT_TYPEHASH in the contract
133
- const PermitType = [
134
- { name: "owner", type: "address" },
135
- { name: "spender", type: "address" },
136
- { name: "value", type: "uint256" },
137
- { name: "nonce", type: "uint256" },
138
- { name: "deadline", type: "uint256" },
139
- ];
140
-
141
- const multicall3 = getMulticall3Address(p.chainId);
142
-
143
- const nonce = await publicClient.readContract({
144
- address: p.tokenAddress,
145
- abi: ABI_USDC_BASE,
146
- functionName: "nonces",
147
- args: [p.ownerAddress],
148
- });
149
-
150
- const deadlineInSeconds = BigInt(Math.floor(Date.now() / 1000) + 60 * 60); // 60 minutes
151
-
152
- // Permit data to sign
153
- const messageToSign = {
154
- owner: p.ownerAddress,
155
- spender: multicall3 as Address,
156
- value: p.amount,
157
- nonce,
158
- deadline: deadlineInSeconds,
159
- };
160
-
161
- return {
162
- canPermit: true,
163
- data: {
164
- domain,
165
- types: { Permit: PermitType },
166
- messageToSign,
167
- },
168
- };
169
- }
170
-
171
- export function usePermitData(p: GetPermitDataParams) {
172
- const { data, isLoading, error, refetch } = useQuery({
173
- queryKey: ["usePermitData", p.chainId, p.tokenAddress],
174
- queryFn: () => getPermitData(p),
175
- });
176
-
177
- return {
178
- permitData: data,
179
- isCheckingPermit: isLoading,
180
- checkPermitError: error,
181
- recheckPermit: refetch,
182
- };
183
- }
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
-
3
- export const zPermit = z.object({
4
- ownerAddress: z.string(),
5
- deadline: z.number(),
6
- v: z.number(),
7
- r: z.string(),
8
- s: z.string(),
9
- });
10
- export type Permit = z.infer<typeof zPermit>;
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- import { zPermit } from "../permit";
3
-
4
- export const zSendPermitDataRequest = z.object({
5
- body: z.object({
6
- orderId: z.string(),
7
- permitData: zPermit,
8
- }),
9
- });
10
- export type SendPermitDataRequestBody = z.infer<typeof zSendPermitDataRequest.shape.body>;