@1stdex/first-sdk 1.0.68 → 1.0.70

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.
@@ -1,4 +1,5 @@
1
1
  export { prepareLimitOrderWithSetup } from './prepare-limit-order-with-setup';
2
2
  export { prepareMarketOrderWithSetup } from './prepare-market-order-with-setup';
3
+ export { prepareWithdraw, NotEnoughFundsError } from './prepare-withdraw';
3
4
  export type { BatchCall } from './prepare-limit-order-with-setup';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { CHAIN_IDS } from '../../constants/chain-configs/chain';
2
+ import { DefaultWriteContractOptions } from '../../types';
3
+ import { BatchCall } from './prepare-limit-order-with-setup';
4
+ /**
5
+ * Error thrown when there are insufficient funds in wallet and vault combined.
6
+ */
7
+ export declare class NotEnoughFundsError extends Error {
8
+ readonly required: bigint;
9
+ readonly available: bigint;
10
+ constructor(message: string, required: bigint, available: bigint);
11
+ }
12
+ /**
13
+ * Prepares transactions to withdraw tokens optimally from wallet and/or vault to a recipient.
14
+ * If wallet has sufficient balance, transfers directly. Otherwise, withdraws the shortfall from
15
+ * vault to wallet (with approval if needed), then transfers the full amount to recipient.
16
+ * Throws NotEnoughFundsError if combined wallet + vault balance is insufficient.
17
+ *
18
+ * @param chainId The chain ID.
19
+ * @param userAddress The user address (wallet and vault owner).
20
+ * @param toAddress The recipient address.
21
+ * @param currency The currency/token address.
22
+ * @param amount The amount to send (in wei).
23
+ * @param options Optional parameters.
24
+ * @returns Promise resolving to array of batch calls.
25
+ * @example
26
+ * import { prepareWithdraw } from '@1stdex/first-sdk'
27
+ * import { useSmartWallets } from '@privy-io/react-auth/smart-wallets'
28
+ *
29
+ * const calls = await prepareWithdraw({
30
+ * chainId: 421614,
31
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
32
+ * toAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
33
+ * currency: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
34
+ * amount: 1000000000000000000n // 1 token (18 decimals)
35
+ * })
36
+ *
37
+ * // Send all calls in one batched transaction
38
+ * const { client } = useSmartWallets()
39
+ * const txHash = await client.sendUserOperation({ calls })
40
+ */
41
+ export declare const prepareWithdraw: ({ chainId, userAddress, toAddress, currency, amount, options, }: {
42
+ chainId: CHAIN_IDS;
43
+ userAddress: `0x${string}`;
44
+ toAddress: `0x${string}`;
45
+ currency: `0x${string}`;
46
+ amount: bigint;
47
+ options?: DefaultWriteContractOptions;
48
+ }) => Promise<BatchCall[]>;
49
+ //# sourceMappingURL=prepare-withdraw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-withdraw.d.ts","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,qCAAqC,CAAC;AAK3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,QAAQ,EAAE,MAAM;aAChB,SAAS,EAAE,MAAM;gBAFjC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;CAMpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,eAAe,oEAOzB;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,2BAA2B,CAAC;CACvC,KAAG,QAAQ,SAAS,EAAE,CAiHtB,CAAC"}
@@ -8,6 +8,6 @@ export { setApprovalOfOpenOrdersForAll } from './approval/open-order';
8
8
  export { setTokenAllowances } from './approval/token';
9
9
  export { approveAllForMarket } from './approval/market';
10
10
  export { setVault, removeVault, depositToVault, withdrawFromVault, } from './vault';
11
- export { prepareLimitOrderWithSetup, prepareMarketOrderWithSetup, } from './batch';
11
+ export { prepareLimitOrderWithSetup, prepareMarketOrderWithSetup, prepareWithdraw, NotEnoughFundsError, } from './batch';
12
12
  export type { BatchCall } from './batch';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1stdex/first-sdk",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "🛠 An SDK for building applications on top of 1st V2",
5
5
  "files": [
6
6
  "dist"