@wuwei-labs/srsly 3.0.0-beta.16 → 3.0.0-beta.18

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 (48) hide show
  1. package/dist/cjs/accounts/borrower.js +48 -0
  2. package/dist/cjs/accounts/borrower.js.map +1 -1
  3. package/dist/cjs/accounts/config.js +50 -2
  4. package/dist/cjs/accounts/config.js.map +1 -1
  5. package/dist/cjs/accounts/contract.js +51 -0
  6. package/dist/cjs/accounts/contract.js.map +1 -1
  7. package/dist/cjs/accounts/rental.js +48 -0
  8. package/dist/cjs/accounts/rental.js.map +1 -1
  9. package/dist/cjs/demos.js +31 -1
  10. package/dist/cjs/demos.js.map +1 -1
  11. package/dist/cjs/index.js +6 -2
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/package.json +1 -1
  14. package/dist/cjs/utils/instructionResult.js +19 -25
  15. package/dist/cjs/utils/instructionResult.js.map +1 -1
  16. package/dist/cjs/version.js +1 -1
  17. package/dist/esm/accounts/borrower.js +48 -1
  18. package/dist/esm/accounts/borrower.js.map +1 -1
  19. package/dist/esm/accounts/config.js +48 -1
  20. package/dist/esm/accounts/config.js.map +1 -1
  21. package/dist/esm/accounts/contract.js +51 -1
  22. package/dist/esm/accounts/contract.js.map +1 -1
  23. package/dist/esm/accounts/rental.js +48 -1
  24. package/dist/esm/accounts/rental.js.map +1 -1
  25. package/dist/esm/demos.js +30 -0
  26. package/dist/esm/demos.js.map +1 -1
  27. package/dist/esm/index.js +4 -4
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/package.json +1 -1
  30. package/dist/esm/utils/instructionResult.js +19 -25
  31. package/dist/esm/utils/instructionResult.js.map +1 -1
  32. package/dist/esm/version.js +1 -1
  33. package/dist/types/accounts/borrower.d.ts +19 -0
  34. package/dist/types/accounts/borrower.d.ts.map +1 -1
  35. package/dist/types/accounts/config.d.ts +19 -0
  36. package/dist/types/accounts/config.d.ts.map +1 -1
  37. package/dist/types/accounts/contract.d.ts +19 -0
  38. package/dist/types/accounts/contract.d.ts.map +1 -1
  39. package/dist/types/accounts/rental.d.ts +19 -0
  40. package/dist/types/accounts/rental.d.ts.map +1 -1
  41. package/dist/types/demos.d.ts +6 -0
  42. package/dist/types/demos.d.ts.map +1 -1
  43. package/dist/types/index.d.ts +4 -4
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/utils/instructionResult.d.ts +13 -21
  46. package/dist/types/utils/instructionResult.d.ts.map +1 -1
  47. package/dist/types/version.d.ts +1 -1
  48. package/package.json +2 -2
@@ -6,7 +6,10 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.fetchBorrower = fetchBorrower;
9
+ exports.fetchAllBorrowers = fetchAllBorrowers;
10
+ const kit_1 = require("@solana/kit");
9
11
  const accounts_1 = require("../generated/codama/accounts");
12
+ const srsly_1 = require("../generated/codama/programs/srsly");
10
13
  const config_1 = require("../utils/config");
11
14
  const rpc_1 = require("../utils/rpc");
12
15
  const pda_1 = require("../pda");
@@ -60,4 +63,49 @@ async function fetchBorrower(address, rpcUrl) {
60
63
  }
61
64
  }
62
65
  }
66
+ /**
67
+ * Fetch all borrower state accounts from the SRSLY program
68
+ *
69
+ * Uses getProgramAccounts with a discriminator filter to find all BorrowerState accounts.
70
+ *
71
+ * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
72
+ * @returns Array of borrower states with their addresses
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const borrowers = await fetchAllBorrowers();
77
+ * console.log(`Found ${borrowers.length} borrowers`);
78
+ * borrowers.forEach(b => console.log(b.address, b.data.borrower));
79
+ * ```
80
+ */
81
+ async function fetchAllBorrowers(rpcUrl) {
82
+ try {
83
+ const resolvedRpcUrl = rpcUrl || (0, config_1.getRpcUrl)();
84
+ const rpc = (0, rpc_1.createRpc)(resolvedRpcUrl);
85
+ const discriminatorBase64 = btoa(String.fromCharCode(...accounts_1.BORROWER_STATE_DISCRIMINATOR));
86
+ const response = await rpc.getProgramAccounts(srsly_1.SRSLY_PROGRAM_ADDRESS, {
87
+ encoding: 'base64',
88
+ filters: [
89
+ {
90
+ memcmp: {
91
+ offset: 0n,
92
+ bytes: discriminatorBase64,
93
+ encoding: 'base64',
94
+ },
95
+ },
96
+ ],
97
+ }).send();
98
+ const base64Encoder = (0, kit_1.getBase64Encoder)();
99
+ const decoder = (0, accounts_1.getBorrowerStateDecoder)();
100
+ const accounts = Array.isArray(response) ? response : response.value;
101
+ return accounts.map((account) => {
102
+ const bytes = base64Encoder.encode(account.account.data[0]);
103
+ const decoded = decoder.decode(bytes);
104
+ return { data: decoded, address: account.pubkey };
105
+ });
106
+ }
107
+ catch (error) {
108
+ throw new Error(`Failed to fetch all borrower states: ${error.message}`);
109
+ }
110
+ }
63
111
  //# sourceMappingURL=borrower.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAmCH,sCA0BC;AA1DD,2DAAsF;AACtF,4CAA4C;AAC5C,sCAAyC;AACzC,gCAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAe;IAEf,0CAA0C;IAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;IAEtC,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,WAAgB,EAAE,CAAC;QAC1B,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAA,yBAAmB,EAAC,OAAiB,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YAC3B,oDAAoD;YACpD,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,oBAAoB;gBACpF,UAAU,YAAY,CAAC,OAAO,EAAE,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,sCA0BC;AAiBD,8CAuCC;AApHD,qCAA6D;AAC7D,2DAA6I;AAC7I,8DAA2E;AAC3E,4CAA4C;AAC5C,sCAAyC;AACzC,gCAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAe;IAEf,0CAA0C;IAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;IAEtC,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,WAAgB,EAAE,CAAC;QAC1B,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAA,yBAAmB,EAAC,OAAiB,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YAC3B,oDAAoD;YACpD,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,oBAAoB;gBACpF,UAAU,YAAY,CAAC,OAAO,EAAE,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,uCAA4B,CAAC,CAAC,CAAC;QAEvF,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,kBAAkB,CACpD,6BAAqB,EACrB;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,mBAAmB;wBAC1B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF;SACF,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,IAAA,sBAAgB,GAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,kCAAuB,GAAE,CAAC;QAE1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrE,OAAQ,QAAkB,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,OAAO,EAAE,CACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -6,9 +6,12 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.fetchConfig = fetchConfig;
9
+ exports.fetchAllConfigs = fetchAllConfigs;
10
+ const kit_1 = require("@solana/kit");
9
11
  const accounts_1 = require("../generated/codama/accounts");
12
+ const srsly_1 = require("../generated/codama/programs/srsly");
10
13
  const config_1 = require("../utils/config");
11
- const srsly_1 = require("../pda/srsly");
14
+ const srsly_2 = require("../pda/srsly");
12
15
  const rpc_1 = require("../utils/rpc");
13
16
  /**
14
17
  * Fetch global config state from the SRSLY program
@@ -35,7 +38,7 @@ async function fetchConfig(rpcUrl) {
35
38
  const resolvedRpcUrl = rpcUrl || (0, config_1.getRpcUrl)();
36
39
  const rpc = (0, rpc_1.createRpc)(resolvedRpcUrl);
37
40
  // Derive config PDA
38
- const configAddress = await (0, srsly_1.deriveConfig)();
41
+ const configAddress = await (0, srsly_2.deriveConfig)();
39
42
  // Use Codama-generated fetch function
40
43
  const account = await (0, accounts_1.fetchConfigState)(rpc, configAddress);
41
44
  return account;
@@ -44,4 +47,49 @@ async function fetchConfig(rpcUrl) {
44
47
  throw new Error(`Failed to fetch config state: ${error.message}`);
45
48
  }
46
49
  }
50
+ /**
51
+ * Fetch all config state accounts from the SRSLY program
52
+ *
53
+ * Uses getProgramAccounts with a discriminator filter to find all ConfigState accounts.
54
+ *
55
+ * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
56
+ * @returns Array of config states with their addresses
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const configs = await fetchAllConfigs();
61
+ * console.log(`Found ${configs.length} configs`);
62
+ * configs.forEach(c => console.log(c.address, c.data.admin));
63
+ * ```
64
+ */
65
+ async function fetchAllConfigs(rpcUrl) {
66
+ try {
67
+ const resolvedRpcUrl = rpcUrl || (0, config_1.getRpcUrl)();
68
+ const rpc = (0, rpc_1.createRpc)(resolvedRpcUrl);
69
+ const discriminatorBase64 = btoa(String.fromCharCode(...accounts_1.CONFIG_STATE_DISCRIMINATOR));
70
+ const response = await rpc.getProgramAccounts(srsly_1.SRSLY_PROGRAM_ADDRESS, {
71
+ encoding: 'base64',
72
+ filters: [
73
+ {
74
+ memcmp: {
75
+ offset: 0n,
76
+ bytes: discriminatorBase64,
77
+ encoding: 'base64',
78
+ },
79
+ },
80
+ ],
81
+ }).send();
82
+ const base64Encoder = (0, kit_1.getBase64Encoder)();
83
+ const decoder = (0, accounts_1.getConfigStateDecoder)();
84
+ const accounts = Array.isArray(response) ? response : response.value;
85
+ return accounts.map((account) => {
86
+ const bytes = base64Encoder.encode(account.account.data[0]);
87
+ const decoded = decoder.decode(bytes);
88
+ return { data: decoded, address: account.pubkey };
89
+ });
90
+ }
91
+ catch (error) {
92
+ throw new Error(`Failed to fetch all config states: ${error.message}`);
93
+ }
94
+ }
47
95
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/accounts/config.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA2BH,kCAoBC;AA5CD,2DAAkF;AAClF,4CAA4C;AAC5C,wCAA4C;AAC5C,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,oBAAoB;QACpB,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;QAE3C,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAE3D,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,CAAC,OAAO,EAAE,CACjD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/accounts/config.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4BH,kCAoBC;AAiBD,0CAuCC;AAtGD,qCAA6D;AAC7D,2DAAqI;AACrI,8DAA2E;AAC3E,4CAA4C;AAC5C,wCAA4C;AAC5C,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,oBAAoB;QACpB,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;QAE3C,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAE3D,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,CAAC,OAAO,EAAE,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,eAAe,CACnC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,qCAA0B,CAAC,CAAC,CAAC;QAErF,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,kBAAkB,CACpD,6BAAqB,EACrB;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,mBAAmB;wBAC1B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF;SACF,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,IAAA,sBAAgB,GAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,gCAAqB,GAAE,CAAC;QAExC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrE,OAAQ,QAAkB,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,OAAO,EAAE,CACtD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -6,7 +6,10 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.fetchContract = fetchContract;
9
+ exports.fetchAllContracts = fetchAllContracts;
10
+ const kit_1 = require("@solana/kit");
9
11
  const accounts_1 = require("../generated/codama/accounts");
12
+ const srsly_1 = require("../generated/codama/programs/srsly");
10
13
  const config_1 = require("../utils/config");
11
14
  const rpc_1 = require("../utils/rpc");
12
15
  /**
@@ -44,4 +47,52 @@ async function fetchContract(contractAddress, rpcUrl) {
44
47
  throw new Error(`Failed to fetch contract state at ${contractAddress}: ${error.message}`);
45
48
  }
46
49
  }
50
+ /**
51
+ * Fetch all contract state accounts from the SRSLY program
52
+ *
53
+ * Uses getProgramAccounts with a discriminator filter to find all ContractState accounts.
54
+ *
55
+ * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
56
+ * @returns Array of contract states with their addresses
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const contracts = await fetchAllContracts();
61
+ * console.log(`Found ${contracts.length} contracts`);
62
+ * contracts.forEach(c => console.log(c.address, c.data.fleet));
63
+ * ```
64
+ */
65
+ async function fetchAllContracts(rpcUrl) {
66
+ try {
67
+ const resolvedRpcUrl = rpcUrl || (0, config_1.getRpcUrl)();
68
+ const rpc = (0, rpc_1.createRpc)(resolvedRpcUrl);
69
+ // Convert discriminator to base64 string for memcmp filter (browser-compatible)
70
+ const discriminatorBase64 = btoa(String.fromCharCode(...accounts_1.CONTRACT_STATE_DISCRIMINATOR));
71
+ // getProgramAccounts uses branded string types — cast through any
72
+ const response = await rpc.getProgramAccounts(srsly_1.SRSLY_PROGRAM_ADDRESS, {
73
+ encoding: 'base64',
74
+ filters: [
75
+ {
76
+ memcmp: {
77
+ offset: 0n,
78
+ bytes: discriminatorBase64,
79
+ encoding: 'base64',
80
+ },
81
+ },
82
+ ],
83
+ }).send();
84
+ const base64Encoder = (0, kit_1.getBase64Encoder)();
85
+ const decoder = (0, accounts_1.getContractStateDecoder)();
86
+ // @solana/kit returns the array directly, not wrapped in { value }
87
+ const accounts = Array.isArray(response) ? response : response.value;
88
+ return accounts.map((account) => {
89
+ const bytes = base64Encoder.encode(account.account.data[0]);
90
+ const decoded = decoder.decode(bytes);
91
+ return { data: decoded, address: account.pubkey };
92
+ });
93
+ }
94
+ catch (error) {
95
+ throw new Error(`Failed to fetch all contract states: ${error.message}`);
96
+ }
97
+ }
47
98
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/accounts/contract.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA6BH,sCAkBC;AA5CD,2DAAsF;AACtF,4CAA4C;AAC5C,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,aAAa,CACjC,eAAiC,EACjC,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,eAA0B,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qCAAqC,eAAe,KAAK,KAAK,CAAC,OAAO,EAAE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/accounts/contract.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA8BH,sCAkBC;AAiBD,8CA0CC;AAzGD,qCAA6D;AAC7D,2DAA6I;AAC7I,8DAA2E;AAC3E,4CAA4C;AAC5C,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,aAAa,CACjC,eAAiC,EACjC,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC,GAAG,EAAE,eAA0B,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qCAAqC,eAAe,KAAK,KAAK,CAAC,OAAO,EAAE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,gFAAgF;QAChF,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,uCAA4B,CAAC,CAAC,CAAC;QAEvF,kEAAkE;QAClE,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,kBAAkB,CACpD,6BAAqB,EACrB;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,mBAAmB;wBAC1B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF;SACF,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,IAAA,sBAAgB,GAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,kCAAuB,GAAE,CAAC;QAE1C,mEAAmE;QACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrE,OAAQ,QAAkB,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,OAAO,EAAE,CACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -6,7 +6,10 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.fetchRental = fetchRental;
9
+ exports.fetchAllRentals = fetchAllRentals;
10
+ const kit_1 = require("@solana/kit");
9
11
  const accounts_1 = require("../generated/codama/accounts");
12
+ const srsly_1 = require("../generated/codama/programs/srsly");
10
13
  const config_1 = require("../utils/config");
11
14
  const rpc_1 = require("../utils/rpc");
12
15
  /**
@@ -44,4 +47,49 @@ async function fetchRental(rentalAddress, rpcUrl) {
44
47
  throw new Error(`Failed to fetch rental state at ${rentalAddress}: ${error.message}`);
45
48
  }
46
49
  }
50
+ /**
51
+ * Fetch all rental state accounts from the SRSLY program
52
+ *
53
+ * Uses getProgramAccounts with a discriminator filter to find all RentalState accounts.
54
+ *
55
+ * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
56
+ * @returns Array of rental states with their addresses
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const rentals = await fetchAllRentals();
61
+ * console.log(`Found ${rentals.length} rentals`);
62
+ * rentals.forEach(r => console.log(r.address, r.data.borrower));
63
+ * ```
64
+ */
65
+ async function fetchAllRentals(rpcUrl) {
66
+ try {
67
+ const resolvedRpcUrl = rpcUrl || (0, config_1.getRpcUrl)();
68
+ const rpc = (0, rpc_1.createRpc)(resolvedRpcUrl);
69
+ const discriminatorBase64 = btoa(String.fromCharCode(...accounts_1.RENTAL_STATE_DISCRIMINATOR));
70
+ const response = await rpc.getProgramAccounts(srsly_1.SRSLY_PROGRAM_ADDRESS, {
71
+ encoding: 'base64',
72
+ filters: [
73
+ {
74
+ memcmp: {
75
+ offset: 0n,
76
+ bytes: discriminatorBase64,
77
+ encoding: 'base64',
78
+ },
79
+ },
80
+ ],
81
+ }).send();
82
+ const base64Encoder = (0, kit_1.getBase64Encoder)();
83
+ const decoder = (0, accounts_1.getRentalStateDecoder)();
84
+ const accounts = Array.isArray(response) ? response : response.value;
85
+ return accounts.map((account) => {
86
+ const bytes = base64Encoder.encode(account.account.data[0]);
87
+ const decoded = decoder.decode(bytes);
88
+ return { data: decoded, address: account.pubkey };
89
+ });
90
+ }
91
+ catch (error) {
92
+ throw new Error(`Failed to fetch all rental states: ${error.message}`);
93
+ }
94
+ }
47
95
  //# sourceMappingURL=rental.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/accounts/rental.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA6BH,kCAkBC;AA5CD,2DAAkF;AAClF,4CAA4C;AAC5C,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,WAAW,CAC/B,aAA+B,EAC/B,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,aAAwB,CAAC,CAAC;QAEtE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,mCAAmC,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/accounts/rental.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA8BH,kCAkBC;AAiBD,0CAuCC;AAtGD,qCAA6D;AAC7D,2DAAqI;AACrI,8DAA2E;AAC3E,4CAA4C;AAC5C,sCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,WAAW,CAC/B,aAA+B,EAC/B,MAAe;IAEf,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,aAAwB,CAAC,CAAC;QAEtE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,mCAAmC,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,eAAe,CACnC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAI,IAAA,kBAAS,GAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,cAAc,CAAC,CAAC;QAEtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,qCAA0B,CAAC,CAAC,CAAC;QAErF,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,kBAAkB,CACpD,6BAAqB,EACrB;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,mBAAmB;wBAC1B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF;SACF,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,IAAA,sBAAgB,GAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,gCAAqB,GAAE,CAAC;QAExC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrE,OAAQ,QAAkB,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,OAAO,EAAE,CACtD,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/cjs/demos.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * These demos are used by the documentation app to provide interactive code examples.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ALL_DEMOS = exports.fetchMemberDemo = exports.updateAffiliateDemo = exports.removeAffiliateDemo = exports.approveAffiliateDemo = exports.createAffiliateDemo = exports.fetchRentalDemo = exports.fetchBorrowerDemo = exports.fetchContractDemo = exports.claimRentalDemo = exports.reserveRentalDemo = exports.releaseRentalDemo = exports.closeRentalDemo = exports.cancelRentalDemo = exports.acceptRentalDemo = exports.updateBorrowerDemo = exports.closeBorrowerDemo = exports.setDelegateDemo = exports.updateContractDemo = exports.closeContractDemo = exports.createContractDemo = void 0;
9
+ exports.ALL_DEMOS = exports.fetchMemberDemo = exports.updateAffiliateDemo = exports.removeAffiliateDemo = exports.approveAffiliateDemo = exports.createAffiliateDemo = exports.fetchAllRentalsDemo = exports.fetchRentalDemo = exports.fetchAllBorrowersDemo = exports.fetchBorrowerDemo = exports.fetchAllContractsDemo = exports.fetchContractDemo = exports.claimRentalDemo = exports.reserveRentalDemo = exports.releaseRentalDemo = exports.closeRentalDemo = exports.cancelRentalDemo = exports.acceptRentalDemo = exports.updateBorrowerDemo = exports.closeBorrowerDemo = exports.setDelegateDemo = exports.updateContractDemo = exports.closeContractDemo = exports.createContractDemo = void 0;
10
10
  // ============================================================================
11
11
  // Contract Demos
12
12
  // ============================================================================
@@ -211,6 +211,15 @@ exports.fetchContractDemo = {
211
211
  console.log(result);`,
212
212
  isFetchOperation: true,
213
213
  };
214
+ exports.fetchAllContractsDemo = {
215
+ tabName: 'fetch all',
216
+ description: 'Fetch all contract states from the program',
217
+ imports: `import { fetchAllContracts } from '@wuwei-labs/srsly/kit';`,
218
+ legacyImports: `import { fetchAllContracts } from '@wuwei-labs/srsly/legacy';`,
219
+ instruction: `const result = await fetchAllContracts();
220
+ console.log(result);`,
221
+ isFetchOperation: true,
222
+ };
214
223
  exports.fetchBorrowerDemo = {
215
224
  tabName: 'fetch',
216
225
  description: 'Fetch borrower state by address',
@@ -220,6 +229,15 @@ exports.fetchBorrowerDemo = {
220
229
  console.log(result);`,
221
230
  isFetchOperation: true,
222
231
  };
232
+ exports.fetchAllBorrowersDemo = {
233
+ tabName: 'fetch all',
234
+ description: 'Fetch all borrower states from the program',
235
+ imports: `import { fetchAllBorrowers } from '@wuwei-labs/srsly/kit';`,
236
+ legacyImports: `import { fetchAllBorrowers } from '@wuwei-labs/srsly/legacy';`,
237
+ instruction: `const result = await fetchAllBorrowers();
238
+ console.log(result);`,
239
+ isFetchOperation: true,
240
+ };
223
241
  exports.fetchRentalDemo = {
224
242
  tabName: 'fetch',
225
243
  description: 'Fetch rental state by address',
@@ -229,6 +247,15 @@ exports.fetchRentalDemo = {
229
247
  console.log(result);`,
230
248
  isFetchOperation: true,
231
249
  };
250
+ exports.fetchAllRentalsDemo = {
251
+ tabName: 'fetch all',
252
+ description: 'Fetch all rental states from the program',
253
+ imports: `import { fetchAllRentals } from '@wuwei-labs/srsly/kit';`,
254
+ legacyImports: `import { fetchAllRentals } from '@wuwei-labs/srsly/legacy';`,
255
+ instruction: `const result = await fetchAllRentals();
256
+ console.log(result);`,
257
+ isFetchOperation: true,
258
+ };
232
259
  // ============================================================================
233
260
  // Affiliate Demos
234
261
  // ============================================================================
@@ -320,8 +347,11 @@ exports.ALL_DEMOS = {
320
347
  reserveRental: exports.reserveRentalDemo,
321
348
  claimRental: exports.claimRentalDemo,
322
349
  fetchContract: exports.fetchContractDemo,
350
+ fetchAllContracts: exports.fetchAllContractsDemo,
323
351
  fetchBorrower: exports.fetchBorrowerDemo,
352
+ fetchAllBorrowers: exports.fetchAllBorrowersDemo,
324
353
  fetchRental: exports.fetchRentalDemo,
354
+ fetchAllRentals: exports.fetchAllRentalsDemo,
325
355
  createAffiliate: exports.createAffiliateDemo,
326
356
  approveAffiliate: exports.approveAffiliateDemo,
327
357
  removeAffiliate: exports.removeAffiliateDemo,
@@ -1 +1 @@
1
- {"version":3,"file":"demos.js","sourceRoot":"","sources":["../../src/demos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demos.js","sourceRoot":"","sources":["../../src/demos.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -44,8 +44,8 @@ var __importStar = (this && this.__importStar) || (function () {
44
44
  })();
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.deleteConfig = exports.updateConfig = exports.createConfig = exports.discountBorrower = exports.updateBorrower = exports.closeBorrower = exports.claimBorrower = exports.claimContractPayments = exports.cancelRental = exports.closeRental = exports.claimRental = exports.acceptRental = exports.closeContract = exports.deleteContract = exports.deleteRental = exports.deleteBorrower = exports.setDelegate = exports.updateContract = exports.createContract = exports.isSerializedDiscountAuth = exports.deserializeDiscountAuth = exports.serializeDiscountAuth = exports.createDiscount = exports.getLookupTableAddress = exports.fetchLookupTable = exports.isRpcDebugEnabled = exports.setRpcDebug = exports.createRpc = exports.InstructionResult = exports.prepareInstructions = exports.toAddress = exports.toWeb3Instruction = exports.isAddressString = exports.isKitSigner = exports.isWeb3jsSigner = exports.validateAddress = exports.toTransactionSigner = exports.ATLASNET_ADDRESSES = exports.MAINNET_ADDRESSES = exports.isValidNetwork = exports.isValidProgramSet = exports.getNetworkAddresses = exports.getProgramAddresses = exports.getAffiliateConfig = exports.getAddresses = exports.mergeConfig = exports.clearSdkConfig = exports.getSdkConfig = exports.setSdkConfig = exports.VERSION = void 0;
47
- exports.deriveSagePlayerProfile = exports.deriveProfileFaction = exports.deriveConfig = exports.deriveBorrowerState = exports.deriveRentalAuthority = exports.deriveRental = exports.deriveContract = exports.getFactionCoordinates = exports.getFactionName = exports.isValidFactionName = exports.THREAD_SEED = exports.CONFIG_SEED = exports.BORROWER_STATE_SEED = exports.RENTAL_AUTHORITY_SEED = exports.RENTAL_SEED = exports.CONTRACT_SEED = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = exports.FACTION_MAPPING = exports.FACTION_COORDINATES = exports.deriveMember = exports.fetchVault = exports.fetchMember = exports.fetchConfig = exports.fetchBorrower = exports.fetchRental = exports.fetchContract = exports.fetchFleet = exports.SCHEDULE_SHORTCUTS = exports.isScheduleShortcut = exports.formatSchedule = exports.validateScheduleFormat = exports.normalizeSchedule = exports.formatDuration = exports.validateDuration = exports.convertDuration = exports.validateAmount = exports.formatAmount = exports.stardustToAtlas = exports.convertAmount = exports.updateAffiliate = exports.removeAffiliate = exports.approveAffiliate = exports.createAffiliate = exports.createDiscountAuth = exports.reserveRental = exports.invalidateRental = exports.releaseRental = void 0;
48
- exports.codama = exports.deriveLookupTable = exports.deriveVault = exports.deriveAssociatedTokenAccount = exports.deriveRentalThread = exports.deriveGameAccounts = exports.deriveStarbasePlayer = exports.deriveStarbase = void 0;
47
+ exports.deriveRentalAuthority = exports.deriveRental = exports.deriveContract = exports.getFactionCoordinates = exports.getFactionName = exports.isValidFactionName = exports.THREAD_SEED = exports.CONFIG_SEED = exports.BORROWER_STATE_SEED = exports.RENTAL_AUTHORITY_SEED = exports.RENTAL_SEED = exports.CONTRACT_SEED = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = exports.FACTION_MAPPING = exports.FACTION_COORDINATES = exports.deriveMember = exports.fetchVault = exports.fetchMember = exports.fetchAllConfigs = exports.fetchConfig = exports.fetchAllBorrowers = exports.fetchBorrower = exports.fetchAllRentals = exports.fetchRental = exports.fetchAllContracts = exports.fetchContract = exports.fetchFleet = exports.SCHEDULE_SHORTCUTS = exports.isScheduleShortcut = exports.formatSchedule = exports.validateScheduleFormat = exports.normalizeSchedule = exports.formatDuration = exports.validateDuration = exports.convertDuration = exports.validateAmount = exports.formatAmount = exports.stardustToAtlas = exports.convertAmount = exports.updateAffiliate = exports.removeAffiliate = exports.approveAffiliate = exports.createAffiliate = exports.createDiscountAuth = exports.reserveRental = exports.invalidateRental = exports.releaseRental = void 0;
48
+ exports.codama = exports.deriveLookupTable = exports.deriveVault = exports.deriveAssociatedTokenAccount = exports.deriveRentalThread = exports.deriveGameAccounts = exports.deriveStarbasePlayer = exports.deriveStarbase = exports.deriveSagePlayerProfile = exports.deriveProfileFaction = exports.deriveConfig = exports.deriveBorrowerState = void 0;
49
49
  // SDK Version - auto-generated from package.json (single source of truth)
50
50
  var version_1 = require("./version");
51
51
  Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
@@ -177,12 +177,16 @@ var fleet_1 = require("./accounts/fleet");
177
177
  Object.defineProperty(exports, "fetchFleet", { enumerable: true, get: function () { return fleet_1.fetchFleet; } });
178
178
  var contract_1 = require("./accounts/contract");
179
179
  Object.defineProperty(exports, "fetchContract", { enumerable: true, get: function () { return contract_1.fetchContract; } });
180
+ Object.defineProperty(exports, "fetchAllContracts", { enumerable: true, get: function () { return contract_1.fetchAllContracts; } });
180
181
  var rental_1 = require("./accounts/rental");
181
182
  Object.defineProperty(exports, "fetchRental", { enumerable: true, get: function () { return rental_1.fetchRental; } });
183
+ Object.defineProperty(exports, "fetchAllRentals", { enumerable: true, get: function () { return rental_1.fetchAllRentals; } });
182
184
  var borrower_1 = require("./accounts/borrower");
183
185
  Object.defineProperty(exports, "fetchBorrower", { enumerable: true, get: function () { return borrower_1.fetchBorrower; } });
186
+ Object.defineProperty(exports, "fetchAllBorrowers", { enumerable: true, get: function () { return borrower_1.fetchAllBorrowers; } });
184
187
  var config_1 = require("./accounts/config");
185
188
  Object.defineProperty(exports, "fetchConfig", { enumerable: true, get: function () { return config_1.fetchConfig; } });
189
+ Object.defineProperty(exports, "fetchAllConfigs", { enumerable: true, get: function () { return config_1.fetchAllConfigs; } });
186
190
  var member_1 = require("./accounts/member");
187
191
  Object.defineProperty(exports, "fetchMember", { enumerable: true, get: function () { return member_1.fetchMember; } });
188
192
  Object.defineProperty(exports, "fetchVault", { enumerable: true, get: function () { return member_1.fetchVault; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuwei-labs/srsly",
3
- "version": "3.0.0-beta.16",
3
+ "version": "3.0.0-beta.17",
4
4
  "description": "TypeScript SDK for SRSLY",
5
5
  "sideEffects": false,
6
6
  "publishConfig": {
@@ -25,30 +25,30 @@ function convertToLegacy(instruction, PublicKey) {
25
25
  };
26
26
  }
27
27
  /**
28
- * InstructionResult - Native @solana/kit Instruction array with legacy conversion
28
+ * InstructionResult - Wrapper for @solana/kit Instructions with legacy conversion
29
29
  *
30
- * This class extends Array<Instruction> so it works directly with @solana/kit
31
- * transaction builders. For web3.js users, call .toLegacy() to convert.
30
+ * Contains a plain Instruction[] array accessible via `.instructions`.
31
+ * Supports iteration (`for...of`, spread) and `.toLegacy()` conversion for web3.js.
32
32
  *
33
33
  * @example
34
34
  * ```typescript
35
- * // Kit users - use directly as Instruction[]
36
- * const ixs = await createContract(params);
37
- * // ixs works directly with appendTransactionMessageInstruction()
35
+ * // Kit users - access instructions directly
36
+ * const result = await createContract(params);
37
+ * for (const ix of result) { ... }
38
+ * // Or unwrap: result.instructions
38
39
  *
39
40
  * // Web3.js users - convert to legacy format
40
41
  * import { PublicKey } from '@solana/web3.js';
41
- * const legacyIxs = ixs.toLegacy(PublicKey);
42
+ * const legacyIxs = result.toLegacy(PublicKey);
42
43
  * // Or if PublicKey is configured in SDK:
43
44
  * setSdkConfig({ PublicKey });
44
- * const legacyIxs = ixs.toLegacy();
45
+ * const legacyIxs = result.toLegacy();
45
46
  * ```
46
47
  */
47
- class InstructionResult extends Array {
48
+ class InstructionResult {
49
+ instructions;
48
50
  constructor(instructions) {
49
- super(...instructions);
50
- // Fix prototype chain for proper instanceof checks
51
- Object.setPrototypeOf(this, InstructionResult.prototype);
51
+ this.instructions = instructions;
52
52
  }
53
53
  /**
54
54
  * Convert to legacy web3.js instruction format
@@ -57,25 +57,19 @@ class InstructionResult extends Array {
57
57
  * uses the PublicKey from SDK config (set via setSdkConfig)
58
58
  * @returns Array of instructions in web3.js format
59
59
  * @throws Error if no PublicKey is available
60
- *
61
- * @example
62
- * ```typescript
63
- * // Option 1: Pass PublicKey explicitly
64
- * import { PublicKey } from '@solana/web3.js';
65
- * const legacyIxs = ixs.toLegacy(PublicKey);
66
- *
67
- * // Option 2: Configure SDK once, then call without args
68
- * import { PublicKey } from '@solana/web3.js';
69
- * setSdkConfig({ PublicKey });
70
- * const legacyIxs = ixs.toLegacy();
71
- * ```
72
60
  */
73
61
  toLegacy(PublicKey) {
74
62
  const pk = PublicKey || (0, config_1.getSdkConfig)().PublicKey;
75
63
  if (!pk) {
76
64
  throw new Error('PublicKey constructor required - pass it to toLegacy() or set in SDK config via setSdkConfig({ PublicKey })');
77
65
  }
78
- return this.map(ix => convertToLegacy(ix, pk));
66
+ return this.instructions.map(ix => convertToLegacy(ix, pk));
67
+ }
68
+ get length() {
69
+ return this.instructions.length;
70
+ }
71
+ [Symbol.iterator]() {
72
+ return this.instructions[Symbol.iterator]();
79
73
  }
80
74
  }
81
75
  exports.InstructionResult = InstructionResult;
@@ -1 +1 @@
1
- {"version":3,"file":"instructionResult.js","sourceRoot":"","sources":["../../../src/utils/instructionResult.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,qCAAmE;AAenE;;GAEG;AACH,SAAS,eAAe,CACtB,WAAwB,EACxB,SAA2C;IAE3C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;IAElD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,qBAAqB;YAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB;SACvD,CAAC,CAAC;QACH,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,iBAAkB,SAAQ,KAAkB;IACvD,YAAY,YAA2B;QACrC,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC;QACvB,mDAAmD;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,SAA4C;QAE5C,MAAM,EAAE,GAAG,SAAS,IAAI,IAAA,qBAAY,GAAE,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;CACF;AAtCD,8CAsCC"}
1
+ {"version":3,"file":"instructionResult.js","sourceRoot":"","sources":["../../../src/utils/instructionResult.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,qCAAmE;AAenE;;GAEG;AACH,SAAS,eAAe,CACtB,WAAwB,EACxB,SAA2C;IAE3C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;IAElD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,qBAAqB;YAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB;SACvD,CAAC,CAAC;QACH,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,iBAAiB;IACnB,YAAY,CAAgB;IAErC,YAAY,YAA2B;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,SAA4C;QAE5C,MAAM,EAAE,GAAG,SAAS,IAAI,IAAA,qBAAY,GAAE,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,CAAC;CACF;AAlCD,8CAkCC"}
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // Auto-generated from package.json - DO NOT EDIT
5
5
  // Run "pnpm run generate:version" to update
6
- exports.VERSION = '3.0.0-beta.16';
6
+ exports.VERSION = '3.0.0-beta.17';
7
7
  //# sourceMappingURL=version.js.map
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * Fetches borrower state data from the SRSLY program.
5
5
  */
6
- import { fetchBorrowerState } from '../generated/codama/accounts';
6
+ import { getBase64Encoder } from '@solana/kit';
7
+ import { fetchBorrowerState, BORROWER_STATE_DISCRIMINATOR, getBorrowerStateDecoder } from '../generated/codama/accounts';
8
+ import { SRSLY_PROGRAM_ADDRESS } from '../generated/codama/programs/srsly';
7
9
  import { getRpcUrl } from '../utils/config';
8
10
  import { createRpc } from '../utils/rpc';
9
11
  import { deriveBorrowerState } from '../pda';
@@ -57,4 +59,49 @@ export async function fetchBorrower(address, rpcUrl) {
57
59
  }
58
60
  }
59
61
  }
62
+ /**
63
+ * Fetch all borrower state accounts from the SRSLY program
64
+ *
65
+ * Uses getProgramAccounts with a discriminator filter to find all BorrowerState accounts.
66
+ *
67
+ * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
68
+ * @returns Array of borrower states with their addresses
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const borrowers = await fetchAllBorrowers();
73
+ * console.log(`Found ${borrowers.length} borrowers`);
74
+ * borrowers.forEach(b => console.log(b.address, b.data.borrower));
75
+ * ```
76
+ */
77
+ export async function fetchAllBorrowers(rpcUrl) {
78
+ try {
79
+ const resolvedRpcUrl = rpcUrl || getRpcUrl();
80
+ const rpc = createRpc(resolvedRpcUrl);
81
+ const discriminatorBase64 = btoa(String.fromCharCode(...BORROWER_STATE_DISCRIMINATOR));
82
+ const response = await rpc.getProgramAccounts(SRSLY_PROGRAM_ADDRESS, {
83
+ encoding: 'base64',
84
+ filters: [
85
+ {
86
+ memcmp: {
87
+ offset: 0n,
88
+ bytes: discriminatorBase64,
89
+ encoding: 'base64',
90
+ },
91
+ },
92
+ ],
93
+ }).send();
94
+ const base64Encoder = getBase64Encoder();
95
+ const decoder = getBorrowerStateDecoder();
96
+ const accounts = Array.isArray(response) ? response : response.value;
97
+ return accounts.map((account) => {
98
+ const bytes = base64Encoder.encode(account.account.data[0]);
99
+ const decoded = decoder.decode(bytes);
100
+ return { data: decoded, address: account.pubkey };
101
+ });
102
+ }
103
+ catch (error) {
104
+ throw new Error(`Failed to fetch all borrower states: ${error.message}`);
105
+ }
106
+ }
60
107
  //# sourceMappingURL=borrower.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAsB,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAe;IAEf,0CAA0C;IAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,WAAgB,EAAE,CAAC;QAC1B,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,OAAiB,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YAC3B,oDAAoD;YACpD,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,oBAAoB;gBACpF,UAAU,YAAY,CAAC,OAAO,EAAE,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":"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"}