8 changed files with 147 additions and 36 deletions
@ -1 +1 @@ |
|||
Subproject commit e912e8a5121f06b4a2ac913b74e51c0f7dcbb940 |
|||
Subproject commit fee042679938316f034ceee137cfa056be566ffd |
@ -0,0 +1,39 @@ |
|||
package com.sparrowwallet.sparrow.io; |
|||
|
|||
import com.sparrowwallet.drongo.policy.PolicyType; |
|||
import com.sparrowwallet.drongo.protocol.ScriptType; |
|||
import com.sparrowwallet.drongo.wallet.Wallet; |
|||
import org.junit.Assert; |
|||
import org.junit.Test; |
|||
|
|||
public class SpecterTest extends IoTest { |
|||
@Test |
|||
public void testImport() throws ImportException { |
|||
Specter specter = new Specter(); |
|||
Wallet wallet = specter.importWallet(getInputStream("specter-wallet.json"), null); |
|||
|
|||
Assert.assertEquals(PolicyType.SINGLE, wallet.getPolicyType()); |
|||
Assert.assertEquals(ScriptType.P2SH_P2WPKH, wallet.getScriptType()); |
|||
Assert.assertEquals(1, wallet.getDefaultPolicy().getNumSignaturesRequired()); |
|||
Assert.assertEquals("sh(wpkh(keystore1))", wallet.getDefaultPolicy().getMiniscript().getScript()); |
|||
Assert.assertEquals("4df18faa", wallet.getKeystores().get(0).getKeyDerivation().getMasterFingerprint()); |
|||
Assert.assertEquals("m/49'/0'/0'", wallet.getKeystores().get(0).getKeyDerivation().getDerivationPath()); |
|||
Assert.assertEquals("xpub6BgwyseZdeGJj2vB3FPHSGPxR1LLkr8AsAJqedrgjwBXKXXVWkH31fhwtQXgrM7uMrWjLwXhuDhhenNAh5eBdUSjrHkrKfaXutcJdAfgQ8D", wallet.getKeystores().get(0).getExtendedPublicKey().toString()); |
|||
Assert.assertTrue(wallet.isValid()); |
|||
} |
|||
|
|||
@Test |
|||
public void testMultisigImport() throws ImportException { |
|||
Specter specter = new Specter(); |
|||
Wallet wallet = specter.importWallet(getInputStream("specter-multisig-wallet.json"), null); |
|||
|
|||
Assert.assertEquals(PolicyType.MULTI, wallet.getPolicyType()); |
|||
Assert.assertEquals(ScriptType.P2WSH, wallet.getScriptType()); |
|||
Assert.assertEquals(3, wallet.getDefaultPolicy().getNumSignaturesRequired()); |
|||
Assert.assertEquals("wsh(sortedmulti(3,keystore1,keystore2,keystore3,keystore4))", wallet.getDefaultPolicy().getMiniscript().getScript()); |
|||
Assert.assertEquals("ca9a2b19", wallet.getKeystores().get(0).getKeyDerivation().getMasterFingerprint()); |
|||
Assert.assertEquals("m/48'/0'/0'/2'", wallet.getKeystores().get(0).getKeyDerivation().getDerivationPath()); |
|||
Assert.assertEquals("xpub6EhbRDNhmMX863W8RujJyAMw1vtM4MHXnsk14paK1ZBEH75k44gWqfaraXCrzg6w9pzC2yLc28vAdUfpB9ShuEB1HA9xMs6BjmRi4PKbt1K", wallet.getKeystores().get(0).getExtendedPublicKey().toString()); |
|||
Assert.assertTrue(wallet.isValid()); |
|||
} |
|||
} |
Binary file not shown.
@ -0,0 +1,5 @@ |
|||
{ |
|||
"label": "specter-multisig", |
|||
"blockheight": 646246, |
|||
"descriptor": "wsh(multi(3,[ca9a2b19/48'/0'/0'/2']xpub6EhbRDNhmMX863W8RujJyAMw1vtM4MHXnsk14paK1ZBEH75k44gWqfaraXCrzg6w9pzC2yLc28vAdUfpB9ShuEB1HA9xMs6BjmRi4PKbt1K,[046b9450/48'/0'/0'/2']xpub6Ej6a311KAYh6jUAnD4zHhgtgemM4DfMksQUNbAzXCQEkjKf5Ep2WLmMtJkmR4MHm8aEy648kzZo4cphwYhMpfwfYvHRQY4u2e4ijWzohwE,[747b698e/48'/0'/0'/2']xpub6Eb6Z1xtmWRiWKgRpHf6dHiEagGd6FLiBXrnma1nFK4PGRYqSVqVyJaxna5Mb8etSP4ATKVAvKnXG1a9HZauoAawuSDJT5RgH2HqEVHZVHY,[7bb026be/48'/0'/0'/2']xpub6FMGmJccz6dqLo9TMmXYPpZ7HUDm71RHHSTXqTUgkyP9TZmF2uexoB7qttEBtHaotopPwfAVfKfwmdEjCGabVpND1m7ix2AW2LxPuNfLZhi))" |
|||
} |
@ -0,0 +1,5 @@ |
|||
{ |
|||
"label": "specter-wallet", |
|||
"blockheight": 647153, |
|||
"descriptor": "sh(wpkh([4df18faa/49'/0'/0']xpub6BgwyseZdeGJj2vB3FPHSGPxR1LLkr8AsAJqedrgjwBXKXXVWkH31fhwtQXgrM7uMrWjLwXhuDhhenNAh5eBdUSjrHkrKfaXutcJdAfgQ8D))" |
|||
} |
Loading…
Reference in new issue