Skip to content

Commit

Permalink
Merge pull request #24 from ton-org/feat/reopenable-contract-provider
Browse files Browse the repository at this point in the history
feat: reopenable contract provider
  • Loading branch information
dvlkv authored Feb 12, 2024
2 parents 1e05a46 + 651dbd8 commit 33f4dea
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
9 changes: 9 additions & 0 deletions src/contract/ContractProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { TupleItem } from "../tuple/tuple";
import { Maybe } from "../utils/maybe";
import { ContractState } from "./ContractState";
import { Sender } from './Sender';
import { Contract } from './Contract';

export type ContractGetMethodResult = {
stack: TupleReader;
Expand All @@ -25,4 +26,12 @@ export interface ContractProvider {
get(name: string, args: TupleItem[]): Promise<ContractGetMethodResult>;
external(message: Cell): Promise<void>;
internal(via: Sender, args: { value: bigint | string, bounce?: Maybe<boolean>, sendMode?: SendMode, body?: Maybe<Cell | string> }): Promise<void>;
}

export interface ReopenableContractProvider extends ContractProvider {
reopenFor(contract: Contract): ContractProvider;
}

export function isReopenableContractProvider(provider: ContractProvider): provider is ReopenableContractProvider {
return !!(provider as ReopenableContractProvider)['reopenFor'];
}
4 changes: 3 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ export * from './types/_export';
export { Contract } from './contract/Contract';
export {
ContractProvider,
ContractGetMethodResult
ContractGetMethodResult,
ReopenableContractProvider,
isReopenableContractProvider
} from './contract/ContractProvider';
export { ContractState } from './contract/ContractState';
export { Sender, SenderArguments } from './contract/Sender';
Expand Down

0 comments on commit 33f4dea

Please sign in to comment.