Post
Topic
Board Hardware wallets
Merits 2 from 1 user
Re: REWARD $50: Funds not visible after using XPub to receive money in my store
by
0xwork
on 06/07/2022, 22:14:53 UTC
⭐ Merited by vapourminer (2)
Your xpub should be the extended master public key. Why do you believe that your derivation path is formed according to BIP44?
Why do you believe that your provided per user path is hardened (like you tried with m/44'/client_id'/0' and m/44'/0'/clientid'/0')? I don't see any clue for that in your code. Is that somewhere implicitly used in the modules of that Bit-Wasp/bitcoin-phpLibrary?

Probably you'd need to dig in the code there further. You will have to find out what full derivation path for a client user address is used.

To narrow it down, print some log line for $pubPrefix, $config and add some log lines for function derivePath(), maybe you can see there how the derivation path is assembled.


here is the log when i use 0/0 in my script :


$config :

Code:
BitWasp\Bitcoin\Key\Deterministic\HdPrefix\GlobalPrefixConfig Object
(
    [networkConfigs:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\GlobalPrefixConfig:private] => Array
        (
            [BitWasp\Bitcoin\Network\Networks\Bitcoin] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig Object
                (
                    [network:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig:private] => BitWasp\Bitcoin\Network\Networks\Bitcoin Object
                        (
                            [base58PrefixMap:protected] => Array
                                (
                                    [p2pkh] => 00
                                    [p2sh] => 05
                                    [wif] => 80
                                )

                            [bech32PrefixMap:protected] => Array
                                (
                                    [segwit] => bc
                                )

                            [bip32PrefixMap:protected] => Array
                                (
                                    [xpub] => 0488b21e
                                    [xprv] => 0488ade4
                                )

                            [bip32ScriptTypeMap:protected] => Array
                                (
                                    [xpub] => pubkeyhash
                                    [xprv] => pubkeyhash
                                )

                            [signedMessagePrefix:protected] => Bitcoin Signed Message
                            [p2pMagic:protected] => d9b4bef9
                        )

                    [scriptPrefixMap:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig:private] => Array
                        (
                            [0488ade4] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix Object
                                (
                                    [privatePrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488ade4
                                    [publicPrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488b21e
                                    [scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
                                        (
                                            [pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
                                                (
                                                    [ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
                                                        (
                                                            [math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
                                                                (
                                                                )

                                                            [generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
                                                                (
                                                                    [x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
                                                                    [y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
                                                                    [z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
                                                                    [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                                                                        (
                                                                            [a] => 0
                                                                            [b] => 7
                                                                            [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                                                                        )

                                                                )

                                                        )

                                                )

                                        )

                                )

                            [0488b21e] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix Object
                                (
                                    [privatePrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488ade4
                                    [publicPrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488b21e
                                    [scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
                                        (
                                            [pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
                                                (
                                                    [ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
                                                        (
                                                            [math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
                                                                (
                                                                )

                                                            [generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
                                                                (
                                                                    [x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
                                                                    [y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
                                                                    [z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
                                                                    [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                                                                        (
                                                                            [a] => 0
                                                                            [b] => 7
                                                                            [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                                                                        )

                                                                )

                                                        )

                                                )

                                        )

                                )

                        )

                    [scriptTypeMap:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig:private] => Array
                        (
                            [pubkeyhash] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix Object
                                (
                                    [privatePrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488ade4
                                    [publicPrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488b21e
                                    [scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
                                        (
                                            [pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
                                                (
                                                    [ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
                                                        (
                                                            [math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
                                                                (
                                                                )

                                                            [generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
                                                                (
                                                                    [x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
                                                                    [y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
                                                                    [z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
                                                                    [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                                                                        (
                                                                            [a] => 0
                                                                            [b] => 7
                                                                            [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                                                                        )

                                                                )

                                                        )

                                                )

                                        )

                                )

                        )

                )

        )

)


derivePath() /$child_key :

Code:
BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey Object
(
    [ecAdapter:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
        (
            [math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
                (
                )

            [generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
                (
                    [x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
                    [y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
                    [z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
                    [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                        (
                            [a] => 0
                            [b] => 7
                            [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                        )

                )

        )

    [depth:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => 5
    [parentFingerprint:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => 723835999
    [sequence:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => 0
    [chainCode:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => BitWasp\Buffertools\Buffer Object
        (
            [size] => 32
            [buffer] => 0xfb02983db7403c801564ac0282bec2be39722325968b530fc3505898e3b346da
        )

    [key:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey Object
        (
            [ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
                (
                    [math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
                        (
                        )

                    [generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
                        (
                            [x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
                            [y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
                            [z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
                            [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                                (
                                    [a] => 0
                                    [b] => 7
                                    [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                                )

                        )

                )

            [point:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] => Mdanter\Ecc\Primitives\Point Object
                (
                    [x] => 109756113754416006883068144059295232931743649784206556207715924624422608984554
                    [y] => 30336686192482416354579004682961920948817072959615255523669782145222377339335
                    [z] => 0
                    [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                        (
                            [a] => 0
                            [b] => 7
                            [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                        )

                )

            [prefix:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] =>
            [compressed:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] => 1
            [pubKeyHash:protected] =>
        )

    [scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
        (
            [pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
                (
                    [ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
                        (
                            [math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
                                (
                                )

                            [generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
                                (
                                    [x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
                                    [y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
                                    [z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
                                    [curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
                                        (
                                            [a] => 0
                                            [b] => 7
                                            [prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
                                        )

                                )

                        )

                )

        )

    [scriptAndSignData:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] =>
)