@wuwei-labs/srsly 4.1.4 → 4.2.1
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/accounts/rental.js +6 -2
- package/dist/cjs/accounts/rental.js.map +1 -1
- package/dist/cjs/demos.js +13 -26
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +3 -1
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +2 -0
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/rentalState.js +4 -2
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +7 -4
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +39 -11
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +1 -70
- package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeRental.js +170 -25
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createConfig.js +0 -8
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteContractThread.js +175 -0
- package/dist/cjs/generated/codama/instructions/deleteContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/index.js +1 -1
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/reserveRental.js +7 -10
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateConfig.js +2 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/programs/srsly.js +18 -18
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/types/fleet.js +14 -0
- package/dist/cjs/generated/codama/types/fleet.js.map +1 -1
- package/dist/cjs/generated/codama/types/index.js +1 -1
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/rentalClosed.js +2 -0
- package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -1
- package/dist/cjs/generated/codama/types/reservationCreated.js +2 -0
- package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/cjs/generated/codama/types/shipStats.js +2 -0
- package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +28 -23
- package/dist/cjs/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/instructions/activateRental.js +0 -8
- package/dist/cjs/instructions/activateRental.js.map +1 -1
- package/dist/cjs/instructions/closeContract.js +79 -27
- package/dist/cjs/instructions/closeContract.js.map +1 -1
- package/dist/cjs/instructions/closeRental.js +30 -20
- package/dist/cjs/instructions/closeRental.js.map +1 -1
- package/dist/cjs/instructions/createConfig.js +1 -4
- package/dist/cjs/instructions/createConfig.js.map +1 -1
- package/dist/cjs/instructions/deleteContractThread.js +65 -0
- package/dist/cjs/instructions/deleteContractThread.js.map +1 -0
- package/dist/cjs/instructions/index.js +1 -1
- package/dist/cjs/instructions/index.js.map +1 -1
- package/dist/cjs/instructions/invalidateRental.js +10 -7
- package/dist/cjs/instructions/invalidateRental.js.map +1 -1
- package/dist/cjs/instructions/releaseRental.js +10 -7
- package/dist/cjs/instructions/releaseRental.js.map +1 -1
- package/dist/cjs/instructions/reserveRental.js +3 -10
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +1 -0
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/kit/index.js +1 -2
- package/dist/cjs/kit/index.js.map +1 -1
- package/dist/cjs/legacy/index.js +1 -5
- package/dist/cjs/legacy/index.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/discountAuth.js +51 -130
- package/dist/cjs/utils/discountAuth.js.map +1 -1
- package/dist/cjs/utils/index.js +2 -4
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/accounts/rental.js +6 -2
- package/dist/esm/accounts/rental.js.map +1 -1
- package/dist/esm/demos.js +12 -25
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +3 -1
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +2 -0
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/rentalState.js +6 -4
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +6 -3
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/instructions/acceptRental.js +40 -12
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +1 -70
- package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeRental.js +170 -25
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createConfig.js +0 -8
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteContractThread.js +165 -0
- package/dist/esm/generated/codama/instructions/deleteContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/index.js +1 -1
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/reserveRental.js +8 -11
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateConfig.js +2 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/programs/srsly.js +18 -18
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/types/fleet.js +15 -1
- package/dist/esm/generated/codama/types/fleet.js.map +1 -1
- package/dist/esm/generated/codama/types/index.js +1 -1
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/rentalClosed.js +3 -1
- package/dist/esm/generated/codama/types/rentalClosed.js.map +1 -1
- package/dist/esm/generated/codama/types/reservationCreated.js +3 -1
- package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/esm/generated/codama/types/shipStats.js +3 -1
- package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +28 -23
- package/dist/esm/instructions/acceptRental.js.map +1 -1
- package/dist/esm/instructions/activateRental.js +0 -8
- package/dist/esm/instructions/activateRental.js.map +1 -1
- package/dist/esm/instructions/closeContract.js +79 -27
- package/dist/esm/instructions/closeContract.js.map +1 -1
- package/dist/esm/instructions/closeRental.js +30 -20
- package/dist/esm/instructions/closeRental.js.map +1 -1
- package/dist/esm/instructions/createConfig.js +1 -4
- package/dist/esm/instructions/createConfig.js.map +1 -1
- package/dist/esm/instructions/deleteContractThread.js +62 -0
- package/dist/esm/instructions/deleteContractThread.js.map +1 -0
- package/dist/esm/instructions/index.js +1 -1
- package/dist/esm/instructions/index.js.map +1 -1
- package/dist/esm/instructions/invalidateRental.js +10 -7
- package/dist/esm/instructions/invalidateRental.js.map +1 -1
- package/dist/esm/instructions/releaseRental.js +10 -7
- package/dist/esm/instructions/releaseRental.js.map +1 -1
- package/dist/esm/instructions/reserveRental.js +3 -10
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +1 -0
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/kit/index.js +1 -1
- package/dist/esm/kit/index.js.map +1 -1
- package/dist/esm/legacy/index.js +0 -3
- package/dist/esm/legacy/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/discountAuth.js +50 -128
- package/dist/esm/utils/discountAuth.js.map +1 -1
- package/dist/esm/utils/index.js +2 -2
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/idl/srsly.json +411 -352
- package/dist/types/accounts/rental.d.ts.map +1 -1
- package/dist/types/demos.d.ts +0 -2
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +4 -0
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +4 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/rentalState.d.ts +13 -9
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +5 -3
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +53 -32
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +18 -49
- package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeRental.d.ts +83 -28
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createConfig.d.ts +3 -3
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -0
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteContract.d.ts +3 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteContractThread.d.ts +70 -0
- package/dist/types/generated/codama/instructions/deleteContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts +3 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +18 -23
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +6 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/programs/srsly.d.ts +18 -18
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/types/fleet.d.ts +14 -0
- package/dist/types/generated/codama/types/fleet.d.ts.map +1 -1
- package/dist/types/generated/codama/types/index.d.ts +1 -1
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/rentalClosed.d.ts +8 -1
- package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -1
- package/dist/types/generated/codama/types/reservationCreated.d.ts +2 -0
- package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
- package/dist/types/generated/codama/types/shipStats.d.ts +3 -1
- package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +6 -9
- package/dist/types/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/instructions/activateRental.d.ts.map +1 -1
- package/dist/types/instructions/closeContract.d.ts +5 -0
- package/dist/types/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/instructions/createConfig.d.ts +4 -4
- package/dist/types/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/instructions/deleteContractThread.d.ts +42 -0
- package/dist/types/instructions/deleteContractThread.d.ts.map +1 -0
- package/dist/types/instructions/index.d.ts +1 -1
- package/dist/types/instructions/index.d.ts.map +1 -1
- package/dist/types/instructions/invalidateRental.d.ts +4 -3
- package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
- package/dist/types/instructions/releaseRental.d.ts +4 -3
- package/dist/types/instructions/releaseRental.d.ts.map +1 -1
- package/dist/types/instructions/reserveRental.d.ts +0 -7
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/updateConfig.d.ts +4 -4
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/kit/index.d.ts +1 -1
- package/dist/types/kit/index.d.ts.map +1 -1
- package/dist/types/legacy/index.d.ts +1 -2
- package/dist/types/legacy/index.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +3 -3
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/discountAuth.d.ts +30 -63
- package/dist/types/utils/discountAuth.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Simplified deleteContractThread instruction wrapper
|
|
4
|
+
*
|
|
5
|
+
* Thin convenience wrapper around Codama-generated deleteContractThread instruction.
|
|
6
|
+
* Admin-only instruction to delete a contract's thread for schema migrations.
|
|
7
|
+
* Unlike closeContractThread, does not require the contract account.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.deleteContractThread = deleteContractThread;
|
|
11
|
+
const kit_1 = require("@solana/kit");
|
|
12
|
+
const instructions_1 = require("../generated/codama/instructions");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
14
|
+
const signer_1 = require("../utils/signer");
|
|
15
|
+
const instructions_2 = require("../utils/instructions");
|
|
16
|
+
const thread_1 = require("../accounts/thread");
|
|
17
|
+
const thread_2 = require("../pda/thread");
|
|
18
|
+
const srsly_1 = require("../pda/srsly");
|
|
19
|
+
/**
|
|
20
|
+
* Admin-delete a per-contract automation thread
|
|
21
|
+
*
|
|
22
|
+
* Like closeContractThread but uses admin auth and does not require the
|
|
23
|
+
* contract account on-chain (for when contracts are already deleted or
|
|
24
|
+
* undeserializable). Fetches the thread account to read `fiberIds`, then
|
|
25
|
+
* derives and passes fiber PDAs as remaining accounts.
|
|
26
|
+
*
|
|
27
|
+
* @param params - Thread deletion parameters
|
|
28
|
+
* @param config - Optional SDK configuration overrides
|
|
29
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
30
|
+
*/
|
|
31
|
+
async function deleteContractThread(params, config) {
|
|
32
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
33
|
+
if (!params.admin) {
|
|
34
|
+
throw new Error('admin is required');
|
|
35
|
+
}
|
|
36
|
+
if (!params.contract) {
|
|
37
|
+
throw new Error('contract is required');
|
|
38
|
+
}
|
|
39
|
+
const adminSigner = (0, signer_1.toTransactionSigner)(params.admin);
|
|
40
|
+
const addresses = (0, config_1.getAddresses)(config);
|
|
41
|
+
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
42
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
43
|
+
// Derive thread PDA
|
|
44
|
+
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
45
|
+
const contractThread = await (0, thread_2.deriveContractThread)(contractAddress, rentalAuthority);
|
|
46
|
+
// Fetch thread account to read actual fiber_ids
|
|
47
|
+
const threadAccount = await (0, thread_1.fetchThread)(contractThread, finalConfig.rpcUrl);
|
|
48
|
+
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
49
|
+
// Derive fiber PDAs only for fibers that actually exist on the thread
|
|
50
|
+
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
51
|
+
address: await (0, thread_2.deriveFiber)(contractThread, id),
|
|
52
|
+
role: kit_1.AccountRole.WRITABLE,
|
|
53
|
+
})));
|
|
54
|
+
const kitInstruction = await (0, instructions_1.getDeleteContractThreadInstructionAsync)({
|
|
55
|
+
admin: adminSigner,
|
|
56
|
+
thread: contractThread,
|
|
57
|
+
}, { programAddress });
|
|
58
|
+
// Add fiber PDAs as remaining accounts (writable, non-signer)
|
|
59
|
+
kitInstruction.accounts.push(...fiberAccounts);
|
|
60
|
+
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
61
|
+
computeUnits: params.computeUnits,
|
|
62
|
+
PublicKey: finalConfig.PublicKey
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=deleteContractThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteContractThread.js","sourceRoot":"","sources":["../../../src/instructions/deleteContractThread.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA2CH,oDAiDC;AA1FD,qCAAiE;AACjE,mEAA2F;AAC3F,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,0CAAkE;AAClE,wCAAqD;AAsBrD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAkC,EAClC,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAoB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;IAErE,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,iBAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,sDAAuC,EAClE;QACE,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -35,9 +35,9 @@ __exportStar(require("./closeBorrower"), exports);
|
|
|
35
35
|
__exportStar(require("./createBorrower"), exports);
|
|
36
36
|
__exportStar(require("./deleteBorrower"), exports);
|
|
37
37
|
__exportStar(require("./claimContract"), exports);
|
|
38
|
-
__exportStar(require("./activateRental"), exports);
|
|
39
38
|
__exportStar(require("./createContractThread"), exports);
|
|
40
39
|
__exportStar(require("./closeContractThread"), exports);
|
|
40
|
+
__exportStar(require("./deleteContractThread"), exports);
|
|
41
41
|
__exportStar(require("./updateContractThread"), exports);
|
|
42
42
|
__exportStar(require("./createConfig"), exports);
|
|
43
43
|
__exportStar(require("./updateConfig"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B;AAC9B,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B;AAC9B,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,yDAAuC;AACvC,wDAAsC;AACtC,yDAAuC;AACvC,yDAAuC;AACvC,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,oDAAkC;AAClC,qDAAmC;AACnC,oDAAkC;AAClC,oDAAkC"}
|
|
@@ -13,6 +13,7 @@ const config_1 = require("../utils/config");
|
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const instructions_2 = require("../utils/instructions");
|
|
15
15
|
const sage_1 = require("../pda/sage");
|
|
16
|
+
const fleet_1 = require("../accounts/fleet");
|
|
16
17
|
/**
|
|
17
18
|
* Invalidate a rental
|
|
18
19
|
*
|
|
@@ -68,12 +69,6 @@ async function invalidateRental(params, config) {
|
|
|
68
69
|
if (!params.signer) {
|
|
69
70
|
throw new Error('signer is required');
|
|
70
71
|
}
|
|
71
|
-
if (!params.ownerProfile) {
|
|
72
|
-
throw new Error('ownerProfile is required');
|
|
73
|
-
}
|
|
74
|
-
if (!params.faction) {
|
|
75
|
-
throw new Error('faction is required');
|
|
76
|
-
}
|
|
77
72
|
// Convert signer to transaction signer
|
|
78
73
|
const signerAccount = (0, signer_1.toTransactionSigner)(params.signer);
|
|
79
74
|
// Get network-specific addresses (including gameId)
|
|
@@ -81,8 +76,16 @@ async function invalidateRental(params, config) {
|
|
|
81
76
|
const gameId = (0, kit_1.address)(addresses.gameId);
|
|
82
77
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
83
78
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
79
|
+
// Auto-fetch ownerProfile and faction from fleet when not provided
|
|
80
|
+
let ownerProfile = params.ownerProfile;
|
|
81
|
+
let faction = params.faction;
|
|
82
|
+
if (!ownerProfile || !faction) {
|
|
83
|
+
const fleetState = await (0, fleet_1.fetchFleet)(params.fleet, finalConfig.rpcUrl);
|
|
84
|
+
ownerProfile = ownerProfile ?? fleetState.ownerProfile;
|
|
85
|
+
faction = faction ?? fleetState.faction;
|
|
86
|
+
}
|
|
84
87
|
// Derive owner's SAGE accounts (NOT borrower's)
|
|
85
|
-
const gameAccounts = await (0, sage_1.deriveGameAccounts)(
|
|
88
|
+
const gameAccounts = await (0, sage_1.deriveGameAccounts)(ownerProfile, faction, gameId);
|
|
86
89
|
// Call Codama-generated instruction
|
|
87
90
|
// Contract and rentalAuthority are auto-derived by Codama
|
|
88
91
|
const kitInstruction = await (0, instructions_1.getInvalidateRentalInstructionAsync)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalidateRental.js","sourceRoot":"","sources":["../../../src/instructions/invalidateRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"invalidateRental.js","sourceRoot":"","sources":["../../../src/instructions/invalidateRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA0FH,4CA0DC;AAlJD,qCAAoD;AACpD,mEAAuF;AACvF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,sCAAiD;AACjD,6CAA+C;AAqC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAA8B,EAC9B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,mEAAmE;IACnE,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,MAAM,CAAC,KAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjF,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;QACvD,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,YAAY,EACZ,OAAO,EACP,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,0DAA0D;IAC1D,MAAM,cAAc,GAAG,MAAM,IAAA,kDAAmC,EAC9D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -13,6 +13,7 @@ const config_1 = require("../utils/config");
|
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const instructions_2 = require("../utils/instructions");
|
|
15
15
|
const sage_1 = require("../pda/sage");
|
|
16
|
+
const fleet_1 = require("../accounts/fleet");
|
|
16
17
|
/**
|
|
17
18
|
* Release a rental
|
|
18
19
|
*
|
|
@@ -66,12 +67,6 @@ async function releaseRental(params, config) {
|
|
|
66
67
|
if (!params.signer) {
|
|
67
68
|
throw new Error('signer is required');
|
|
68
69
|
}
|
|
69
|
-
if (!params.ownerProfile) {
|
|
70
|
-
throw new Error('ownerProfile is required');
|
|
71
|
-
}
|
|
72
|
-
if (!params.faction) {
|
|
73
|
-
throw new Error('faction is required');
|
|
74
|
-
}
|
|
75
70
|
// Convert signer to transaction signer
|
|
76
71
|
const signerAccount = (0, signer_1.toTransactionSigner)(params.signer);
|
|
77
72
|
// Get network-specific addresses (including gameId)
|
|
@@ -79,8 +74,16 @@ async function releaseRental(params, config) {
|
|
|
79
74
|
const gameId = (0, kit_1.address)(addresses.gameId);
|
|
80
75
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
81
76
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
77
|
+
// Auto-fetch ownerProfile and faction from fleet when not provided
|
|
78
|
+
let ownerProfile = params.ownerProfile;
|
|
79
|
+
let faction = params.faction;
|
|
80
|
+
if (!ownerProfile || !faction) {
|
|
81
|
+
const fleetState = await (0, fleet_1.fetchFleet)(params.fleet, finalConfig.rpcUrl);
|
|
82
|
+
ownerProfile = ownerProfile ?? fleetState.ownerProfile;
|
|
83
|
+
faction = faction ?? fleetState.faction;
|
|
84
|
+
}
|
|
82
85
|
// Derive owner's SAGE accounts (NOT borrower's)
|
|
83
|
-
const gameAccounts = await (0, sage_1.deriveGameAccounts)(
|
|
86
|
+
const gameAccounts = await (0, sage_1.deriveGameAccounts)(ownerProfile, faction, gameId);
|
|
84
87
|
// Call Codama-generated instruction
|
|
85
88
|
// Contract and rentalAuthority are auto-derived by Codama from seeds
|
|
86
89
|
const kitInstruction = await (0, instructions_1.getReleaseRentalInstructionAsync)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseRental.js","sourceRoot":"","sources":["../../../src/instructions/releaseRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"releaseRental.js","sourceRoot":"","sources":["../../../src/instructions/releaseRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwFH,sCA0DC;AAhJD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,sCAAiD;AACjD,6CAA+C;AAqC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,mEAAmE;IACnE,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,MAAM,CAAC,KAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjF,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;QACvD,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,YAAY,EACZ,OAAO,EACP,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -24,7 +24,6 @@ const srsly_1 = require("../pda/srsly");
|
|
|
24
24
|
const token_1 = require("../pda/token");
|
|
25
25
|
const thread_1 = require("../pda/thread");
|
|
26
26
|
const instructions_2 = require("../utils/instructions");
|
|
27
|
-
const discountAuth_1 = require("../utils/discountAuth");
|
|
28
27
|
/**
|
|
29
28
|
* Reserve a rental contract via GBM-style auction
|
|
30
29
|
*
|
|
@@ -87,9 +86,9 @@ async function reserveRental(params, config) {
|
|
|
87
86
|
const rentalState = await (0, srsly_1.deriveQueuedRental)(params.contract);
|
|
88
87
|
// Derive rental authority
|
|
89
88
|
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
90
|
-
// Derive contract thread and
|
|
89
|
+
// Derive contract thread and close_rental fiber (fiber index 1)
|
|
91
90
|
const contractThread = await (0, thread_1.deriveContractThread)(params.contract, rentalAuthority);
|
|
92
|
-
const
|
|
91
|
+
const closeRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 1);
|
|
93
92
|
// Derive contract token account (ATA of contract PDA)
|
|
94
93
|
const contractAddress = (0, kit_1.address)(params.contract);
|
|
95
94
|
const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
@@ -97,18 +96,13 @@ async function reserveRental(params, config) {
|
|
|
97
96
|
const challengerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(challengerSigner.address, atlasMint);
|
|
98
97
|
// Convert duration to seconds
|
|
99
98
|
const durationSeconds = (0, duration_1.convertDuration)(params.duration);
|
|
100
|
-
// Deserialize discount auth if provided
|
|
101
|
-
let discountAuth = null;
|
|
102
|
-
if (params.discountAuth) {
|
|
103
|
-
discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
|
|
104
|
-
}
|
|
105
99
|
const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
|
|
106
100
|
// Build instruction input
|
|
107
101
|
const instructionInput = {
|
|
108
102
|
challenger: challengerSigner,
|
|
109
103
|
contract: contractAddress,
|
|
110
104
|
contractThread,
|
|
111
|
-
|
|
105
|
+
closeRentalFiber,
|
|
112
106
|
contractTokenAccount,
|
|
113
107
|
challengerTokenAccount,
|
|
114
108
|
rentalState,
|
|
@@ -117,7 +111,6 @@ async function reserveRental(params, config) {
|
|
|
117
111
|
bidPoints,
|
|
118
112
|
bidAtlas: bidAtlasValue,
|
|
119
113
|
duration: BigInt(durationSeconds),
|
|
120
|
-
discountAuth,
|
|
121
114
|
};
|
|
122
115
|
// If there's a current queued reservation, provide defender accounts
|
|
123
116
|
// Fetch queued rental to check if there's an existing reservation holder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAqGH,sCA0IC;AA7OD,qCAAiE;AACjE,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAC5E,6CAAmE;AACnE,iDAAyE;AACzE,mDAAqD;AACrD,+CAAiD;AACjD,6CAA+C;AAC/C,mDAAqD;AACrD,+CAAiD;AACjD,qDAAyD;AACzD,sCAAiD;AACjD,wCAA8F;AAC9F,wCAA4D;AAC5D,0CAAkE;AAClE,wDAA4D;AAyD5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,IAAI,SAAS,GAAG,CAAC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEhE,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IAEvD,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAE/C,6CAA6C;IAC7C,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEjF,2BAA2B;IAC3B,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9D,0BAA0B;IAC1B,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IAEtD,gEAAgE;IAChE,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAoB,EAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,gBAAgB,GAAG,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAE9D,sDAAsD;IACtD,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,MAAM,IAAA,oCAA4B,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE5F,oCAAoC;IACpC,MAAM,sBAAsB,GAAG,MAAM,IAAA,oCAA4B,EAC/D,gBAAgB,CAAC,OAAO,EACxB,SAAS,CACV,CAAC;IAEF,8BAA8B;IAC9B,MAAM,eAAe,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAwB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,0BAA0B;IAC1B,MAAM,gBAAgB,GAA2D;QAC/E,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,eAAe;QACzB,cAAc;QACd,gBAAgB;QAChB,oBAAoB;QACpB,sBAAsB;QACtB,WAAW;QACX,QAAQ;QACR,WAAW;QACX,SAAS;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;KAClC,CAAC;IAEF,qEAAqE;IACrE,yEAAyE;IACzE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,oBAAY,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,qBAAqB,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9D,MAAM,uBAAuB,GAAG,MAAM,IAAA,2BAAmB,EAAC,gBAAgB,CAAC,CAAC;YAE5E,mFAAmF;YACnF,IAAI,qBAAqB,KAAK,uBAAuB,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,4EAA4E;oBAC5E,yCAAyC,CAC1C,CAAC;YACJ,CAAC;YAED,gBAAgB,CAAC,aAAa,GAAG,qBAAqB,CAAC;YAEvD,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YACvF,gBAAgB,CAAC,2BAA2B,GAAG,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC1F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IAED,8CAA8C;IAC9C,MAAM,qBAAqB,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,iBAA4B,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,qBAAqB,EACrB,UAAU,CAAC,OAAO,EAClB,eAAe,CAAC,IAAI,CAAC,MAAM,CAC5B,CAAC;IAEF,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D,gBAAgB,EAChB,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,6CAA6C;IAC7C,MAAM,qBAAqB,GAAG;QAC5B,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;QAC9D,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;QACpE,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;QAC9D,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;KACrE,CAAC;IACD,cAAc,CAAC,QAAyC,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAEzF,oDAAoD;IACpD,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -90,6 +90,7 @@ async function updateConfig(params, config) {
|
|
|
90
90
|
maxWeight: toOption(params.maxWeight),
|
|
91
91
|
captureRateBps: toOption(params.captureRateBps),
|
|
92
92
|
atlasPerPoint: toOption(params.atlasPerPoint),
|
|
93
|
+
knockoffBonusBps: toOption(params.knockoffBonusBps),
|
|
93
94
|
}, { programAddress });
|
|
94
95
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
95
96
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8JH,
|
|
1
|
+
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/kit/index.js
CHANGED
|
@@ -52,7 +52,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
52
52
|
};
|
|
53
53
|
})();
|
|
54
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
-
exports.codama = exports.claim = exports.
|
|
55
|
+
exports.codama = exports.claim = exports.VERSION = void 0;
|
|
56
56
|
var version_1 = require("../version");
|
|
57
57
|
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
|
|
58
58
|
__exportStar(require("../utils"), exports);
|
|
@@ -62,7 +62,6 @@ __exportStar(require("../params"), exports);
|
|
|
62
62
|
__exportStar(require("../pda"), exports);
|
|
63
63
|
// External re-exports
|
|
64
64
|
var slyvault_1 = require("@wuwei-labs/slyvault");
|
|
65
|
-
Object.defineProperty(exports, "createDiscountAuth", { enumerable: true, get: function () { return slyvault_1.createDiscountAuth; } });
|
|
66
65
|
Object.defineProperty(exports, "claim", { enumerable: true, get: function () { return slyvault_1.claim; } });
|
|
67
66
|
exports.codama = __importStar(require("../generated/codama"));
|
|
68
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kit/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AAEvB,sBAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kit/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AAEvB,sBAAsB;AACtB,iDAG8B;AAF5B,iGAAA,KAAK,OAAA;AAIP,8DAA8C"}
|
package/dist/cjs/legacy/index.js
CHANGED
|
@@ -59,7 +59,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
59
59
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
60
60
|
};
|
|
61
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
-
exports.claim = exports.updateAffiliate = exports.removeAffiliate = exports.approveAffiliate = exports.createAffiliate = exports.deleteConfig = exports.updateConfig = exports.createConfig = exports.updateContractThread = exports.closeContractThread = exports.createContractThread = exports.
|
|
62
|
+
exports.claim = exports.updateAffiliate = exports.removeAffiliate = exports.approveAffiliate = exports.createAffiliate = exports.deleteConfig = exports.updateConfig = exports.createConfig = exports.updateContractThread = exports.closeContractThread = exports.createContractThread = exports.claimContract = exports.deleteBorrower = exports.createBorrower = exports.closeBorrower = exports.claimBorrower = exports.deleteRental = exports.reserveRental = exports.invalidateRental = exports.releaseRental = exports.closeRental = exports.cancelRental = exports.acceptRental = exports.setDelegate = exports.deleteContract = exports.closeContract = exports.updateContract = exports.createContract = exports.codama = exports.VERSION = void 0;
|
|
63
63
|
const utils_1 = require("../utils");
|
|
64
64
|
const kit = __importStar(require("../instructions"));
|
|
65
65
|
const slyvault_1 = require("@wuwei-labs/slyvault");
|
|
@@ -71,9 +71,6 @@ __exportStar(require("../pda"), exports);
|
|
|
71
71
|
var version_1 = require("../version");
|
|
72
72
|
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
|
|
73
73
|
exports.codama = __importStar(require("../generated/codama"));
|
|
74
|
-
// External re-exports
|
|
75
|
-
var slyvault_2 = require("@wuwei-labs/slyvault");
|
|
76
|
-
Object.defineProperty(exports, "createDiscountAuth", { enumerable: true, get: function () { return slyvault_2.createDiscountAuth; } });
|
|
77
74
|
/**
|
|
78
75
|
* Wrapper that checks for PublicKey and provides helpful error
|
|
79
76
|
*/
|
|
@@ -110,7 +107,6 @@ exports.closeBorrower = w(kit.closeBorrower);
|
|
|
110
107
|
exports.createBorrower = w(kit.createBorrower);
|
|
111
108
|
exports.deleteBorrower = w(kit.deleteBorrower);
|
|
112
109
|
exports.claimContract = w(kit.claimContract);
|
|
113
|
-
exports.activateRental = w(kit.activateRental);
|
|
114
110
|
exports.createContractThread = w(kit.createContractThread);
|
|
115
111
|
exports.closeContractThread = w(kit.closeContractThread);
|
|
116
112
|
exports.updateContractThread = w(kit.updateContractThread);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/legacy/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oCAAwF;AACxF,qDAAuC;AACvC,mDAA8D;AAE9D,oDAAoD;AACpD,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,8DAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/legacy/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,160 +2,81 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @purpose Discount authorization helper for server-side signing
|
|
4
4
|
* @module utils/discountAuth
|
|
5
|
+
*
|
|
6
|
+
* Convenience wrapper that fetches member nonce + vault automatically,
|
|
7
|
+
* then delegates to slyvault's createDiscountAuth for signing.
|
|
5
8
|
*/
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.deserializeDiscountAuth = void 0;
|
|
7
11
|
exports.createDiscount = createDiscount;
|
|
8
|
-
exports.deserializeDiscountAuth = deserializeDiscountAuth;
|
|
9
|
-
exports.serializeDiscountAuth = serializeDiscountAuth;
|
|
10
|
-
exports.isSerializedDiscountAuth = isSerializedDiscountAuth;
|
|
11
12
|
const kit_1 = require("@solana/kit");
|
|
12
13
|
const slyvault_1 = require("@wuwei-labs/slyvault");
|
|
13
14
|
const config_1 = require("./config");
|
|
14
|
-
const rpc_1 = require("./rpc");
|
|
15
|
-
/**
|
|
16
|
-
* Parse a stringified keypair (JSON array of bytes) into a KeyPairSigner
|
|
17
|
-
*/
|
|
18
|
-
async function parseKeypairString(keypairString) {
|
|
19
|
-
try {
|
|
20
|
-
const bytes = JSON.parse(keypairString);
|
|
21
|
-
if (!Array.isArray(bytes) || bytes.length !== 64) {
|
|
22
|
-
throw new Error('Invalid keypair: expected array of 64 bytes');
|
|
23
|
-
}
|
|
24
|
-
return await (0, kit_1.createKeyPairSignerFromBytes)(new Uint8Array(bytes));
|
|
25
|
-
}
|
|
26
|
-
catch (e) {
|
|
27
|
-
throw new Error(`Failed to parse keypair string: ${e.message}`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Browser-compatible base64 encoding (Uint8Array -> string)
|
|
32
|
-
*/
|
|
33
|
-
function uint8ArrayToBase64(bytes) {
|
|
34
|
-
let binary = '';
|
|
35
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
36
|
-
binary += String.fromCharCode(bytes[i]);
|
|
37
|
-
}
|
|
38
|
-
return btoa(binary);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Browser-compatible base64 decoding (string -> Uint8Array)
|
|
42
|
-
*/
|
|
43
|
-
function base64ToUint8Array(base64) {
|
|
44
|
-
const binary = atob(base64);
|
|
45
|
-
const bytes = new Uint8Array(binary.length);
|
|
46
|
-
for (let i = 0; i < binary.length; i++) {
|
|
47
|
-
bytes[i] = binary.charCodeAt(i);
|
|
48
|
-
}
|
|
49
|
-
return bytes;
|
|
50
|
-
}
|
|
51
15
|
/**
|
|
52
|
-
* Create a signed discount authorization
|
|
16
|
+
* Create a signed discount authorization with auto-fetched member data
|
|
53
17
|
*
|
|
54
|
-
* Server-side helper that
|
|
55
|
-
*
|
|
18
|
+
* Server-side helper that:
|
|
19
|
+
* 1. Fetches the member to get nonce + vault
|
|
20
|
+
* 2. Computes expires_at from current time + expirySeconds
|
|
21
|
+
* 3. Signs the discount message
|
|
22
|
+
* 4. Returns JSON-safe SerializedDiscountAuth for API transport
|
|
56
23
|
*
|
|
57
|
-
* @param params - Discount parameters
|
|
24
|
+
* @param params - Discount parameters
|
|
58
25
|
* @param config - Optional SDK configuration overrides
|
|
59
|
-
* @returns
|
|
26
|
+
* @returns SerializedDiscountAuth ready for JSON API response
|
|
60
27
|
*
|
|
61
28
|
* @example
|
|
62
29
|
* ```typescript
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* discountAuthority:
|
|
30
|
+
* // Server-side: create discount for a borrower
|
|
31
|
+
* const auth = await createDiscount({
|
|
32
|
+
* memberAddress: 'AFFILIATE_MEMBER_PDA',
|
|
33
|
+
* contextKey: borrowerWallet,
|
|
34
|
+
* discountBps: 500, // 5%
|
|
35
|
+
* expirySeconds: 300, // 5 minutes
|
|
36
|
+
* discountAuthority: process.env.DISCOUNT_KEY, // JSON keypair string
|
|
70
37
|
* });
|
|
71
38
|
*
|
|
72
|
-
* //
|
|
73
|
-
*
|
|
39
|
+
* // Return via API — all fields are JSON-safe strings/numbers
|
|
40
|
+
* res.json(auth);
|
|
74
41
|
* ```
|
|
75
42
|
*/
|
|
76
43
|
async function createDiscount(params, config) {
|
|
77
44
|
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
78
45
|
const rpcUrl = (0, config_1.getRpcUrl)(finalConfig);
|
|
79
|
-
// Fetch member to get nonce
|
|
80
|
-
const memberAddr = (0, kit_1.address)(params.
|
|
46
|
+
// Fetch member to get nonce + vault
|
|
47
|
+
const memberAddr = (0, kit_1.address)(params.memberAddress);
|
|
81
48
|
const member = await (0, slyvault_1.fetchMember)(memberAddr, rpcUrl);
|
|
82
|
-
//
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
discountAuthority = await parseKeypairString(params.discountAuthority);
|
|
90
|
-
}
|
|
91
|
-
else if (params.discountAuthority instanceof Uint8Array) {
|
|
92
|
-
discountAuthority = await (0, kit_1.createKeyPairSignerFromBytes)(params.discountAuthority);
|
|
93
|
-
}
|
|
94
|
-
else if (Array.isArray(params.discountAuthority)) {
|
|
95
|
-
discountAuthority = await (0, kit_1.createKeyPairSignerFromBytes)(new Uint8Array(params.discountAuthority));
|
|
96
|
-
}
|
|
97
|
-
else if ('secretKey' in params.discountAuthority && params.discountAuthority.secretKey instanceof Uint8Array) {
|
|
98
|
-
// web3.js Keypair
|
|
99
|
-
discountAuthority = await (0, kit_1.createKeyPairSignerFromBytes)(params.discountAuthority.secretKey);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
// Already a KeyPairSigner
|
|
103
|
-
discountAuthority = params.discountAuthority;
|
|
104
|
-
}
|
|
105
|
-
// Create the raw discount auth
|
|
106
|
-
const contextAddr = (0, kit_1.address)(params.contextKey);
|
|
107
|
-
const raw = await (0, slyvault_1.createDiscountAuth)({
|
|
108
|
-
contextKey: contextAddr,
|
|
49
|
+
// Resolve discount authority signer
|
|
50
|
+
const discountAuthority = await resolveAuthority(params.discountAuthority);
|
|
51
|
+
// Compute expiry as unix timestamp
|
|
52
|
+
const now = Math.floor(Date.now() / 1000);
|
|
53
|
+
const expiresAt = BigInt(now + params.expirySeconds);
|
|
54
|
+
return (0, slyvault_1.createDiscountAuth)({
|
|
55
|
+
contextKey: (0, kit_1.address)(params.contextKey),
|
|
109
56
|
memberNonce: member.data.nonce,
|
|
110
|
-
|
|
111
|
-
|
|
57
|
+
discountBps: params.discountBps,
|
|
58
|
+
expiresAt,
|
|
59
|
+
vault: member.data.vault,
|
|
112
60
|
discountAuthority,
|
|
113
61
|
});
|
|
114
|
-
// Return serialized format for API transport
|
|
115
|
-
return serializeDiscountAuth({ ...raw, context: contextAddr });
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Deserialize a discount authorization from API format
|
|
119
|
-
*
|
|
120
|
-
* Converts the JSON-safe SerializedDiscountAuth back to the format
|
|
121
|
-
* expected by the on-chain program.
|
|
122
|
-
*
|
|
123
|
-
* @internal Used by acceptRental and claimRental
|
|
124
|
-
*/
|
|
125
|
-
function deserializeDiscountAuth(serialized) {
|
|
126
|
-
return {
|
|
127
|
-
context: (0, kit_1.address)(serialized.context),
|
|
128
|
-
memberNonce: serialized.memberNonce,
|
|
129
|
-
discountBps: serialized.discountBps,
|
|
130
|
-
expirySlot: BigInt(serialized.expirySlot),
|
|
131
|
-
signature: base64ToUint8Array(serialized.signature),
|
|
132
|
-
};
|
|
133
62
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
signature: uint8ArrayToBase64(new Uint8Array(raw.signature)),
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Check if a value is a SerializedDiscountAuth
|
|
154
|
-
*/
|
|
155
|
-
function isSerializedDiscountAuth(value) {
|
|
156
|
-
return (typeof value === 'object' &&
|
|
157
|
-
value !== null &&
|
|
158
|
-
'signature' in value &&
|
|
159
|
-
typeof value.signature === 'string');
|
|
63
|
+
async function resolveAuthority(authority) {
|
|
64
|
+
if (typeof authority === 'string') {
|
|
65
|
+
const bytes = JSON.parse(authority);
|
|
66
|
+
if (!Array.isArray(bytes) || bytes.length !== 64) {
|
|
67
|
+
throw new Error('Invalid keypair: expected JSON array of 64 bytes');
|
|
68
|
+
}
|
|
69
|
+
return (0, kit_1.createKeyPairSignerFromBytes)(new Uint8Array(bytes));
|
|
70
|
+
}
|
|
71
|
+
if (authority instanceof Uint8Array) {
|
|
72
|
+
return (0, kit_1.createKeyPairSignerFromBytes)(authority);
|
|
73
|
+
}
|
|
74
|
+
if (Array.isArray(authority)) {
|
|
75
|
+
return (0, kit_1.createKeyPairSignerFromBytes)(new Uint8Array(authority));
|
|
76
|
+
}
|
|
77
|
+
return authority;
|
|
160
78
|
}
|
|
79
|
+
// Re-export for convenience
|
|
80
|
+
var slyvault_2 = require("@wuwei-labs/slyvault");
|
|
81
|
+
Object.defineProperty(exports, "deserializeDiscountAuth", { enumerable: true, get: function () { return slyvault_2.deserializeDiscountAuth; } });
|
|
161
82
|
//# sourceMappingURL=discountAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discountAuth.js","sourceRoot":"","sources":["../../../src/utils/discountAuth.ts"],"names":[],"mappings":";AAAA;;;
|
|
1
|
+
{"version":3,"file":"discountAuth.js","sourceRoot":"","sources":["../../../src/utils/discountAuth.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA4DH,wCA0BC;AApFD,qCAAkF;AAClF,mDAM8B;AAC9B,qCAAkE;AAsBlE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC;IAEtC,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,aAAwB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAW,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErD,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE3E,mCAAmC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAErD,OAAO,IAAA,6BAA0B,EAAC;QAChC,UAAU,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,UAAqB,CAAC;QACjD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;QAC9B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;QACxB,iBAAiB;KAClB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,SAAyD;IAEzD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAA,kCAA4B,EAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,YAAY,UAAU,EAAE,CAAC;QACpC,OAAO,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAA,kCAA4B,EAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4BAA4B;AAC5B,iDAA+D;AAAtD,mHAAA,uBAAuB,OAAA"}
|