@@ -1736,6 +1736,61 @@ describe('sendManyOutputsTransaction', () => {
1736
1736
} ) ;
1737
1737
} ) ;
1738
1738
1739
+ describe ( 'authority utxo selection' , ( ) => {
1740
+ afterEach ( async ( ) => {
1741
+ await stopAllWallets ( ) ;
1742
+ await GenesisWalletHelper . clearListeners ( ) ;
1743
+ } ) ;
1744
+
1745
+ it ( 'getMintAuthority' , async ( ) => {
1746
+ // Setting up the custom token
1747
+ const hWallet = await generateWalletHelper ( ) ;
1748
+ await GenesisWalletHelper . injectFunds ( hWallet , await hWallet . getAddressAtIndex ( 0 ) , 1 ) ;
1749
+ const { hash : tokenUid } = await createTokenHelper ( hWallet , 'Token to test' , 'ATST' , 100 ) ;
1750
+
1751
+ // Mark mint authority as selected_as_input
1752
+ const [ mintInput ] = await hWallet . getMintAuthority ( tokenUid , { many : false } ) ;
1753
+ await hWallet . markUtxoSelected ( mintInput . txId , mintInput . index , true ) ;
1754
+
1755
+ // getMintAuthority should return even if the utxo is already selected_as_input
1756
+ await expect ( hWallet . getMintAuthority ( tokenUid , { many : false } ) ) . resolves . toStrictEqual ( [
1757
+ mintInput ,
1758
+ ] ) ;
1759
+ await expect (
1760
+ hWallet . getMintAuthority ( tokenUid , { many : false , only_available_utxos : false } )
1761
+ ) . resolves . toStrictEqual ( [ mintInput ] ) ;
1762
+
1763
+ // getMintAuthority should not return selected_as_input utxos if only_available_utxos is true
1764
+ await expect (
1765
+ hWallet . getMintAuthority ( tokenUid , { many : false , only_available_utxos : true } )
1766
+ ) . resolves . toStrictEqual ( [ ] ) ;
1767
+ } ) ;
1768
+
1769
+ it ( 'getMeltAuthority' , async ( ) => {
1770
+ // Setting up the custom token
1771
+ const hWallet = await generateWalletHelper ( ) ;
1772
+ await GenesisWalletHelper . injectFunds ( hWallet , await hWallet . getAddressAtIndex ( 0 ) , 1 ) ;
1773
+ const { hash : tokenUid } = await createTokenHelper ( hWallet , 'Token to test' , 'ATST' , 100 ) ;
1774
+
1775
+ // Mark melt authority as selected_as_input
1776
+ const [ meltInput ] = await hWallet . getMeltAuthority ( tokenUid , { many : false } ) ;
1777
+ await hWallet . markUtxoSelected ( meltInput . txId , meltInput . index , true ) ;
1778
+
1779
+ // getMeltAuthority should return even if the utxo is already selected_as_input
1780
+ await expect ( hWallet . getMeltAuthority ( tokenUid , { many : false } ) ) . resolves . toStrictEqual ( [
1781
+ meltInput ,
1782
+ ] ) ;
1783
+ await expect (
1784
+ hWallet . getMeltAuthority ( tokenUid , { many : false , only_available_utxos : false } )
1785
+ ) . resolves . toStrictEqual ( [ meltInput ] ) ;
1786
+
1787
+ // getMeltAuthority should not return selected_as_input utxos if only_available_utxos is true
1788
+ await expect (
1789
+ hWallet . getMeltAuthority ( tokenUid , { many : false , only_available_utxos : true } )
1790
+ ) . resolves . toStrictEqual ( [ ] ) ;
1791
+ } ) ;
1792
+ } ) ;
1793
+
1739
1794
describe ( 'createNewToken' , ( ) => {
1740
1795
afterEach ( async ( ) => {
1741
1796
await stopAllWallets ( ) ;
0 commit comments