@wuwei-labs/srsly
Version:
TypeScript SDK for SRSLY
81 lines • 3.25 kB
JavaScript
/**
* @wuwei-labs/srsly/legacy
*
* Legacy subpath for @solana/web3.js users.
* All instruction functions return LegacyInstruction[] directly.
*
* Requires PublicKey to be configured via setSdkConfig before use:
*
* @example
* ```typescript
* import { PublicKey } from '@solana/web3.js';
* import { setSdkConfig, createContract } from '@wuwei-labs/srsly/legacy';
*
* // Configure PublicKey once at startup
* setSdkConfig({ PublicKey });
*
* // Now all instructions return LegacyInstruction[]
* const ixs = await createContract(params);
* // ixs is ready for web3.js Transaction
* ```
*
* @packageDocumentation
*/
import { getSdkConfig } from '../utils';
import * as kit from '../instructions';
import { claim as slyvaultClaim } from '@wuwei-labs/slyvault';
// Re-export all non-instruction items via wildcards
export * from '../utils';
export * from '../accounts';
export * from '../params';
export * from '../pda';
export { VERSION } from '../version';
export * as codama from '../generated/codama';
/**
* Wrapper that checks for PublicKey and provides helpful error
*/
function wrapLegacy(fn) {
return async (...args) => {
const result = await fn(...args);
const pk = getSdkConfig().PublicKey;
if (!pk) {
throw new Error('PublicKey required for @wuwei-labs/srsly/legacy imports.\n\n' +
'Configure it once at startup:\n' +
' import { PublicKey } from "@solana/web3.js";\n' +
' import { setSdkConfig } from "@wuwei-labs/srsly/legacy";\n' +
' setSdkConfig({ PublicKey });');
}
return result.toLegacy();
};
}
const w = wrapLegacy;
// Wrapped instructions - tree-shakeable, CommonJS/Webpack safe
export const createContract = w(kit.createContract);
export const updateContract = w(kit.updateContract);
export const closeContract = w(kit.closeContract);
export const deleteContract = w(kit.deleteContract);
export const setDelegate = w(kit.setDelegate);
export const acceptRental = w(kit.acceptRental);
export const cancelRental = w(kit.cancelRental);
export const closeRental = w(kit.closeRental);
export const releaseRental = w(kit.releaseRental);
export const invalidateRental = w(kit.invalidateRental);
export const reserveRental = w(kit.reserveRental);
export const deleteRental = w(kit.deleteRental);
export const claimBorrower = w(kit.claimBorrower);
export const closeBorrower = w(kit.closeBorrower);
export const createBorrower = w(kit.createBorrower);
export const deleteBorrower = w(kit.deleteBorrower);
export const claimContract = w(kit.claimContract);
export const createContractThread = w(kit.createContractThread);
export const closeContractThread = w(kit.closeContractThread);
export const updateContractThread = w(kit.updateContractThread);
export const createConfig = w(kit.createConfig);
export const updateConfig = w(kit.updateConfig);
export const deleteConfig = w(kit.deleteConfig);
export const createAffiliate = w(kit.createAffiliate);
export const approveAffiliate = w(kit.approveAffiliate);
export const removeAffiliate = w(kit.removeAffiliate);
export const updateAffiliate = w(kit.updateAffiliate);
export const claim = w(slyvaultClaim);
//# sourceMappingURL=index.js.map