sushi 6.5.4 → 6.5.5
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/_cjs/stellar/address.js +8 -4
- package/_cjs/stellar/address.js.map +1 -1
- package/_cjs/stellar/config/simple-constants.js.map +1 -1
- package/_cjs/stellar/utils/normalize-address.js.map +1 -1
- package/_esm/stellar/address.js +6 -3
- package/_esm/stellar/address.js.map +1 -1
- package/_esm/stellar/config/simple-constants.js.map +1 -1
- package/_esm/stellar/utils/normalize-address.js.map +1 -1
- package/_types/stellar/address.d.ts +4 -2
- package/_types/stellar/address.d.ts.map +1 -1
- package/_types/stellar/config/simple-constants.d.ts.map +1 -1
- package/_types/stellar/utils/normalize-address.d.ts +1 -1
- package/_types/stellar/utils/normalize-address.d.ts.map +1 -1
- package/package.json +1 -1
- package/stellar/address.test.ts +47 -0
- package/stellar/address.ts +11 -4
- package/stellar/config/simple-constants.ts +5 -2
- package/stellar/utils/normalize-address.ts +4 -4
package/_cjs/stellar/address.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isStellarAccountAddress = isStellarAccountAddress;
|
|
4
4
|
exports.isStellarContractAddress = isStellarContractAddress;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
exports.isStellarAddress = isStellarAddress;
|
|
6
|
+
const stellarAccountAddressRegex = /^G[A-Z2-7]{55}$/;
|
|
7
|
+
function isStellarAccountAddress(address) {
|
|
8
|
+
return stellarAccountAddressRegex.test(address);
|
|
8
9
|
}
|
|
9
10
|
const stellarContractAddressRegex = /^C[A-Z2-7]{55}$/;
|
|
10
11
|
function isStellarContractAddress(address) {
|
|
11
12
|
return stellarContractAddressRegex.test(address);
|
|
12
13
|
}
|
|
14
|
+
function isStellarAddress(address) {
|
|
15
|
+
return isStellarAccountAddress(address) || isStellarContractAddress(address);
|
|
16
|
+
}
|
|
13
17
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":";;AAOA,0DAIC;AAID,4DAIC;AAED,4CAEC;AAlBD,MAAM,0BAA0B,GAAG,iBAAiB,CAAA;AAEpD,SAAgB,uBAAuB,CACrC,OAAe;IAEf,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,2BAA2B,GAAG,iBAAiB,CAAA;AAErD,SAAgB,wBAAwB,CACtC,OAAe;IAEf,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,uBAAuB,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAA;AAC9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-constants.js","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"simple-constants.js","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":";;;AAIA,kDAAmD;AAEtC,QAAA,oBAAoB,GAC/B,0DAAmG,CAAA;AAExF,QAAA,4BAA4B,GAGrC;IACF,CAAC,0BAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA;AAEY,QAAA,2BAA2B,GAAmC;IACzE,CAAC,0BAAc,CAAC,OAAO,CAAC,EACtB,kEAAkE;CACrE,CAAA;AAEY,QAAA,6BAA6B,GAGtC;IACF,CAAC,0BAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA;AAEY,QAAA,sBAAsB,GAG/B;IACF,CAAC,0BAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA;AAEY,QAAA,mBAAmB,GAG5B;IACF,CAAC,0BAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-address.js","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":";;AAEA,0DAIC;AAJD,SAAgB,uBAAuB,CACrC,
|
|
1
|
+
{"version":3,"file":"normalize-address.js","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":";;AAEA,0DAIC;AAJD,SAAgB,uBAAuB,CACrC,OAAiB;IAEjB,OAAO,OAAO,CAAC,WAAW,EAAc,CAAA;AAC1C,CAAC"}
|
package/_esm/stellar/address.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
const
|
|
2
|
-
export function
|
|
3
|
-
return
|
|
1
|
+
const stellarAccountAddressRegex = /^G[A-Z2-7]{55}$/;
|
|
2
|
+
export function isStellarAccountAddress(address) {
|
|
3
|
+
return stellarAccountAddressRegex.test(address);
|
|
4
4
|
}
|
|
5
5
|
const stellarContractAddressRegex = /^C[A-Z2-7]{55}$/;
|
|
6
6
|
export function isStellarContractAddress(address) {
|
|
7
7
|
return stellarContractAddressRegex.test(address);
|
|
8
8
|
}
|
|
9
|
+
export function isStellarAddress(address) {
|
|
10
|
+
return isStellarAccountAddress(address) || isStellarContractAddress(address);
|
|
11
|
+
}
|
|
9
12
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":"AAKA,MAAM,0BAA0B,GAAG,iBAAiB,CAAA;AAEpD,MAAM,UAAU,uBAAuB,CACrC,OAAe;IAEf,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,2BAA2B,GAAG,iBAAiB,CAAA;AAErD,MAAM,UAAU,wBAAwB,CACtC,OAAe;IAEf,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,uBAAuB,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAA;AAC9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-constants.js","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"simple-constants.js","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,0DAAmG,CAAA;AAErG,MAAM,CAAC,MAAM,4BAA4B,GAGrC;IACF,CAAC,cAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAmC;IACzE,CAAC,cAAc,CAAC,OAAO,CAAC,EACtB,kEAAkE;CACrE,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAGtC;IACF,CAAC,cAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,CAAC,cAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAG5B;IACF,CAAC,cAAc,CAAC,OAAO,CAAC,EACtB,0DAA0D;CAC7D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-address.js","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CACrC,
|
|
1
|
+
{"version":3,"file":"normalize-address.js","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CACrC,OAAiB;IAEjB,OAAO,OAAO,CAAC,WAAW,EAAc,CAAA;AAC1C,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type StellarAccountAddress = `G${string}`;
|
|
2
2
|
export type StellarContractAddress = `C${string}`;
|
|
3
|
+
export type StellarAddress = StellarAccountAddress | StellarContractAddress;
|
|
3
4
|
export type StellarTxHash = string;
|
|
4
|
-
export declare function
|
|
5
|
+
export declare function isStellarAccountAddress(address: string): address is StellarAccountAddress;
|
|
5
6
|
export declare function isStellarContractAddress(address: string): address is StellarContractAddress;
|
|
7
|
+
export declare function isStellarAddress(address: string): address is StellarAddress;
|
|
6
8
|
//# sourceMappingURL=address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,IAAI,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,sBAAsB,GAAG,IAAI,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,sBAAsB,CAAA;AAC3E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAIlC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,qBAAqB,CAElC;AAID,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,sBAAsB,CAEnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,cAAc,CAE3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-constants.d.ts","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"simple-constants.d.ts","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,eAAO,MAAM,oBAAoB,4DACoE,CAAA;AAErG,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,cAAc,EACd,sBAAsB,CAIvB,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAGtE,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAChD,cAAc,EACd,sBAAsB,CAIvB,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,cAAc,EACd,sBAAsB,CAIvB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,cAAc,EACd,sBAAsB,CAIvB,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { StellarAddress } from '../address.js';
|
|
2
|
-
export declare function normalizeStellarAddress(address:
|
|
2
|
+
export declare function normalizeStellarAddress<TAddress extends StellarAddress>(address: TAddress): TAddress;
|
|
3
3
|
//# sourceMappingURL=normalize-address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-address.d.ts","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,wBAAgB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"normalize-address.d.ts","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,cAAc,EACrE,OAAO,EAAE,QAAQ,GAChB,QAAQ,CAEV"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import {
|
|
3
|
+
isStellarAccountAddress,
|
|
4
|
+
isStellarAddress,
|
|
5
|
+
isStellarContractAddress,
|
|
6
|
+
type StellarAccountAddress,
|
|
7
|
+
type StellarContractAddress,
|
|
8
|
+
} from './address.js'
|
|
9
|
+
import { normalizeStellarAddress } from './utils/normalize-address.js'
|
|
10
|
+
|
|
11
|
+
describe('stellar addresses', () => {
|
|
12
|
+
const accountAddress =
|
|
13
|
+
'GAAZI4TCR3TY5OJHCTJC2A4QSY6CJWJH5IAJTGKIN2ER7LBNVKOCCWN7'
|
|
14
|
+
const contractAddress =
|
|
15
|
+
'CCRSMJDITH3VK5QOGYCVZDAKIY5GL3RCG4TCVLIAVB662IW2V5KJGZGF'
|
|
16
|
+
|
|
17
|
+
it('distinguishes account and contract addresses', () => {
|
|
18
|
+
expect(isStellarAccountAddress(accountAddress)).toBe(true)
|
|
19
|
+
expect(isStellarAccountAddress(contractAddress)).toBe(false)
|
|
20
|
+
expect(isStellarContractAddress(accountAddress)).toBe(false)
|
|
21
|
+
expect(isStellarContractAddress(contractAddress)).toBe(true)
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it('accepts both account and contract addresses as Stellar addresses', () => {
|
|
25
|
+
expect(isStellarAddress(accountAddress)).toBe(true)
|
|
26
|
+
expect(isStellarAddress(contractAddress)).toBe(true)
|
|
27
|
+
expect(isStellarAddress('0x1234')).toBe(false)
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
it('normalizes account, contract, and chain addresses', () => {
|
|
31
|
+
expect(
|
|
32
|
+
normalizeStellarAddress(
|
|
33
|
+
accountAddress.toLowerCase() as StellarAccountAddress,
|
|
34
|
+
),
|
|
35
|
+
).toBe(accountAddress)
|
|
36
|
+
expect(
|
|
37
|
+
normalizeStellarAddress(
|
|
38
|
+
contractAddress.toLowerCase() as StellarContractAddress,
|
|
39
|
+
),
|
|
40
|
+
).toBe(contractAddress)
|
|
41
|
+
expect(
|
|
42
|
+
normalizeStellarAddress(
|
|
43
|
+
contractAddress.toLowerCase() as StellarContractAddress,
|
|
44
|
+
),
|
|
45
|
+
).toBe(contractAddress)
|
|
46
|
+
})
|
|
47
|
+
})
|
package/stellar/address.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type StellarAccountAddress = `G${string}`
|
|
2
2
|
export type StellarContractAddress = `C${string}`
|
|
3
|
+
export type StellarAddress = StellarAccountAddress | StellarContractAddress
|
|
3
4
|
export type StellarTxHash = string
|
|
4
5
|
|
|
5
|
-
const
|
|
6
|
+
const stellarAccountAddressRegex = /^G[A-Z2-7]{55}$/
|
|
6
7
|
|
|
7
|
-
export function
|
|
8
|
-
|
|
8
|
+
export function isStellarAccountAddress(
|
|
9
|
+
address: string,
|
|
10
|
+
): address is StellarAccountAddress {
|
|
11
|
+
return stellarAccountAddressRegex.test(address)
|
|
9
12
|
}
|
|
10
13
|
|
|
11
14
|
const stellarContractAddressRegex = /^C[A-Z2-7]{55}$/
|
|
@@ -15,3 +18,7 @@ export function isStellarContractAddress(
|
|
|
15
18
|
): address is StellarContractAddress {
|
|
16
19
|
return stellarContractAddressRegex.test(address)
|
|
17
20
|
}
|
|
21
|
+
|
|
22
|
+
export function isStellarAddress(address: string): address is StellarAddress {
|
|
23
|
+
return isStellarAccountAddress(address) || isStellarContractAddress(address)
|
|
24
|
+
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
StellarAccountAddress,
|
|
3
|
+
StellarContractAddress,
|
|
4
|
+
} from '../address.js'
|
|
2
5
|
import { StellarChainId } from '../chain/chains.js'
|
|
3
6
|
|
|
4
7
|
export const stellarNativeAddress =
|
|
5
|
-
'GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' as const
|
|
8
|
+
'GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' as const satisfies StellarAccountAddress
|
|
6
9
|
|
|
7
10
|
export const SUSHISWAP_V3_FACTORY_ADDRESS: Record<
|
|
8
11
|
StellarChainId,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { StellarAddress } from '../address.js'
|
|
2
2
|
|
|
3
|
-
export function normalizeStellarAddress(
|
|
4
|
-
address:
|
|
5
|
-
):
|
|
6
|
-
return address.toUpperCase() as
|
|
3
|
+
export function normalizeStellarAddress<TAddress extends StellarAddress>(
|
|
4
|
+
address: TAddress,
|
|
5
|
+
): TAddress {
|
|
6
|
+
return address.toUpperCase() as TAddress
|
|
7
7
|
}
|