Skip to content

Commit

Permalink
add: push encoding address
Browse files Browse the repository at this point in the history
  • Loading branch information
Aman035 committed Sep 19, 2024
1 parent dc420af commit 50ebe4a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 deletions.
10 changes: 8 additions & 2 deletions packages/core/src/lib/address/address.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@ export class Address {
* @param address
* @param env
*/
static toPushCAIP = (address: `0x${string}`, env: ENV = ENV.STAGING) => {
static toPushCAIP = (
address: `0x${string}` | `push${string}`,
env: ENV = ENV.STAGING
) => {
let network: PUSH_NETWORK;
switch (env) {
case ENV.LOCAL:
Expand All @@ -67,6 +70,9 @@ export class Address {
throw Error('Invalid ENV');
}
}
return `push:${network}:${address}`;
const pushAddress = address.startsWith(PUSH_PREFIX)
? address
: Address.evmToPush(address as `0x${string}`);
return `push:${network}:${pushAddress}`;
};
}
18 changes: 15 additions & 3 deletions packages/core/tests/address/address.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,27 @@ describe('Address', () => {
const result1 = Address.toPushCAIP(evmAddress, ENV.LOCAL);
const result2 = Address.toPushCAIP(evmAddress, ENV.DEV);
expect(result1).toEqual(result2);
expect(result1).toEqual(`push:devnet:${evmAddress}`);
expect(result1).toEqual(`push:devnet:${pushAddress}`);
});
it('should convert evm address to Push Testnet CAIP', () => {
const result = Address.toPushCAIP(evmAddress, ENV.STAGING);
expect(result).toEqual(`push:testnet:${evmAddress}`);
expect(result).toEqual(`push:testnet:${pushAddress}`);
});
it('should convert evm address to Push Mainnet CAIP', () => {
const result = Address.toPushCAIP(evmAddress, ENV.PROD);
expect(result).toEqual(`push:mainnet:${evmAddress}`);
expect(result).toEqual(`push:mainnet:${pushAddress}`);
});
it('should convert push address to Push Devnet CAIP', () => {
const result = Address.toPushCAIP(pushAddress, ENV.DEV);
expect(result).toEqual(`push:devnet:${pushAddress}`);
});
it('should convert evm address to Push Testnet CAIP', () => {
const result = Address.toPushCAIP(pushAddress, ENV.STAGING);
expect(result).toEqual(`push:testnet:${pushAddress}`);
});
it('should convert evm address to Push Mainnet CAIP', () => {
const result = Address.toPushCAIP(pushAddress, ENV.PROD);
expect(result).toEqual(`push:mainnet:${pushAddress}`);
});
});
});

0 comments on commit 50ebe4a

Please sign in to comment.