|
|
@ -29,7 +29,13 @@ import ( |
|
|
|
|
|
|
|
|
|
|
|
// WaitMined waits for tx to be mined on the blockchain.
|
|
|
|
// WaitMined waits for tx to be mined on the blockchain.
|
|
|
|
// It stops waiting when the context is canceled.
|
|
|
|
// It stops waiting when the context is canceled.
|
|
|
|
func WaitMined(ctx context.Context, b DeployBackend, hash common.Hash) (*types.Receipt, error) { |
|
|
|
func WaitMined(ctx context.Context, b DeployBackend, tx *types.Transaction) (*types.Receipt, error) { |
|
|
|
|
|
|
|
return WaitMinedHash(ctx, b, tx.Hash()) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// WaitMinedHash waits for a transaction with the provided hash to be mined on the blockchain.
|
|
|
|
|
|
|
|
// It stops waiting when the context is canceled.
|
|
|
|
|
|
|
|
func WaitMinedHash(ctx context.Context, b DeployBackend, hash common.Hash) (*types.Receipt, error) { |
|
|
|
queryTicker := time.NewTicker(time.Second) |
|
|
|
queryTicker := time.NewTicker(time.Second) |
|
|
|
defer queryTicker.Stop() |
|
|
|
defer queryTicker.Stop() |
|
|
|
|
|
|
|
|
|
|
@ -61,7 +67,13 @@ func WaitDeployed(ctx context.Context, b DeployBackend, tx *types.Transaction) ( |
|
|
|
if tx.To() != nil { |
|
|
|
if tx.To() != nil { |
|
|
|
return common.Address{}, errors.New("tx is not contract creation") |
|
|
|
return common.Address{}, errors.New("tx is not contract creation") |
|
|
|
} |
|
|
|
} |
|
|
|
receipt, err := WaitMined(ctx, b, tx.Hash()) |
|
|
|
return WaitDeployedHash(ctx, b, tx.Hash()) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// WaitDeployedHash waits for a contract deployment transaction with the provided hash and returns the on-chain
|
|
|
|
|
|
|
|
// contract address when it is mined. It stops waiting when ctx is canceled.
|
|
|
|
|
|
|
|
func WaitDeployedHash(ctx context.Context, b DeployBackend, hash common.Hash) (common.Address, error) { |
|
|
|
|
|
|
|
receipt, err := WaitMinedHash(ctx, b, hash) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
return common.Address{}, err |
|
|
|
return common.Address{}, err |
|
|
|
} |
|
|
|
} |
|
|
|