ts: Assign namespaces correctly (#272)

This commit is contained in:
Armani Ferrante 2021-05-10 15:14:56 -07:00 committed by GitHub
parent 01cacfe0a2
commit e4a1b3cb52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 15 deletions

View File

@ -21,9 +21,7 @@ export { SimulateNamespace } from "./simulate";
export default class NamespaceFactory { export default class NamespaceFactory {
/** /**
* build dynamically generates RPC methods. * Generates all namespaces for a given program.
*
* @returns an object with all the RPC methods attached.
*/ */
public static build( public static build(
idl: Idl, idl: Idl,
@ -54,12 +52,12 @@ export default class NamespaceFactory {
); );
idl.instructions.forEach((idlIx) => { idl.instructions.forEach((idlIx) => {
const ix = InstructionFactory.build(idlIx, coder, programId); const ixItem = InstructionFactory.build(idlIx, coder, programId);
const tx = TransactionFactory.build(idlIx, ix); const txItem = TransactionFactory.build(idlIx, ixItem);
const rpc = RpcFactory.build(idlIx, tx, idlErrors, provider); const rpcItem = RpcFactory.build(idlIx, txItem, idlErrors, provider);
const simulate = SimulateFactory.build( const simulateItem = SimulateFactory.build(
idlIx, idlIx,
tx, txItem,
idlErrors, idlErrors,
provider, provider,
coder, coder,
@ -69,16 +67,16 @@ export default class NamespaceFactory {
const name = camelCase(idlIx.name); const name = camelCase(idlIx.name);
instruction[name] = ix; instruction[name] = ixItem;
transaction[name] = tx; transaction[name] = txItem;
rpc[name] = rpc; rpc[name] = rpcItem;
simulate[name] = simulate; simulate[name] = simulateItem;
}); });
const accountFns = idl.accounts const account = idl.accounts
? AccountFactory.build(idl, coder, programId, provider) ? AccountFactory.build(idl, coder, programId, provider)
: {}; : {};
return [rpc, instruction, transaction, accountFns, state, simulate]; return [rpc, instruction, transaction, account, state, simulate];
} }
} }