当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript ethers.ethers.ContractFactory类代码示例

本文整理汇总了TypeScript中ethers.ethers.ContractFactory的典型用法代码示例。如果您正苦于以下问题:TypeScript ethers.ContractFactory类的具体用法?TypeScript ethers.ContractFactory怎么用?TypeScript ethers.ContractFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ethers.ContractFactory类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: async

export const deployContract = async (
  contract: any,
  wallet: ethers.Wallet,
  args?: any[]
): Promise<ethers.Contract> => {
  const contractFactory = new ethers.ContractFactory(
    contract.abi,
    contract.binary,
    wallet
  );
  return contractFactory.deploy(...(args || []));
};
开发者ID:cylof22,项目名称:monorepo,代码行数:12,代码来源:misc.ts

示例2: beforeEach

 beforeEach(async () => {
   const contractFactory = new ethers.ContractFactory(
     appInstance.abi,
     await appInstance.generateLinkedBytecode(networkID),
     unlockedAccount
   );
   stateChannel = await contractFactory.deploy(
     accounts[0],
     [A.address, B.address],
     ethers.constants.HashZero,
     ethers.constants.HashZero,
     10
   );
 });
开发者ID:cylof22,项目名称:monorepo,代码行数:14,代码来源:appInstance.spec.ts

示例3: deploy

  /**
   * Deploy new instance of contract
   * @param wallet Wallet (with provider) to use for contract calls
   * @param args Optional arguments to pass to contract constructor
   * @returns New contract instance
   */
  public async deploy(wallet: ethers.Wallet, args?: any[]): Promise<Contract> {
    if (!wallet.provider) {
      throw new Error("Signer requires provider");
    }

    const networkId = (await wallet.provider.getNetwork()).chainId;
    const bytecode = (await this.links)
      ? await this.generateLinkedBytecode(networkId)
      : this.bytecode;
    const contractFactory = new ethers.ContractFactory(
      this.abi,
      bytecode,
      wallet
    );
    return contractFactory.deploy(...(args || []));
  }
开发者ID:cylof22,项目名称:monorepo,代码行数:22,代码来源:contract.ts

示例4: beforeEach

  beforeEach(async () => {
    const networkID = await AbstractContract.getNetworkID(unlockedAccount);
    const staticCall = AbstractContract.fromArtifactName("StaticCall");
    const signatures = AbstractContract.fromArtifactName("Signatures");
    const transfer = AbstractContract.fromArtifactName("Transfer");
    const appInstance = await AbstractContract.fromArtifactName("AppInstance", {
      Signatures: signatures,
      StaticCall: staticCall,
      Transfer: transfer
    });
    const countingApp = await AbstractContract.fromArtifactName("CountingApp", {
      StaticCall: staticCall
    });

    game = await countingApp.deploy(unlockedAccount);

    app = {
      addr: game.address,
      resolve: game.interface.functions.resolve.sighash,
      applyAction: game.interface.functions.applyAction.sighash,
      getTurnTaker: game.interface.functions.getTurnTaker.sighash,
      isStateTerminal: game.interface.functions.isStateTerminal.sighash
    };

    terms = {
      assetType: AssetType.ETH,
      limit: Utils.UNIT_ETH.mul(2),
      token: ethers.constants.AddressZero
    };

    const contractFactory = new ethers.ContractFactory(
      appInstance.abi,
      await appInstance.generateLinkedBytecode(networkID),
      unlockedAccount
    );

    stateChannel = await contractFactory.deploy(
      accounts[0],
      [A.address, B.address],
      keccak256(encode(appEncoding, app)),
      keccak256(encode(termsEncoding, terms)),
      10
    );
  });
开发者ID:cylof22,项目名称:monorepo,代码行数:44,代码来源:countingGame.spec.ts

示例5: beforeEach

  beforeEach(async () => {
    const paymentApp = await AbstractContract.fromArtifactName("PaymentApp");
    pc = await paymentApp.deploy(unlockedAccount);

    // Specifically for the AppInstance
    const appInstance = artifacts.require("AppInstance");
    const staticCall = artifacts.require("StaticCall");
    const signatures = artifacts.require("Signatures");
    const transfer = artifacts.require("Transfer");
    appInstance.link("Signatures", signatures.address);
    appInstance.link("StaticCall", staticCall.address);
    appInstance.link("Transfer", transfer.address);

    app = {
      addr: pc.address,
      resolve: pc.interface.functions.resolve.sighash,
      applyAction: "0x00000000",
      getTurnTaker: "0x00000000",
      isStateTerminal: "0x00000000"
    };

    terms = {
      assetType: AssetType.ETH,
      limit: Utils.UNIT_ETH.mul(2),
      token: ethers.constants.AddressZero
    };

    const contractFactory = new ethers.ContractFactory(
      appInstance.abi,
      appInstance.binary,
      unlockedAccount
    );

    testAppInstance = await contractFactory.deploy(
      accounts[0],
      [A.address, B.address],
      keccak256(encode(appEncoding, app)),
      keccak256(encode(termsEncoding, terms)),
      10
    );
  });
开发者ID:cylof22,项目名称:monorepo,代码行数:41,代码来源:twoPartyPayments.spec.ts


注:本文中的ethers.ethers.ContractFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。