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