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


TypeScript utils.AbiDecoder类代码示例

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


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

示例1: Error

 protected _tryToDecodeLogOrNoop<ArgsType extends ContractEventArgs>(
     log: LogEntry,
 ): LogWithDecodedArgs<ArgsType> | RawLog {
     if (_.isUndefined(this._abiDecoder)) {
         throw new Error(InternalZeroExError.NoAbiDecoder);
     }
     const logWithDecodedArgs = this._abiDecoder.tryToDecodeLogOrNoop(log);
     return logWithDecodedArgs;
 }
开发者ID:ewingrj,项目名称:0x-monorepo,代码行数:9,代码来源:contract_wrapper.ts

示例2: before

            before('deploy a walet', async () => {
                const multiSigInstance = await deployer.deployAsync(ContractName.MultiSigWalletWithTimeLock, [
                    owners,
                    SIGNATURES_REQUIRED,
                    SECONDS_TIME_LOCKED,
                ]);
                multiSig = new MultiSigWalletWithTimeLockContract(
                    web3Wrapper,
                    multiSigInstance.abi,
                    multiSigInstance.address,
                );
                multiSigWrapper = new MultiSigWrapper((multiSig as any) as MultiSigWalletContract);

                const secondsTimeLocked = await multiSig.secondsTimeLocked.callAsync();
                initialSecondsTimeLocked = secondsTimeLocked.toNumber();
                const destination = multiSig.address;
                const from = owners[0];
                const dataParams = {
                    name: 'changeTimeLock',
                    abi: MULTI_SIG_ABI,
                    args: [newSecondsTimeLocked],
                };
                let txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
                const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
                const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
                    SubmissionContractEventArgs
                >;
                txId = log.args.transactionId;
                txHash = await multiSig.confirmTransaction.sendTransactionAsync(txId, {
                    from: owners[1],
                });
                const confRes = await zeroEx.awaitTransactionMinedAsync(txHash);
                expect(confRes.logs).to.have.length(2);
            });
开发者ID:ewingrj,项目名称:0x-monorepo,代码行数:34,代码来源:multi_sig_with_time_lock.ts

示例3: it

            it('should set confirmation time with enough confirmations', async () => {
                const destination = multiSig.address;
                const from = owners[0];
                const dataParams = {
                    name: 'changeTimeLock',
                    abi: MULTI_SIG_ABI,
                    args: [SECONDS_TIME_LOCKED.toNumber()],
                };
                let txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
                const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
                const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
                    SubmissionContractEventArgs
                >;

                txId = log.args.transactionId;
                txHash = await multiSig.confirmTransaction.sendTransactionAsync(txId, { from: owners[1] });
                const res = await zeroEx.awaitTransactionMinedAsync(txHash);
                expect(res.logs).to.have.length(2);

                const blockNum = await web3Wrapper.getBlockNumberAsync();
                const blockInfo = await web3Wrapper.getBlockAsync(blockNum);
                const timestamp = new BigNumber(blockInfo.timestamp);
                const confirmationTimeBigNum = new BigNumber(await multiSig.confirmationTimes.callAsync(txId));

                expect(timestamp).to.be.bignumber.equal(confirmationTimeBigNum);
            });
开发者ID:ewingrj,项目名称:0x-monorepo,代码行数:26,代码来源:multi_sig_with_time_lock.ts

示例4: expect

        it('should throw without the required confirmations', async () => {
            const dataParams: TransactionDataParams = {
                name: 'removeAuthorizedAddress',
                abi: PROXY_ABI,
                args: [authorizedAddress],
            };
            const txHash = await multiSigWrapper.submitTransactionAsync(validDestination, owners[0], dataParams);
            const res = await zeroEx.awaitTransactionMinedAsync(txHash);
            const log = abiDecoder.tryToDecodeLogOrNoop(res.logs[0]) as LogWithDecodedArgs<SubmissionContractEventArgs>;
            const txId = log.args.transactionId;

            return expect(
                multiSig.executeRemoveAuthorizedAddress.sendTransactionAsync(txId, { from: owners[1] }),
            ).to.be.rejectedWith(constants.REVERT);
        });
开发者ID:ewingrj,项目名称:0x-monorepo,代码行数:15,代码来源:multi_sig_with_time_lock_except_remove_auth_addr.ts

示例5: it

 it('should execute removeAuthorizedAddress for valid tokenTransferProxy if fully confirmed', async () => {
     const dataParams: TransactionDataParams = {
         name: 'removeAuthorizedAddress',
         abi: PROXY_ABI,
         args: [authorizedAddress],
     };
     const txHash = await multiSigWrapper.submitTransactionAsync(validDestination, owners[0], dataParams);
     const res = await zeroEx.awaitTransactionMinedAsync(txHash);
     const log = abiDecoder.tryToDecodeLogOrNoop(res.logs[0]) as LogWithDecodedArgs<SubmissionContractEventArgs>;
     const txId = log.args.transactionId;
     await multiSig.confirmTransaction.sendTransactionAsync(txId, { from: owners[1] });
     const isConfirmed = await multiSig.isConfirmed.callAsync(txId);
     expect(isConfirmed).to.be.true();
     await multiSig.executeRemoveAuthorizedAddress.sendTransactionAsync(txId, { from: owners[1] });
     const isAuthorized = await tokenTransferProxy.authorized.callAsync(authorizedAddress);
     expect(isAuthorized).to.be.false();
 });
开发者ID:ewingrj,项目名称:0x-monorepo,代码行数:17,代码来源:multi_sig_with_time_lock_except_remove_auth_addr.ts

示例6: expect

            it('should throw without enough confirmations', async () => {
                const destination = multiSig.address;
                const from = owners[0];
                const dataParams = {
                    name: 'changeTimeLock',
                    abi: MULTI_SIG_ABI,
                    args: [SECONDS_TIME_LOCKED.toNumber()],
                };
                const txHash = await multiSigWrapper.submitTransactionAsync(destination, from, dataParams);
                const subRes = await zeroEx.awaitTransactionMinedAsync(txHash);
                const log = abiDecoder.tryToDecodeLogOrNoop(subRes.logs[0]) as LogWithDecodedArgs<
                    SubmissionContractEventArgs
                >;

                txId = log.args.transactionId;
                return expect(
                    multiSig.executeTransaction.sendTransactionAsync(txId, { from: owners[0] }),
                ).to.be.rejectedWith(constants.REVERT);
            });
开发者ID:ewingrj,项目名称:0x-monorepo,代码行数:19,代码来源:multi_sig_with_time_lock.ts


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