diff --git a/clients/horizonclient/examples_test.go b/clients/horizonclient/examples_test.go index 146bba681e..51387dc648 100644 --- a/clients/horizonclient/examples_test.go +++ b/clients/horizonclient/examples_test.go @@ -1100,7 +1100,7 @@ func ExampleClient_SubmitFeeBumpTransaction() { IncrementSequenceNum: false, Operations: []txnbuild.Operation{&op}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), // Use a real timeout in production! }, ) if err != nil { @@ -1154,7 +1154,7 @@ func ExampleClient_SubmitFeeBumpTransactionWithOptions() { IncrementSequenceNum: false, Operations: []txnbuild.Operation{&op}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), // Use a real timeout in production! }, ) if err != nil { @@ -1211,7 +1211,7 @@ func ExampleClient_SubmitTransaction() { IncrementSequenceNum: false, Operations: []txnbuild.Operation{&op}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), // Use a real timeout in production! }, ) if err != nil { @@ -1253,7 +1253,7 @@ func ExampleClient_SubmitTransactionWithOptions() { IncrementSequenceNum: false, Operations: []txnbuild.Operation{&op}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), // Use a real timeout in production! }, ) if err != nil { @@ -1295,7 +1295,7 @@ func ExampleClient_SubmitTransactionWithOptions_skip_memo_required_check() { IncrementSequenceNum: false, Operations: []txnbuild.Operation{&op}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), // Use a real timeout in production! }, ) if err != nil { diff --git a/clients/horizonclient/main_test.go b/clients/horizonclient/main_test.go index 9bd0d6f5ea..2c686147a7 100644 --- a/clients/horizonclient/main_test.go +++ b/clients/horizonclient/main_test.go @@ -146,7 +146,7 @@ func TestCheckMemoRequired(t *testing.T) { IncrementSequenceNum: true, Operations: tc.operations, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) tt.NoError(err) @@ -878,7 +878,7 @@ func TestSubmitTransactionRequest(t *testing.T) { IncrementSequenceNum: true, Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) @@ -946,7 +946,7 @@ func TestSubmitTransactionRequestMuxedAccounts(t *testing.T) { IncrementSequenceNum: true, Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) @@ -1006,7 +1006,7 @@ func TestSubmitFeeBumpTransaction(t *testing.T) { IncrementSequenceNum: true, Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) @@ -1075,7 +1075,7 @@ func TestSubmitTransactionWithOptionsRequest(t *testing.T) { IncrementSequenceNum: true, Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) @@ -1168,7 +1168,7 @@ func TestSubmitTransactionWithOptionsRequest(t *testing.T) { Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, Memo: txnbuild.MemoText("HelloWorld"), - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) @@ -1202,7 +1202,7 @@ func TestSubmitFeeBumpTransactionWithOptions(t *testing.T) { IncrementSequenceNum: true, Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) @@ -1293,7 +1293,7 @@ func TestSubmitFeeBumpTransactionWithOptions(t *testing.T) { Operations: []txnbuild.Operation{&payment}, BaseFee: txnbuild.MinBaseFee, Memo: txnbuild.MemoText("HelloWorld"), - Timebounds: txnbuild.NewTimebounds(0, 10), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 10)), }, ) assert.NoError(t, err) diff --git a/exp/services/recoverysigner/internal/serve/account_sign_signing_address_test.go b/exp/services/recoverysigner/internal/serve/account_sign_signing_address_test.go index 7246653230..65bd31e84d 100644 --- a/exp/services/recoverysigner/internal/serve/account_sign_signing_address_test.go +++ b/exp/services/recoverysigner/internal/serve/account_sign_signing_address_test.go @@ -349,8 +349,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedButSigningAddressInvalid( }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -411,8 +411,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedOtherSignerSelected(t *te }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -477,8 +477,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedTxSourceAccountValid(t *t }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -544,8 +544,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedTxAndOpSourceAccountValid }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -610,8 +610,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedTxSourceAccountInvalid(t }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -673,8 +673,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedOpSourceAccountInvalid(t }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -737,8 +737,8 @@ func TestAccountSign_signingAddressAccountAuthenticatedTxAndOpSourceAccountInval }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -806,8 +806,8 @@ func TestAccountSign_signingAddressPhoneNumberOwnerAuthenticated(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -878,8 +878,8 @@ func TestAccountSign_signingAddressPhoneNumberOtherAuthenticated(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -950,8 +950,8 @@ func TestAccountSign_signingAddressEmailOwnerAuthenticated(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -1031,8 +1031,8 @@ func TestAccountSign_signingAddressEmailOwnerAuthenticatedOpSourceAccountIsAllow }, &txnbuild.EndSponsoringFutureReserves{}, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -1108,8 +1108,8 @@ func TestAccountSign_signingAddressEmailOwnerAuthenticatedOpSourceAccountInvalid }, &txnbuild.EndSponsoringFutureReserves{}, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -1175,8 +1175,8 @@ func TestAccountSign_signingAddressEmailOtherAuthenticated(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -1281,8 +1281,8 @@ func TestAccountSign_signingAddressRejectsFeeBumpTx(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) @@ -1351,8 +1351,8 @@ func TestAccountSign_signingAddressValidContentTypeForm(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimebounds(0, 1), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimebounds(0, 1)), }, ) require.NoError(t, err) diff --git a/exp/services/webauth/internal/serve/token_test.go b/exp/services/webauth/internal/serve/token_test.go index ceb1c1e771..2134f14752 100644 --- a/exp/services/webauth/internal/serve/token_test.go +++ b/exp/services/webauth/internal/serve/token_test.go @@ -1136,9 +1136,9 @@ func TestToken_jsonInputNoWebAuthDomainSuccess(t *testing.T) { Value: []byte("ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg"), }, }, - BaseFee: txnbuild.MinBaseFee, - Memo: nil, - Timebounds: txnbuild.NewTimebounds(txMinTimebounds, txMaxTimebounds), + BaseFee: txnbuild.MinBaseFee, + Memo: nil, + Preconditions: txnbuild.NewPreconditionsWithTimebounds(txMinTimebounds, txMaxTimebounds), }, ) require.NoError(t, err) diff --git a/services/friendbot/init_friendbot.go b/services/friendbot/init_friendbot.go index ec8d1051cc..27ee56d6fc 100644 --- a/services/friendbot/init_friendbot.go +++ b/services/friendbot/init_friendbot.go @@ -120,7 +120,7 @@ func createMinionAccounts(botAccount internal.Account, botKeypair *keypair.Full, IncrementSequenceNum: true, Operations: ops, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { diff --git a/services/friendbot/internal/minion.go b/services/friendbot/internal/minion.go index 826826728e..707815c1fe 100644 --- a/services/friendbot/internal/minion.go +++ b/services/friendbot/internal/minion.go @@ -117,7 +117,7 @@ func (minion *Minion) makeTx(destAddress string) (string, error) { IncrementSequenceNum: true, Operations: []txnbuild.Operation{&createAccountOp}, BaseFee: minion.BaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) if err != nil { diff --git a/services/horizon/internal/integration/negative_seq_txsub_test.go b/services/horizon/internal/integration/negative_seq_txsub_test.go index 0abf2c7bcb..63a6c3ec20 100644 --- a/services/horizon/internal/integration/negative_seq_txsub_test.go +++ b/services/horizon/internal/integration/negative_seq_txsub_test.go @@ -55,7 +55,7 @@ func TestNegativeSequenceTxSubmission(t *testing.T) { SourceAccount: account, Operations: []txnbuild.Operation{&op2}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), IncrementSequenceNum: false, } tx, err := txnbuild.NewTransaction(txParams) diff --git a/services/horizon/internal/integration/sponsorship_test.go b/services/horizon/internal/integration/sponsorship_test.go index 74a21dd385..c1675a0ead 100644 --- a/services/horizon/internal/integration/sponsorship_test.go +++ b/services/horizon/internal/integration/sponsorship_test.go @@ -311,7 +311,7 @@ func TestSponsorships(t *testing.T) { SourceAccount: newAccount, Operations: []txnbuild.Operation{preAuthOp}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), IncrementSequenceNum: true, } preaAuthTx, err := txnbuild.NewTransaction(txParams) diff --git a/services/horizon/internal/test/integration/integration.go b/services/horizon/internal/test/integration/integration.go index bd7de611a9..60d11dae4f 100644 --- a/services/horizon/internal/test/integration/integration.go +++ b/services/horizon/internal/test/integration/integration.go @@ -694,7 +694,7 @@ func (i *Test) CreateSignedTransaction( SourceAccount: source, Operations: ops, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), IncrementSequenceNum: true, } diff --git a/services/regulated-assets-approval-server/internal/configureissuer/configureissuer.go b/services/regulated-assets-approval-server/internal/configureissuer/configureissuer.go index 611c92448d..acbe665f1e 100644 --- a/services/regulated-assets-approval-server/internal/configureissuer/configureissuer.go +++ b/services/regulated-assets-approval-server/internal/configureissuer/configureissuer.go @@ -119,8 +119,8 @@ func setup(opts Options, hClient horizonclient.ClientInterface) error { SourceAccount: trustorKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) if err != nil { return errors.Wrap(err, "building transaction") diff --git a/services/regulated-assets-approval-server/internal/serve/api_tx_approve_test.go b/services/regulated-assets-approval-server/internal/serve/api_tx_approve_test.go index bdba6a9825..7e4cee2041 100644 --- a/services/regulated-assets-approval-server/internal/serve/api_tx_approve_test.go +++ b/services/regulated-assets-approval-server/internal/serve/api_tx_approve_test.go @@ -114,8 +114,8 @@ func TestAPI_txApprove_revised(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -234,8 +234,8 @@ func TestAPI_txAprove_actionRequired(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -327,8 +327,8 @@ func TestAPI_txAprove_actionRequiredFlow(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -538,8 +538,8 @@ func TestAPI_txApprove_success(t *testing.T) { SourceAccount: issuerKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) txe, err := tx.Base64() diff --git a/services/regulated-assets-approval-server/internal/serve/friendbot.go b/services/regulated-assets-approval-server/internal/serve/friendbot.go index 6da2936461..8f3ccdfeb0 100644 --- a/services/regulated-assets-approval-server/internal/serve/friendbot.go +++ b/services/regulated-assets-approval-server/internal/serve/friendbot.go @@ -157,8 +157,8 @@ func (h friendbotHandler) topUpAccountWithRegulatedAsset(ctx context.Context, in Authorize: false, }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) if err != nil { err = errors.Wrap(err, "building transaction") diff --git a/services/regulated-assets-approval-server/internal/serve/tx_approve.go b/services/regulated-assets-approval-server/internal/serve/tx_approve.go index 47b82ae83c..121e008a84 100644 --- a/services/regulated-assets-approval-server/internal/serve/tx_approve.go +++ b/services/regulated-assets-approval-server/internal/serve/tx_approve.go @@ -231,7 +231,7 @@ func (h txApproveHandler) txApprove(ctx context.Context, in txApproveRequest) (r IncrementSequenceNum: true, Operations: revisedOperations, BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) if err != nil { return nil, errors.Wrap(err, "building transaction") diff --git a/services/regulated-assets-approval-server/internal/serve/tx_approve_test.go b/services/regulated-assets-approval-server/internal/serve/tx_approve_test.go index 1b8a19aa94..53b4dd57e1 100644 --- a/services/regulated-assets-approval-server/internal/serve/tx_approve_test.go +++ b/services/regulated-assets-approval-server/internal/serve/tx_approve_test.go @@ -143,7 +143,7 @@ func TestTxApproveHandler_validateInput(t *testing.T) { Sequence: "1", }, IncrementSequenceNum: true, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), BaseFee: 300, Operations: []txnbuild.Operation{ &txnbuild.Payment{ @@ -169,7 +169,7 @@ func TestTxApproveHandler_validateInput(t *testing.T) { Sequence: "1", }, IncrementSequenceNum: true, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), BaseFee: 300, Operations: []txnbuild.Operation{ &txnbuild.BumpSequence{}, @@ -197,7 +197,7 @@ func TestTxApproveHandler_validateInput(t *testing.T) { Sequence: "1", }, IncrementSequenceNum: true, - Timebounds: txnbuild.NewInfiniteTimeout(), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), BaseFee: 300, Operations: []txnbuild.Operation{ &txnbuild.Payment{ @@ -371,8 +371,8 @@ func TestTxApproveHandler_txApprove_rejected(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -394,8 +394,8 @@ func TestTxApproveHandler_txApprove_rejected(t *testing.T) { Operations: []txnbuild.Operation{ &txnbuild.BumpSequence{}, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -424,8 +424,8 @@ func TestTxApproveHandler_txApprove_rejected(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -454,8 +454,8 @@ func TestTxApproveHandler_txApprove_rejected(t *testing.T) { }, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -481,8 +481,8 @@ func TestTxApproveHandler_txApprove_rejected(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -568,8 +568,8 @@ func TestTxApproveHandler_txApprove_success(t *testing.T) { SourceAccount: issuerKP.Address(), }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -630,8 +630,8 @@ func TestTxApproveHandler_txApprove_actionRequired(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -706,8 +706,8 @@ func TestTxApproveHandler_txApprove_revised(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewInfiniteTimeout(), + BaseFee: txnbuild.MinBaseFee, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -784,8 +784,8 @@ func TestValidateTransactionOperationsForSuccess(t *testing.T) { Asset: assetGOAT, }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -808,8 +808,8 @@ func TestValidateTransactionOperationsForSuccess(t *testing.T) { &txnbuild.BumpSequence{}, &txnbuild.BumpSequence{}, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -837,8 +837,8 @@ func TestValidateTransactionOperationsForSuccess(t *testing.T) { &txnbuild.BumpSequence{}, &txnbuild.BumpSequence{}, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -886,8 +886,8 @@ func TestValidateTransactionOperationsForSuccess(t *testing.T) { SourceAccount: issuerKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -935,8 +935,8 @@ func TestValidateTransactionOperationsForSuccess(t *testing.T) { SourceAccount: issuerKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -1001,8 +1001,8 @@ func TestTxApproveHandler_handleSuccessResponseIfNeeded_revisable(t *testing.T) Asset: assetGOAT, }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -1065,8 +1065,8 @@ func TestTxApproveHandler_handleSuccessResponseIfNeeded_rejected(t *testing.T) { &txnbuild.BumpSequence{}, &txnbuild.BumpSequence{}, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -1113,8 +1113,8 @@ func TestTxApproveHandler_handleSuccessResponseIfNeeded_rejected(t *testing.T) { SourceAccount: issuerKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -1163,7 +1163,7 @@ func TestTxApproveHandler_handleSuccessResponseIfNeeded_rejected(t *testing.T) { IncrementSequenceNum: true, Operations: compliantOps, BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -1246,8 +1246,8 @@ func TestTxApproveHandler_handleSuccessResponseIfNeeded_actionRequired(t *testin SourceAccount: issuerKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) @@ -1385,8 +1385,8 @@ func TestTxApproveHandler_handleSuccessResponseIfNeeded_success(t *testing.T) { SourceAccount: issuerKP.Address(), }, }, - BaseFee: 300, - Timebounds: txnbuild.NewTimeout(300), + BaseFee: 300, + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }) require.NoError(t, err) diff --git a/txnbuild/account_merge_test.go b/txnbuild/account_merge_test.go index 72cf9027ce..7c75928726 100644 --- a/txnbuild/account_merge_test.go +++ b/txnbuild/account_merge_test.go @@ -18,7 +18,7 @@ func TestAccountMergeValidate(t *testing.T) { TransactionParams{ SourceAccount: &sourceAccount, Operations: []Operation{&accountMerge}, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, }, ) diff --git a/txnbuild/allow_trust_test.go b/txnbuild/allow_trust_test.go index 607e58a81b..77901557b1 100644 --- a/txnbuild/allow_trust_test.go +++ b/txnbuild/allow_trust_test.go @@ -22,7 +22,7 @@ func TestAllowTrustValidateAsset(t *testing.T) { TransactionParams{ SourceAccount: &sourceAccount, Operations: []Operation{&allowTrust}, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, }, ) @@ -48,7 +48,7 @@ func TestAllowTrustValidateTrustor(t *testing.T) { TransactionParams{ SourceAccount: &sourceAccount, Operations: []Operation{&allowTrust}, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, }, ) diff --git a/txnbuild/bump_sequence_test.go b/txnbuild/bump_sequence_test.go index 067cdd0b8f..24dfa85f59 100644 --- a/txnbuild/bump_sequence_test.go +++ b/txnbuild/bump_sequence_test.go @@ -18,7 +18,7 @@ func TestBumpSequenceValidate(t *testing.T) { TransactionParams{ SourceAccount: &sourceAccount, Operations: []Operation{&bumpSequence}, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, }, ) diff --git a/txnbuild/change_trust_test.go b/txnbuild/change_trust_test.go index 9ba0c38ec4..23f4ace36f 100644 --- a/txnbuild/change_trust_test.go +++ b/txnbuild/change_trust_test.go @@ -21,7 +21,7 @@ func TestChangeTrustMaxLimit(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&changeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -46,7 +46,7 @@ func TestChangeTrustValidateInvalidAsset(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&changeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -70,7 +70,7 @@ func TestChangeTrustValidateInvalidLimit(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&changeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/clawback_test.go b/txnbuild/clawback_test.go index dab757c5a3..e9c558b9cb 100644 --- a/txnbuild/clawback_test.go +++ b/txnbuild/clawback_test.go @@ -22,7 +22,7 @@ func TestClawbackValidateFrom(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&clawback}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -47,7 +47,7 @@ func TestClawbackValidateAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&clawback}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -72,7 +72,7 @@ func TestClawbackValidateAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&clawback}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/cmd/demo/operations/demo.go b/txnbuild/cmd/demo/operations/demo.go index 9621773603..0450a6b096 100644 --- a/txnbuild/cmd/demo/operations/demo.go +++ b/txnbuild/cmd/demo/operations/demo.go @@ -215,7 +215,7 @@ func bumpSequence(source *hProtocol.Account, seqNum int64, signer Account) (stri IncrementSequenceNum: true, Operations: []txnbuild.Operation{&bumpSequenceOp}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { @@ -245,7 +245,7 @@ func createAccount(source *hProtocol.Account, dest string, signer Account) (stri IncrementSequenceNum: true, Operations: []txnbuild.Operation{&createAccountOp}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { @@ -274,7 +274,7 @@ func deleteData(source *hProtocol.Account, dataKey string, signer Account) (stri IncrementSequenceNum: true, Operations: []txnbuild.Operation{&manageDataOp}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { @@ -305,7 +305,7 @@ func payment(source *hProtocol.Account, dest, amount string, asset txnbuild.Asse IncrementSequenceNum: true, Operations: []txnbuild.Operation{&paymentOp}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { @@ -332,7 +332,7 @@ func deleteTrustline(source *hProtocol.Account, asset txnbuild.ChangeTrustAsset, IncrementSequenceNum: true, Operations: []txnbuild.Operation{&deleteTrustline}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { @@ -362,7 +362,7 @@ func deleteOffer(source *hProtocol.Account, offerID int64, signer Account) (stri IncrementSequenceNum: true, Operations: []txnbuild.Operation{&deleteOffer}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { @@ -391,7 +391,7 @@ func mergeAccount(source *hProtocol.Account, destAddress string, signer Account) IncrementSequenceNum: true, Operations: []txnbuild.Operation{&accountMerge}, BaseFee: txnbuild.MinBaseFee, - Timebounds: txnbuild.NewTimeout(300), + Preconditions: txnbuild.NewPreconditions(txnbuild.NewTimeout(300)), }, ) if err != nil { diff --git a/txnbuild/create_account_test.go b/txnbuild/create_account_test.go index b715dca70d..a35df0426b 100644 --- a/txnbuild/create_account_test.go +++ b/txnbuild/create_account_test.go @@ -21,7 +21,7 @@ func TestCreateAccountValidateDestination(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -45,7 +45,7 @@ func TestCreateAccountValidateAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) diff --git a/txnbuild/create_claimable_balance_test.go b/txnbuild/create_claimable_balance_test.go index d6516c7983..d35377fc34 100644 --- a/txnbuild/create_claimable_balance_test.go +++ b/txnbuild/create_claimable_balance_test.go @@ -78,7 +78,7 @@ func TestClaimableBalanceID(t *testing.T) { SourceAccount: &aAccount, IncrementSequenceNum: true, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&claimableBalanceEntry}, }, ) diff --git a/txnbuild/create_passive_offer_test.go b/txnbuild/create_passive_offer_test.go index d4d0efbea4..7d1615d00d 100644 --- a/txnbuild/create_passive_offer_test.go +++ b/txnbuild/create_passive_offer_test.go @@ -1,9 +1,10 @@ package txnbuild import ( - "github.com/stellar/go/xdr" "testing" + "github.com/stellar/go/xdr" + "github.com/stretchr/testify/assert" ) @@ -24,7 +25,7 @@ func TestCreatePassiveSellOfferValidateBuyingAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createPassiveOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -51,7 +52,7 @@ func TestCreatePassiveSellOfferValidateSellingAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createPassiveOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -78,7 +79,7 @@ func TestCreatePassiveSellOfferValidateAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createPassiveOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -105,7 +106,7 @@ func TestCreatePassiveSellOfferValidatePrice(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createPassiveOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/example_test.go b/txnbuild/example_test.go index eea43fb3e0..67e49f3af7 100644 --- a/txnbuild/example_test.go +++ b/txnbuild/example_test.go @@ -2,9 +2,10 @@ package txnbuild import ( "fmt" + "time" + "github.com/stellar/go/price" "github.com/stellar/go/xdr" - "time" "github.com/stellar/go/keypair" "github.com/stellar/go/network" @@ -26,7 +27,7 @@ func ExampleInflation() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -59,7 +60,7 @@ func ExampleCreateAccount() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -93,7 +94,7 @@ func ExamplePayment() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -137,7 +138,7 @@ func ExamplePayment_setBaseFee() { IncrementSequenceNum: true, Operations: []Operation{&op1, &op2}, BaseFee: feeStats.MaxFee.P50, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -169,7 +170,7 @@ func ExampleBumpSequence() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -201,7 +202,7 @@ func ExampleAccountMerge() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -234,7 +235,7 @@ func ExampleManageData() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -266,7 +267,7 @@ func ExampleManageData_removeDataEntry() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -306,7 +307,7 @@ func ExampleSetOptions() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -342,7 +343,7 @@ func ExampleChangeTrust() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -372,7 +373,7 @@ func ExampleChangeTrust_removeTrustline() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -406,7 +407,7 @@ func ExampleAllowTrust() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -440,7 +441,7 @@ func ExampleManageSellOffer() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -472,7 +473,7 @@ func ExampleManageSellOffer_deleteOffer() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -507,7 +508,7 @@ func ExampleManageSellOffer_updateOffer() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -542,7 +543,7 @@ func ExampleCreatePassiveSellOffer() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -580,7 +581,7 @@ func ExamplePathPayment() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -618,7 +619,7 @@ func ExamplePathPaymentStrictReceive() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -656,7 +657,7 @@ func ExamplePathPaymentStrictSend() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -692,7 +693,7 @@ func ExampleManageBuyOffer() { IncrementSequenceNum: true, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -725,7 +726,7 @@ func ExampleFeeBumpTransaction() { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), // Use a real timeout in production! + Preconditions: NewPreconditions(NewInfiniteTimeout()), // Use a real timeout in production! }, ) check(err) @@ -799,7 +800,7 @@ func ExampleCreateClaimableBalance() { SourceAccount: &aAccount, IncrementSequenceNum: true, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&claimableBalanceEntry}, }, ) @@ -827,7 +828,7 @@ func ExampleClaimClaimableBalance() { SourceAccount: &aAccount, // or Account B, depending on the condition! IncrementSequenceNum: true, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&claimBalance}, }, network.TestNetworkPassphrase, @@ -893,7 +894,7 @@ func ExampleBeginSponsoringFutureReserves() { TransactionParams{ SourceAccount: &test.Aaccount, Operations: sponsorTrustline, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, IncrementSequenceNum: true, }, @@ -934,7 +935,7 @@ func ExampleBeginSponsoringFutureReserves_transfer() { TransactionParams{ SourceAccount: &test.S1account, Operations: transferOps, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, IncrementSequenceNum: true, }, @@ -981,7 +982,7 @@ func ExampleRevokeSponsorship() { TransactionParams{ SourceAccount: &test.S2account, Operations: revokeOps, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, IncrementSequenceNum: true, }, @@ -1050,7 +1051,7 @@ func ExampleLiquidityPoolDeposit() { TransactionParams{ SourceAccount: &test.AAccount, Operations: depositOps, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, IncrementSequenceNum: true, }, @@ -1085,7 +1086,7 @@ func ExampleLiquidityPoolWithdraw() { TransactionParams{ SourceAccount: &test.AAccount, Operations: withdrawOps, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, IncrementSequenceNum: true, }, diff --git a/txnbuild/fee_bump_test.go b/txnbuild/fee_bump_test.go index 1a4915041a..c0e4027959 100644 --- a/txnbuild/fee_bump_test.go +++ b/txnbuild/fee_bump_test.go @@ -25,7 +25,7 @@ func TestFeeBumpInvalidFeeSource(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -51,7 +51,7 @@ func TestFeeBumpUpgradesV0Transaction(t *testing.T) { Operations: []Operation{&Inflation{}}, BaseFee: 2 * MinBaseFee, Memo: MemoText("test-memo"), - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -105,7 +105,7 @@ func TestFeeBumpInvalidInnerTransactionType(t *testing.T) { Operations: []Operation{&Inflation{}}, BaseFee: 2 * MinBaseFee, Memo: MemoText("test-memo"), - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -143,7 +143,7 @@ func TestFeeBumpAllowsFeeAccountToEqualInnerSourceAccount(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -202,7 +202,7 @@ func TestFeeBumpSignWithKeyString(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -257,7 +257,7 @@ func TestFeeBumpSignHashX(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -300,7 +300,7 @@ func TestFeeBumpAddSignatureBase64(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -363,7 +363,7 @@ func TestFeeBumpMuxedAccounts(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) diff --git a/txnbuild/manage_buy_offer_test.go b/txnbuild/manage_buy_offer_test.go index 4bd49f5a86..45a6d89b22 100644 --- a/txnbuild/manage_buy_offer_test.go +++ b/txnbuild/manage_buy_offer_test.go @@ -1,9 +1,10 @@ package txnbuild import ( + "testing" + "github.com/stellar/go/price" "github.com/stellar/go/xdr" - "testing" "github.com/stretchr/testify/assert" ) @@ -27,7 +28,7 @@ func TestManageBuyOfferValidateSellingAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -55,7 +56,7 @@ func TestManageBuyOfferValidateBuyingAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -83,7 +84,7 @@ func TestManageBuyOfferValidateAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -111,7 +112,7 @@ func TestManageBuyOfferValidatePrice(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -139,7 +140,7 @@ func TestManageBuyOfferValidateOfferID(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/manage_data_test.go b/txnbuild/manage_data_test.go index 9c8074371a..33a096fbf8 100644 --- a/txnbuild/manage_data_test.go +++ b/txnbuild/manage_data_test.go @@ -22,7 +22,7 @@ func TestManageDataValidateName(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&manageData}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -46,7 +46,7 @@ func TestManageDataValidateValue(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&manageData}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -88,7 +88,7 @@ func TestManageDataRoundTrip(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&manageData}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) diff --git a/txnbuild/manage_offer_test.go b/txnbuild/manage_offer_test.go index d8b7504209..cd4b5c95e8 100644 --- a/txnbuild/manage_offer_test.go +++ b/txnbuild/manage_offer_test.go @@ -1,9 +1,10 @@ package txnbuild import ( + "testing" + "github.com/stellar/go/price" "github.com/stellar/go/xdr" - "testing" "github.com/stretchr/testify/assert" ) @@ -25,7 +26,7 @@ func TestManageSellOfferValidateSellingAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -51,7 +52,7 @@ func TestManageSellOfferValidateBuyingAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -77,7 +78,7 @@ func TestManageSellOfferValidateAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -103,7 +104,7 @@ func TestManageSellOfferValidatePrice(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&createOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -131,7 +132,7 @@ func TestManageSellOfferValidateOfferID(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&mso}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/operation_test.go b/txnbuild/operation_test.go index d462e3a9c5..48698a6634 100644 --- a/txnbuild/operation_test.go +++ b/txnbuild/operation_test.go @@ -56,7 +56,7 @@ func TestZeroBalanceAccount(t *testing.T) { Operations: ops, IncrementSequenceNum: true, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) @@ -466,7 +466,7 @@ func testOperationsMarshallingRoundtrip(t *testing.T, operations []Operation, wi TransactionParams{ SourceAccount: &sourceAccount, Operations: operations, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), BaseFee: MinBaseFee, }, ) diff --git a/txnbuild/path_payment_strict_send_test.go b/txnbuild/path_payment_strict_send_test.go index 3e3d73a01a..9c9695f147 100644 --- a/txnbuild/path_payment_strict_send_test.go +++ b/txnbuild/path_payment_strict_send_test.go @@ -27,7 +27,7 @@ func TestPathPaymentStrictSendValidateSendAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -57,7 +57,7 @@ func TestPathPaymentStrictSendValidateDestAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -87,7 +87,7 @@ func TestPathPaymentStrictSendValidateDestination(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -117,7 +117,7 @@ func TestPathPaymentStrictSendValidateSendMax(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) @@ -148,7 +148,7 @@ func TestPathPaymentStrictSendValidateDestAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/path_payment_test.go b/txnbuild/path_payment_test.go index f5f78fafa7..d290d28ded 100644 --- a/txnbuild/path_payment_test.go +++ b/txnbuild/path_payment_test.go @@ -27,7 +27,7 @@ func TestPathPaymentValidateSendAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) @@ -58,7 +58,7 @@ func TestPathPaymentValidateDestAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -88,7 +88,7 @@ func TestPathPaymentValidateDestination(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -118,7 +118,7 @@ func TestPathPaymentValidateSendMax(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -148,7 +148,7 @@ func TestPathPaymentValidateDestAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/payment_test.go b/txnbuild/payment_test.go index e82cd7b499..95a796e201 100644 --- a/txnbuild/payment_test.go +++ b/txnbuild/payment_test.go @@ -22,7 +22,7 @@ func TestPaymentValidateDestination(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -47,7 +47,7 @@ func TestPaymentValidateAmount(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { @@ -72,7 +72,7 @@ func TestPaymentValidateAsset(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) if assert.Error(t, err) { diff --git a/txnbuild/preconditions.go b/txnbuild/preconditions.go index f49b96acd0..08e0cea2ee 100644 --- a/txnbuild/preconditions.go +++ b/txnbuild/preconditions.go @@ -10,7 +10,7 @@ type Preconditions struct { // Transaction is only valid during a certain time range. This is private // because it should mirror the one set via TransactionParams, and this // association should be done via `NewPreconditions()`. - timebounds *Timebounds + Timebounds Timebounds // Transaction is valid for ledger numbers n such that minLedger <= n < // maxLedger (if maxLedger == 0, then only minLedger is checked) Ledgerbounds *Ledgerbounds @@ -31,52 +31,20 @@ type Preconditions struct { } // NewPreconditions creates a set of preconditions with timebounds enabled -func NewPreconditions(timebounds *Timebounds) Preconditions { - cond := Preconditions{} - if err := cond.SetTimebounds(timebounds); err != nil { - panic(err) - } +func NewPreconditions(timebounds Timebounds) Preconditions { + cond := Preconditions{Timebounds: timebounds} return cond } func NewPreconditionsWithTimebounds(minTime, maxTime int64) Preconditions { - tb := NewTimebounds(minTime, maxTime) - return NewPreconditions(&tb) -} - -// SetTimebounds enables the timebound precondition. Note that timebounds are a -// *required* precondition, but they're passed here by pointer in order to align -// with `TransactionParams.Timebounds`. -func (cond *Preconditions) SetTimebounds(timebounds *Timebounds) error { - if timebounds == nil { - return errors.New("timebounds are required") - } - - if err := timebounds.Validate(); err != nil { - return err - } - - if cond.timebounds != nil { - // only fail if they differ - if cond.timebounds.MinTime != timebounds.MinTime || - cond.timebounds.MaxTime != timebounds.MaxTime { - return errors.New("timebounds set twice") - } - } - - cond.timebounds = timebounds - return nil -} - -func (cond *Preconditions) Timebounds() Timebounds { - return *cond.timebounds + return NewPreconditions(NewTimebounds(minTime, maxTime)) } // Validate ensures that all enabled preconditions are valid. func (cond *Preconditions) Validate() error { var err error - if err = cond.timebounds.Validate(); err != nil { + if err = cond.Timebounds.Validate(); err != nil { return err } @@ -98,28 +66,18 @@ func (cond *Preconditions) ValidateSigners() bool { return len(cond.ExtraSigners) <= 2 } -// HasV2Conditions determines whether or not this has conditions on top of -// the (required) timebound precondition. -func (cond *Preconditions) HasV2Conditions() bool { - return (cond.Ledgerbounds != nil || - cond.MinSequenceNumber != nil || - cond.MinSequenceNumberAge > xdr.Duration(0) || - cond.MinSequenceNumberLedgerGap > 0 || - len(cond.ExtraSigners) > 0) -} - // BuildXDR will create a precondition structure that varies depending on // whether or not there are additional preconditions besides timebounds (which // are required). func (cond *Preconditions) BuildXDR() xdr.Preconditions { xdrCond := xdr.Preconditions{} xdrTimeBounds := xdr.TimeBounds{ - MinTime: xdr.TimePoint(cond.timebounds.MinTime), - MaxTime: xdr.TimePoint(cond.timebounds.MaxTime), + MinTime: xdr.TimePoint(cond.Timebounds.MinTime), + MaxTime: xdr.TimePoint(cond.Timebounds.MaxTime), } // Only build PRECOND_V2 structure if we need to - if cond.HasV2Conditions() { + if cond.hasV2Conditions() { xdrPrecond := xdr.PreconditionsV2{ TimeBounds: &xdrTimeBounds, MinSeqAge: cond.MinSequenceNumberAge, @@ -150,3 +108,13 @@ func (cond *Preconditions) BuildXDR() xdr.Preconditions { return xdrCond } + +// hasV2Conditions determines whether or not this has conditions on top of +// the (required) timebound precondition. +func (cond *Preconditions) hasV2Conditions() bool { + return (cond.Ledgerbounds != nil || + cond.MinSequenceNumber != nil || + cond.MinSequenceNumberAge > xdr.Duration(0) || + cond.MinSequenceNumberLedgerGap > 0 || + len(cond.ExtraSigners) > 0) +} diff --git a/txnbuild/preconditions_test.go b/txnbuild/preconditions_test.go index 6870c20954..f9c8952ed9 100644 --- a/txnbuild/preconditions_test.go +++ b/txnbuild/preconditions_test.go @@ -16,13 +16,12 @@ var Signers = []xdr.SignerKey{ // TestClassifyingPreconditions ensures that Preconditions will correctly // differentiate V1 (timebounds-only) or V2 (all other) preconditions correctly. func TestClassifyingPreconditions(t *testing.T) { - tb := NewTimebounds(1, 2) - tbpc := NewPreconditions(&tb) - assert.False(t, (&Preconditions{}).HasV2Conditions()) - assert.False(t, tbpc.HasV2Conditions()) + tbpc := NewPreconditionsWithTimebounds(1, 2) + assert.False(t, (&Preconditions{}).hasV2Conditions()) + assert.False(t, tbpc.hasV2Conditions()) tbpc.MinSequenceNumberLedgerGap = 2 - assert.True(t, tbpc.HasV2Conditions()) + assert.True(t, tbpc.hasV2Conditions()) } // TestPreconditions ensures correct XDR is generated for a (non-exhaustive) @@ -47,9 +46,8 @@ func TestPreconditions(t *testing.T) { ExtraSigners: Signers[:1], }, } - tb := NewTimebounds(27, 42) pc := Preconditions{ - timebounds: &tb, + Timebounds: NewTimebounds(27, 42), Ledgerbounds: &Ledgerbounds{27, 42}, MinSequenceNumber: &seqNum, MinSequenceNumberAge: xdr.Duration(27), @@ -74,14 +72,13 @@ func TestPreconditions(t *testing.T) { { "only timebounds", func() (xdr.Preconditions, Preconditions) { - tb := NewTimebounds(1, 2) return xdr.Preconditions{ Type: xdr.PreconditionTypePrecondTime, TimeBounds: &xdr.TimeBounds{ MinTime: xdr.TimePoint(1), MaxTime: xdr.TimePoint(2), }, - }, NewPreconditions(&tb) + }, NewPreconditionsWithTimebounds(1, 2) }, }, { @@ -158,8 +155,7 @@ func cloneXdrPreconditions(pc xdr.Preconditions) xdr.Preconditions { } func clonePreconditions(precond Preconditions) Preconditions { - tb := NewTimebounds(precond.timebounds.MinTime, precond.timebounds.MaxTime) - cond := NewPreconditions(&tb) + cond := NewPreconditions(precond.Timebounds) if precond.Ledgerbounds != nil { cond.Ledgerbounds = &Ledgerbounds{ MinLedger: precond.Ledgerbounds.MinLedger, diff --git a/txnbuild/signers_test.go b/txnbuild/signers_test.go index 6dd98792cf..97567f77c5 100644 --- a/txnbuild/signers_test.go +++ b/txnbuild/signers_test.go @@ -1,9 +1,10 @@ package txnbuild import ( - "github.com/stellar/go/price" "testing" + "github.com/stellar/go/price" + "github.com/stellar/go/keypair" "github.com/stellar/go/xdr" @@ -28,7 +29,7 @@ func TestAccountMergeMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&accountMerge}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -59,7 +60,7 @@ func TestAllowTrustMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&allowTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -87,7 +88,7 @@ func TestBumpSequenceMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&bumpSequence}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -116,7 +117,7 @@ func TestChangeTrustMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&changeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -145,7 +146,7 @@ func TestCreateAccountMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -176,7 +177,7 @@ func TestCreatePassiveSellOfferMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createPassiveOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -203,7 +204,7 @@ func TestInflationMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&inflation}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -232,7 +233,7 @@ func TestManageDataMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&manageData}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -261,7 +262,7 @@ func TestManageOfferCreateMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -288,7 +289,7 @@ func TestManageOfferDeleteMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&deleteOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -318,7 +319,7 @@ func TestManageOfferUpdateMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&updateOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -352,7 +353,7 @@ func TestPathPaymentMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -383,7 +384,7 @@ func TestPaymentMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -411,7 +412,7 @@ func TestSetOptionsMultSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -461,7 +462,7 @@ func TestSigningImmutability(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), } root, err := NewTransaction(params) assert.NoError(t, err) @@ -512,7 +513,7 @@ func TestFeeBumpSigningImmutability(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), } inner, err := NewTransaction(innerParams) assert.NoError(t, err) diff --git a/txnbuild/transaction.go b/txnbuild/transaction.go index ec2796c862..5ebd16b16c 100644 --- a/txnbuild/transaction.go +++ b/txnbuild/transaction.go @@ -242,7 +242,7 @@ func (t *Transaction) Memo() Memo { // Timebounds returns the Timebounds configured for this transaction. func (t *Transaction) Timebounds() Timebounds { - return t.preconditions.Timebounds() + return t.preconditions.Timebounds } // Operations returns the list of operations included in this transaction. @@ -797,13 +797,12 @@ func transactionFromParsedXDR(xdrEnv xdr.TransactionEnvelope) (*GenericTransacti // TransactionParams is a container for parameters which are used to construct // new Transaction instances type TransactionParams struct { - SourceAccount Account - IncrementSequenceNum bool - Operations []Operation - BaseFee int64 - Memo Memo - Timebounds Timebounds - AdditionalPreconditions Preconditions + SourceAccount Account + IncrementSequenceNum bool + Operations []Operation + BaseFee int64 + Memo Memo + Preconditions Preconditions } // NewTransaction returns a new Transaction instance @@ -823,17 +822,6 @@ func NewTransaction(params TransactionParams) (*Transaction, error) { return nil, errors.Wrap(err, "could not obtain account sequence") } - // Because both V1 and V2 preconditions allow timebounds, and we don't want - // to introduce a breaking change by dropping - // `TransactionParams.Timebounds`, nor require users to set up the - // `AdditionalPreconditions`, we need to coalesce the two values here. - if params.Timebounds != (Timebounds{}) { - err = params.AdditionalPreconditions.SetTimebounds(¶ms.Timebounds) - if err != nil { - return nil, errors.Wrap(err, "invalid timebounds") - } - } - tx := &Transaction{ baseFee: params.BaseFee, sourceAccount: SimpleAccount{ @@ -842,7 +830,7 @@ func NewTransaction(params TransactionParams) (*Transaction, error) { }, operations: params.Operations, memo: params.Memo, - preconditions: params.AdditionalPreconditions, + preconditions: params.Preconditions, } var sourceAccount xdr.MuxedAccount if err = sourceAccount.SetAddress(tx.sourceAccount.AccountID); err != nil { @@ -924,7 +912,7 @@ func convertToV1(tx *Transaction) (*Transaction, error) { Operations: tx.Operations(), BaseFee: tx.BaseFee(), Memo: tx.Memo(), - Timebounds: tx.Timebounds(), + Preconditions: NewPreconditions(tx.Timebounds()), }) if err != nil { return tx, err @@ -1060,9 +1048,9 @@ func BuildChallengeTx(serverSignerSecret, clientAccountID, webAuthDomain, homeDo Value: []byte(webAuthDomain), }, }, - BaseFee: MinBaseFee, - Memo: nil, - Timebounds: NewTimebounds(currentTime.Unix(), maxTime.Unix()), + BaseFee: MinBaseFee, + Memo: nil, + Preconditions: NewPreconditions(NewTimebounds(currentTime.Unix(), maxTime.Unix())), }, ) if err != nil { diff --git a/txnbuild/transaction_fee_test.go b/txnbuild/transaction_fee_test.go index 888f8a2483..eecda0bfc8 100644 --- a/txnbuild/transaction_fee_test.go +++ b/txnbuild/transaction_fee_test.go @@ -16,7 +16,7 @@ func TestBaseFeeCanBeZeroOrPositive(t *testing.T) { SourceAccount: &SimpleAccount{keypair.MustRandom().Address(), 1}, Operations: []Operation{&Inflation{}}, BaseFee: bf, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -30,7 +30,7 @@ func TestBaseFeeErrorWhenNegative(t *testing.T) { SourceAccount: &SimpleAccount{keypair.MustRandom().Address(), 1}, Operations: []Operation{&Inflation{}}, BaseFee: -1, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.EqualError(t, err, "base fee cannot be negative") @@ -45,7 +45,7 @@ func TestFeeBumpMinBaseFee(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -70,7 +70,7 @@ func TestFeeOverflow(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}, &Inflation{}}, BaseFee: math.MaxUint32 / 2, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -80,7 +80,7 @@ func TestFeeOverflow(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}, &Inflation{}, &Inflation{}}, BaseFee: math.MaxUint32 / 2, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.EqualError(t, err, "base fee 2147483647 results in an overflow of max fee") @@ -95,7 +95,7 @@ func TestFeeBumpOverflow(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -128,7 +128,7 @@ func TestFeeBumpFeeGreaterThanOrEqualInner(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{&Inflation{}}, BaseFee: 2 * MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) diff --git a/txnbuild/transaction_test.go b/txnbuild/transaction_test.go index c9fc4201c0..c5b9a8f2b0 100644 --- a/txnbuild/transaction_test.go +++ b/txnbuild/transaction_test.go @@ -39,59 +39,30 @@ func TestTimebounds(t *testing.T) { BaseFee: MinBaseFee, } - // Happy path: old timebound method used - tp.Timebounds = tb + tp.Preconditions.Timebounds = tb tx, err := NewTransaction(tp) assert.NoError(t, err) - assert.Equal(t, tb, tx.preconditions.Timebounds()) + assert.Equal(t, tb, tx.preconditions.Timebounds) assert.Equal(t, xdr.TimePoint(tb.MinTime), tx.envelope.TimeBounds().MinTime) assert.Equal(t, xdr.TimePoint(tb.MaxTime), tx.envelope.TimeBounds().MaxTime) - - // Transactions with timebounds set and timebounds-only preconditions set - // should result in identical XDR. - cond := NewPreconditions(&tb) - tp.Timebounds = Timebounds{} - tp.AdditionalPreconditions = cond - tx2, err := NewTransaction(tp) - assert.NoError(t, err) - assert.Equal(t, tb, tx.preconditions.Timebounds()) - - b1, err := tx.ToXDR().MarshalBinary() - assert.NoError(t, err) - b2, err := tx2.ToXDR().MarshalBinary() - assert.NoError(t, err) - assert.EqualValues(t, b1, b2) - - // Transactions built with both (and differing) ways to set a timebound - // precondition should fail... - tp.AdditionalPreconditions = cond - tp.Timebounds = NewTimebounds(1, 2) - _, err = NewTransaction(tp) - assert.EqualError(t, err, "invalid timebounds: timebounds set twice") - - // ...but identical values should pass. - tp.Timebounds = *cond.timebounds - _, err = NewTransaction(tp) - assert.NoError(t, err) } func TestV2Preconditions(t *testing.T) { kp0 := newKeypair0() - tb := NewTimeout(300) - cond := NewPreconditions(&tb) + cond := NewPreconditions(NewTimeout(300)) cond.Ledgerbounds = &Ledgerbounds{0, 1} cond.MinSequenceNumber = nil cond.MinSequenceNumberAge = xdr.Duration(10) cond.MinSequenceNumberLedgerGap = 2 - assert.True(t, cond.HasV2Conditions()) + assert.True(t, cond.hasV2Conditions()) tp := TransactionParams{ SourceAccount: &SimpleAccount{AccountID: kp0.Address(), Sequence: 1}, Operations: []Operation{&BumpSequence{BumpTo: 0}}, BaseFee: MinBaseFee, - AdditionalPreconditions: cond, + Preconditions: cond, } tx, err := NewTransaction(tp) @@ -115,7 +86,7 @@ func TestIncrementSequenceNum(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&inflation}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -127,7 +98,7 @@ func TestIncrementSequenceNum(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&inflation}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -139,7 +110,7 @@ func TestIncrementSequenceNum(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&inflation}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -151,7 +122,7 @@ func TestIncrementSequenceNum(t *testing.T) { IncrementSequenceNum: false, Operations: []Operation{&inflation}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -167,7 +138,7 @@ func TestFeeNoOperations(t *testing.T) { SourceAccount: &sourceAccount, Operations: []Operation{}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.EqualError(t, err, "transaction has no operations") @@ -185,7 +156,7 @@ func TestInflation(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&inflation}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -211,7 +182,7 @@ func TestCreateAccount(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -238,7 +209,7 @@ func TestPayment(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -274,7 +245,7 @@ func TestPaymentMuxedAccounts(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -300,7 +271,7 @@ func TestPaymentFailsIfNoAssetSpecified(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) expectedErrMsg := "validation failed for *txnbuild.Payment operation: Field: Asset, Error: asset is undefined" @@ -321,7 +292,7 @@ func TestBumpSequence(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&bumpSequence}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -346,7 +317,7 @@ func TestAccountMerge(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&accountMerge}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -372,7 +343,7 @@ func TestManageData(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&manageData}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -397,7 +368,7 @@ func TestManageDataRemoveDataEntry(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&manageData}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -423,7 +394,7 @@ func TestSetOptionsInflationDestination(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -448,7 +419,7 @@ func TestSetOptionsSetFlags(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -473,7 +444,7 @@ func TestSetOptionsClearFlags(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -498,7 +469,7 @@ func TestSetOptionsMasterWeight(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -525,7 +496,7 @@ func TestSetOptionsThresholds(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -550,7 +521,7 @@ func TestSetOptionsHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -575,7 +546,7 @@ func TestSetOptionsHomeDomainTooLong(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) @@ -597,7 +568,7 @@ func TestSetOptionsSigner(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -623,7 +594,7 @@ func TestMultipleOperations(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&inflation, &bumpSequence}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -650,7 +621,7 @@ func TestChangeTrust(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&changeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -676,7 +647,7 @@ func TestChangeTrustNativeAssetNotAllowed(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&changeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) @@ -698,7 +669,7 @@ func TestChangeTrustDeleteTrustline(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&removeTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -727,7 +698,7 @@ func TestAllowTrust(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&allowTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -756,7 +727,7 @@ func TestAllowTrustNoIssuer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&allowTrust}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, @@ -784,7 +755,7 @@ func TestManageSellOfferNewOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -809,7 +780,7 @@ func TestManageSellOfferDeleteOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&deleteOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -838,7 +809,7 @@ func TestManageSellOfferUpdateOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&updateOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -867,7 +838,7 @@ func TestCreatePassiveSellOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createPassiveOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -899,7 +870,7 @@ func TestPathPayment(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&pathPayment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp2, @@ -921,7 +892,7 @@ func TestMemoText(t *testing.T) { Operations: []Operation{&BumpSequence{BumpTo: 1}}, Memo: MemoText("Twas brillig"), BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp2, @@ -943,7 +914,7 @@ func TestMemoID(t *testing.T) { Operations: []Operation{&BumpSequence{BumpTo: 1}}, Memo: MemoID(314159), BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp2, @@ -965,7 +936,7 @@ func TestMemoHash(t *testing.T) { Operations: []Operation{&BumpSequence{BumpTo: 1}}, Memo: MemoHash([32]byte{0x01}), BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp2, @@ -987,7 +958,7 @@ func TestMemoReturn(t *testing.T) { Operations: []Operation{&BumpSequence{BumpTo: 1}}, Memo: MemoReturn([32]byte{0x01}), BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp2, @@ -1017,7 +988,7 @@ func TestManageBuyOfferNewOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -1046,7 +1017,7 @@ func TestManageBuyOfferDeleteOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -1075,7 +1046,7 @@ func TestManageBuyOfferUpdateOffer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&buyOffer}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp1, @@ -1160,7 +1131,7 @@ func TestHashHex(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1204,7 +1175,7 @@ func TestTransactionFee(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1218,7 +1189,7 @@ func TestTransactionFee(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: 500, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1252,7 +1223,7 @@ func TestPreAuthTransaction(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1290,7 +1261,7 @@ func TestPreAuthTransaction(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: 500, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1331,7 +1302,7 @@ func TestHashXTransaction(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&setOptions}, BaseFee: 500, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1361,7 +1332,7 @@ func TestHashXTransaction(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&payment}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1467,7 +1438,7 @@ func TestBuild(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1527,7 +1498,7 @@ func TestFromXDRBuildSignEncode(t *testing.T) { Operations: newTx.Operations(), BaseFee: newTx.BaseFee(), Memo: MemoText("newtx"), - Timebounds: newTx.Timebounds(), + Preconditions: NewPreconditions(newTx.Timebounds()), }, network.TestNetworkPassphrase, kp0, @@ -1553,7 +1524,7 @@ func TestSignWithSecretKey(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -1566,7 +1537,7 @@ func TestSignWithSecretKey(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1600,7 +1571,7 @@ func TestAddSignatureDecorated(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -1613,7 +1584,7 @@ func TestAddSignatureDecorated(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1701,8 +1672,8 @@ func TestFeeBumpTransaction_AddSignatureDecorated(t *testing.T) { Amount: "10", SourceAccount: kp1.Address(), }}, - BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + BaseFee: MinBaseFee, + Preconditions: NewPreconditions(NewInfiniteTimeout()), }) require.NoError(t, err) tx, err = tx.Sign(network.TestNetworkPassphrase, kp0, kp1) @@ -1752,7 +1723,7 @@ func TestAddSignatureBase64(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, network.TestNetworkPassphrase, kp0, kp1, @@ -1765,7 +1736,7 @@ func TestAddSignatureBase64(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -1801,8 +1772,8 @@ func TestTransaction_ClearSignatures(t *testing.T) { Amount: "10", SourceAccount: kp1.Address(), }}, - BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + BaseFee: MinBaseFee, + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) require.NoError(t, err) @@ -1834,8 +1805,8 @@ func TestFeeBumpTransaction_ClearSignatures(t *testing.T) { Amount: "10", SourceAccount: kp1.Address(), }}, - BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + BaseFee: MinBaseFee, + Preconditions: NewPreconditions(NewInfiniteTimeout()), }) require.NoError(t, err) require.Len(t, tx.Signatures(), 0) @@ -1887,7 +1858,7 @@ func TestReadChallengeTx_validSignedByServerAndClient(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -1922,7 +1893,7 @@ func TestReadChallengeTx_validSignedByServer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -1957,7 +1928,7 @@ func TestReadChallengeTx_invalidNotSignedByServer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -1990,7 +1961,7 @@ func TestReadChallengeTx_invalidCorrupted(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2031,7 +2002,7 @@ func TestReadChallengeTx_invalidServerAccountIDMismatch(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2066,7 +2037,7 @@ func TestReadChallengeTx_invalidSeqNoNotZero(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2101,7 +2072,7 @@ func TestReadChallengeTx_invalidTimeboundsInfinite(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -2136,7 +2107,7 @@ func TestReadChallengeTx_invalidTimeboundsOutsideRange(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimebounds(0, 100), + Preconditions: NewPreconditions(NewTimebounds(0, 100)), }, ) assert.NoError(t, err) @@ -2173,7 +2144,7 @@ func TestReadChallengeTx_validTimeboundsWithGracePeriod(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimebounds(unixNow+5*59, unixNow+60*60), + Preconditions: NewPreconditions(NewTimebounds(unixNow+5*59, unixNow+60*60)), }, ) assert.NoError(t, err) @@ -2209,7 +2180,7 @@ func TestReadChallengeTx_invalidTimeboundsWithGracePeriod(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimebounds(unixNow+5*61, unixNow+60*60), + Preconditions: NewPreconditions(NewTimebounds(unixNow+5*61, unixNow+60*60)), }, ) assert.NoError(t, err) @@ -2239,7 +2210,7 @@ func TestReadChallengeTx_invalidOperationWrongType(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2267,7 +2238,7 @@ func TestReadChallengeTx_invalidOperationNoSourceAccount(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2300,7 +2271,7 @@ func TestReadChallengeTx_invalidDataValueWrongEncodedLength(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2335,7 +2306,7 @@ func TestReadChallengeTx_invalidDataValueCorruptBase64(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2370,7 +2341,7 @@ func TestReadChallengeTx_invalidDataValueWrongByteLength(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2520,7 +2491,7 @@ func TestReadChallengeTx_doesVerifyHomeDomainFailure(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2553,7 +2524,7 @@ func TestReadChallengeTx_doesVerifyHomeDomainSuccess(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2591,7 +2562,7 @@ func TestReadChallengeTx_allowsAdditionalManageDataOpsWithSourceAccountSetToServ IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2631,7 +2602,7 @@ func TestReadChallengeTx_disallowsAdditionalManageDataOpsWithoutSourceAccountSet IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -2668,7 +2639,7 @@ func TestReadChallengeTx_disallowsAdditionalOpsOfOtherTypes(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2703,7 +2674,7 @@ func TestReadChallengeTx_matchesHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2736,7 +2707,7 @@ func TestReadChallengeTx_doesNotMatchHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2764,7 +2735,7 @@ func TestReadChallengeTx_validWhenWebAuthDomainMissing(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2796,7 +2767,7 @@ func TestReadChallengeTx_invalidWebAuthDomainSourceAccount(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2828,7 +2799,7 @@ func TestReadChallengeTx_invalidWebAuthDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -2861,7 +2832,7 @@ func TestVerifyChallengeTxThreshold_invalidServer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, clientKP, @@ -2897,7 +2868,7 @@ func TestVerifyChallengeTxThreshold_validServerAndClientKeyMeetingThreshold(t *t IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -2938,7 +2909,7 @@ func TestVerifyChallengeTxThreshold_validServerAndMultipleClientKeyMeetingThresh IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, @@ -2993,7 +2964,7 @@ func TestVerifyChallengeTxThreshold_validServerAndMultipleClientKeyMeetingThresh IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, @@ -3044,7 +3015,7 @@ func TestVerifyChallengeTxThreshold_validServerAndMultipleClientKeyMeetingThresh IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, @@ -3085,7 +3056,7 @@ func TestVerifyChallengeTxThreshold_invalidServerAndMultipleClientKeyNotMeetingT IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, @@ -3124,7 +3095,7 @@ func TestVerifyChallengeTxThreshold_invalidClientKeyUnrecognized(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, clientKP3, @@ -3160,7 +3131,7 @@ func TestVerifyChallengeTxThreshold_invalidNoSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, clientKP3, @@ -3192,7 +3163,7 @@ func TestVerifyChallengeTxThreshold_weightsAddToMoreThan8Bits(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP1, clientKP2, @@ -3234,7 +3205,7 @@ func TestVerifyChallengeTxThreshold_matchesHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -3277,7 +3248,7 @@ func TestVerifyChallengeTxThreshold_doesNotMatchHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -3315,7 +3286,7 @@ func TestVerifyChallengeTxThreshold_doesVerifyHomeDomainFailure(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3351,7 +3322,7 @@ func TestVerifyChallengeTxThreshold_doesVerifyHomeDomainSuccess(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3397,7 +3368,7 @@ func TestVerifyChallengeTxThreshold_allowsAdditionalManageDataOpsWithSourceAccou IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3443,7 +3414,7 @@ func TestVerifyChallengeTxThreshold_disallowsAdditionalManageDataOpsWithoutSourc IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3485,7 +3456,7 @@ func TestVerifyChallengeTxThreshold_disallowsAdditionalOpsOfOtherTypes(t *testin IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3518,7 +3489,7 @@ func TestVerifyChallengeTxThreshold_validWhenWebAuthDomainMissing(t *testing.T) IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3558,7 +3529,7 @@ func TestVerifyChallengeTxThreshold_invalidWebAuthDomainSourceAccount(t *testing IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3594,7 +3565,7 @@ func TestVerifyChallengeTxThreshold_invalidWebAuthDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3630,7 +3601,7 @@ func TestVerifyChallengeTxSigners_invalidServer(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, clientKP, @@ -3663,7 +3634,7 @@ func TestVerifyChallengeTxSigners_validServerAndClientMasterKey(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -3696,7 +3667,7 @@ func TestVerifyChallengeTxSigners_invalidServerAndNoClient(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, @@ -3730,7 +3701,7 @@ func TestVerifyChallengeTxSigners_invalidServerAndUnrecognizedClient(t *testing. IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, unrecognizedKP, @@ -3764,7 +3735,7 @@ func TestVerifyChallengeTxSigners_validServerAndMultipleClientSigners(t *testing IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, clientKP2, @@ -3798,7 +3769,7 @@ func TestVerifyChallengeTxSigners_validServerAndMultipleClientSignersReverseOrde IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, clientKP, @@ -3832,7 +3803,7 @@ func TestVerifyChallengeTxSigners_validServerAndClientSignersNotMasterKey(t *tes IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, @@ -3866,7 +3837,7 @@ func TestVerifyChallengeTxSigners_validServerAndClientSignersIgnoresServerSigner IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, @@ -3900,7 +3871,7 @@ func TestVerifyChallengeTxSigners_invalidServerNoClientSignersIgnoresServerSigne IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, @@ -3934,7 +3905,7 @@ func TestVerifyChallengeTxSigners_validServerAndClientSignersIgnoresDuplicateSig IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, @@ -3971,7 +3942,7 @@ func TestVerifyChallengeTxSigners_validIgnorePreauthTxHashAndXHash(t *testing.T) IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, @@ -4005,7 +3976,7 @@ func TestVerifyChallengeTxSigners_invalidServerAndClientSignersIgnoresDuplicateS IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, @@ -4039,7 +4010,7 @@ func TestVerifyChallengeTxSigners_invalidServerAndClientSignersFailsDuplicateSig IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, clientKP2, @@ -4073,7 +4044,7 @@ func TestVerifyChallengeTxSigners_invalidServerAndClientSignersFailsSignerSeed(t IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP2, @@ -4106,7 +4077,7 @@ func TestVerifyChallengeTxSigners_invalidNoSigners(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4138,7 +4109,7 @@ func TestVerifyChallengeTxSigners_doesVerifyHomeDomainFailure(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4170,7 +4141,7 @@ func TestVerifyChallengeTxSigners_matchesHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -4210,7 +4181,7 @@ func TestVerifyChallengeTxSigners_doesNotMatchHomeDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op1, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(300), + Preconditions: NewPreconditions(NewTimeout(300)), }, ) assert.NoError(t, err) @@ -4250,7 +4221,7 @@ func TestVerifyChallengeTxSigners_doesVerifyHomeDomainSuccess(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4287,7 +4258,7 @@ func TestVerifyChallengeTxSigners_allowsAdditionalManageDataOpsWithSourceAccount IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4325,7 +4296,7 @@ func TestVerifyChallengeTxSigners_disallowsAdditionalManageDataOpsWithoutSourceA IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4362,7 +4333,7 @@ func TestVerifyChallengeTxSigners_disallowsAdditionalOpsOfOtherTypes(t *testing. IncrementSequenceNum: true, Operations: []Operation{&op1, &op2, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4389,7 +4360,7 @@ func TestVerifyChallengeTxSigners_validWhenWebAuthDomainMissing(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4423,7 +4394,7 @@ func TestVerifyChallengeTxSigners_invalidWebAuthDomainSourceAccount(t *testing.T IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4454,7 +4425,7 @@ func TestVerifyChallengeTxSigners_invalidWebAuthDomain(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&op, &webAuthDomainOp}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, network.TestNetworkPassphrase, serverKP, clientKP, @@ -4480,7 +4451,7 @@ func TestVerifyTxSignatureUnsignedTx(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewTimeout(1000), + Preconditions: NewPreconditions(NewTimeout(1000)), }, ) assert.NoError(t, err) @@ -4506,7 +4477,7 @@ func TestVerifyTxSignatureSingle(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -4532,7 +4503,7 @@ func TestVerifyTxSignatureMultiple(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -4560,7 +4531,7 @@ func TestVerifyTxSignatureInvalid(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err) @@ -4595,7 +4566,7 @@ func TestClaimableBalanceIds(t *testing.T) { SourceAccount: &aMuxedAccount, IncrementSequenceNum: true, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&claimableBalanceEntry}, }, ) @@ -4630,7 +4601,7 @@ func TestTransaction_marshalUnmarshalText(t *testing.T) { SourceAccount: &SimpleAccount{AccountID: k.Address(), Sequence: 1}, IncrementSequenceNum: false, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&BumpSequence{BumpTo: 2}}, }, ) @@ -4664,7 +4635,7 @@ func TestFeeBumpTransaction_marshalUnmarshalText(t *testing.T) { SourceAccount: &SimpleAccount{AccountID: k.Address(), Sequence: 1}, IncrementSequenceNum: false, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&BumpSequence{BumpTo: 2}}, }, ) @@ -4704,7 +4675,7 @@ func TestNewGenericTransactionWithTransaction(t *testing.T) { SourceAccount: &SimpleAccount{AccountID: k.Address(), Sequence: 1}, IncrementSequenceNum: false, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&BumpSequence{BumpTo: 2}}, }, ) @@ -4723,7 +4694,7 @@ func TestNewGenericTransactionWithFeeBumpTransaction(t *testing.T) { SourceAccount: &SimpleAccount{AccountID: k.Address(), Sequence: 1}, IncrementSequenceNum: false, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&BumpSequence{BumpTo: 2}}, }, ) @@ -4755,7 +4726,7 @@ func TestGenericTransaction_marshalUnmarshalText(t *testing.T) { SourceAccount: &SimpleAccount{AccountID: k.Address(), Sequence: 1}, IncrementSequenceNum: false, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&BumpSequence{BumpTo: 2}}, }, ) @@ -4812,7 +4783,7 @@ func TestGenericTransaction_marshalBinary(t *testing.T) { SourceAccount: &SimpleAccount{AccountID: k.Address(), Sequence: 1}, IncrementSequenceNum: false, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), Operations: []Operation{&BumpSequence{BumpTo: 2}}, }, ) @@ -4858,7 +4829,7 @@ func TestGenericTransaction_HashHex(t *testing.T) { IncrementSequenceNum: true, Operations: []Operation{&createAccount}, BaseFee: MinBaseFee, - Timebounds: NewInfiniteTimeout(), + Preconditions: NewPreconditions(NewInfiniteTimeout()), }, ) assert.NoError(t, err)