@kehtus/proportion-sdk 0.5.0 → 1.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.
Files changed (95) hide show
  1. package/dist/abi/challengeAccount.d.ts +1855 -0
  2. package/dist/abi/challengeAccount.d.ts.map +1 -0
  3. package/dist/abi/challengeAccount.js +2365 -0
  4. package/dist/abi/challengeAccount.js.map +1 -0
  5. package/dist/abi/challengeFactory.d.ts +1351 -0
  6. package/dist/abi/challengeFactory.d.ts.map +1 -0
  7. package/dist/abi/challengeFactory.js +1727 -0
  8. package/dist/abi/challengeFactory.js.map +1 -0
  9. package/dist/abi/challengeVault.d.ts +1392 -0
  10. package/dist/abi/challengeVault.d.ts.map +1 -0
  11. package/dist/abi/challengeVault.js +1793 -0
  12. package/dist/abi/challengeVault.js.map +1 -0
  13. package/dist/abi/factory.d.ts +4 -0
  14. package/dist/abi/factory.d.ts.map +1 -1
  15. package/dist/abi/factory.js +5 -0
  16. package/dist/abi/factory.js.map +1 -1
  17. package/dist/abi/fundedAccount.d.ts +49 -10
  18. package/dist/abi/fundedAccount.d.ts.map +1 -1
  19. package/dist/abi/fundedAccount.js +62 -13
  20. package/dist/abi/fundedAccount.js.map +1 -1
  21. package/dist/abi/mainVault.d.ts +409 -20
  22. package/dist/abi/mainVault.d.ts.map +1 -1
  23. package/dist/abi/mainVault.js +523 -20
  24. package/dist/abi/mainVault.js.map +1 -1
  25. package/dist/abi/priceOracle.d.ts +497 -0
  26. package/dist/abi/priceOracle.d.ts.map +1 -0
  27. package/dist/abi/priceOracle.js +644 -0
  28. package/dist/abi/priceOracle.js.map +1 -0
  29. package/dist/account.d.ts.map +1 -1
  30. package/dist/account.js +6 -0
  31. package/dist/account.js.map +1 -1
  32. package/dist/challenge/account.d.ts +95 -0
  33. package/dist/challenge/account.d.ts.map +1 -0
  34. package/dist/challenge/account.js +375 -0
  35. package/dist/challenge/account.js.map +1 -0
  36. package/dist/challenge/api.d.ts +49 -0
  37. package/dist/challenge/api.d.ts.map +1 -0
  38. package/dist/challenge/api.js +173 -0
  39. package/dist/challenge/api.js.map +1 -0
  40. package/dist/challenge/factory.d.ts +165 -0
  41. package/dist/challenge/factory.d.ts.map +1 -0
  42. package/dist/challenge/factory.js +392 -0
  43. package/dist/challenge/factory.js.map +1 -0
  44. package/dist/challenge/intents.d.ts +137 -0
  45. package/dist/challenge/intents.d.ts.map +1 -0
  46. package/dist/challenge/intents.js +218 -0
  47. package/dist/challenge/intents.js.map +1 -0
  48. package/dist/challenge/oracle.d.ts +50 -0
  49. package/dist/challenge/oracle.d.ts.map +1 -0
  50. package/dist/challenge/oracle.js +117 -0
  51. package/dist/challenge/oracle.js.map +1 -0
  52. package/dist/challenge/types.d.ts +652 -0
  53. package/dist/challenge/types.d.ts.map +1 -0
  54. package/dist/challenge/types.js +64 -0
  55. package/dist/challenge/types.js.map +1 -0
  56. package/dist/challenge/vault.d.ts +87 -0
  57. package/dist/challenge/vault.d.ts.map +1 -0
  58. package/dist/challenge/vault.js +299 -0
  59. package/dist/challenge/vault.js.map +1 -0
  60. package/dist/constants.d.ts +7 -3
  61. package/dist/constants.d.ts.map +1 -1
  62. package/dist/constants.js +21 -3
  63. package/dist/constants.js.map +1 -1
  64. package/dist/factory.d.ts +1 -1
  65. package/dist/factory.d.ts.map +1 -1
  66. package/dist/factory.js +12 -0
  67. package/dist/factory.js.map +1 -1
  68. package/dist/forwarder.d.ts +58 -0
  69. package/dist/forwarder.d.ts.map +1 -0
  70. package/dist/forwarder.js +145 -0
  71. package/dist/forwarder.js.map +1 -0
  72. package/dist/index.d.ts +13 -0
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +14 -0
  75. package/dist/index.js.map +1 -1
  76. package/dist/indexer.d.ts +52 -0
  77. package/dist/indexer.d.ts.map +1 -1
  78. package/dist/indexer.js +219 -4
  79. package/dist/indexer.js.map +1 -1
  80. package/dist/sdk.d.ts +23 -1
  81. package/dist/sdk.d.ts.map +1 -1
  82. package/dist/sdk.js +122 -35
  83. package/dist/sdk.js.map +1 -1
  84. package/dist/types.d.ts +50 -0
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js.map +1 -1
  87. package/dist/utils.d.ts +35 -2
  88. package/dist/utils.d.ts.map +1 -1
  89. package/dist/utils.js +86 -7
  90. package/dist/utils.js.map +1 -1
  91. package/dist/vault.d.ts +44 -4
  92. package/dist/vault.d.ts.map +1 -1
  93. package/dist/vault.js +143 -9
  94. package/dist/vault.js.map +1 -1
  95. package/package.json +42 -42
@@ -0,0 +1,58 @@
1
+ import { type Address, type Chain, type Hash, type Hex, type PublicClient, type WalletClient } from "viem";
2
+ /**
3
+ * ERC2771 ForwardRequestData — the tuple passed to `Forwarder.execute()`.
4
+ * `nonce` is NOT part of this tuple (the contract reads it from its own `nonces` mapping),
5
+ * but it IS part of the EIP-712 signed payload, so it is captured during signing.
6
+ */
7
+ export interface ForwardRequest {
8
+ from: Address;
9
+ to: Address;
10
+ value: bigint;
11
+ gas: bigint;
12
+ deadline: number;
13
+ data: Hex;
14
+ signature: Hex;
15
+ }
16
+ /**
17
+ * Meta-transaction helper for the Proportion `Forwarder` (OZ ERC2771Forwarder,
18
+ * EIP-712 domain name "ProportionForwarder"). Lets a FundedAccount owner sign gasless
19
+ * `requestWithdrawProfit` / `cancelSubscription` calls that a relayer submits via `execute()`.
20
+ */
21
+ export declare class ForwarderModule {
22
+ private publicClient;
23
+ private walletClient;
24
+ private chain;
25
+ private forwarderAddress;
26
+ constructor(publicClient: PublicClient, walletClient: WalletClient | undefined, chain: Chain, forwarderAddress: Address);
27
+ get address(): Address;
28
+ private requireWallet;
29
+ /** Current EIP-712 nonce for a signer (replay protection). */
30
+ getNonce(owner: Address): Promise<bigint>;
31
+ /**
32
+ * Owner signs an EIP-712 ForwardRequest targeting `to` (a FundedAccount) with `data` calldata.
33
+ * Returns the ForwardRequestData tuple (with signature) that a relayer submits via `execute()`.
34
+ * `deadlineSeconds` is an absolute unix timestamp (defaults to now + 1h).
35
+ */
36
+ signRequest(p: {
37
+ to: Address;
38
+ data: Hex;
39
+ value?: bigint;
40
+ gas?: bigint;
41
+ deadlineSeconds?: number;
42
+ nonce?: bigint;
43
+ }): Promise<ForwardRequest>;
44
+ /**
45
+ * Relayer submits a signed request on-chain (pays gas). Pass `relayerWallet` to submit from a
46
+ * different account than the signer — the request is authenticated by its signature, not by
47
+ * msg.sender, which is exactly what makes the call gasless for the owner. When omitted, the
48
+ * module's own wallet relays (only useful if it differs from the signer).
49
+ */
50
+ execute(request: ForwardRequest, relayerWallet?: WalletClient): Promise<Hash>;
51
+ /** Off-chain validity check (signature, nonce, target trust) without executing. */
52
+ verify(request: ForwardRequest): Promise<boolean>;
53
+ /** Calldata for FundedAccount.requestWithdrawProfit(). */
54
+ static encodeRequestWithdrawProfit(): Hex;
55
+ /** Calldata for FundedAccount.cancelSubscription(). */
56
+ static encodeCancelSubscription(): Hex;
57
+ }
58
+ //# sourceMappingURL=forwarder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../src/forwarder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,MAAM,CAAC;AAId;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;CAChB;AAuBD;;;;GAIG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;gBAHhB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,OAAO;IAGnC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,aAAa;IASrB,8DAA8D;IACxD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAS/C;;;;OAIG;IACG,WAAW,CAAC,CAAC,EAAE;QACnB,EAAE,EAAE,OAAO,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B3B;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnF,mFAAmF;IAC7E,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBvD,0DAA0D;IAC1D,MAAM,CAAC,2BAA2B,IAAI,GAAG;IAIzC,uDAAuD;IACvD,MAAM,CAAC,wBAAwB,IAAI,GAAG;CAGvC"}
@@ -0,0 +1,145 @@
1
+ import { encodeFunctionData, } from "viem";
2
+ import { forwarderAbi } from "./abi/forwarder.js";
3
+ import { fundedAccountAbi } from "./abi/fundedAccount.js";
4
+ // EIP-712 types for OZ v5 ERC2771Forwarder.
5
+ // typehash: ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,uint48 deadline,bytes data)
6
+ const FORWARD_REQUEST_TYPES = {
7
+ ForwardRequest: [
8
+ { name: "from", type: "address" },
9
+ { name: "to", type: "address" },
10
+ { name: "value", type: "uint256" },
11
+ { name: "gas", type: "uint256" },
12
+ { name: "nonce", type: "uint256" },
13
+ { name: "deadline", type: "uint48" },
14
+ { name: "data", type: "bytes" },
15
+ ],
16
+ };
17
+ // Gas forwarded to the inner FundedAccount call. Ample for requestWithdrawProfit /
18
+ // cancelSubscription; pass an explicit `gas` to signRequest for heavier targets, since this
19
+ // value is part of the signed payload and OZ's 63/64 forwarding rule can otherwise fail the
20
+ // inner call silently (ExecutedForwardRequest success=false) while the outer tx succeeds.
21
+ const DEFAULT_GAS = 1000000n;
22
+ const DEFAULT_TTL_SECONDS = 3600;
23
+ /**
24
+ * Meta-transaction helper for the Proportion `Forwarder` (OZ ERC2771Forwarder,
25
+ * EIP-712 domain name "ProportionForwarder"). Lets a FundedAccount owner sign gasless
26
+ * `requestWithdrawProfit` / `cancelSubscription` calls that a relayer submits via `execute()`.
27
+ */
28
+ export class ForwarderModule {
29
+ publicClient;
30
+ walletClient;
31
+ chain;
32
+ forwarderAddress;
33
+ constructor(publicClient, walletClient, chain, forwarderAddress) {
34
+ this.publicClient = publicClient;
35
+ this.walletClient = walletClient;
36
+ this.chain = chain;
37
+ this.forwarderAddress = forwarderAddress;
38
+ }
39
+ get address() {
40
+ return this.forwarderAddress;
41
+ }
42
+ requireWallet() {
43
+ if (!this.walletClient)
44
+ throw new Error("WalletClient required for signing/execution");
45
+ const walletChainId = this.walletClient.chain?.id;
46
+ if (walletChainId !== undefined && walletChainId !== this.chain.id) {
47
+ throw new Error(`WalletClient chain mismatch: expected ${this.chain.id}, got ${walletChainId}`);
48
+ }
49
+ return this.walletClient;
50
+ }
51
+ /** Current EIP-712 nonce for a signer (replay protection). */
52
+ async getNonce(owner) {
53
+ return this.publicClient.readContract({
54
+ address: this.forwarderAddress,
55
+ abi: forwarderAbi,
56
+ functionName: "nonces",
57
+ args: [owner],
58
+ });
59
+ }
60
+ /**
61
+ * Owner signs an EIP-712 ForwardRequest targeting `to` (a FundedAccount) with `data` calldata.
62
+ * Returns the ForwardRequestData tuple (with signature) that a relayer submits via `execute()`.
63
+ * `deadlineSeconds` is an absolute unix timestamp (defaults to now + 1h).
64
+ */
65
+ async signRequest(p) {
66
+ const wallet = this.requireWallet();
67
+ const account = wallet.account;
68
+ if (!account)
69
+ throw new Error("WalletClient has no account");
70
+ const from = account.address;
71
+ const value = p.value ?? 0n;
72
+ const gas = p.gas ?? DEFAULT_GAS;
73
+ const deadline = p.deadlineSeconds ?? Math.floor(Date.now() / 1000) + DEFAULT_TTL_SECONDS;
74
+ const nonce = p.nonce ?? (await this.getNonce(from));
75
+ const signature = await wallet.signTypedData({
76
+ account,
77
+ domain: {
78
+ name: "ProportionForwarder",
79
+ version: "1",
80
+ chainId: this.chain.id,
81
+ verifyingContract: this.forwarderAddress,
82
+ },
83
+ types: FORWARD_REQUEST_TYPES,
84
+ primaryType: "ForwardRequest",
85
+ message: { from, to: p.to, value, gas, nonce, deadline, data: p.data },
86
+ });
87
+ return { from, to: p.to, value, gas, deadline, data: p.data, signature };
88
+ }
89
+ /**
90
+ * Relayer submits a signed request on-chain (pays gas). Pass `relayerWallet` to submit from a
91
+ * different account than the signer — the request is authenticated by its signature, not by
92
+ * msg.sender, which is exactly what makes the call gasless for the owner. When omitted, the
93
+ * module's own wallet relays (only useful if it differs from the signer).
94
+ */
95
+ async execute(request, relayerWallet) {
96
+ const wallet = relayerWallet ?? this.requireWallet();
97
+ const account = wallet.account;
98
+ if (!account)
99
+ throw new Error("WalletClient has no account");
100
+ return wallet.writeContract({
101
+ address: this.forwarderAddress,
102
+ abi: forwarderAbi,
103
+ functionName: "execute",
104
+ args: [{
105
+ from: request.from,
106
+ to: request.to,
107
+ value: request.value,
108
+ gas: request.gas,
109
+ deadline: request.deadline,
110
+ data: request.data,
111
+ signature: request.signature,
112
+ }],
113
+ value: request.value,
114
+ chain: this.chain,
115
+ account,
116
+ });
117
+ }
118
+ /** Off-chain validity check (signature, nonce, target trust) without executing. */
119
+ async verify(request) {
120
+ return this.publicClient.readContract({
121
+ address: this.forwarderAddress,
122
+ abi: forwarderAbi,
123
+ functionName: "verify",
124
+ args: [{
125
+ from: request.from,
126
+ to: request.to,
127
+ value: request.value,
128
+ gas: request.gas,
129
+ deadline: request.deadline,
130
+ data: request.data,
131
+ signature: request.signature,
132
+ }],
133
+ });
134
+ }
135
+ // ── Convenience encoders for the two gasless owner functions ──
136
+ /** Calldata for FundedAccount.requestWithdrawProfit(). */
137
+ static encodeRequestWithdrawProfit() {
138
+ return encodeFunctionData({ abi: fundedAccountAbi, functionName: "requestWithdrawProfit" });
139
+ }
140
+ /** Calldata for FundedAccount.cancelSubscription(). */
141
+ static encodeCancelSubscription() {
142
+ return encodeFunctionData({ abi: fundedAccountAbi, functionName: "cancelSubscription" });
143
+ }
144
+ }
145
+ //# sourceMappingURL=forwarder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../src/forwarder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GASnB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAiB1D,4CAA4C;AAC5C,uHAAuH;AACvH,MAAM,qBAAqB,GAAG;IAC5B,cAAc,EAAE;QACd,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;KAChC;CACO,CAAC;AAEX,mFAAmF;AACnF,4FAA4F;AAC5F,4FAA4F;AAC5F,0FAA0F;AAC1F,MAAM,WAAW,GAAG,QAAU,CAAC;AAC/B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAEhB;IACA;IACA;IACA;IAJV,YACU,YAA0B,EAC1B,YAAsC,EACtC,KAAY,EACZ,gBAAyB;QAHzB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAA0B;QACtC,UAAK,GAAL,KAAK,CAAO;QACZ,qBAAgB,GAAhB,gBAAgB,CAAS;IAChC,CAAC;IAEJ,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,KAAK,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,CAOjB;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,mBAAmB,CAAC;QAC1F,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC3C,OAAO;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBACtB,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;aACzC;YACD,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SACvE,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,aAA4B;QACjE,MAAM,MAAM,GAAG,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,aAAa,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC;YACF,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO;SACmB,CAAC,CAAC;IAChC,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IAEjE,0DAA0D;IAC1D,MAAM,CAAC,2BAA2B;QAChC,OAAO,kBAAkB,CAAC,EAAE,GAAG,EAAE,gBAAuB,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,uDAAuD;IACvD,MAAM,CAAC,wBAAwB;QAC7B,OAAO,kBAAkB,CAAC,EAAE,GAAG,EAAE,gBAAuB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAClG,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -2,11 +2,24 @@ export { ProportionSDK } from "./sdk.js";
2
2
  export { VaultModule } from "./vault.js";
3
3
  export { AccountModule } from "./account.js";
4
4
  export { FactoryModule } from "./factory.js";
5
+ export { ForwarderModule, type ForwardRequest } from "./forwarder.js";
5
6
  export { IndexerModule } from "./indexer.js";
7
+ export { ChallengeAccountModule } from "./challenge/account.js";
8
+ export { ChallengeVaultModule } from "./challenge/vault.js";
9
+ export { ChallengeFactoryModule, CHALLENGE_QUOTE_TYPES } from "./challenge/factory.js";
10
+ export { ChallengePricesModule } from "./challenge/oracle.js";
11
+ export { ChallengeIntentsModule, OPEN_INTENT_TYPES, CLOSE_INTENT_TYPES, SESSION_PERMISSION_OPEN, SESSION_PERMISSION_CLOSE, challengeAccountDomain, hashOpenIntent, hashCloseIntent, priceBounds, marketsToMask, maskToMarkets, } from "./challenge/intents.js";
12
+ export { ChallengeApiClient } from "./challenge/api.js";
6
13
  export * from "./types.js";
14
+ export * from "./challenge/types.js";
7
15
  export * from "./constants.js";
8
16
  export * from "./utils.js";
9
17
  export { mainVaultAbi } from "./abi/mainVault.js";
10
18
  export { fundedAccountAbi } from "./abi/fundedAccount.js";
11
19
  export { factoryAbi } from "./abi/factory.js";
20
+ export { forwarderAbi } from "./abi/forwarder.js";
21
+ export { challengeAccountAbi } from "./abi/challengeAccount.js";
22
+ export { challengeVaultAbi } from "./abi/challengeVault.js";
23
+ export { challengeFactoryAbi } from "./abi/challengeFactory.js";
24
+ export { priceOracleAbi } from "./abi/priceOracle.js";
12
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -4,12 +4,26 @@ export { ProportionSDK } from "./sdk.js";
4
4
  export { VaultModule } from "./vault.js";
5
5
  export { AccountModule } from "./account.js";
6
6
  export { FactoryModule } from "./factory.js";
7
+ export { ForwarderModule } from "./forwarder.js";
7
8
  export { IndexerModule } from "./indexer.js";
9
+ // Challenge / B-book modules
10
+ export { ChallengeAccountModule } from "./challenge/account.js";
11
+ export { ChallengeVaultModule } from "./challenge/vault.js";
12
+ export { ChallengeFactoryModule, CHALLENGE_QUOTE_TYPES } from "./challenge/factory.js";
13
+ export { ChallengePricesModule } from "./challenge/oracle.js";
14
+ export { ChallengeIntentsModule, OPEN_INTENT_TYPES, CLOSE_INTENT_TYPES, SESSION_PERMISSION_OPEN, SESSION_PERMISSION_CLOSE, challengeAccountDomain, hashOpenIntent, hashCloseIntent, priceBounds, marketsToMask, maskToMarkets, } from "./challenge/intents.js";
15
+ export { ChallengeApiClient } from "./challenge/api.js";
8
16
  // Core
9
17
  export * from "./types.js";
18
+ export * from "./challenge/types.js";
10
19
  export * from "./constants.js";
11
20
  export * from "./utils.js";
12
21
  export { mainVaultAbi } from "./abi/mainVault.js";
13
22
  export { fundedAccountAbi } from "./abi/fundedAccount.js";
14
23
  export { factoryAbi } from "./abi/factory.js";
24
+ export { forwarderAbi } from "./abi/forwarder.js";
25
+ export { challengeAccountAbi } from "./abi/challengeAccount.js";
26
+ export { challengeVaultAbi } from "./abi/challengeVault.js";
27
+ export { challengeFactoryAbi } from "./abi/challengeFactory.js";
28
+ export { priceOracleAbi } from "./abi/priceOracle.js";
15
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO;AACP,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,6BAA6B;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO;AACP,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/indexer.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { GqlAccount, GqlAccountEvent, GqlAllowedPerp, GqlBuilder, GqlCheckpoint, GqlConfigChange, GqlFactoryConfig, GqlDelegate, GqlDeposit, GqlLiquidityProviderDayData, GqlLP, GqlMainVaultConfig, GqlProfitWithdrawal, GqlProtocolConfig, GqlSubscriptionPayment, GqlVault, GqlVaultDayData, GqlWithdrawal, ConfigChangeFilters, IndexerAccountStateLabel, Pagination, Unsubscribe, WebSocketConstructor } from "./types.js";
2
+ import type { ChallengePhaseLabel, GqlChallenge, GqlChallengeBuilder, GqlChallengeCheckpoint, GqlChallengeDayData, GqlChallengePayout, GqlChallengePayoutQueueEntry, GqlChallengePosition, GqlChallengeTrade, GqlFounderMultiplier, GqlFounderParticipant, GqlFounderPointEvent, GqlFounderWalletWeek, GqlFounderWeeklyBoost, GqlJourneyEvent, GqlTrader } from "./challenge/types.js";
2
3
  export declare class IndexerModule {
3
4
  private graphqlUrl;
4
5
  private graphqlWsUrl?;
@@ -23,6 +24,21 @@ export declare class IndexerModule {
23
24
  private static readonly CONFIG_CHANGE_FIELDS;
24
25
  private static readonly VAULT_DAY_DATA_FIELDS;
25
26
  private static readonly LP_DAY_DATA_FIELDS;
27
+ private static readonly CHALLENGE_FIELDS;
28
+ private static readonly CHALLENGE_BUILDER_FIELDS;
29
+ private static readonly CHALLENGE_POSITION_FIELDS;
30
+ private static readonly CHALLENGE_TRADE_FIELDS;
31
+ private static readonly CHALLENGE_CHECKPOINT_FIELDS;
32
+ private static readonly CHALLENGE_PAYOUT_FIELDS;
33
+ private static readonly CHALLENGE_QUEUE_ENTRY_FIELDS;
34
+ private static readonly CHALLENGE_DAY_DATA_FIELDS;
35
+ private static readonly TRADER_FIELDS;
36
+ private static readonly JOURNEY_EVENT_FIELDS;
37
+ private static readonly FOUNDER_PARTICIPANT_FIELDS;
38
+ private static readonly FOUNDER_WALLET_WEEK_FIELDS;
39
+ private static readonly FOUNDER_POINT_EVENT_FIELDS;
40
+ private static readonly FOUNDER_MULTIPLIER_FIELDS;
41
+ private static readonly FOUNDER_WEEKLY_BOOST_FIELDS;
26
42
  private getCachedProtocol;
27
43
  private resolveVaultAddress;
28
44
  private resolveFactoryAddress;
@@ -53,6 +69,39 @@ export declare class IndexerModule {
53
69
  getVaultDayData(vaultAddress?: string, p?: Pagination): Promise<GqlVaultDayData[]>;
54
70
  getLPDayData(address: string, p?: Pagination): Promise<GqlLiquidityProviderDayData[]>;
55
71
  getAllowedPerps(vaultAddress?: string): Promise<GqlAllowedPerp[]>;
72
+ getChallenge(address: string): Promise<GqlChallenge | null>;
73
+ getChallengesByTrader(trader: string, p?: Pagination): Promise<GqlChallenge[]>;
74
+ getChallengesByBuilder(builder: string, p?: Pagination): Promise<GqlChallenge[]>;
75
+ getChallengesByPhase(phase: ChallengePhaseLabel, p?: Pagination): Promise<GqlChallenge[]>;
76
+ getChallengeBuilder(address: string): Promise<GqlChallengeBuilder | null>;
77
+ getChallengePositions(challenge: string, p?: Pagination & {
78
+ openOnly?: boolean;
79
+ }): Promise<GqlChallengePosition[]>;
80
+ getChallengeTrades(challenge: string, p?: Pagination): Promise<GqlChallengeTrade[]>;
81
+ getChallengeCheckpoints(challenge: string, p?: Pagination): Promise<GqlChallengeCheckpoint[]>;
82
+ getChallengePayouts(filter: {
83
+ challenge?: string;
84
+ trader?: string;
85
+ builder?: string;
86
+ }, p?: Pagination): Promise<GqlChallengePayout[]>;
87
+ /** Live FIFO payout queue of a builder (unpaid entries, oldest first). */
88
+ getPayoutQueue(builder: string, p?: Pagination): Promise<GqlChallengePayoutQueueEntry[]>;
89
+ getChallengeDayData(p?: Pagination): Promise<GqlChallengeDayData[]>;
90
+ getTrader(address: string): Promise<GqlTrader | null>;
91
+ /** Cross-system timeline (challenge ↔ funded) of a trader, newest first. */
92
+ getTraderJourney(trader: string, p?: Pagination): Promise<GqlJourneyEvent[]>;
93
+ getFounderParticipant(wallet: string): Promise<GqlFounderParticipant | null>;
94
+ /** Lifetime leaderboard by total final points. */
95
+ getFounderLeaderboard(p?: Pagination): Promise<GqlFounderParticipant[]>;
96
+ /** Weekly leaderboard for one epoch week (weekStart = unix seconds of the week boundary). */
97
+ getFounderWeeklyLeaderboard(weekStart: string, p?: Pagination): Promise<GqlFounderWalletWeek[]>;
98
+ getFounderWalletWeeks(wallet: string, p?: Pagination): Promise<GqlFounderWalletWeek[]>;
99
+ /** Canonical append-only point journal of a wallet, newest first. */
100
+ getFounderPointEvents(wallet: string, p?: Pagination): Promise<GqlFounderPointEvent[]>;
101
+ /** Active skill multipliers (pass/activation/realization) of a wallet. */
102
+ getFounderMultiplier(wallet: string): Promise<GqlFounderMultiplier | null>;
103
+ /** Weekly rotating boost entries (deterministic calendar), newest first. */
104
+ getFounderWeeklyBoosts(p?: Pagination): Promise<GqlFounderWeeklyBoost[]>;
56
105
  private ensureWs;
57
106
  private subscribe;
58
107
  subscribeActiveAccounts(cb: (accounts: GqlAccount[]) => void): Unsubscribe;
@@ -60,6 +109,9 @@ export declare class IndexerModule {
60
109
  subscribeAccountEvents(address: string, cb: (events: GqlAccountEvent[]) => void): Unsubscribe;
61
110
  subscribeStateChanges(cb: (accounts: GqlAccount[]) => void): Unsubscribe;
62
111
  subscribeAllowedPerps(cb: (perps: GqlAllowedPerp[]) => void): Unsubscribe;
112
+ subscribeChallenge(address: string, cb: (challenge: GqlChallenge) => void): Unsubscribe;
113
+ /** Live view of a builder's unpaid FIFO payout queue. */
114
+ subscribePayoutQueue(builder: string, cb: (entries: GqlChallengePayoutQueueEntry[]) => void): Unsubscribe;
63
115
  disconnect(): void;
64
116
  }
65
117
  //# sourceMappingURL=indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}