From 50851bdad6f7eed1cf6e2f688bc50ce43c026e5f Mon Sep 17 00:00:00 2001 From: "Alisher A. Khassanov" Date: Fri, 24 May 2024 10:15:27 +0500 Subject: [PATCH 1/3] Remove unused type of `pallet-ddc-clusters` --- blockchain/pallets/ddcclusters.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/blockchain/pallets/ddcclusters.go b/blockchain/pallets/ddcclusters.go index 42fdb6c..9b220fa 100644 --- a/blockchain/pallets/ddcclusters.go +++ b/blockchain/pallets/ddcclusters.go @@ -15,8 +15,6 @@ type Cluster struct { Props ClusterProps } -type ClustersNodes map[ClusterId][]NodePubKey - type ClusterProps struct { NodeProviderAuthContract types.OptionAccountID ErasureCodingRequired types.U32 From 93cb0332e02ed9d2f6ac82f27de2545e59322444 Mon Sep 17 00:00:00 2001 From: "Alisher A. Khassanov" Date: Fri, 24 May 2024 10:08:19 +0500 Subject: [PATCH 2/3] Remove unused definitions of `pallet-ddc-payouts` --- blockchain/pallets/ddcpayouts.go | 134 ------------------------------- 1 file changed, 134 deletions(-) diff --git a/blockchain/pallets/ddcpayouts.go b/blockchain/pallets/ddcpayouts.go index 9df6876..99f04dc 100644 --- a/blockchain/pallets/ddcpayouts.go +++ b/blockchain/pallets/ddcpayouts.go @@ -1,98 +1,12 @@ package pallets import ( - "reflect" - gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4" - "github.com/centrifuge/go-substrate-rpc-client/v4/scale" "github.com/centrifuge/go-substrate-rpc-client/v4/types" "github.com/centrifuge/go-substrate-rpc-client/v4/types/codec" ) -type BatchIndex = types.U16 - -type BillingReport struct { - State State - Vault types.AccountID - TotalCustomerCharges CustomerCharge - TotalDistributedReward types.U128 - TotalNodeUsage NodeUsage - ChargingMaxBatchIndex BatchIndex - ChargingProcessedBatches []BatchIndex - RewardingMaxBatchIndex BatchIndex - RewardingProcessedBatches []BatchIndex -} - -type CustomerCharge struct { - Transfer types.U128 - Storage types.U128 - Puts types.U128 - Gets types.U128 -} - -type NodeUsage struct { - TransferredBytes types.U64 - StoredBytes types.U64 - NumberOfPuts types.U128 - NumberOfGets types.U128 -} - -type State struct { - IsNotInitialized bool - IsInitialized bool - IsChargingCustomers bool - IsCustomersChargedWithFees bool - IsRewardingProviders bool - IsProvidersRewarded bool - IsFinalized bool -} - -func (m *State) Decode(decoder scale.Decoder) error { - b, err := decoder.ReadOneByte() - if err != nil { - return err - } - - i := int(b) - - v := reflect.ValueOf(m) - if i > v.NumField() { - return ErrUnknownVariant - } - - v.Field(i).SetBool(true) - - return nil -} - -func (m State) Encode(encoder scale.Encoder) error { - var err1, err2 error - v := reflect.ValueOf(m) - - for i := 0; i < v.NumField(); i++ { - if v.Field(i).Bool() { - err1 = encoder.PushByte(byte(i)) - err2 = encoder.Encode(i + 1) // values are defined from 1 - break - } - if i == v.NumField()-1 { - return ErrUnknownVariant - } - } - - if err1 != nil { - return err1 - } - if err2 != nil { - return err2 - } - - return nil -} - type DdcPayoutsApi interface { - GetActiveBillingReports(cluster ClusterId, era DdcEra) (types.Option[BillingReport], error) - GetAuthorisedCaller() (types.Option[types.AccountID], error) GetDebtorCustomers(cluster ClusterId, account types.AccountID) (types.Option[types.U128], error) } @@ -108,54 +22,6 @@ func NewDdcPayoutsApi(substrateApi *gsrpc.SubstrateAPI, meta *types.Metadata) Dd } } -func (api *ddcPayoutsApi) GetActiveBillingReports(cluster ClusterId, era DdcEra) (types.Option[BillingReport], error) { - maybeV := types.NewEmptyOption[BillingReport]() - - bytesCluster, err := codec.Encode(cluster) - if err != nil { - return maybeV, err - } - - bytesEra, err := codec.Encode(era) - if err != nil { - return maybeV, err - } - - key, err := types.CreateStorageKey(api.meta, "DdcPayouts", "DebtorCustomers", bytesCluster, bytesEra) - if err != nil { - return maybeV, err - } - - var v BillingReport - ok, err := api.substrateApi.RPC.State.GetStorageLatest(key, &v) - if !ok || err != nil { - return maybeV, err - } - - maybeV.SetSome(v) - - return maybeV, nil -} - -func (api *ddcPayoutsApi) GetAuthorisedCaller() (types.Option[types.AccountID], error) { - maybeV := types.NewEmptyOption[types.AccountID]() - - key, err := types.CreateStorageKey(api.meta, "DdcPayouts", "AuthorisedCaller") - if err != nil { - return maybeV, err - } - - var v types.AccountID - ok, err := api.substrateApi.RPC.State.GetStorageLatest(key, &v) - if !ok || err != nil { - return maybeV, err - } - - maybeV.SetSome(v) - - return maybeV, nil -} - func (api *ddcPayoutsApi) GetDebtorCustomers(cluster ClusterId, account types.AccountID) (types.Option[types.U128], error) { maybeV := types.NewEmptyOption[types.U128]() From 06c7187cf6986b6a0ce1ab4a2bda210db2da81e4 Mon Sep 17 00:00:00 2001 From: "Alisher A. Khassanov" Date: Fri, 24 May 2024 10:11:31 +0500 Subject: [PATCH 3/3] Add `blockchain` package `README.md` --- blockchain/README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 blockchain/README.md diff --git a/blockchain/README.md b/blockchain/README.md new file mode 100644 index 0000000..e768f40 --- /dev/null +++ b/blockchain/README.md @@ -0,0 +1,4 @@ +# Cere Blockchain RPC Client + +This package supports a minimal subset of Cere Network blockchain types definitions and RPCs explicitly requested by users. +Please [create an issue](https://github.com/Cerebellum-Network/cere-ddc-sdk-go/issues/new) requesting support for a missing RPC you need.