Skip to content

Commit

Permalink
feat: add invokeFunction
Browse files Browse the repository at this point in the history
  • Loading branch information
janek26 committed Nov 8, 2021
1 parent d616244 commit 7e04b5e
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
24 changes: 24 additions & 0 deletions src/provider/default.ts
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,30 @@ export class Provider implements ProviderInterface {
});
}

/**
* Invokes a function on starknet
*
* @param contractAddress - target contract address for invoke
* @param entrypointSelector - target entrypoint selector for
* @param calldata - (optional, default []) calldata
* @param signature - (optional) signature to send along
* @returns response from addTransaction
*/
public invokeFunction(
contractAddress: string,
entrypointSelector: string,
calldata?: string[],
signature?: [BigNumberish, BigNumberish]
): Promise<AddTransactionResponse> {
return this.addTransaction({
type: 'INVOKE_FUNCTION',
contract_address: contractAddress,
entry_point_selector: entrypointSelector,
calldata,
signature,
});
}

public async waitForTx(txHash: BigNumberish, retryInterval: number = 2000) {
let onchain = false;
while (!onchain) {
Expand Down
16 changes: 16 additions & 0 deletions src/provider/interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,21 @@ export abstract class ProviderInterface {
addressSalt: BigNumberish
): Promise<AddTransactionResponse>;

/**
* Invokes a function on starknet
*
* @param contractAddress - target contract address for invoke
* @param entrypointSelector - target entrypoint selector for
* @param calldata - (optional, default []) calldata
* @param signature - (optional) signature to send along
* @returns response from addTransaction
*/
public abstract invokeFunction(
contractAddress: string,
entrypointSelector: string,
calldata?: string[],
signature?: [BigNumberish, BigNumberish]
): Promise<AddTransactionResponse>;

public abstract waitForTx(txHash: BigNumberish, retryInterval?: number): Promise<void>;
}

0 comments on commit 7e04b5e

Please sign in to comment.