@rozoai/intent-common 0.0.32-beta.1 → 0.0.32-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -0
- package/dist/api/base.d.ts +1 -1
- package/dist/api/base.js +2 -1
- package/dist/api/base.js.map +1 -1
- package/dist/api/fee.d.ts +2 -1
- package/dist/api/fee.js +5 -1
- package/dist/api/fee.js.map +1 -1
- package/dist/api/new-payment.d.ts +319 -0
- package/dist/api/new-payment.js +140 -0
- package/dist/api/new-payment.js.map +1 -0
- package/dist/api/payment.d.ts +106 -5
- package/dist/api/payment.js +117 -10
- package/dist/api/payment.js.map +1 -1
- package/dist/bridge.d.ts +84 -46
- package/dist/bridge.js +183 -169
- package/dist/bridge.js.map +1 -1
- package/dist/chain.d.ts +6 -0
- package/dist/chain.js +38 -14
- package/dist/chain.js.map +1 -1
- package/dist/daimoPay.d.ts +9 -9
- package/dist/daimoPay.js +5 -0
- package/dist/daimoPay.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/token.d.ts +9 -0
- package/dist/token.js +111 -17
- package/dist/token.js.map +1 -1
- package/dist/validation.d.ts +9 -0
- package/dist/validation.js +47 -0
- package/dist/validation.js.map +1 -0
- package/package.json +4 -2
- package/src/api/base.ts +3 -1
- package/src/api/fee.ts +8 -2
- package/src/api/new-payment.ts +433 -0
- package/src/api/payment.ts +172 -13
- package/src/bridge.ts +225 -201
- package/src/chain.ts +40 -13
- package/src/daimoPay.ts +17 -9
- package/src/index.ts +2 -0
- package/src/token.ts +124 -18
- package/src/validation.ts +54 -0
- package/test/bridge.test.ts +393 -0
- package/dist/chainAddress.d.ts +0 -27
- package/dist/chainAddress.js +0 -87
- package/dist/chainAddress.js.map +0 -1
- package/dist/supportedChain.d.ts +0 -27
- package/dist/supportedChain.js +0 -87
- package/dist/supportedChain.js.map +0 -1
- package/dist/supportedChains.d.ts +0 -27
- package/dist/supportedChains.js +0 -87
- package/dist/supportedChains.js.map +0 -1
package/dist/chainAddress.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Address } from "viem";
|
|
2
|
-
export declare const EVM_CHAIN_IDS: {
|
|
3
|
-
readonly BASE: 8453;
|
|
4
|
-
readonly ETHEREUM: 1;
|
|
5
|
-
readonly POLYGON: 137;
|
|
6
|
-
};
|
|
7
|
-
export declare const NON_EVM_CHAIN_IDS: {
|
|
8
|
-
readonly SOLANA: 900;
|
|
9
|
-
readonly STELLAR: 1500;
|
|
10
|
-
};
|
|
11
|
-
export type EvmChainId = (typeof EVM_CHAIN_IDS)[keyof typeof EVM_CHAIN_IDS];
|
|
12
|
-
export type NonEvmChainId = (typeof NON_EVM_CHAIN_IDS)[keyof typeof NON_EVM_CHAIN_IDS];
|
|
13
|
-
export type SupportedChainId = EvmChainId | NonEvmChainId;
|
|
14
|
-
export declare function isEvmChain(chainId: number): chainId is EvmChainId;
|
|
15
|
-
export declare function isSolanaChain(chainId: number): boolean;
|
|
16
|
-
export declare function isStellarChain(chainId: number): boolean;
|
|
17
|
-
export declare function isValidEvmAddress(address: string): address is Address;
|
|
18
|
-
export declare function isValidSolanaAddress(address: string): boolean;
|
|
19
|
-
export declare function isValidStellarAddress(address: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Validates that an address matches the expected format for a given chain
|
|
22
|
-
*/
|
|
23
|
-
export declare function validateAddressForChain(chainId: number, address: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Returns a human-readable chain type name
|
|
26
|
-
*/
|
|
27
|
-
export declare function getChainTypeName(chainId: number): string;
|
package/dist/chainAddress.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NON_EVM_CHAIN_IDS = exports.EVM_CHAIN_IDS = void 0;
|
|
4
|
-
exports.isEvmChain = isEvmChain;
|
|
5
|
-
exports.isSolanaChain = isSolanaChain;
|
|
6
|
-
exports.isStellarChain = isStellarChain;
|
|
7
|
-
exports.isValidEvmAddress = isValidEvmAddress;
|
|
8
|
-
exports.isValidSolanaAddress = isValidSolanaAddress;
|
|
9
|
-
exports.isValidStellarAddress = isValidStellarAddress;
|
|
10
|
-
exports.validateAddressForChain = validateAddressForChain;
|
|
11
|
-
exports.getChainTypeName = getChainTypeName;
|
|
12
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
13
|
-
const stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
14
|
-
const viem_1 = require("viem");
|
|
15
|
-
// Define chain ID constants
|
|
16
|
-
// @NOTE: These are the chain IDs for the chains that are supported by the SDK.
|
|
17
|
-
exports.EVM_CHAIN_IDS = {
|
|
18
|
-
BASE: 8453,
|
|
19
|
-
ETHEREUM: 1,
|
|
20
|
-
POLYGON: 137,
|
|
21
|
-
};
|
|
22
|
-
exports.NON_EVM_CHAIN_IDS = {
|
|
23
|
-
SOLANA: 900,
|
|
24
|
-
STELLAR: 1500,
|
|
25
|
-
};
|
|
26
|
-
// Type guards
|
|
27
|
-
function isEvmChain(chainId) {
|
|
28
|
-
return Object.values(exports.EVM_CHAIN_IDS).includes(chainId);
|
|
29
|
-
}
|
|
30
|
-
function isSolanaChain(chainId) {
|
|
31
|
-
return chainId === exports.NON_EVM_CHAIN_IDS.SOLANA;
|
|
32
|
-
}
|
|
33
|
-
function isStellarChain(chainId) {
|
|
34
|
-
return chainId === exports.NON_EVM_CHAIN_IDS.STELLAR;
|
|
35
|
-
}
|
|
36
|
-
// Validation helpers
|
|
37
|
-
function isValidEvmAddress(address) {
|
|
38
|
-
return (0, viem_1.isAddress)(address);
|
|
39
|
-
}
|
|
40
|
-
function isValidSolanaAddress(address) {
|
|
41
|
-
const key = new web3_js_1.PublicKey(address);
|
|
42
|
-
return web3_js_1.PublicKey.isOnCurve(key.toBytes());
|
|
43
|
-
}
|
|
44
|
-
function isValidStellarAddress(address) {
|
|
45
|
-
return (stellar_sdk_1.StrKey.isValidEd25519PublicKey(address) ||
|
|
46
|
-
stellar_sdk_1.StrKey.isValidMed25519PublicKey(address));
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Validates that an address matches the expected format for a given chain
|
|
50
|
-
*/
|
|
51
|
-
function validateAddressForChain(chainId, address) {
|
|
52
|
-
if (isEvmChain(chainId)) {
|
|
53
|
-
return isValidEvmAddress(address);
|
|
54
|
-
}
|
|
55
|
-
else if (isSolanaChain(chainId)) {
|
|
56
|
-
return isValidSolanaAddress(address);
|
|
57
|
-
}
|
|
58
|
-
else if (isStellarChain(chainId)) {
|
|
59
|
-
return isValidStellarAddress(address);
|
|
60
|
-
}
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Returns a human-readable chain type name
|
|
65
|
-
*/
|
|
66
|
-
function getChainTypeName(chainId) {
|
|
67
|
-
if (isEvmChain(chainId)) {
|
|
68
|
-
switch (chainId) {
|
|
69
|
-
case exports.EVM_CHAIN_IDS.BASE:
|
|
70
|
-
return "Base";
|
|
71
|
-
case exports.EVM_CHAIN_IDS.ETHEREUM:
|
|
72
|
-
return "Ethereum";
|
|
73
|
-
case exports.EVM_CHAIN_IDS.POLYGON:
|
|
74
|
-
return "Polygon";
|
|
75
|
-
default:
|
|
76
|
-
return "EVM";
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else if (isSolanaChain(chainId)) {
|
|
80
|
-
return "Solana";
|
|
81
|
-
}
|
|
82
|
-
else if (isStellarChain(chainId)) {
|
|
83
|
-
return "Stellar";
|
|
84
|
-
}
|
|
85
|
-
return "Unknown";
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=chainAddress.js.map
|
package/dist/chainAddress.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chainAddress.js","sourceRoot":"","sources":["../src/chainAddress.ts"],"names":[],"mappings":";;;AAuBA,gCAEC;AAED,sCAEC;AAED,wCAEC;AAGD,8CAEC;AAED,oDAGC;AAED,sDAKC;AAKD,0DAYC;AAKD,4CAkBC;AA1FD,6CAA4C;AAC5C,sDAA8C;AAC9C,+BAA0C;AAE1C,4BAA4B;AAC5B,+EAA+E;AAClE,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,GAAG;CACJ,CAAC;AAEE,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,IAAI;CACL,CAAC;AAOX,cAAc;AACd,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC,QAAQ,CAAC,OAAqB,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO,KAAK,yBAAiB,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,KAAK,yBAAiB,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,qBAAqB;AACrB,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,GAAG,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,mBAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,CACL,oBAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC;QACvC,oBAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,OAAe,EACf,OAAe;IAEf,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,qBAAa,CAAC,IAAI;gBACrB,OAAO,MAAM,CAAC;YAChB,KAAK,qBAAa,CAAC,QAAQ;gBACzB,OAAO,UAAU,CAAC;YACpB,KAAK,qBAAa,CAAC,OAAO;gBACxB,OAAO,SAAS,CAAC;YACnB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/supportedChain.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Address } from "viem";
|
|
2
|
-
export declare const EVM_CHAIN_IDS: {
|
|
3
|
-
readonly BASE: 8453;
|
|
4
|
-
readonly ETHEREUM: 1;
|
|
5
|
-
readonly POLYGON: 137;
|
|
6
|
-
};
|
|
7
|
-
export declare const NON_EVM_CHAIN_IDS: {
|
|
8
|
-
readonly SOLANA: 900;
|
|
9
|
-
readonly STELLAR: 1500;
|
|
10
|
-
};
|
|
11
|
-
export type EvmChainId = (typeof EVM_CHAIN_IDS)[keyof typeof EVM_CHAIN_IDS];
|
|
12
|
-
export type NonEvmChainId = (typeof NON_EVM_CHAIN_IDS)[keyof typeof NON_EVM_CHAIN_IDS];
|
|
13
|
-
export type SupportedChainId = EvmChainId | NonEvmChainId;
|
|
14
|
-
export declare function isEvmChain(chainId: number): chainId is EvmChainId;
|
|
15
|
-
export declare function isSolanaChain(chainId: number): boolean;
|
|
16
|
-
export declare function isStellarChain(chainId: number): boolean;
|
|
17
|
-
export declare function isValidEvmAddress(address: string): address is Address;
|
|
18
|
-
export declare function isValidSolanaAddress(address: string): boolean;
|
|
19
|
-
export declare function isValidStellarAddress(address: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Validates that an address matches the expected format for a given chain
|
|
22
|
-
*/
|
|
23
|
-
export declare function validateAddressForChain(chainId: number, address: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Returns a human-readable chain type name
|
|
26
|
-
*/
|
|
27
|
-
export declare function getChainTypeName(chainId: number): string;
|
package/dist/supportedChain.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NON_EVM_CHAIN_IDS = exports.EVM_CHAIN_IDS = void 0;
|
|
4
|
-
exports.isEvmChain = isEvmChain;
|
|
5
|
-
exports.isSolanaChain = isSolanaChain;
|
|
6
|
-
exports.isStellarChain = isStellarChain;
|
|
7
|
-
exports.isValidEvmAddress = isValidEvmAddress;
|
|
8
|
-
exports.isValidSolanaAddress = isValidSolanaAddress;
|
|
9
|
-
exports.isValidStellarAddress = isValidStellarAddress;
|
|
10
|
-
exports.validateAddressForChain = validateAddressForChain;
|
|
11
|
-
exports.getChainTypeName = getChainTypeName;
|
|
12
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
13
|
-
const stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
14
|
-
const viem_1 = require("viem");
|
|
15
|
-
// Define chain ID constants
|
|
16
|
-
// @NOTE: These are the chain IDs for the chains that are supported by the SDK.
|
|
17
|
-
exports.EVM_CHAIN_IDS = {
|
|
18
|
-
BASE: 8453,
|
|
19
|
-
ETHEREUM: 1,
|
|
20
|
-
POLYGON: 137,
|
|
21
|
-
};
|
|
22
|
-
exports.NON_EVM_CHAIN_IDS = {
|
|
23
|
-
SOLANA: 900,
|
|
24
|
-
STELLAR: 1500,
|
|
25
|
-
};
|
|
26
|
-
// Type guards
|
|
27
|
-
function isEvmChain(chainId) {
|
|
28
|
-
return Object.values(exports.EVM_CHAIN_IDS).includes(chainId);
|
|
29
|
-
}
|
|
30
|
-
function isSolanaChain(chainId) {
|
|
31
|
-
return chainId === exports.NON_EVM_CHAIN_IDS.SOLANA;
|
|
32
|
-
}
|
|
33
|
-
function isStellarChain(chainId) {
|
|
34
|
-
return chainId === exports.NON_EVM_CHAIN_IDS.STELLAR;
|
|
35
|
-
}
|
|
36
|
-
// Validation helpers
|
|
37
|
-
function isValidEvmAddress(address) {
|
|
38
|
-
return (0, viem_1.isAddress)(address);
|
|
39
|
-
}
|
|
40
|
-
function isValidSolanaAddress(address) {
|
|
41
|
-
const key = new web3_js_1.PublicKey(address);
|
|
42
|
-
return web3_js_1.PublicKey.isOnCurve(key.toBytes());
|
|
43
|
-
}
|
|
44
|
-
function isValidStellarAddress(address) {
|
|
45
|
-
return (stellar_sdk_1.StrKey.isValidEd25519PublicKey(address) ||
|
|
46
|
-
stellar_sdk_1.StrKey.isValidMed25519PublicKey(address));
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Validates that an address matches the expected format for a given chain
|
|
50
|
-
*/
|
|
51
|
-
function validateAddressForChain(chainId, address) {
|
|
52
|
-
if (isEvmChain(chainId)) {
|
|
53
|
-
return isValidEvmAddress(address);
|
|
54
|
-
}
|
|
55
|
-
else if (isSolanaChain(chainId)) {
|
|
56
|
-
return isValidSolanaAddress(address);
|
|
57
|
-
}
|
|
58
|
-
else if (isStellarChain(chainId)) {
|
|
59
|
-
return isValidStellarAddress(address);
|
|
60
|
-
}
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Returns a human-readable chain type name
|
|
65
|
-
*/
|
|
66
|
-
function getChainTypeName(chainId) {
|
|
67
|
-
if (isEvmChain(chainId)) {
|
|
68
|
-
switch (chainId) {
|
|
69
|
-
case exports.EVM_CHAIN_IDS.BASE:
|
|
70
|
-
return "Base";
|
|
71
|
-
case exports.EVM_CHAIN_IDS.ETHEREUM:
|
|
72
|
-
return "Ethereum";
|
|
73
|
-
case exports.EVM_CHAIN_IDS.POLYGON:
|
|
74
|
-
return "Polygon";
|
|
75
|
-
default:
|
|
76
|
-
return "EVM";
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else if (isSolanaChain(chainId)) {
|
|
80
|
-
return "Solana";
|
|
81
|
-
}
|
|
82
|
-
else if (isStellarChain(chainId)) {
|
|
83
|
-
return "Stellar";
|
|
84
|
-
}
|
|
85
|
-
return "Unknown";
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=supportedChain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supportedChain.js","sourceRoot":"","sources":["../src/supportedChain.ts"],"names":[],"mappings":";;;AAuBA,gCAEC;AAED,sCAEC;AAED,wCAEC;AAGD,8CAEC;AAED,oDAGC;AAED,sDAKC;AAKD,0DAYC;AAKD,4CAkBC;AA1FD,6CAA4C;AAC5C,sDAA8C;AAC9C,+BAA0C;AAE1C,4BAA4B;AAC5B,+EAA+E;AAClE,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,GAAG;CACJ,CAAC;AAEE,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,IAAI;CACL,CAAC;AAOX,cAAc;AACd,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC,QAAQ,CAAC,OAAqB,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO,KAAK,yBAAiB,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,KAAK,yBAAiB,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,qBAAqB;AACrB,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,GAAG,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,mBAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,CACL,oBAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC;QACvC,oBAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,OAAe,EACf,OAAe;IAEf,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,qBAAa,CAAC,IAAI;gBACrB,OAAO,MAAM,CAAC;YAChB,KAAK,qBAAa,CAAC,QAAQ;gBACzB,OAAO,UAAU,CAAC;YACpB,KAAK,qBAAa,CAAC,OAAO;gBACxB,OAAO,SAAS,CAAC;YACnB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Address } from "viem";
|
|
2
|
-
export declare const EVM_CHAIN_IDS: {
|
|
3
|
-
readonly BASE: 8453;
|
|
4
|
-
readonly ETHEREUM: 1;
|
|
5
|
-
readonly POLYGON: 137;
|
|
6
|
-
};
|
|
7
|
-
export declare const NON_EVM_CHAIN_IDS: {
|
|
8
|
-
readonly SOLANA: 900;
|
|
9
|
-
readonly STELLAR: 1500;
|
|
10
|
-
};
|
|
11
|
-
export type EvmChainId = (typeof EVM_CHAIN_IDS)[keyof typeof EVM_CHAIN_IDS];
|
|
12
|
-
export type NonEvmChainId = (typeof NON_EVM_CHAIN_IDS)[keyof typeof NON_EVM_CHAIN_IDS];
|
|
13
|
-
export type SupportedChainId = EvmChainId | NonEvmChainId;
|
|
14
|
-
export declare function isEvmChain(chainId: number): chainId is EvmChainId;
|
|
15
|
-
export declare function isSolanaChain(chainId: number): boolean;
|
|
16
|
-
export declare function isStellarChain(chainId: number): boolean;
|
|
17
|
-
export declare function isValidEvmAddress(address: string): address is Address;
|
|
18
|
-
export declare function isValidSolanaAddress(address: string): boolean;
|
|
19
|
-
export declare function isValidStellarAddress(address: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Validates that an address matches the expected format for a given chain
|
|
22
|
-
*/
|
|
23
|
-
export declare function validateAddressForChain(chainId: number, address: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Returns a human-readable chain type name
|
|
26
|
-
*/
|
|
27
|
-
export declare function getChainTypeName(chainId: number): string;
|
package/dist/supportedChains.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NON_EVM_CHAIN_IDS = exports.EVM_CHAIN_IDS = void 0;
|
|
4
|
-
exports.isEvmChain = isEvmChain;
|
|
5
|
-
exports.isSolanaChain = isSolanaChain;
|
|
6
|
-
exports.isStellarChain = isStellarChain;
|
|
7
|
-
exports.isValidEvmAddress = isValidEvmAddress;
|
|
8
|
-
exports.isValidSolanaAddress = isValidSolanaAddress;
|
|
9
|
-
exports.isValidStellarAddress = isValidStellarAddress;
|
|
10
|
-
exports.validateAddressForChain = validateAddressForChain;
|
|
11
|
-
exports.getChainTypeName = getChainTypeName;
|
|
12
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
13
|
-
const stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
14
|
-
const viem_1 = require("viem");
|
|
15
|
-
// Define chain ID constants
|
|
16
|
-
// @NOTE: These are the chain IDs for the chains that are supported by the SDK.
|
|
17
|
-
exports.EVM_CHAIN_IDS = {
|
|
18
|
-
BASE: 8453,
|
|
19
|
-
ETHEREUM: 1,
|
|
20
|
-
POLYGON: 137,
|
|
21
|
-
};
|
|
22
|
-
exports.NON_EVM_CHAIN_IDS = {
|
|
23
|
-
SOLANA: 900,
|
|
24
|
-
STELLAR: 1500,
|
|
25
|
-
};
|
|
26
|
-
// Type guards
|
|
27
|
-
function isEvmChain(chainId) {
|
|
28
|
-
return Object.values(exports.EVM_CHAIN_IDS).includes(chainId);
|
|
29
|
-
}
|
|
30
|
-
function isSolanaChain(chainId) {
|
|
31
|
-
return chainId === exports.NON_EVM_CHAIN_IDS.SOLANA;
|
|
32
|
-
}
|
|
33
|
-
function isStellarChain(chainId) {
|
|
34
|
-
return chainId === exports.NON_EVM_CHAIN_IDS.STELLAR;
|
|
35
|
-
}
|
|
36
|
-
// Validation helpers
|
|
37
|
-
function isValidEvmAddress(address) {
|
|
38
|
-
return (0, viem_1.isAddress)(address);
|
|
39
|
-
}
|
|
40
|
-
function isValidSolanaAddress(address) {
|
|
41
|
-
const key = new web3_js_1.PublicKey(address);
|
|
42
|
-
return web3_js_1.PublicKey.isOnCurve(key.toBytes());
|
|
43
|
-
}
|
|
44
|
-
function isValidStellarAddress(address) {
|
|
45
|
-
return (stellar_sdk_1.StrKey.isValidEd25519PublicKey(address) ||
|
|
46
|
-
stellar_sdk_1.StrKey.isValidMed25519PublicKey(address));
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Validates that an address matches the expected format for a given chain
|
|
50
|
-
*/
|
|
51
|
-
function validateAddressForChain(chainId, address) {
|
|
52
|
-
if (isEvmChain(chainId)) {
|
|
53
|
-
return isValidEvmAddress(address);
|
|
54
|
-
}
|
|
55
|
-
else if (isSolanaChain(chainId)) {
|
|
56
|
-
return isValidSolanaAddress(address);
|
|
57
|
-
}
|
|
58
|
-
else if (isStellarChain(chainId)) {
|
|
59
|
-
return isValidStellarAddress(address);
|
|
60
|
-
}
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Returns a human-readable chain type name
|
|
65
|
-
*/
|
|
66
|
-
function getChainTypeName(chainId) {
|
|
67
|
-
if (isEvmChain(chainId)) {
|
|
68
|
-
switch (chainId) {
|
|
69
|
-
case exports.EVM_CHAIN_IDS.BASE:
|
|
70
|
-
return "Base";
|
|
71
|
-
case exports.EVM_CHAIN_IDS.ETHEREUM:
|
|
72
|
-
return "Ethereum";
|
|
73
|
-
case exports.EVM_CHAIN_IDS.POLYGON:
|
|
74
|
-
return "Polygon";
|
|
75
|
-
default:
|
|
76
|
-
return "EVM";
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else if (isSolanaChain(chainId)) {
|
|
80
|
-
return "Solana";
|
|
81
|
-
}
|
|
82
|
-
else if (isStellarChain(chainId)) {
|
|
83
|
-
return "Stellar";
|
|
84
|
-
}
|
|
85
|
-
return "Unknown";
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=supportedChains.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supportedChains.js","sourceRoot":"","sources":["../src/supportedChains.ts"],"names":[],"mappings":";;;AAuBA,gCAEC;AAED,sCAEC;AAED,wCAEC;AAGD,8CAEC;AAED,oDAGC;AAED,sDAKC;AAKD,0DAYC;AAKD,4CAkBC;AA1FD,6CAA4C;AAC5C,sDAA8C;AAC9C,+BAA0C;AAE1C,4BAA4B;AAC5B,+EAA+E;AAClE,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,GAAG;CACJ,CAAC;AAEE,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,IAAI;CACL,CAAC;AAOX,cAAc;AACd,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC,QAAQ,CAAC,OAAqB,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO,KAAK,yBAAiB,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,KAAK,yBAAiB,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,qBAAqB;AACrB,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,GAAG,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,mBAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,CACL,oBAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC;QACvC,oBAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,OAAe,EACf,OAAe;IAEf,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,qBAAa,CAAC,IAAI;gBACrB,OAAO,MAAM,CAAC;YAChB,KAAK,qBAAa,CAAC,QAAQ;gBACzB,OAAO,UAAU,CAAC;YACpB,KAAK,qBAAa,CAAC,OAAO;gBACxB,OAAO,SAAS,CAAC;YACnB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|