當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。