Skip to content

Commit 9846650

Browse files
committed
Add WaitForTrace to SendMessages op
1 parent bf507d7 commit 9846650

File tree

7 files changed

+20
-17
lines changed

7 files changed

+20
-17
lines changed

deployment/ccip/1_6_0/sequences/fastcurse.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ func (a *TonAdapter) Curse() *cldf_ops.Sequence[api.CurseInput, sequences.OnChai
290290
// TOOD: improve deps passing
291291
opdeps := ton.SendMessagesDeps{
292292
Wallet: chain.Wallet,
293+
Client: chain.Client,
293294
}
294295

295296
r, err := cldf_ops.ExecuteOperation(b, ton.SendMessages, opdeps, _in)
@@ -385,6 +386,7 @@ func (a *TonAdapter) Uncurse() *cldf_ops.Sequence[api.CurseInput, sequences.OnCh
385386
// TOOD: improve deps passing
386387
opdeps := ton.SendMessagesDeps{
387388
Wallet: chain.Wallet,
389+
Client: chain.Client,
388390
}
389391

390392
r, err := cldf_ops.ExecuteOperation(b, ton.SendMessages, opdeps, _in)

deployment/ccip/helpers/execute.go

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import (
99
"github.com/xssnick/tonutils-go/ton"
1010
"github.com/xssnick/tonutils-go/ton/wallet"
1111

12-
"github.com/smartcontractkit/chainlink-ton/pkg/ton/tvm"
13-
1412
"github.com/smartcontractkit/chainlink-ton/pkg/ton/tracetracking"
1513
)
1614

@@ -19,7 +17,7 @@ func ExecuteProposals(env cldf.Environment, client ton.APIClientWrapped, sender
1917
return ExecuteTransactions(env.GetContext(), env.Logger, client, sender, txs)
2018
}
2119

22-
func ExecuteTransactions(context context.Context, logger logger.Logger, client ton.APIClientWrapped, sender *wallet.Wallet, txs *Transactions) error {
20+
func ExecuteTransactions(ctx context.Context, logger logger.Logger, client ton.APIClientWrapped, sender *wallet.Wallet, txs *Transactions) error {
2321
if txs == nil || txs.IsEmpty() {
2422
// nothing to execute
2523
return nil
@@ -38,23 +36,11 @@ func ExecuteTransactions(context context.Context, logger logger.Logger, client t
3836
}
3937

4038
logger.Infow("Sending msgs", "msgs", msgs)
41-
tx, blockID, err := sender.SendManyWaitTransaction(context, msgs)
39+
tx, blockID, err := sender.SendManyWaitTransaction(ctx, msgs)
4240
logger.Infow("transaction sent", "blockID", blockID, "tx", tx)
4341
if err != nil {
4442
return fmt.Errorf("failed to send lane updates: %w", err)
4543
}
46-
msg, err := tracetracking.MapToReceivedMessage(tx)
47-
if err != nil {
48-
return fmt.Errorf("failed to map tx to ReceivedMessage: %w", err)
49-
}
50-
err = msg.WaitForTrace(context, client)
51-
if err != nil {
52-
return fmt.Errorf("failed to wait for trace: %w", err)
53-
}
54-
55-
if code := msg.OutcomeExitCode(); code != tvm.ExitCodeSuccess {
56-
return fmt.Errorf("transaction failed with exit code: %d", code)
57-
}
5844

59-
return nil
45+
return tracetracking.WaitForTrace(ctx, client, tx)
6046
}

deployment/ccip/operation/fee_quoter.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ type UpdateFeeQuoterDestChainConfigsInput []feequoter.UpdateDestChainConfig
2323
type UpdateFeeQuoterDestChainConfigsOutput struct {
2424
}
2525

26+
// TODO: refactor out next
2627
var UpdateFeeQuoterDestChainConfigsOp = operations.NewOperation(
2728
"update-fee-quoter-dest-chain-configs",
2829
semver.MustParse("0.1.0"),

deployment/pkg/changesets/ops_sequence.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ func (cs opsAnySequence) Apply(env cldf.Environment, in opsmcms.TimelockAnySeque
6666
deps["chain"] = chain
6767
deps[opston.SendMessages.Def().ID] = opston.SendMessagesDeps{
6868
Wallet: chain.Wallet,
69+
Client: chain.Client,
6970
}
7071

7172
// Resolve (operation) input values

deployment/pkg/ops/lib/versioning/upgradeable/upgrade.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ func (o UpgradeOutput) GetTransaction() *ton.TransactionInfo {
5252
type UpgradeDeps struct {
5353
ContractProvider ton.ContractCodeProvider
5454
Wallet *wallet.Wallet
55+
Client ton.APIClientWrapped
5556
}
5657

5758
var Upgrade = operations.NewOperation(
@@ -94,6 +95,7 @@ var Upgrade = operations.NewOperation(
9495
// TOOD: improve deps passing
9596
opdeps := ton.SendMessagesDeps{
9697
Wallet: deps.Wallet,
98+
Client: deps.Client,
9799
}
98100

99101
r, err := operations.ExecuteOperation(b, ton.SendMessages, opdeps, _in)

deployment/pkg/ops/ton/deploy.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
"github.com/Masterminds/semver/v3"
88
"github.com/xssnick/tonutils-go/tlb"
9+
"github.com/xssnick/tonutils-go/ton"
910
"github.com/xssnick/tonutils-go/ton/wallet"
1011
"github.com/xssnick/tonutils-go/tvm/cell"
1112

@@ -53,6 +54,7 @@ func (o DeployOutput) GetTransaction() *TransactionInfo {
5354
type DeployDeps struct {
5455
ContractProvider ContractCodeProvider
5556
Wallet *wallet.Wallet
57+
Client ton.APIClientWrapped
5658
}
5759

5860
var Deploy = operations.NewOperation(
@@ -106,6 +108,7 @@ var Deploy = operations.NewOperation(
106108
// TOOD: improve deps passing
107109
opdeps := SendMessagesDeps{
108110
Wallet: deps.Wallet,
111+
Client: deps.Client,
109112
}
110113

111114
r, err := operations.ExecuteOperation(b, SendMessages, opdeps, _in)

deployment/pkg/ops/ton/send.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import (
77
"github.com/Masterminds/semver/v3"
88

99
"github.com/smartcontractkit/chainlink-deployments-framework/operations"
10+
"github.com/smartcontractkit/chainlink-ton/pkg/ton/tracetracking"
1011

1112
"github.com/xssnick/tonutils-go/address"
1213
"github.com/xssnick/tonutils-go/tlb"
14+
"github.com/xssnick/tonutils-go/ton"
1315
"github.com/xssnick/tonutils-go/ton/wallet"
1416
)
1517

@@ -45,6 +47,7 @@ func (o SendMessagesOutput) GetTransaction() *TransactionInfo {
4547

4648
type SendMessagesDeps struct {
4749
Wallet *wallet.Wallet
50+
Client ton.APIClientWrapped
4851
}
4952

5053
type ProviderDeps struct {
@@ -120,6 +123,11 @@ var SendMessages = operations.NewOperation(
120123
return SendMessagesOutput{}, fmt.Errorf("failed to send transaction: %w", err)
121124
}
122125

126+
err = tracetracking.WaitForTrace(ctx, deps.Client, tx)
127+
if err != nil {
128+
return SendMessagesOutput{}, fmt.Errorf("failed to wait for trace: %w", err)
129+
}
130+
123131
return SendMessagesOutput{
124132
Plans: plans,
125133
Transaction: &TransactionInfo{

0 commit comments

Comments
 (0)