diff --git a/go.mod b/go.mod index 435cfd3e..e9908a69 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ toolchain go1.21.5 require ( filippo.io/edwards25519 v1.1.0 github.com/blinklabs-io/ouroboros-mock v0.3.1 - github.com/cosmos/cosmos-sdk v0.50.6 github.com/fxamacker/cbor/v2 v2.6.0 github.com/jinzhu/copier v0.4.0 github.com/utxorpc/go-codegen v0.5.1 @@ -16,7 +15,10 @@ require ( ) require ( - github.com/cosmos/btcutil v1.0.5 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/stretchr/testify v1.9.0 // indirect github.com/x448/float16 v0.8.4 // indirect golang.org/x/sys v0.20.0 // indirect google.golang.org/protobuf v1.33.0 // indirect diff --git a/go.sum b/go.sum index 423f2d1f..716b63be 100644 --- a/go.sum +++ b/go.sum @@ -2,10 +2,6 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/blinklabs-io/ouroboros-mock v0.3.1 h1:oQiMgH0VgsJIGy4lJGaySegObq5FsVgFTYXUO2PS2T8= github.com/blinklabs-io/ouroboros-mock v0.3.1/go.mod h1:6DosKZuBZ4mmvky3hXUzGZqqb/KhbwOiKOldwAtNoxc= -github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= -github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-sdk v0.50.6 h1:efR3MsvMHX5sxS3be+hOobGk87IzlZbSpsI2x/Vw3hk= -github.com/cosmos/cosmos-sdk v0.50.6/go.mod h1:lVkRY6cdMJ0fG3gp8y4hFrsKZqF4z7y0M2UXFb9Yt40= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fxamacker/cbor/v2 v2.6.0 h1:sU6J2usfADwWlYDAFhZBQ6TnLFBHxgesMrQfQgk1tWA= diff --git a/ledger/verify_block_body.go b/ledger/verify_block_body.go index dd184949..8825be7e 100644 --- a/ledger/verify_block_body.go +++ b/ledger/verify_block_body.go @@ -26,7 +26,6 @@ import ( "strconv" "github.com/blinklabs-io/gouroboros/cbor" - "github.com/cosmos/cosmos-sdk/types/bech32" "golang.org/x/crypto/blake2b" ) @@ -244,16 +243,11 @@ func GetBlockOutput( // We will only focus on: // pool_registration = (3, pool_params) // pool_retirement = (4, pool_keyhash, epoch) - for certIndex, cert := range tx.Certificates() { + for _, cert := range tx.Certificates() { switch v := cert.(type) { case *PoolRegistrationCertificate: - poolIdBytes := v.Operator[:] - vrfKeyHashBytes := v.VrfKeyHash[:] - vrfKeyHashHex := hex.EncodeToString(vrfKeyHashBytes) - poolId, poolIdError := PoolIdToBech32(poolIdBytes) - if poolIdError != nil { - return nil, nil, nil, fmt.Errorf("GetBlockOutput: RegisSPO => PoolIdToBech32 , tx index %v, cert index %v, error, %v", txIndex, certIndex, poolIdError.Error()) - } + poolId := NewBlake2b224(v.Operator[:]).String() + vrfKeyHashHex := hex.EncodeToString(v.VrfKeyHash[:]) regisCerts = append(regisCerts, RegisCert{ RegisPoolId: poolId, RegisPoolVrf: vrfKeyHashHex, @@ -262,11 +256,7 @@ func GetBlockOutput( case *PoolRetirementCertificate: // pool_retirement - poolIdBytes := v.PoolKeyHash[:] - poolId, poolIdError := PoolIdToBech32(poolIdBytes) - if poolIdError != nil { - return nil, nil, nil, fmt.Errorf("GetBlockOutput: RetireSPO => PoolIdToBech32, tx index %v, cert index %v, error, %v", txIndex, certIndex, poolIdError.Error()) - } + poolId := NewBlake2b224(v.PoolKeyHash[:]).String() retireEpoch := v.Epoch deRegisCerts = append(deRegisCerts, DeRegisCert{ DeRegisPoolId: poolId, @@ -281,17 +271,6 @@ func GetBlockOutput( return outputs, regisCerts, deRegisCerts, nil } -func PoolIdToBech32(data []byte) (string, error) { - pool, err := bech32.ConvertAndEncode("pool", data) - if err != nil { - return "", fmt.Errorf( - "PoolIdToBech32: ConvertAndEncode error, %v", - err.Error(), - ) - } - return pool, nil -} - func ExtractTokens(output TransactionOutput) ([]UTXOOutputToken, error) { var outputTokens []UTXOOutputToken // append lovelace first