@wuwei-labs/srsly 2.0.0-beta.45 → 2.0.0-beta.48
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.
- package/dist/cjs/codama/instructions/cancelRental.js +13 -23
- package/dist/cjs/codama/instructions/cancelRental.js.map +1 -1
- package/dist/cjs/contract/close.js +106 -21
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +59 -5
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/demos.js +65 -0
- package/dist/cjs/demos.js.map +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/rental/accept.js +31 -0
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +60 -9
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +35 -23
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/reset-contract-temp.js +4 -1
- package/dist/cjs/rental/reset-contract-temp.js.map +1 -1
- package/dist/cjs/rental/reset.js +131 -26
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/utils/fetch-accounts.js +26 -0
- package/dist/cjs/utils/fetch-accounts.js.map +1 -1
- package/dist/cjs/utils/index.js +8 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/pda.js.map +1 -1
- package/dist/cjs/utils/sdk-helpers.js +122 -0
- package/dist/cjs/utils/sdk-helpers.js.map +1 -0
- package/dist/cjs/utils/signer.js +105 -10
- package/dist/cjs/utils/signer.js.map +1 -1
- package/dist/esm/codama/instructions/cancelRental.js +13 -23
- package/dist/esm/codama/instructions/cancelRental.js.map +1 -1
- package/dist/esm/contract/close.js +106 -22
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +59 -6
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/demos.js +23 -0
- package/dist/esm/demos.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/rental/accept.js +30 -0
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +60 -10
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +37 -26
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/reset-contract-temp.js +4 -1
- package/dist/esm/rental/reset-contract-temp.js.map +1 -1
- package/dist/esm/rental/reset.js +131 -27
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/utils/fetch-accounts.js +26 -1
- package/dist/esm/utils/fetch-accounts.js.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/pda.js.map +1 -1
- package/dist/esm/utils/sdk-helpers.js +113 -0
- package/dist/esm/utils/sdk-helpers.js.map +1 -0
- package/dist/esm/utils/signer.js +103 -11
- package/dist/esm/utils/signer.js.map +1 -1
- package/dist/types/codama/instructions/cancelRental.d.ts +2 -2
- package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -1
- package/dist/types/contract/close.d.ts +17 -12
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +8 -2
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/demos.d.ts +58 -0
- package/dist/types/demos.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +6 -0
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +9 -3
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +11 -5
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts.map +1 -1
- package/dist/types/rental/reset.d.ts +35 -24
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/utils/fetch-accounts.d.ts +48 -1
- package/dist/types/utils/fetch-accounts.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/pda.d.ts.map +1 -1
- package/dist/types/utils/sdk-helpers.d.ts +49 -0
- package/dist/types/utils/sdk-helpers.d.ts.map +1 -0
- package/dist/types/utils/signer.d.ts +39 -16
- package/dist/types/utils/signer.d.ts.map +1 -1
- package/package.json +7 -1
- package/target/idl/srsly.json +1 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchContractState = fetchContractState;
|
|
4
4
|
exports.fetchRentalState = fetchRentalState;
|
|
5
|
+
exports.fetchConfigState = fetchConfigState;
|
|
5
6
|
exports.fetchMultipleContractStates = fetchMultipleContractStates;
|
|
6
7
|
exports.fetchMultipleRentalStates = fetchMultipleRentalStates;
|
|
7
8
|
const kit_1 = require("@solana/kit");
|
|
8
9
|
const accounts_1 = require("../codama/accounts");
|
|
9
10
|
const config_1 = require("./config");
|
|
10
11
|
const constants_1 = require("./constants");
|
|
12
|
+
const sdk_helpers_1 = require("./sdk-helpers");
|
|
11
13
|
// Implementation
|
|
12
14
|
async function fetchContractState(rpcUrlOrAddress, contractAddress) {
|
|
13
15
|
// If only one argument, it's the contract address using default RPC
|
|
@@ -40,6 +42,30 @@ async function fetchRentalState(rpcUrlOrAddress, rentalAddress) {
|
|
|
40
42
|
const rpc = (0, kit_1.createSolanaRpc)(rpcUrl);
|
|
41
43
|
return (0, accounts_1.fetchRentalState)(rpc, address);
|
|
42
44
|
}
|
|
45
|
+
// Implementation
|
|
46
|
+
async function fetchConfigState(rpcUrlOrAddress, configAddress) {
|
|
47
|
+
// If no arguments, derive config PDA automatically from global config
|
|
48
|
+
if (rpcUrlOrAddress === undefined) {
|
|
49
|
+
const config = (0, config_1.getConfig)();
|
|
50
|
+
const resolved = await (0, config_1.resolveProgramAddresses)(config);
|
|
51
|
+
const [configPda] = await (0, sdk_helpers_1.deriveConfigPda)(resolved.srslyProgramAddress);
|
|
52
|
+
const rpc = (0, kit_1.createSolanaRpc)(resolved.rpcUrl);
|
|
53
|
+
return (0, accounts_1.fetchMaybeConfig)(rpc, configPda);
|
|
54
|
+
}
|
|
55
|
+
// If only one argument, it's the config address using default RPC
|
|
56
|
+
if (configAddress === undefined) {
|
|
57
|
+
const address = (0, constants_1.toAddress)(rpcUrlOrAddress);
|
|
58
|
+
const config = (0, config_1.getConfig)();
|
|
59
|
+
const resolved = await (0, config_1.resolveProgramAddresses)(config);
|
|
60
|
+
const rpc = (0, kit_1.createSolanaRpc)(resolved.rpcUrl);
|
|
61
|
+
return (0, accounts_1.fetchMaybeConfig)(rpc, address);
|
|
62
|
+
}
|
|
63
|
+
// If two arguments, first is rpcUrl, second is address
|
|
64
|
+
const rpcUrl = rpcUrlOrAddress;
|
|
65
|
+
const address = (0, constants_1.toAddress)(configAddress);
|
|
66
|
+
const rpc = (0, kit_1.createSolanaRpc)(rpcUrl);
|
|
67
|
+
return (0, accounts_1.fetchMaybeConfig)(rpc, address);
|
|
68
|
+
}
|
|
43
69
|
/**
|
|
44
70
|
* Fetches multiple contract states in a single RPC call
|
|
45
71
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":";;AA0DA,gDAkBC;AA2CD,4CAkBC;AA0DD,4CA2BC;AAuBD,kEASC;AAuBD,8DASC;AA9RD,qCAA4D;AAC5D,iDAM4B;AAC5B,qCAA8D;AAC9D,2CAAwC;AACxC,+CAAgD;AA+ChD,iBAAiB;AACV,KAAK,UAAU,kBAAkB,CACtC,eAA2C,EAC3C,eAA4C;IAE5C,oEAAoE;IACpE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,6BAAwB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,eAAyB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IACpC,OAAO,IAAA,6BAAwB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AA0CD,iBAAiB;AACV,KAAK,UAAU,gBAAgB,CACpC,eAA2C,EAC3C,aAA0C;IAE1C,kEAAkE;IAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,eAAyB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,aAAa,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IACpC,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAyDD,iBAAiB;AACV,KAAK,UAAU,gBAAgB,CACpC,eAA4C,EAC5C,aAA0C;IAE1C,sEAAsE;IACtE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAA,6BAAe,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,kEAAkE;IAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,eAAyB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,aAAa,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IACpC,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,iBAAsC;IAEtC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,uCAAuC;IACvC,OAAO,IAAA,gCAAqB,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,eAAoC;IAEpC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,qCAAqC;IACrC,OAAO,IAAA,8BAAmB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ErrorMessages = exports.deriveAllRentalPDAs = exports.fetchMultipleAccounts = exports.fetchAccountWithValidation = exports.deriveConfigPda = exports.createRpcFromConfig = void 0;
|
|
17
18
|
__exportStar(require("./constants"), exports);
|
|
18
19
|
__exportStar(require("./profiles"), exports);
|
|
19
20
|
__exportStar(require("./config"), exports);
|
|
@@ -23,4 +24,11 @@ __exportStar(require("./instruction-converter"), exports);
|
|
|
23
24
|
__exportStar(require("./fetch-accounts"), exports);
|
|
24
25
|
__exportStar(require("./pda"), exports);
|
|
25
26
|
__exportStar(require("./signer"), exports);
|
|
27
|
+
var sdk_helpers_1 = require("./sdk-helpers");
|
|
28
|
+
Object.defineProperty(exports, "createRpcFromConfig", { enumerable: true, get: function () { return sdk_helpers_1.createRpcFromConfig; } });
|
|
29
|
+
Object.defineProperty(exports, "deriveConfigPda", { enumerable: true, get: function () { return sdk_helpers_1.deriveConfigPda; } });
|
|
30
|
+
Object.defineProperty(exports, "fetchAccountWithValidation", { enumerable: true, get: function () { return sdk_helpers_1.fetchAccountWithValidation; } });
|
|
31
|
+
Object.defineProperty(exports, "fetchMultipleAccounts", { enumerable: true, get: function () { return sdk_helpers_1.fetchMultipleAccounts; } });
|
|
32
|
+
Object.defineProperty(exports, "deriveAllRentalPDAs", { enumerable: true, get: function () { return sdk_helpers_1.deriveAllRentalPDAs; } });
|
|
33
|
+
Object.defineProperty(exports, "ErrorMessages", { enumerable: true, get: function () { return sdk_helpers_1.ErrorMessages; } });
|
|
26
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,0DAAwC;AACxC,mDAAiC;AACjC,wCAAsB;AACtB,2CAAyB;AACzB,6CAOuB;AANrB,kHAAA,mBAAmB,OAAA;AACnB,8GAAA,eAAe,OAAA;AACf,yHAAA,0BAA0B,OAAA;AAC1B,oHAAA,qBAAqB,OAAA;AACrB,kHAAA,mBAAmB,OAAA;AACnB,4GAAA,aAAa,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/utils/pda.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AA6BH,wCAuBC;AA4BD,gDAqBC;AA0BD,
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/utils/pda.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorMessages = void 0;
|
|
4
|
+
exports.createRpcFromConfig = createRpcFromConfig;
|
|
5
|
+
exports.deriveConfigPda = deriveConfigPda;
|
|
6
|
+
exports.fetchAccountWithValidation = fetchAccountWithValidation;
|
|
7
|
+
exports.fetchMultipleAccounts = fetchMultipleAccounts;
|
|
8
|
+
exports.toAddressString = toAddressString;
|
|
9
|
+
exports.deriveAllRentalPDAs = deriveAllRentalPDAs;
|
|
10
|
+
const kit_1 = require("@solana/kit");
|
|
11
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
12
|
+
const kit_2 = require("@solana/kit");
|
|
13
|
+
/**
|
|
14
|
+
* SDK Helper utilities to reduce code duplication across instruction implementations
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Creates an RPC connection from resolved addresses, with validation
|
|
18
|
+
*/
|
|
19
|
+
function createRpcFromConfig(resolvedAddresses, operationName) {
|
|
20
|
+
if (!resolvedAddresses.rpcUrl) {
|
|
21
|
+
throw new Error(`rpcUrl is required for ${operationName} operation. Use setConfig({ rpcUrl: "https://..." })`);
|
|
22
|
+
}
|
|
23
|
+
return (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Derives the config PDA for the SRSLY program
|
|
27
|
+
*/
|
|
28
|
+
async function deriveConfigPda(programAddress) {
|
|
29
|
+
const programPubkey = typeof programAddress === 'string' ? programAddress : programAddress.toBase58();
|
|
30
|
+
const [pdaAddress, bump] = await (0, kit_2.getProgramDerivedAddress)({
|
|
31
|
+
programAddress: (0, kit_1.address)(programPubkey),
|
|
32
|
+
seeds: [(0, kit_2.getBytesEncoder)().encode(new Uint8Array([99, 111, 110, 102, 105, 103]))], // "config" bytes
|
|
33
|
+
});
|
|
34
|
+
return [pdaAddress, bump];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Generic fetch function with validation and error handling
|
|
38
|
+
*/
|
|
39
|
+
async function fetchAccountWithValidation(fetchFn, rpc, accountAddress, accountType) {
|
|
40
|
+
const addressStr = typeof accountAddress === 'string' ? accountAddress : accountAddress.toBase58();
|
|
41
|
+
try {
|
|
42
|
+
const account = await fetchFn(rpc, (0, kit_1.address)(addressStr));
|
|
43
|
+
if (!account.exists) {
|
|
44
|
+
throw new Error(`${accountType} not found at address: ${addressStr}`);
|
|
45
|
+
}
|
|
46
|
+
return account;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof Error && error.message.includes('not found')) {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
throw new Error(`Failed to fetch ${accountType}: ${error}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Batch fetch multiple accounts with proper error handling
|
|
57
|
+
*/
|
|
58
|
+
async function fetchMultipleAccounts(fetchOperations, rpc) {
|
|
59
|
+
const results = await Promise.all(fetchOperations.map(async ({ fetchFn, address: addr, accountType }) => {
|
|
60
|
+
const account = await fetchAccountWithValidation(fetchFn, rpc, addr, accountType);
|
|
61
|
+
return account;
|
|
62
|
+
}));
|
|
63
|
+
const accountMap = {};
|
|
64
|
+
fetchOperations.forEach((op, index) => {
|
|
65
|
+
accountMap[op.key] = results[index];
|
|
66
|
+
});
|
|
67
|
+
return accountMap;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Convert public key to address format used by the SDK
|
|
71
|
+
*/
|
|
72
|
+
function toAddressString(key) {
|
|
73
|
+
return typeof key === 'string' ? key : key.toBase58();
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Derive all rental-related PDAs in one call
|
|
77
|
+
*/
|
|
78
|
+
async function deriveAllRentalPDAs(contract, borrower, programAddress, antegenProgramAddress) {
|
|
79
|
+
const contractAddr = toAddressString(contract);
|
|
80
|
+
const borrowerAddr = toAddressString(borrower);
|
|
81
|
+
const programAddr = toAddressString(programAddress);
|
|
82
|
+
const antegenAddr = toAddressString(antegenProgramAddress);
|
|
83
|
+
// These would use your existing PDA derivation functions
|
|
84
|
+
const [rentalState, rentalStateBump] = await (0, kit_2.getProgramDerivedAddress)({
|
|
85
|
+
programAddress: (0, kit_1.address)(programAddr),
|
|
86
|
+
seeds: [
|
|
87
|
+
(0, kit_2.getBytesEncoder)().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 115, 116, 97, 116, 101])), // "rental_state"
|
|
88
|
+
(0, kit_2.getBytesEncoder)().encode(new web3_js_1.PublicKey(contractAddr).toBytes()),
|
|
89
|
+
(0, kit_2.getBytesEncoder)().encode(new web3_js_1.PublicKey(borrowerAddr).toBytes()),
|
|
90
|
+
],
|
|
91
|
+
});
|
|
92
|
+
const [rentalAuthority, rentalAuthorityBump] = await (0, kit_2.getProgramDerivedAddress)({
|
|
93
|
+
programAddress: (0, kit_1.address)(programAddr),
|
|
94
|
+
seeds: [
|
|
95
|
+
(0, kit_2.getBytesEncoder)().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121])), // "rental_authority"
|
|
96
|
+
(0, kit_2.getBytesEncoder)().encode(new web3_js_1.PublicKey(contractAddr).toBytes()),
|
|
97
|
+
(0, kit_2.getBytesEncoder)().encode(new web3_js_1.PublicKey(borrowerAddr).toBytes()),
|
|
98
|
+
],
|
|
99
|
+
});
|
|
100
|
+
const [rentalThread, rentalThreadBump] = await (0, kit_2.getProgramDerivedAddress)({
|
|
101
|
+
programAddress: (0, kit_1.address)(antegenAddr),
|
|
102
|
+
seeds: [
|
|
103
|
+
(0, kit_2.getBytesEncoder)().encode(new Uint8Array([116, 104, 114, 101, 97, 100])), // "thread"
|
|
104
|
+
(0, kit_2.getBytesEncoder)().encode(new web3_js_1.PublicKey(rentalAuthority).toBytes()),
|
|
105
|
+
(0, kit_2.getBytesEncoder)().encode(new web3_js_1.PublicKey(rentalState).toBytes()),
|
|
106
|
+
],
|
|
107
|
+
});
|
|
108
|
+
return {
|
|
109
|
+
rentalState: [rentalState, rentalStateBump],
|
|
110
|
+
rentalAuthority: [rentalAuthority, rentalAuthorityBump],
|
|
111
|
+
rentalThread: [rentalThread, rentalThreadBump],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Standard error messages for common scenarios
|
|
116
|
+
*/
|
|
117
|
+
exports.ErrorMessages = {
|
|
118
|
+
rpcRequired: (operation) => `rpcUrl is required for ${operation} operation. Use setConfig({ library: "kit", rpcUrl: "https://..." })`,
|
|
119
|
+
accountNotFound: (type, address) => `${type} not found at address: ${address}`,
|
|
120
|
+
fetchFailed: (type, error) => `Failed to fetch ${type}: ${error}`,
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=sdk-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-helpers.js","sourceRoot":"","sources":["../../../src/utils/sdk-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/signer.js
CHANGED
|
@@ -1,28 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Universal signer handling utilities for
|
|
3
|
+
* Universal signer handling utilities for @solana/kit compatibility
|
|
4
4
|
*
|
|
5
|
-
* This module provides utilities to handle different signer types
|
|
6
|
-
* @solana/kit
|
|
5
|
+
* This module provides utilities to handle different signer types in a unified way
|
|
6
|
+
* while ensuring compatibility with @solana/kit. Supports string addresses for
|
|
7
|
+
* browser usage and TransactionSigner objects for Node.js usage.
|
|
8
|
+
*
|
|
9
|
+
* Note: web3.js signers (Keypair, etc.) are explicitly not supported.
|
|
10
|
+
* Use address strings or @solana/kit TransactionSigner objects instead.
|
|
7
11
|
*/
|
|
8
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.InvalidSignerError = void 0;
|
|
14
|
+
exports.validateSigner = validateSigner;
|
|
9
15
|
exports.createTransactionSigner = createTransactionSigner;
|
|
10
16
|
exports.isSignerObject = isSignerObject;
|
|
11
17
|
exports.isAddressString = isAddressString;
|
|
12
18
|
const kit_1 = require("@solana/kit");
|
|
13
19
|
/**
|
|
14
|
-
*
|
|
20
|
+
* Error thrown when an invalid signer type is provided
|
|
21
|
+
*/
|
|
22
|
+
class InvalidSignerError extends Error {
|
|
23
|
+
constructor(message) {
|
|
24
|
+
super(message);
|
|
25
|
+
this.name = 'InvalidSignerError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.InvalidSignerError = InvalidSignerError;
|
|
29
|
+
/**
|
|
30
|
+
* Validates that a signer is compatible with @solana/kit
|
|
31
|
+
*
|
|
32
|
+
* @param signer - The signer to validate
|
|
33
|
+
* @throws {InvalidSignerError} If the signer is not compatible
|
|
34
|
+
*/
|
|
35
|
+
function validateSigner(signer) {
|
|
36
|
+
if (typeof signer === 'string') {
|
|
37
|
+
// Validate that the string is a valid Solana address
|
|
38
|
+
try {
|
|
39
|
+
// Use @solana/kit's address() function to validate - it will throw if invalid
|
|
40
|
+
(0, kit_1.address)(signer);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new InvalidSignerError(`Invalid address string: "${signer}". ${error instanceof Error ? error.message : 'Unknown validation error'}\n\n` +
|
|
45
|
+
'Expected a valid base58-encoded Solana address (32-44 characters).\n' +
|
|
46
|
+
'Examples:\n' +
|
|
47
|
+
' - "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"\n' +
|
|
48
|
+
' - "So11111111111111111111111111111111111111112"');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (signer && typeof signer === 'object') {
|
|
52
|
+
const signerObj = signer;
|
|
53
|
+
// Check for web3.js Keypair or similar patterns
|
|
54
|
+
if ('publicKey' in signerObj) {
|
|
55
|
+
throw new InvalidSignerError('web3.js signers (Keypair, etc.) are not supported. ' +
|
|
56
|
+
'Use a base58 address string or TransactionSigner from @solana/kit instead.\n\n' +
|
|
57
|
+
'Examples:\n' +
|
|
58
|
+
' - Browser: "base58AddressString"\n' +
|
|
59
|
+
' - Node.js: createNoopSigner(address("base58AddressString"))');
|
|
60
|
+
}
|
|
61
|
+
// Check for valid @solana/kit signer patterns
|
|
62
|
+
if ('address' in signerObj || typeof signerObj.signTransactions === 'function') {
|
|
63
|
+
// If it has an address property, validate that the address is valid
|
|
64
|
+
if ('address' in signerObj) {
|
|
65
|
+
try {
|
|
66
|
+
// Ensure the address property is a valid Address type
|
|
67
|
+
if (!(0, kit_1.isAddress)(signerObj.address)) {
|
|
68
|
+
throw new InvalidSignerError(`Signer object has invalid address property. Expected Address type from @solana/kit.`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw new InvalidSignerError(`Signer object has invalid address property: ${error instanceof Error ? error.message : 'Unknown validation error'}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
// Unknown signer object format
|
|
78
|
+
throw new InvalidSignerError('Invalid signer format. Expected:\n' +
|
|
79
|
+
' - base58 address string (browser usage)\n' +
|
|
80
|
+
' - TransactionSigner from @solana/kit (Node.js usage)\n' +
|
|
81
|
+
' - Object with address property');
|
|
82
|
+
}
|
|
83
|
+
throw new InvalidSignerError('Signer must be a string address or compatible signer object');
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Creates TransactionSigner from UniversalSigner input with validation
|
|
15
87
|
*
|
|
16
88
|
* This function provides universal compatibility by:
|
|
89
|
+
* - Validating the signer is compatible with @solana/kit
|
|
17
90
|
* - Converting string addresses to TransactionSigner using createNoopSigner
|
|
18
91
|
* - Passing through existing TransactionSigner objects unchanged
|
|
19
|
-
* - Safely handling different signer interfaces (kit, web3.js, etc.)
|
|
20
92
|
*
|
|
21
93
|
* The returned TransactionSigner has both .address property and signing capability,
|
|
22
94
|
* making it suitable for both PDA derivation and codama instruction building.
|
|
23
95
|
*
|
|
24
|
-
* @param signer - The signer input (string address or signer
|
|
96
|
+
* @param signer - The signer input (string address or @solana/kit compatible signer)
|
|
25
97
|
* @returns TransactionSigner that can be used directly for codama and has .address property
|
|
98
|
+
* @throws {InvalidSignerError} If the signer is not compatible (e.g., web3.js Keypair)
|
|
26
99
|
*
|
|
27
100
|
* @example
|
|
28
101
|
* ```typescript
|
|
@@ -31,19 +104,41 @@ const kit_1 = require("@solana/kit");
|
|
|
31
104
|
* // borrower.address → Address object for PDA derivation
|
|
32
105
|
* // borrower → TransactionSigner for codama
|
|
33
106
|
*
|
|
34
|
-
* //
|
|
107
|
+
* // Node.js usage with TransactionSigner
|
|
35
108
|
* const borrower = createTransactionSigner(wallet);
|
|
36
109
|
* // borrower.address → wallet.address for PDA derivation
|
|
37
110
|
* // borrower → wallet signer for codama
|
|
111
|
+
*
|
|
112
|
+
* // This will throw an error:
|
|
113
|
+
* // createTransactionSigner(keypair); // InvalidSignerError: web3.js signers not supported
|
|
38
114
|
* ```
|
|
39
115
|
*/
|
|
40
116
|
function createTransactionSigner(signer) {
|
|
117
|
+
console.log('🔍 createTransactionSigner called with:', {
|
|
118
|
+
signer,
|
|
119
|
+
type: typeof signer,
|
|
120
|
+
isString: typeof signer === 'string',
|
|
121
|
+
value: signer
|
|
122
|
+
});
|
|
123
|
+
// Validate the signer first
|
|
124
|
+
validateSigner(signer);
|
|
41
125
|
// Handle string address case (browser usage)
|
|
42
126
|
if (typeof signer === 'string') {
|
|
43
|
-
|
|
127
|
+
console.log('🔍 Processing string signer:', signer);
|
|
128
|
+
try {
|
|
129
|
+
const addr = (0, kit_1.address)(signer);
|
|
130
|
+
console.log('🔍 address() result:', addr);
|
|
131
|
+
const noopSigner = (0, kit_1.createNoopSigner)(addr);
|
|
132
|
+
console.log('🔍 createNoopSigner result:', noopSigner);
|
|
133
|
+
return noopSigner;
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.error('🚨 Error in createTransactionSigner string processing:', error);
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
44
139
|
}
|
|
45
|
-
// Handle signer object cases (
|
|
46
|
-
|
|
140
|
+
// Handle signer object cases (already validated TransactionSigner objects)
|
|
141
|
+
console.log('🔍 Processing object signer, returning as TransactionSigner');
|
|
47
142
|
return signer;
|
|
48
143
|
}
|
|
49
144
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export async function getCancelRentalInstructionAsync(input, config) {
|
|
|
37
37
|
value: input.borrowerTokenAccount ?? null,
|
|
38
38
|
isWritable: true,
|
|
39
39
|
},
|
|
40
|
-
rentalThread: { value: input.rentalThread ?? null, isWritable:
|
|
40
|
+
rentalThread: { value: input.rentalThread ?? null, isWritable: true },
|
|
41
41
|
contract: { value: input.contract ?? null, isWritable: false },
|
|
42
42
|
rentalState: { value: input.rentalState ?? null, isWritable: true },
|
|
43
43
|
rentalTokenAccount: {
|
|
@@ -79,17 +79,6 @@ export async function getCancelRentalInstructionAsync(input, config) {
|
|
|
79
79
|
],
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
-
if (!accounts.rentalAuthority.value) {
|
|
83
|
-
accounts.rentalAuthority.value = await getProgramDerivedAddress({
|
|
84
|
-
programAddress,
|
|
85
|
-
seeds: [
|
|
86
|
-
getBytesEncoder().encode(new Uint8Array([
|
|
87
|
-
114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105,
|
|
88
|
-
116, 121,
|
|
89
|
-
])),
|
|
90
|
-
],
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
82
|
if (!accounts.rentalState.value) {
|
|
94
83
|
accounts.rentalState.value = await getProgramDerivedAddress({
|
|
95
84
|
programAddress,
|
|
@@ -102,16 +91,6 @@ export async function getCancelRentalInstructionAsync(input, config) {
|
|
|
102
91
|
],
|
|
103
92
|
});
|
|
104
93
|
}
|
|
105
|
-
if (!accounts.rentalThread.value) {
|
|
106
|
-
accounts.rentalThread.value = await getProgramDerivedAddress({
|
|
107
|
-
programAddress,
|
|
108
|
-
seeds: [
|
|
109
|
-
getBytesEncoder().encode(new Uint8Array([116, 104, 114, 101, 97, 100])),
|
|
110
|
-
getAddressEncoder().encode(expectAddress(accounts.rentalAuthority.value)),
|
|
111
|
-
getAddressEncoder().encode(expectAddress(accounts.rentalState.value)),
|
|
112
|
-
],
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
94
|
if (!accounts.rentalTokenAccount.value) {
|
|
116
95
|
accounts.rentalTokenAccount.value = await getProgramDerivedAddress({
|
|
117
96
|
programAddress: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
|
|
@@ -126,6 +105,17 @@ export async function getCancelRentalInstructionAsync(input, config) {
|
|
|
126
105
|
],
|
|
127
106
|
});
|
|
128
107
|
}
|
|
108
|
+
if (!accounts.rentalAuthority.value) {
|
|
109
|
+
accounts.rentalAuthority.value = await getProgramDerivedAddress({
|
|
110
|
+
programAddress,
|
|
111
|
+
seeds: [
|
|
112
|
+
getBytesEncoder().encode(new Uint8Array([
|
|
113
|
+
114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105,
|
|
114
|
+
116, 121,
|
|
115
|
+
])),
|
|
116
|
+
],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
129
119
|
if (!accounts.tokenProgram.value) {
|
|
130
120
|
accounts.tokenProgram.value =
|
|
131
121
|
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
|
|
@@ -171,7 +161,7 @@ export function getCancelRentalInstruction(input, config) {
|
|
|
171
161
|
value: input.borrowerTokenAccount ?? null,
|
|
172
162
|
isWritable: true,
|
|
173
163
|
},
|
|
174
|
-
rentalThread: { value: input.rentalThread ?? null, isWritable:
|
|
164
|
+
rentalThread: { value: input.rentalThread ?? null, isWritable: true },
|
|
175
165
|
contract: { value: input.contract ?? null, isWritable: false },
|
|
176
166
|
rentalState: { value: input.rentalState ?? null, isWritable: true },
|
|
177
167
|
rentalTokenAccount: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../../src/codama/instructions/cancelRental.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAejB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,aAAa,EACb,qBAAqB,GAEtB,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,UAAU,CAAC;IACxD,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,UAAU,iCAAiC;IAC/C,OAAO,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAChD,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAwED,MAAM,UAAU,qCAAqC;IACnD,OAAO,gBAAgB,CACrB,gBAAgB,CAAC,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3E,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,OAAO,gBAAgB,CAAC;QACtB,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC;IAIjD,OAAO,YAAY,CACjB,qCAAqC,EAAE,EACvC,qCAAqC,EAAE,CACxC,CAAC;AACJ,CAAC;AA8BD,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAenD,KAaC,EACD,MAA6C;IAkB7C,mBAAmB;IACnB,MAAM,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,qBAAqB,CAAC;IAEvE,qBAAqB;IACrB,MAAM,gBAAgB,GAAG;QACvB,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QAC7D,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAC1D,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QACtD,oBAAoB,EAAE;YACpB,KAAK,EAAE,KAAK,CAAC,oBAAoB,IAAI,IAAI;YACzC,UAAU,EAAE,IAAI;SACjB;QACD,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../../src/codama/instructions/cancelRental.ts"],"names":[],"mappings":"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"}
|