Skip to content

Commit a619dbf

Browse files
committed
fix: aleo address to bytes
1 parent dadaff9 commit a619dbf

4 files changed

Lines changed: 38 additions & 2 deletions

File tree

typescript/aleo-sdk/src/deploy.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ const main = async () => {
2424
const bytes = addressToBytesAleo(address);
2525
console.log('signer bytes', bytes);
2626
console.log('signer address from bytes', bytesToAddressAleo(bytes));
27+
28+
const mailboxAddress = 'mailbox.aleo';
29+
console.log('mailbox address: ', mailboxAddress);
30+
const bytes1 = addressToBytesAleo(mailboxAddress);
31+
console.log('mailbox bytes', bytes1);
32+
console.log('mailbox address from bytes', bytesToAddressAleo(bytes1));
2733
} catch (err) {
2834
console.log(err);
2935
}

typescript/utils/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"version": "19.7.0",
55
"dependencies": {
66
"@cosmjs/encoding": "^0.32.4",
7+
"@provablehq/sdk": "^0.9.11",
78
"@solana/web3.js": "^1.98.4",
89
"bech32": "^2.0.0",
910
"bignumber.js": "^9.1.1",

typescript/utils/src/addresses.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { fromBech32, normalizeBech32, toBech32 } from '@cosmjs/encoding';
2+
import { Program } from '@provablehq/sdk/mainnet.js';
23
import { PublicKey } from '@solana/web3.js';
34
import { bech32m } from 'bech32';
45
import { Wallet, utils as ethersUtils } from 'ethers';
@@ -19,7 +20,7 @@ const COSMOS_NATIVE_ADDRESS_REGEX = /^(0x)?[0-9a-fA-F]{64}$/;
1920
const STARKNET_ADDRESS_REGEX = /^(0x)?[0-9a-fA-F]{64}$/;
2021
const RADIX_ADDRESS_REGEX =
2122
/^(account|component)_(rdx|sim|tdx_[\d]_)[a-z0-9]{55}$/;
22-
const ALEO_ADDRESS_REGEX = /^aleo1[a-z0-9]{58}$/;
23+
const ALEO_ADDRESS_REGEX = /^(aleo1[a-z0-9]{58}|[A-Za-z0-9_]+\.aleo)$/;
2324

2425
const HEX_BYTES32_REGEX = /^0x[a-fA-F0-9]{64}$/;
2526

@@ -431,8 +432,20 @@ export function addressToBytesRadix(address: Address): Uint8Array {
431432
}
432433

433434
export function addressToBytesAleo(address: Address): Uint8Array {
435+
let aleoAddress = address;
436+
437+
if (new RegExp('^[A-Za-z0-9_]+\.aleo$').test(address)) {
438+
aleoAddress = Program.fromString(
439+
Program.getCreditsProgram()
440+
.toString()
441+
.replaceAll('credits.aleo', address),
442+
)
443+
.address()
444+
.to_string();
445+
}
446+
434447
let byteArray = new Uint8Array(
435-
bech32m.fromWords(bech32m.decode(address).words),
448+
bech32m.fromWords(bech32m.decode(aleoAddress).words),
436449
);
437450

438451
return byteArray;

yarn.lock

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8716,6 +8716,7 @@ __metadata:
87168716
"@cosmjs/encoding": "npm:^0.32.4"
87178717
"@eslint/js": "npm:^9.31.0"
87188718
"@hyperlane-xyz/tsconfig": "workspace:^"
8719+
"@provablehq/sdk": "npm:^0.9.11"
87198720
"@solana/web3.js": "npm:^1.98.4"
87208721
"@types/lodash-es": "npm:^4.17.12"
87218722
"@types/mocha": "npm:^10.0.1"
@@ -11507,6 +11508,21 @@ __metadata:
1150711508
languageName: node
1150811509
linkType: hard
1150911510

11511+
"@provablehq/sdk@npm:^0.9.11":
11512+
version: 0.9.11
11513+
resolution: "@provablehq/sdk@npm:0.9.11"
11514+
dependencies:
11515+
"@provablehq/wasm": "npm:^0.9.11"
11516+
"@scure/base": "npm:^2.0.0"
11517+
comlink: "npm:^4.4.2"
11518+
core-js: "npm:^3.40.0"
11519+
mime: "npm:^4.0.6"
11520+
sync-request: "npm:^6.1.0"
11521+
xmlhttprequest-ssl: "npm:^3.1.0"
11522+
checksum: 10/5ed79a7a4123091c89f5d55c77c5f2ec9f8e1f2d19d720b5d2a54991e7e5eb2a09ff89106179f0be125d528f26b6d97537ed42e48cf554a44ff823ca24b3c710
11523+
languageName: node
11524+
linkType: hard
11525+
1151011526
"@provablehq/sdk@portal:../../../sdk/sdk::locator=%40hyperlane-xyz%2Faleo-sdk%40workspace%3Atypescript%2Faleo-sdk":
1151111527
version: 0.0.0-use.local
1151211528
resolution: "@provablehq/sdk@portal:../../../sdk/sdk::locator=%40hyperlane-xyz%2Faleo-sdk%40workspace%3Atypescript%2Faleo-sdk"

0 commit comments

Comments
 (0)