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

Reconciliation contract: Full state instantiation #365

Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
2ea148d
Reconciliation contract admin
pbukva Jun 4, 2024
f40a112
Preliminary implemenetation
pbukva Jun 5, 2024
249980b
Utilising std.Coins.AmountOfNoDenomValidation(...)
pbukva Jun 5, 2024
1f4f231
Extending manifest with reconciliation state record and aggr. values
pbukva Jun 5, 2024
aee6ea9
Reconciliation contract: Adding setup of Item<...> states
pbukva Jun 5, 2024
0a00997
Refactoring admin update code
pbukva Jun 5, 2024
6f2b36d
Merge branch 'feat/reconciliation_contract_admin' into feat/reconcili…
pbukva Jun 5, 2024
c025259
Reconciliation: Separating transfers and contract state handling
pbukva Jun 5, 2024
a25bf6c
Adding ethereum addresses & pub keys to reconciliation .csv file
pbukva Jun 5, 2024
a8175c3
Fix of inverted boolean operator in reconciliation state update
pbukva Jun 5, 2024
a9c7f3a
Fix uninitialised sdk.Int instance
pbukva Jun 5, 2024
30f9d97
Yet another fix of uninitialised sdk.Int instance
pbukva Jun 5, 2024
f84fbc1
Fix for nil err check inverted unintentionally by copy-paste
pbukva Jun 5, 2024
9fc4795
Fix unprocesed admin addresses + reconcil. contract label update
pbukva Jun 5, 2024
c6cceae
IBC transfers: Extending manifest
pbukva Jun 5, 2024
58d8215
Extending manifest by contract cleaned, label and admin updated
pbukva Jun 6, 2024
c34d5d1
Cosmetic: namin/reformulation in code handling supply
pbukva Jun 6, 2024
52c765a
Refactoring reconciliation to completelly 2 independet functions
pbukva Jun 6, 2024
d0fc1fb
Merge branch 'feat/aasi-merger-cmd' into feat/reconciliation_contract…
pbukva Jun 6, 2024
30c7c6c
Fixing eth address encoding to binary in contract map key
pbukva Jun 6, 2024
7a1928a
Fix hex decoding issue for '0x' prefixed hex string data
pbukva Jun 6, 2024
73e2ff2
Merge branch 'feat/aasi-merger-cmd' into feat/reconciliation_contract…
pbukva Jun 10, 2024
02795c2
Reconciliation: Reworking balances map to support multiple coins
pbukva Jun 10, 2024
f265820
Reconciliation: Dropping `Denom` from the `ReconciliationContractStat…
pbukva Jun 10, 2024
8c3a144
Reconciliation: Fixing handling os state structures
pbukva Jun 10, 2024
12a0a77
Reconciliation: Fix wrongly expected in-place Coin.Add(...) behaviour
pbukva Jun 10, 2024
b65e9bf
Reconciliation: Fix bumb inverse boolean logic brain fart
pbukva Jun 10, 2024
e340676
Cosmetic
pbukva Jun 10, 2024
8478dc2
Refactoring `DropHexPrefix(...)` function
pbukva Jun 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 55 additions & 10 deletions cmd/fetchd/cmd/gen_asi_upgrade_manifest.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,71 @@ import (
"path"
)

type ASIUpgradeTransfer struct {
From string `json:"from"`
Amount types.Coins `json:"amount"`
type ASIUpgradeIBCTransfer struct {
From string `json:"from"`
ChannelID string `json:"channel_id"`
Amount types.Coins `json:"amount"`
}

type ASIUpgradeTransfers struct {
Transfer []ASIUpgradeTransfer `json:"transfer"`
To string `json:"to"`
type ASIUpgradeIBCTransfers struct {
Transfers []ASIUpgradeIBCTransfer `json:"transfer"`
To string `json:"to"`
AggregatedTransferredAmount types.Coins `json:"aggregated_transferred_amount"`
NumberOfTransfers int `json:"number_of_transfers"`
}

type ASIUpgradeReconciliationTransfer struct {
From string `json:"from"`
EthAddr string `json:"eth_addr"`
Amount types.Coins `json:"amount"`
}

type ASIUpgradeReconciliationTransfers struct {
Transfers []ASIUpgradeReconciliationTransfer `json:"transfers"`
To string `json:"to"`
AggregatedTransferredAmount types.Coins `json:"aggregated_transferred_amount"`
NumberOfTransfers int `json:"number_of_transfers"`
}

type ASIUpgradeReconciliationContractStateBalanceRecord struct {
EthAddr string `json:"eth_addr"`
Amount types.Int `json:"amount"`
}

type ASIUpgradeReconciliationContractState struct {
Balances []ASIUpgradeReconciliationContractStateBalanceRecord `json:"balances"`
AggregatedBalancesAmount types.Int `json:"aggregated_balances_amount"`
NumberOfBalanceRecords int `json:"number_of_balance_records"`
}

func NewASIUpgradeReconciliationContractState() *ASIUpgradeReconciliationContractState {
return &ASIUpgradeReconciliationContractState{AggregatedBalancesAmount: types.ZeroInt()}
}

type ASIUpgradeReconciliation struct {
Transfers ASIUpgradeReconciliationTransfers `json:"transfers"`
ContractState *ASIUpgradeReconciliationContractState `json:"contract_state"`
}

type ASIUpgradeSupply struct {
LandingAddress string `json:"landing_address"`
MintedAmount types.Coins `json:"minted_amount"`
ResultingSupplyTotal types.Coins `json:"resulting_supply_total"`
ResultingTotalSupply types.Coins `json:"resulting_total_supply"`
}

type ContractValueUpdate struct {
Address string `json:"address"`
From string `json:"from"`
To string `json:"to"`
}

type ASIUpgradeManifest struct {
Supply *ASIUpgradeSupply `json:"supply,omitempty"`
IBC *ASIUpgradeTransfers `json:"ibc,omitempty"`
Reconciliation *ASIUpgradeTransfers `json:"reconciliation,omitempty"`
Supply *ASIUpgradeSupply `json:"supply,omitempty"`
IBC *ASIUpgradeIBCTransfers `json:"ibc,omitempty"`
Reconciliation *ASIUpgradeReconciliation `json:"reconciliation,omitempty"`
ContractsStateCleaned []string `json:"contracts_state_cleaned,omitempty"`
ContractsAdminUpdated []ContractValueUpdate `json:"contracts_admin_updated,omitempty"`
ContractsLabelUpdated []ContractValueUpdate `json:"contracts_label_updated,omitempty"`
}

func SaveASIManifest(manifest *ASIUpgradeManifest, config *config2.Config) error {
Expand Down
Loading
Loading