Skip to content

Commit

Permalink
fix: NewContractFunctionParams to NewContractFunctionParameters, caug…
Browse files Browse the repository at this point in the history
…ht more nils
  • Loading branch information
andrix10 committed Oct 19, 2020
1 parent 7188be2 commit 4eed2ed
Show file tree
Hide file tree
Showing 12 changed files with 111 additions and 110 deletions.
2 changes: 1 addition & 1 deletion account_records_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ type AccountRecordsQuery struct {
// instead of manually creating an instance of the struct.
func NewAccountRecordsQuery() *AccountRecordsQuery {
header := proto.QueryHeader{}
query := newQuery(false, &header)
query := newQuery(true, &header)
pb := proto.CryptoGetAccountRecordsQuery{Header: &header}
query.pb.Query = &proto.Query_CryptoGetAccountRecords{
CryptoGetAccountRecords: &pb,
Expand Down
26 changes: 24 additions & 2 deletions contract_call_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,20 @@ func (query *ContractCallQuery) SetMaxResultSize(size uint64) *ContractCallQuery
}

// SetFunction sets which function to call, and the ContractFunctionParams to pass to the function
func (query *ContractCallQuery) SetFunction(name string, params *ContractFunctionParams) *ContractCallQuery {
func (query *ContractCallQuery) SetFunction(name string, params *ContractFunctionParameters) *ContractCallQuery {
if params == nil {
params = NewContractFunctionParams()
params = NewContractFunctionParameters()
}

query.pb.FunctionParameters = params.build(&name)
return query
}

func (query *ContractCallQuery) SetFunctionString(name string) *ContractCallQuery {
query.pb.FunctionParameters = []byte(name)
return query
}

func contractCallQuery_mapResponseStatus(_ request, response response) Status {
return Status(response.query.GetContractCallLocal().Header.NodeTransactionPrecheckCode)
}
Expand All @@ -77,6 +82,23 @@ func (query *ContractCallQuery) Execute(client *Client) (ContractFunctionResult,
return ContractFunctionResult{}, errNoClientProvided
}

query.queryPayment = NewHbar(2)
query.paymentTransactionID = TransactionIDGenerate(client.operator.accountID)

var cost Hbar
if query.queryPayment.tinybar != 0 {
cost = query.queryPayment
} else {
cost = client.maxQueryPayment

// actualCost := CostQuery()
}

err := query_generatePayments(&query.Query, client, cost)
if err != nil {
return ContractFunctionResult{}, err
}

resp, err := execute(
client,
request{
Expand Down
2 changes: 1 addition & 1 deletion contract_create_transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func (transaction *ContractCreateTransaction) GetProxyAccountID() AccountID {
return accountIDFromProtobuf(transaction.pb.ProxyAccountID)
}

func (transaction *ContractCreateTransaction) SetConstructorParameters(params *ContractFunctionParams) *ContractCreateTransaction {
func (transaction *ContractCreateTransaction) SetConstructorParameters(params *ContractFunctionParameters) *ContractCreateTransaction {
transaction.pb.ConstructorParameters = params.build(nil)
return transaction
}
Expand Down
2 changes: 1 addition & 1 deletion contract_create_transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func TestContractCreateTransaction_Execute(t *testing.T) {
resp, err = NewContractCreateTransaction().
SetAdminKey(client.GetOperatorKey()).
SetGas(2000).
SetConstructorParameters(NewContractFunctionParams().AddString("hello from hedera")).
SetConstructorParameters(NewContractFunctionParameters().AddString("hello from hedera")).
SetBytecodeFileID(fileID).
SetContractMemo("hedera-sdk-go::TestContractCreateTransaction_Execute").
SetMaxTransactionFee(NewHbar(20)).
Expand Down
2 changes: 1 addition & 1 deletion contract_delete_transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ func TestContractDeleteTransaction_Execute(t *testing.T) {
SetAdminKey(client.GetOperatorKey()).
SetGas(2000).
SetNodeAccountID(resp.NodeID).
SetConstructorParameters(NewContractFunctionParams().AddString("hello from hedera")).
SetConstructorParameters(NewContractFunctionParameters().AddString("hello from hedera")).
SetBytecodeFileID(fileID).
SetContractMemo("hedera-sdk-go::TestContractDeleteTransaction_Execute").
SetMaxTransactionFee(NewHbar(20)).
Expand Down
16 changes: 8 additions & 8 deletions contract_execute_transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,14 @@ func (transaction *ContractExecuteTransaction) GetFunctionParameters() []byte {
}

// SetFunction sets which function to call, and the ContractFunctionParams to pass to the function
//func (transaction *ContractExecuteTransaction) SetFunction(name string, params *ContractFunctionParameters) *ContractExecuteTransaction {
// if params == nil {
// params = NewContractFunctionParams()
// }
//
// transaction.pb.FunctionParameters = params.build(&name)
// return transaction
//}
func (transaction *ContractExecuteTransaction) SetFunction(name string, params *ContractFunctionParameters) *ContractExecuteTransaction {
if params == nil {
params = NewContractFunctionParameters()
}

transaction.pb.FunctionParameters = params.build(&name)
return transaction
}

//
// The following methods must be copy-pasted/overriden at the bottom of **every** _transaction.go file
Expand Down
56 changes: 28 additions & 28 deletions contract_function_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"fmt"
)

type ContractFunctionParams struct {
type ContractFunctionParameters struct {
function ContractFunctionSelector
arguments []Argument
}
Expand All @@ -17,14 +17,14 @@ type Argument struct {
dynamic bool
}

func NewContractFunctionParams() *ContractFunctionParams {
return &ContractFunctionParams{
func NewContractFunctionParameters() *ContractFunctionParameters {
return &ContractFunctionParameters{
function: NewContractFunctionSelector(""),
arguments: []Argument{},
}
}

func (contract *ContractFunctionParams) AddBool(value bool) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddBool(value bool) *ContractFunctionParameters {
argument := newArgument()

if value {
Expand All @@ -39,7 +39,7 @@ func (contract *ContractFunctionParams) AddBool(value bool) *ContractFunctionPar
return contract
}

func (contract *ContractFunctionParams) AddFunction(address string, selector ContractFunctionSelector) (*ContractFunctionParams, error) {
func (contract *ContractFunctionParameters) AddFunction(address string, selector ContractFunctionSelector) (*ContractFunctionParameters, error) {
if len(address) != 40 {
return contract, errors.Unwrap(fmt.Errorf("Address is required to be 40 characters"))
}
Expand All @@ -65,7 +65,7 @@ func (contract *ContractFunctionParams) AddFunction(address string, selector Con
return contract, nil
}

func (contract *ContractFunctionParams) AddInt8(value int8) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt8(value int8) *ContractFunctionParameters {
argument := newArgument()

argument.value[31] = uint8(value)
Expand All @@ -76,7 +76,7 @@ func (contract *ContractFunctionParams) AddInt8(value int8) *ContractFunctionPar
return contract
}

func (contract *ContractFunctionParams) AddInt32(value int32) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt32(value int32) *ContractFunctionParameters {
argument := newArgument()

binary.BigEndian.PutUint32(argument.value[28:32], uint32(value))
Expand All @@ -87,7 +87,7 @@ func (contract *ContractFunctionParams) AddInt32(value int32) *ContractFunctionP
return contract
}

func (contract *ContractFunctionParams) AddInt64(value int64) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt64(value int64) *ContractFunctionParameters {
argument := newArgument()

binary.BigEndian.PutUint64(argument.value[24:32], uint64(value))
Expand All @@ -98,7 +98,7 @@ func (contract *ContractFunctionParams) AddInt64(value int64) *ContractFunctionP
return contract
}

func (contract *ContractFunctionParams) AddInt256(value []byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt256(value []byte) *ContractFunctionParameters {
argument := newArgument()

argument.value = value
Expand All @@ -109,7 +109,7 @@ func (contract *ContractFunctionParams) AddInt256(value []byte) *ContractFunctio
return contract
}

func (contract *ContractFunctionParams) AddUint8(value uint8) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint8(value uint8) *ContractFunctionParameters {
argument := newArgument()

argument.value[31] = value
Expand All @@ -120,7 +120,7 @@ func (contract *ContractFunctionParams) AddUint8(value uint8) *ContractFunctionP
return contract
}

func (contract *ContractFunctionParams) AddUint32(value uint32) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint32(value uint32) *ContractFunctionParameters {
argument := newArgument()

binary.BigEndian.PutUint32(argument.value[28:32], value)
Expand All @@ -131,7 +131,7 @@ func (contract *ContractFunctionParams) AddUint32(value uint32) *ContractFunctio
return contract
}

func (contract *ContractFunctionParams) AddUint64(value uint64) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint64(value uint64) *ContractFunctionParameters {
argument := newArgument()

binary.BigEndian.PutUint64(argument.value[24:32], value)
Expand All @@ -142,7 +142,7 @@ func (contract *ContractFunctionParams) AddUint64(value uint64) *ContractFunctio
return contract
}

func (contract *ContractFunctionParams) AddUint256(value []byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint256(value []byte) *ContractFunctionParameters {
argument := newArgument()

argument.value = value
Expand All @@ -153,7 +153,7 @@ func (contract *ContractFunctionParams) AddUint256(value []byte) *ContractFuncti
return contract
}

func (contract *ContractFunctionParams) AddInt32Array(value []int32) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt32Array(value []int32) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -172,7 +172,7 @@ func (contract *ContractFunctionParams) AddInt32Array(value []int32) *ContractFu
return contract
}

func (contract *ContractFunctionParams) AddInt64Array(value []int64) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt64Array(value []int64) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -191,7 +191,7 @@ func (contract *ContractFunctionParams) AddInt64Array(value []int64) *ContractFu
return contract
}

func (contract *ContractFunctionParams) AddInt256Array(value [][32]byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddInt256Array(value [][32]byte) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -210,7 +210,7 @@ func (contract *ContractFunctionParams) AddInt256Array(value [][32]byte) *Contra
return contract
}

func (contract *ContractFunctionParams) AddUint32Array(value []uint32) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint32Array(value []uint32) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -229,7 +229,7 @@ func (contract *ContractFunctionParams) AddUint32Array(value []uint32) *Contract
return contract
}

func (contract *ContractFunctionParams) AddUint64Array(value []uint64) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint64Array(value []uint64) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -248,7 +248,7 @@ func (contract *ContractFunctionParams) AddUint64Array(value []uint64) *Contract
return contract
}

func (contract *ContractFunctionParams) AddUint256Array(value [][32]byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddUint256Array(value [][32]byte) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -267,7 +267,7 @@ func (contract *ContractFunctionParams) AddUint256Array(value [][32]byte) *Contr
return contract
}

func (contract *ContractFunctionParams) AddAddressArray(value []string) (*ContractFunctionParams, error) {
func (contract *ContractFunctionParameters) AddAddressArray(value []string) (*ContractFunctionParameters, error) {
argument := newArgument()
argument.dynamic = true

Expand Down Expand Up @@ -295,7 +295,7 @@ func (contract *ContractFunctionParams) AddAddressArray(value []string) (*Contra
return contract, nil
}

func (contract *ContractFunctionParams) AddString(value string) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddString(value string) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -309,7 +309,7 @@ func (contract *ContractFunctionParams) AddString(value string) *ContractFunctio
return contract
}

func (contract *ContractFunctionParams) AddBytes(value []byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddBytes(value []byte) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -322,7 +322,7 @@ func (contract *ContractFunctionParams) AddBytes(value []byte) *ContractFunction
return contract
}

func (contract *ContractFunctionParams) AddBytes32(value [32]byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddBytes32(value [32]byte) *ContractFunctionParameters {
argument := newArgument()

argument.value = value[:]
Expand All @@ -333,7 +333,7 @@ func (contract *ContractFunctionParams) AddBytes32(value [32]byte) *ContractFunc
return contract
}

func (contract *ContractFunctionParams) AddAddress(value string) (*ContractFunctionParams, error) {
func (contract *ContractFunctionParameters) AddAddress(value string) (*ContractFunctionParameters, error) {
if len(value) != 40 {
return contract, errors.Unwrap(fmt.Errorf("Address is required to be 40 characters"))
}
Expand All @@ -356,7 +356,7 @@ func (contract *ContractFunctionParams) AddAddress(value string) (*ContractFunct
return contract, nil
}

func (contract *ContractFunctionParams) AddBytesArray(value [][]byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddBytesArray(value [][]byte) *ContractFunctionParameters {
argument := newArgument()

argument.dynamic = true
Expand All @@ -367,7 +367,7 @@ func (contract *ContractFunctionParams) AddBytesArray(value [][]byte) *ContractF
return contract
}

func (contract *ContractFunctionParams) AddBytes32Array(value [][]byte) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddBytes32Array(value [][]byte) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -386,7 +386,7 @@ func (contract *ContractFunctionParams) AddBytes32Array(value [][]byte) *Contrac
return contract
}

func (contract *ContractFunctionParams) AddStringArray(value []string) *ContractFunctionParams {
func (contract *ContractFunctionParameters) AddStringArray(value []string) *ContractFunctionParameters {
argument := newArgument()
argument.dynamic = true

Expand All @@ -401,7 +401,7 @@ func (contract *ContractFunctionParams) AddStringArray(value []string) *Contract
return contract
}

func (contract *ContractFunctionParams) build(functionName *string) []byte {
func (contract *ContractFunctionParameters) build(functionName *string) []byte {
length := uint64(0)

functionOffset := uint64(0)
Expand Down
1 change: 0 additions & 1 deletion contract_function_result.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ func contractFunctionResultFromProtobuf(pb *proto.ContractFunctionResult) Contra
}

result := ContractFunctionResult{
ContractID: nil,
ContractCallResult: pb.ContractCallResult,
ErrorMessage: pb.ErrorMessage,
Bloom: pb.Bloom,
Expand Down
Loading

0 comments on commit 4eed2ed

Please sign in to comment.