Skip to content

Commit 33f4dea

Browse files
authored
Merge pull request #24 from ton-org/feat/reopenable-contract-provider
feat: reopenable contract provider
2 parents 1e05a46 + 651dbd8 commit 33f4dea

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/contract/ContractProvider.ts

+9
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { TupleItem } from "../tuple/tuple";
1313
import { Maybe } from "../utils/maybe";
1414
import { ContractState } from "./ContractState";
1515
import { Sender } from './Sender';
16+
import { Contract } from './Contract';
1617

1718
export type ContractGetMethodResult = {
1819
stack: TupleReader;
@@ -25,4 +26,12 @@ export interface ContractProvider {
2526
get(name: string, args: TupleItem[]): Promise<ContractGetMethodResult>;
2627
external(message: Cell): Promise<void>;
2728
internal(via: Sender, args: { value: bigint | string, bounce?: Maybe<boolean>, sendMode?: SendMode, body?: Maybe<Cell | string> }): Promise<void>;
29+
}
30+
31+
export interface ReopenableContractProvider extends ContractProvider {
32+
reopenFor(contract: Contract): ContractProvider;
33+
}
34+
35+
export function isReopenableContractProvider(provider: ContractProvider): provider is ReopenableContractProvider {
36+
return !!(provider as ReopenableContractProvider)['reopenFor'];
2837
}

src/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ export * from './types/_export';
4949
export { Contract } from './contract/Contract';
5050
export {
5151
ContractProvider,
52-
ContractGetMethodResult
52+
ContractGetMethodResult,
53+
ReopenableContractProvider,
54+
isReopenableContractProvider
5355
} from './contract/ContractProvider';
5456
export { ContractState } from './contract/ContractState';
5557
export { Sender, SenderArguments } from './contract/Sender';

0 commit comments

Comments
 (0)