diff --git a/.changeset/old-lions-lick.md b/.changeset/old-lions-lick.md new file mode 100644 index 00000000..69184744 --- /dev/null +++ b/.changeset/old-lions-lick.md @@ -0,0 +1,9 @@ +--- +"@fuel-connectors/burner-wallet-connector": minor +"@fuel-connectors/evm-connector": minor +"@fuel-connectors/fuel-wallet": minor +"@fuel-connectors/bako-safe": minor +"@fuel-connectors/common": minor +--- + +feat!: change address return to use toString instead of b256 diff --git a/examples/react-app/src/components/transfer.tsx b/examples/react-app/src/components/transfer.tsx index ecaa45d2..0130ff26 100644 --- a/examples/react-app/src/components/transfer.tsx +++ b/examples/react-app/src/components/transfer.tsx @@ -8,7 +8,7 @@ import Button from './button'; import Feature from './feature'; import Notification, { type Props as NotificationProps } from './notification'; -const DEFAULT_ADDRESS = Address.fromRandom().toB256(); +const DEFAULT_ADDRESS = Address.fromRandom().toString(); interface Props { isSigning: boolean; diff --git a/packages/bako-safe/tests/BakoSafeConnector.test.ts b/packages/bako-safe/tests/BakoSafeConnector.test.ts index 8311496b..03ac0078 100644 --- a/packages/bako-safe/tests/BakoSafeConnector.test.ts +++ b/packages/bako-safe/tests/BakoSafeConnector.test.ts @@ -117,7 +117,7 @@ describe('signMessage()', () => { const connector = new BakoSafeConnector(); expect( - connector.signMessage(Address.fromRandom().toAddress(), 'message'), + connector.signMessage(Address.fromRandom().toString(), 'message'), ).rejects.toThrowError('Method not implemented.'); }); }); diff --git a/packages/burner-wallet-connector/src/BurnerWalletConnector.ts b/packages/burner-wallet-connector/src/BurnerWalletConnector.ts index aaf1b1f2..90838f1f 100644 --- a/packages/burner-wallet-connector/src/BurnerWalletConnector.ts +++ b/packages/burner-wallet-connector/src/BurnerWalletConnector.ts @@ -161,7 +161,7 @@ export class BurnerWalletConnector extends FuelConnector { this.storage.setItem(BURNER_WALLET_STATUS, 'connected'), ]); - const accountAddress = this.burnerWallet?.address.toAddress(); + const accountAddress = this.burnerWallet?.address.toString(); this.emit(this.events.connection, true); this.emit(this.events.currentAccount, accountAddress); @@ -178,7 +178,7 @@ export class BurnerWalletConnector extends FuelConnector { throw Error('Wallet not connected'); } - const account = this.burnerWallet.address.toAddress(); + const account = this.burnerWallet.address.toString(); if (!account) { return []; @@ -235,7 +235,7 @@ export class BurnerWalletConnector extends FuelConnector { throw Error('Wallet not connected'); } - return this.burnerWallet.address.toB256() || null; + return this.burnerWallet.address.toString() || null; } async addAssets(_assets: Asset[]): Promise { diff --git a/packages/burner-wallet-connector/src/tests/burnerWalletConnector.test.ts b/packages/burner-wallet-connector/src/tests/burnerWalletConnector.test.ts index b17ddc81..d8b23f69 100644 --- a/packages/burner-wallet-connector/src/tests/burnerWalletConnector.test.ts +++ b/packages/burner-wallet-connector/src/tests/burnerWalletConnector.test.ts @@ -93,7 +93,7 @@ describe('Burner Wallet Connector', () => { expect(connector).to.be.an.instanceOf(BurnerWalletConnector); expect(await connector.currentAccount()).to.be.equal( - wallet.address.toB256(), + wallet.address.toString(), ); }); @@ -117,7 +117,7 @@ describe('Burner Wallet Connector', () => { expect(connector).to.be.an.instanceOf(BurnerWalletConnector); expect(await connector.currentAccount()).to.be.equal( - wallet.address.toB256(), + wallet.address.toString(), ); }); @@ -144,7 +144,7 @@ describe('Burner Wallet Connector', () => { expect(connector).to.be.an.instanceOf(BurnerWalletConnector); expect(await connector.currentAccount()).to.be.equal( - wallet2.address.toB256(), + wallet2.address.toString(), ); }); diff --git a/packages/common/src/PredicateConnector.ts b/packages/common/src/PredicateConnector.ts index 75812496..a00f485c 100644 --- a/packages/common/src/PredicateConnector.ts +++ b/packages/common/src/PredicateConnector.ts @@ -168,7 +168,7 @@ export abstract class PredicateConnector extends FuelConnector { throw Error('No predicate account found'); } - const b256Address = Address.fromDynamicInput(address).toB256(); + const b256Address = Address.fromDynamicInput(address).toString(); const { fuelProvider } = await this.getProviders(); const chainId = fuelProvider.getChainId(); const walletAccount = this.predicateAccount.getAccountAddress( diff --git a/packages/common/src/PredicateFactory.ts b/packages/common/src/PredicateFactory.ts index 4ea3c019..8abf9530 100644 --- a/packages/common/src/PredicateFactory.ts +++ b/packages/common/src/PredicateFactory.ts @@ -48,7 +48,7 @@ export class PredicateFactory { SIGNER: this.adapter.convertAddress(address), }, ); - return Address.fromB256(getPredicateRoot(predicateBytes)).toB256(); + return Address.fromB256(getPredicateRoot(predicateBytes)).toString(); }); build = memoize( diff --git a/packages/common/src/PredicateWalletAdapter.ts b/packages/common/src/PredicateWalletAdapter.ts index 3f4692b2..9c211fb7 100644 --- a/packages/common/src/PredicateWalletAdapter.ts +++ b/packages/common/src/PredicateWalletAdapter.ts @@ -18,7 +18,7 @@ export interface PredicateWalletAdapter { export class EthereumWalletAdapter implements PredicateWalletAdapter { convertAddress = (address: string): string => { - return Address.fromEvmAddress(address).toB256(); + return Address.fromEvmAddress(address).toString(); }; generateFakeAccount = (): FakeAccount => { diff --git a/packages/evm-connector/src/test/evmWalletConnector.test.ts b/packages/evm-connector/src/test/evmWalletConnector.test.ts index bb534d73..f70e8154 100644 --- a/packages/evm-connector/src/test/evmWalletConnector.test.ts +++ b/packages/evm-connector/src/test/evmWalletConnector.test.ts @@ -64,7 +64,7 @@ async function createTransaction( tx.inputs?.forEach((input) => { if ( input.type === InputType.Coin && - hexlify(input.owner) === predicate.address.toB256() + hexlify(input.owner) === predicate.address.toString() ) { input.predicate = arrayify(predicate.bytes); } diff --git a/packages/fuel-wallet/src/FuelWalletConnector.ts b/packages/fuel-wallet/src/FuelWalletConnector.ts index b1930f9a..b0ee0c55 100644 --- a/packages/fuel-wallet/src/FuelWalletConnector.ts +++ b/packages/fuel-wallet/src/FuelWalletConnector.ts @@ -176,7 +176,7 @@ export class FuelWalletConnector extends FuelConnector { async currentAccount(): Promise { const account = await this.client.request('currentAccount', {}); if (!account) return null; - return Address.fromDynamicInput(account).toB256(); + return Address.fromDynamicInput(account).toString(); } async signMessage(address: string, message: string): Promise { diff --git a/packages/fuel-wallet/src/tests/FuelWalletConnector.test.ts b/packages/fuel-wallet/src/tests/FuelWalletConnector.test.ts index 5f96c56e..618e4ae9 100644 --- a/packages/fuel-wallet/src/tests/FuelWalletConnector.test.ts +++ b/packages/fuel-wallet/src/tests/FuelWalletConnector.test.ts @@ -52,14 +52,14 @@ describe('FuelWalletConnector', () => { test('should request accounts', async () => { const request = requestMock.mockReturnValue( Promise.resolve([ - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ]), ); const connector = new FuelWalletConnector(); const result = await connector.accounts(); expect(result).toEqual([ - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ]); expect(request).toHaveBeenCalledWith('accounts', {}); }); @@ -67,14 +67,14 @@ describe('FuelWalletConnector', () => { test('should request current account', async () => { const request = requestMock.mockReturnValue( Promise.resolve( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ), ); const connector = new FuelWalletConnector(); const result = await connector.currentAccount(); expect(result).toBe( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(request).toHaveBeenCalledWith('currentAccount', {}); }); @@ -84,21 +84,21 @@ describe('FuelWalletConnector', () => { test('should request sign message', async () => { const request = requestMock.mockReturnValue( Promise.resolve( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ), ); const connector = new FuelWalletConnector(); const result = await connector.signMessage( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', 'hello', ); expect(result).toBe( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(request).toHaveBeenCalledWith('signMessage', { address: - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', message: 'hello', }); }); @@ -107,7 +107,7 @@ describe('FuelWalletConnector', () => { const connector = new FuelWalletConnector(); await expect( connector.signMessage( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ' ', ), ).rejects.toThrowError('Message is required'); @@ -116,19 +116,19 @@ describe('FuelWalletConnector', () => { test('should request send transaction', async () => { const request = requestMock.mockReturnValue( Promise.resolve( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ), ); const connector = new FuelWalletConnector(); const result = await connector.sendTransaction( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', { type: TransactionType.Create, }, ); expect(result).toBe( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(request).toHaveBeenCalled(); }); @@ -137,7 +137,7 @@ describe('FuelWalletConnector', () => { const connector = new FuelWalletConnector(); await expect( connector.sendTransaction( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', null as unknown as TransactionRequestLike, ), ).rejects.toThrowError('Transaction is required'); @@ -148,14 +148,14 @@ describe('FuelWalletConnector', () => { test('should list assets', async () => { const request = requestMock.mockReturnValue( Promise.resolve([ - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ]), ); const connector = new FuelWalletConnector(); const result = await connector.assets(); expect(result).toEqual([ - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ]); expect(request).toHaveBeenCalledWith('assets', {}); }); @@ -165,20 +165,20 @@ describe('FuelWalletConnector', () => { test('should get ABI', async () => { const request = requestMock.mockReturnValue( Promise.resolve( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ), ); const connector = new FuelWalletConnector(); const result = await connector.getABI( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(result).toBe( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(request).toHaveBeenCalledWith('getAbi', { contractId: - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', }); }); @@ -187,13 +187,13 @@ describe('FuelWalletConnector', () => { const connector = new FuelWalletConnector(); const result = await connector.addABI( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', {} as FuelABI, ); expect(result).toBe(true); expect(request).toHaveBeenCalledWith('addAbi', { abiMap: { - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb': + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb': {}, }, }); @@ -204,12 +204,12 @@ describe('FuelWalletConnector', () => { const connector = new FuelWalletConnector(); const result = await connector.hasABI( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(result).toBe(true); expect(request).toHaveBeenCalledWith('getAbi', { contractId: - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', }); }); }); @@ -250,14 +250,14 @@ describe('FuelWalletConnector', () => { test('should return version', async () => { const request = requestMock.mockReturnValue( Promise.resolve( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ), ); const connector = new FuelWalletConnector(); const result = await connector.version(); expect(result).toBe( - '0x1dc6604c6943e7c618ecdee1e815dd4051ebf0a0e822986f5550b960ff4126fb', + '0x1DC6604C6943E7C618ecDeE1e815dD4051EBf0A0E822986F5550B960fF4126fb', ); expect(request).toHaveBeenCalledWith('version', { app: '0.0.0', diff --git a/vitest.workspace.ts b/vitest.workspace.ts index 1f720a45..74f75ef1 100644 --- a/vitest.workspace.ts +++ b/vitest.workspace.ts @@ -5,6 +5,7 @@ export default defineWorkspace([ { test: { include: ['tests/**/*.test.{ts}'], + exclude: ['codeInContextPlugin.test.ts'], name: 'node', environment: 'node', },