@pufferfinance/puffer-sdk 1.8.1 → 1.9.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.
Files changed (28) hide show
  1. package/dist/api/puffer-client.cjs +1 -1
  2. package/dist/api/puffer-client.cjs.map +1 -1
  3. package/dist/api/puffer-client.d.ts +3 -0
  4. package/dist/api/puffer-client.js +55 -48
  5. package/dist/api/puffer-client.js.map +1 -1
  6. package/dist/contracts/abis/mainnet/AtomicQueue.cjs +2 -0
  7. package/dist/contracts/abis/mainnet/AtomicQueue.cjs.map +1 -0
  8. package/dist/contracts/abis/mainnet/AtomicQueue.d.ts +328 -0
  9. package/dist/contracts/abis/mainnet/AtomicQueue.js +237 -0
  10. package/dist/contracts/abis/mainnet/AtomicQueue.js.map +1 -0
  11. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +2 -0
  12. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs.map +1 -0
  13. package/dist/contracts/abis/nucleus-atomic-queue-abis.d.ts +332 -0
  14. package/dist/contracts/abis/nucleus-atomic-queue-abis.js +9 -0
  15. package/dist/contracts/abis/nucleus-atomic-queue-abis.js.map +1 -0
  16. package/dist/contracts/addresses.cjs +1 -1
  17. package/dist/contracts/addresses.cjs.map +1 -1
  18. package/dist/contracts/addresses.d.ts +14 -0
  19. package/dist/contracts/addresses.js +2 -1
  20. package/dist/contracts/addresses.js.map +1 -1
  21. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +2 -0
  22. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -0
  23. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +6509 -0
  24. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +89 -0
  25. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -0
  26. package/dist/utils/version.cjs +1 -1
  27. package/dist/utils/version.js +1 -1
  28. package/package.json +1 -1
@@ -0,0 +1,89 @@
1
+ var a = Object.defineProperty;
2
+ var n = (s, t, e) => t in s ? a(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var c = (s, t, e) => n(s, typeof t != "symbol" ? t + "" : t, e);
4
+ import { V as u } from "../../constants-rWWWhxR_.js";
5
+ import { CONTRACT_ADDRESSES as h } from "../addresses.js";
6
+ import { NUCLEUS_ATOMIC_QUEUE_ABIS as l } from "../abis/nucleus-atomic-queue-abis.js";
7
+ import { g as m } from "../../getContract-B3Spz0SO.js";
8
+ class R {
9
+ constructor(t, e, i) {
10
+ c(this, "viemChain");
11
+ this.chain = t, this.walletClient = e, this.publicClient = i, this.viemChain = u[t];
12
+ }
13
+ getContract() {
14
+ const t = h[this.chain].AtomicQueue, e = l[this.chain].AtomicQueue, i = { public: this.publicClient, wallet: this.walletClient };
15
+ return m({ address: t, abi: e, client: i });
16
+ }
17
+ /**
18
+ * Get the atomic request details for a specific user (wallet address).
19
+ * @param user User address
20
+ * @param offerToken Token being offered
21
+ * @param wantToken Token being requested
22
+ */
23
+ getUserAtomicRequest(t, e, i) {
24
+ return this.getContract().read.getUserAtomicRequest([
25
+ t,
26
+ e,
27
+ i
28
+ ]);
29
+ }
30
+ /**
31
+ * Check if an atomic request is valid.
32
+ * @param offerToken Token being offered
33
+ * @param user User address
34
+ * @param request Atomic request details
35
+ */
36
+ isAtomicRequestValid(t, e, i) {
37
+ return this.getContract().read.isAtomicRequestValid([
38
+ t,
39
+ e,
40
+ i
41
+ ]);
42
+ }
43
+ /**
44
+ * Solve atomic requests for multiple users.
45
+ * @param offerToken Token being offered
46
+ * @param wantToken Token being requested
47
+ * @param users Array of user addresses
48
+ * @param runData Execution data for the solve
49
+ * @param solver Address of the solver
50
+ */
51
+ solve(t, e, i, r, o) {
52
+ return this.getContract().write.solve(
53
+ [t, e, i, r, o],
54
+ {
55
+ account: this.walletClient.account,
56
+ chain: this.viemChain
57
+ }
58
+ );
59
+ }
60
+ /**
61
+ * Update an atomic request.
62
+ * @param offerToken Token being offered
63
+ * @param wantToken Token being requested
64
+ * @param request New atomic request details
65
+ */
66
+ updateAtomicRequest(t, e, i, r) {
67
+ return this.getContract().write.updateAtomicRequest(
68
+ [t, e, i],
69
+ { account: r, chain: this.viemChain }
70
+ );
71
+ }
72
+ /**
73
+ * Get user's atomic request details directly from storage.
74
+ * @param user User address
75
+ * @param offerToken Token being offered
76
+ * @param wantToken Token being requested
77
+ */
78
+ userAtomicRequest(t, e, i) {
79
+ return this.getContract().read.userAtomicRequest([
80
+ t,
81
+ e,
82
+ i
83
+ ]);
84
+ }
85
+ }
86
+ export {
87
+ R as NucleusAtomicQueueHandler
88
+ };
89
+ //# sourceMappingURL=nucleus-atomic-queue-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nucleus-atomic-queue-handler.js","sources":["../../../lib/contracts/handlers/nucleus-atomic-queue-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n Account,\n} from 'viem';\nimport { Chain } from 'viem';\nimport { Chain as LocalChain, VIEM_CHAINS } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { NUCLEUS_ATOMIC_QUEUE_ABIS } from '../abis/nucleus-atomic-queue-abis';\n\nexport type AtomicRequest = {\n deadline: bigint;\n atomicPrice: bigint;\n offerAmount: bigint;\n inSolve: boolean;\n};\n\nexport type SolveMetaData = {\n user: Address;\n flags: number;\n assetsToOffer: bigint;\n assetsForWant: bigint;\n};\n\n/**\n * Handler for the `AtomicQueue` contract.\n */\nexport class NucleusAtomicQueueHandler {\n private viemChain: Chain;\n\n constructor(\n private chain: LocalChain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].AtomicQueue as Address;\n const abi = NUCLEUS_ATOMIC_QUEUE_ABIS[this.chain].AtomicQueue;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the atomic request details for a specific user (wallet address).\n * @param user User address\n * @param offerToken Token being offered\n * @param wantToken Token being requested\n */\n public getUserAtomicRequest(\n user: Address,\n offerToken: Address,\n wantToken: Address,\n ) {\n return this.getContract().read.getUserAtomicRequest([\n user,\n offerToken,\n wantToken,\n ]);\n }\n\n /**\n * Check if an atomic request is valid.\n * @param offerToken Token being offered\n * @param user User address\n * @param request Atomic request details\n */\n public isAtomicRequestValid(\n offerToken: Address,\n user: Address,\n request: AtomicRequest,\n ) {\n return this.getContract().read.isAtomicRequestValid([\n offerToken,\n user,\n request,\n ]);\n }\n\n /**\n * Solve atomic requests for multiple users.\n * @param offerToken Token being offered\n * @param wantToken Token being requested\n * @param users Array of user addresses\n * @param runData Execution data for the solve\n * @param solver Address of the solver\n */\n public solve(\n offerToken: Address,\n wantToken: Address,\n users: Address[],\n runData: `0x${string}`,\n solver: Address,\n ) {\n return this.getContract().write.solve(\n [offerToken, wantToken, users, runData, solver],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Update an atomic request.\n * @param offerToken Token being offered\n * @param wantToken Token being requested\n * @param request New atomic request details\n */\n public updateAtomicRequest(\n offerToken: Address,\n wantToken: Address,\n request: AtomicRequest,\n ownerAddress: Address,\n ) {\n return this.getContract().write.updateAtomicRequest(\n [offerToken, wantToken, request],\n { account: ownerAddress, chain: this.viemChain },\n );\n }\n\n /**\n * Get user's atomic request details directly from storage.\n * @param user User address\n * @param offerToken Token being offered\n * @param wantToken Token being requested\n */\n public userAtomicRequest(\n user: Address,\n offerToken: Address,\n wantToken: Address,\n ) {\n return this.getContract().read.userAtomicRequest([\n user,\n offerToken,\n wantToken,\n ]);\n }\n}\n"],"names":["NucleusAtomicQueueHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","NUCLEUS_ATOMIC_QUEUE_ABIS","client","getContract","user","offerToken","wantToken","request","users","runData","solver","ownerAddress"],"mappings":";;;;;;;AA8BO,MAAMA,EAA0B;AAAA,EAGrC,YACUC,GACAC,GACAC,GACR;AANM,IAAAC,EAAA;AAGE,SAAA,QAAAH,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAEH,KAAA,YAAYE,EAAYJ,CAAK;AAAA,EACpC;AAAA,EAEO,cAAc;AACnB,UAAMK,IAAUC,EAAmB,KAAK,KAAK,EAAE,aACzCC,IAAMC,EAA0B,KAAK,KAAK,EAAE,aAC5CC,IAAS,EAAE,QAAQ,KAAK,cAAc,QAAQ,KAAK;AAEzD,WAAOC,EAAY,EAAE,SAAAL,GAAS,KAAAE,GAAK,QAAAE,EAAQ,CAAA;AAAA,EAK7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,qBACLE,GACAC,GACAC,GACA;AACA,WAAO,KAAK,cAAc,KAAK,qBAAqB;AAAA,MAClDF;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,qBACLD,GACAD,GACAG,GACA;AACA,WAAO,KAAK,cAAc,KAAK,qBAAqB;AAAA,MAClDF;AAAA,MACAD;AAAA,MACAG;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUO,MACLF,GACAC,GACAE,GACAC,GACAC,GACA;AACO,WAAA,KAAK,cAAc,MAAM;AAAA,MAC9B,CAACL,GAAYC,GAAWE,GAAOC,GAASC,CAAM;AAAA,MAC9C;AAAA,QACE,SAAS,KAAK,aAAa;AAAA,QAC3B,OAAO,KAAK;AAAA,MACd;AAAA,IAAA;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,oBACLL,GACAC,GACAC,GACAI,GACA;AACO,WAAA,KAAK,cAAc,MAAM;AAAA,MAC9B,CAACN,GAAYC,GAAWC,CAAO;AAAA,MAC/B,EAAE,SAASI,GAAc,OAAO,KAAK,UAAU;AAAA,IAAA;AAAA,EAEnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,kBACLP,GACAC,GACAC,GACA;AACA,WAAO,KAAK,cAAc,KAAK,kBAAkB;AAAA,MAC/CF;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,CACD;AAAA,EACH;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="1.8.0",o=e;exports.version=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="1.8.1",o=e;exports.version=o;
2
2
  //# sourceMappingURL=version.cjs.map
@@ -1,4 +1,4 @@
1
- const o = "1.8.0", n = o;
1
+ const o = "1.8.1", n = o;
2
2
  export {
3
3
  n as version
4
4
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pufferfinance/puffer-sdk",
3
3
  "description": "SDK for interacting with the puffer smart contracts",
4
- "version": "1.8.1",
4
+ "version": "1.9.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/PufferFinance/puffer-sdk.git"