Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIP-64 / CIP-66 compatible TransactionArgs #123

Merged
merged 11 commits into from
Jun 12, 2024
Merged

CIP-64 / CIP-66 compatible TransactionArgs #123

merged 11 commits into from
Jun 12, 2024

Conversation

ezdac
Copy link

@ezdac ezdac commented May 8, 2024

Fixes #109

Add CIP-66 transaction type

This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible

The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations.

@ezdac ezdac force-pushed the ezdac/issue-109 branch 3 times, most recently from a314ec1 to 51b4d8e Compare May 8, 2024 15:15
@ezdac ezdac changed the base branch from celo4 to ezdac/fix-estimate-gas May 14, 2024 09:52
@ezdac ezdac force-pushed the ezdac/issue-109 branch from 51b4d8e to 44db2fc Compare May 14, 2024 12:09
@ezdac ezdac force-pushed the ezdac/fix-estimate-gas branch from dc37292 to 947fc1c Compare May 14, 2024 15:45
Base automatically changed from ezdac/fix-estimate-gas to celo4 May 15, 2024 09:17
@ezdac ezdac force-pushed the ezdac/issue-109 branch 3 times, most recently from b11f374 to 9998929 Compare May 16, 2024 11:39
@ezdac ezdac changed the base branch from celo4 to karlb/celo5-3 May 16, 2024 11:40
@ezdac ezdac force-pushed the ezdac/issue-109 branch from 9998929 to d14a9f1 Compare May 16, 2024 12:13
@ezdac ezdac changed the base branch from karlb/celo5-3 to celo5 May 22, 2024 11:03
@ezdac ezdac force-pushed the ezdac/issue-109 branch from d14a9f1 to 2cf3ac9 Compare May 22, 2024 11:09
@ezdac ezdac self-assigned this Jun 5, 2024
@ezdac ezdac force-pushed the ezdac/issue-109 branch from 2cf3ac9 to 3689a77 Compare June 11, 2024 11:40
@ezdac ezdac marked this pull request as ready for review June 11, 2024 13:09
@ezdac ezdac requested a review from karlb June 11, 2024 13:14
Copy link

@karlb karlb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me. Just some minor comments.

Will this allow creating CIP-64 txs from the JS console, or does that require additional changes?

Comment on lines 113 to +114
feeCurrency() *common.Address
maxFeeInFeeCurrency() *big.Int
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC @piersy suggested that we can avoid extending TxData by checking the tx type and casting to a specific tx type whenever we want to use a tx-type-specific attribute. I think that can work, but for consistency it should either be done for feeCurrency too or not at all.
I think going with the current approach is fine for now. I just wanted to bring up the point to see if there are any strong opionions or other thoughs about it.

Copy link
Author

@ezdac ezdac Jun 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I generally don't like the concept of the TxData interface exposing the union of all struct fields.
If I would contribute to upstream, I would vote to keep the changes of this PR as is for the purpose of consistency though.
When considering minimizing the diff and stronger segregation of Celo specific features for our fork I tend to lean towards the suggestion of @piersy.

So do you suggest implementing this in this PR?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, let's keep it as it is. If we want to change it, we should do so in a separate PR.

@@ -628,6 +632,11 @@ func (tx *Transaction) FeeCurrency() *common.Address {
return copyAddressPtr(tx.inner.feeCurrency())
}

// MaxFeeInFeeCurrency returns the max fee in the fee_currency for celo denominated txs.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment feels too much like the variable name. We can add some more information here.

Suggestion:

MaxFeeInFeeCurrency is only used to guard against very quickly changing exchange rates. Txs must be discarded if MaxFeeInFeeCurrency is exceeded.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in dbb2c57

Comment on lines 156 to 165
type Message struct {
To *common.Address
From common.Address
Nonce uint64
Value *big.Int
GasLimit uint64
GasPrice *big.Int
GasFeeCap *big.Int
GasTipCap *big.Int
To *common.Address
From common.Address
Nonce uint64
Value *big.Int
GasLimit uint64
GasPrice *big.Int
GasFeeCap *big.Int
GasTipCap *big.Int

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like an unnecessary change.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in dbb2c57

@@ -213,7 +213,7 @@ func TransactionToMessage(tx *types.Transaction, s types.Signer, baseFee *big.In
}
// If baseFee provided, set gasPrice to effectiveGasPrice.
if baseFee != nil {
if msg.FeeCurrency != nil {
if tx.Type() == types.CeloDynamicFeeTxType {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this change safe for the case where tx.Type() == types.CeloDynamicFeeTxType but msg.FeeCurrency == nil? Unfortunately, we didn't forbid nil currencies for CIP-64.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the ConvertGoldToCurrency function just returns the passed in value in that case (here baseFee, which has the same effect as omitting the if case).

Comment on lines +448 to +452
gasPrice *big.Int
gasFeeCap *big.Int
gasTipCap *big.Int
blobFeeCap *big.Int
maxFeeInFeeCurrency *big.Int
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding a // Celo specific comment in between will reduce the diff size because it breaks the formatter's alignment into two parts. Not sure if that is overall better in this case.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in dbb2c57

@ezdac
Copy link
Author

ezdac commented Jun 12, 2024

Will this allow creating CIP-64 txs from the JS console, or does that require additional changes?

I'm not sure what JS console you mean, but in general, if you add an additional argument feeCurrency to calls like eth_fillTransaction and eth_signTransaction (local node with keystore) you should now get back a CIP-64 transaction with filled in defaults (see the added test).

However it seems that most client libraries construct their transactions by potentially making individual calls to eth_gasPrice etc, then rlp-encoding and signing locally and using eth_sendRawTransaction:
#109 (comment)

@ezdac ezdac merged commit 404e6b2 into celo5 Jun 12, 2024
7 checks passed
@ezdac ezdac deleted the ezdac/issue-109 branch June 12, 2024 08:38
@karlb
Copy link

karlb commented Jun 12, 2024

I'm not sure what JS console you mean

I meant to one you get with geth --dev console

carterqw2 pushed a commit that referenced this pull request Jun 12, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
@aaronmgdr
Copy link
Member

aaronmgdr commented Jun 18, 2024

@karlb can we talk about the eth_fillTransaction is it true that if i send params like
{feeCurrency: "0x....", value: 0, data: '0x...'} it will give back
{feeCurrency: "0x....", value: 0, data: '0x...', maxFeePerGas: '0x', maxPriorityFeePerGas: '0x', maxFeeInFeeCurrency: '0x', gas: '0x' }

karlb pushed a commit that referenced this pull request Jul 10, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Jul 10, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Jul 12, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Aug 20, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Aug 26, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Aug 30, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Oct 11, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Dec 13, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Dec 16, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
karlb pushed a commit that referenced this pull request Dec 17, 2024
Fixes #109

Add CIP-66 transaction type
This introduces the CeloDenominatedTx type, which will when implemented allow for the fee-currency to be denominated in cel2 native token.

Make the TransactionArgs CIP-64/CIP-66 compatible
The TransactionArgs are used in some API endpoints to fill incomplete fields of passed in transactions and then
convert this internally to an EVM-message or Transaction. This PR adds code that distinguishes some combination of passed in fields for the TransactionArgs between CIP-64 and CIP-66 transactions in order to create the concrete internal transaction type. The filling of missing required fields now considers wether the transaction is Celo-denominated or not.
Additionally, the new MaxFeeInFeeCurrency field is passed along to the internal transaction representations

Included commits:

* Format comments in TransactionArgs fields

* Add CIP-66 tx type (Celo denominated)

Co-authored-by: bandu

* Fix nil-deref in CIP-66 Transaction getter

* Fix required RLP field for fee-currency in CIP66

* Fix initialize MaxFeePerFeeCurrency value upon copy

* Convert TransactionArgs to CIP-64/66 transaction

Closes #109

* Add MaxFeeInFeeCurrency to EVM Message

* Fix CIP-64/66 related sanity checks

The fee-currency conversion pre-London (legacy-tx) was unneccessary,
since we don't allow celo transactions here.

Additionally some sanity-checks regarding Celo related fields were
missing

* Add tests for CIP-64/66 compatible TransactionArgs

* Fix call-arg naming for currency conversion

* Fix comments and formatting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ensure TransactionArgs works with cip-64 and cip-66
3 participants